Support
Setup
Set up your xJSFL environment and write or use your first snippets of xJSFL code.
Quick Start
How to install the xJSFL framework, and both run (designers) and write (developers) some simple xJSFL
Komodo
How to install and set up the xJSFL IDE, Komodo Edit, so you can write and run (x)JSFL code
Other IDEs
How to run JSFL code from other IDEs
Guides
Guides to the various conceptual and physical aspect of the framework, including background information, illustrative code examples, best-practices, and links to more detailed parts of the documentation.
Framework basics
A tour of the xJSFL framework, how it's structured, how it works, and the thinking of how it was put together
Working with Flash
An overview of the specific parts of xJSFL you'll use to work with visual elements in the Flash IDE
Inspection and debugging tools
Tools and techniques to use to make your development easier and more productive
Extensibility
Builder larger and more useful scripts and applications by building on the base xJSFL code
- Extending xJSFL
- Creating your own functions, libraries and classes
- Combining multiple scripts into stand-alone Modules
- AS3 Module framework (unfinished)
JSFL API
Overview
This section documents the classes, libraries and functions that make up the xJSFL framework. The following schematic shows how the various components of the 1.0 release fit together:
Libraries
Note that all API pages start with an Overview section which gives you conceptual and background information, followed by an API section which lists each of the properties and methods with example code for each (where appropriate).
Core
- xJSFL: Core framework class providing a central place for common functionality
- Globals: Global access to key properties and functions
Elements
Selector functions: easily select items or elements using CSS-style expressions
- Selectors: Static repository of tests used by the Selector class
- Element Selector ($): CSS-style selection of Stage elements
- Item Selector ($$): CSS-style selection of items in the Libray panel
Collections: powerful Array-like classes for manipulating authoring-time elements:
- Collection: Base class which provides functionality to store and modify multiple items as a single entity
- ElementCollection: Enacpsulates and modifies Arrays of stage Elements
- ItemCollection: ItemCollection class enacpsulates and modifies Arrays of LibraryItems
File
- FileSystem: File and Folder classes for working with the file system in an OO manner
- FLfile: Adds FLfile platform-to-URI conversion compatibility for pre-CS4 versions of Flash
- URI: Handles URI and path conversion, including detection and resolution of relative paths
- URIList: A utility class to load, cache and filter lists of URIs
Flash
- ActionScript: Provides ActionScript 3 related functionality
- Context: Provides a convenient access to the major DOM elements
- Events: An OO event class to handle JSFL events
- Flash: Miscellaneous methods and properties that should already be part of Flash (but aren't!)
- Iterators: Iterate thorugh documents, items, timelines, layers, frames and elements
- JSFLInterface: Serialises values to XML for type-safe communication with Flash panels
- JSFLConstants: Static library for referencing the more common JSFL constants
- PropertyResolver: A set of routines to safely get, or gracefully skip, potentially unreachable properties
- PublishProfile: OO interface to Flash's publish settings
- Superdoc: Provides logical routing to the expansive Document class' methods
Framework
- Config: An object oriented wrapper for easily saving and loading settings
- Logger: Logs data to a text file
- Module: Base class used to create and manage xJSFL Modules
Geom
- Bounds: Creates and represents a rectangular bounding box object
- Color: Represents, manipulates and converts to and from different colour spaces
- Matrix: Static matrix class with trasformation methods
- Point: Point object which represents and manipulates 2D points
Objects
- Date: Additional functionality for native Date object
- Function: Additional functionality for native Function object
- JSON: JSON functionality for JSFL
- RegExp: Additional functionality for native RegExp object
- String: Additional functionality for native String object
- XML: XML extensions to work around Spidermonkey's buggy E4X declarate filtering
Text
- Output: Provides logging functionality, object introspection, and a variety of printing and formatting methods
- Simple Template: A simple templating class
- Table: Outputs 2D Array/Object arrays to easily-readable ASCII tables
- Template: Handes loading and population of text data, including nested templating and indentation
UI
- UI: User Interface class to provide structured access to core Flash UI elements like Document, Timeline, etc
- XUL: OO library for creating and managing XUL dialogs
- XULControl: OO representation of a dialog control
- XUL Event: A XUL Event class to pass parameters to event callbacks
Utils
- Class: OOclass for creating and extending JSFL/JavaScript classes
- Source: Examine and manipulate source code
- Timer: A simple timing class
- Utils: An extensive static library of general purpose programming functionality
AS3 Module Framework
Documentation on the AS3 classes that facilitate ActionScript to JSFL/xJSFL communication from within a Flash panel
- AbstractModule Base class that sets up module folders and JSFL communication (unfinished)
- Loader Utility class to load assets and config from module and user folders (unfinished)
- JSFL Utility class to call and run some common JSFL commands (unfinished)
- Settings Utility class to save and load settings to a local shared object between sessions (unfinished)
Tutorials
Step-by-step guides, line-by-line code examples, and sample code to test out various aspects of the framework right now
Scripts
The basics of writing an xJSFL script
Snippets
How to take your development (x)JSFL code and package it as code that can be launched from the Snippets panel
Modules
How to manage and package related files, folders and functionality as reusable, distributable Modules
- Module basics (unfinished)
- Writing an xJSFL Module (unfinished)
- Good practices (unfinished)
Workflow
Stand-alone code examples you can use to speed up your everyday Flash workflow.
Flash
Framework
- Adding a UI
- Saving and loading Settings (unfinished)
Filesystem
Appendix
Articles relating to xJSFL and JSFL that fall outside the remit of Guides or API
Coding
- Writing better JavaScript (unfinished)
- xJSFL Coding Style (unfinished)
- Method styles (unfinished)
JSFL Knowledgebase
One last thing...
Comments on the quality or relevancy of any of the documentation are welcome.
Thank you.