DojoX (Dojo eXtensions)

repository·master·Indexed 41 days ago

https://github.com/dojo/dojox

A collection of diverse JavaScript packages and modules that extend the Dojo Toolkit, ranging from stable utilities to experimental features. Version 1.18.0-pre. Includes specialized sub-projects such as dojox.analytics for client monitoring, DojoX Atom for ATOM document format and APP IO, and dojox.av for audio and video capabilities.

Tokens
27.2K
Snippets
72
Records
194
Agent score
100%

What's inside DojoX

  1. Overview of the dojox meta-package

    master

    dojox is a meta-package containing various JavaScript modules and sub-packages that were historically part of the Dojo Toolkit development area.

    Important Usage Notes:

    • Dependencies: All dojox packages require the Dojo Toolkit core and some may require the dijit widget library.
    • Code Maturity: The contents of dojox vary significantly in maturity; some modules are mature, some are experimental, and some are abandoned.
    • Sub-package Status: You must read the specific README file located within each individual sub-package to understand its current technical status and stability before use.
    • Development Focus: While maintained, new development is primarily focused on modern Dojo.
  2. Manage variables and the Ans variable

    master

    Variables store values for later use.

    • Naming Rules: Names cannot start with numbers, cannot contain spaces, but can contain numbers and letters (e.g., var1 is valid).
    • Assignment: Use the = operator (e.g., myVar = 2).
    • The Ans Variable: This special variable stores the result of the last evaluated expression. It is automatically overwritten every time you evaluate a new expression.
    • Using Ans: If you start an expression with an operator (like *), the calculator automatically prepends Ans (e.g., typing *3 becomes Ans*3).
    • Uninitializing/Deleting: To make a variable empty or undefined, set it to undefined (e.g., myVar = undefined).
    myVar = 2
    Ans*3
    myVar = undefined
  3. Getting started with Dojo

    master

    If you are new to the Dojo ecosystem, use the following resources to learn the framework and its APIs:

    • Tutorials: For guided learning.
    • Reference Guide: For technical specifications.
    • API Documentation: For detailed function and class signatures.
    • Community Forum: For support and discussions.
  4. Graph equations in GraphPro

    master

    In GraphPro mode, you can visualize equations using the Graph Window:

    1. Open the Graph Window via the Graph button.
    2. In the y= text box, enter the expression using x as the independent variable (e.g., sin(x)).
    3. Select the checkbox next to the equation and press Draw Selected.
    4. Adding Functions: Use the Add Function button. If you select x= as the mode, x becomes the dependent variable (e.g., x=sin(y)).
    5. Customization: Use the color tab to change line colors and window options to adjust x/y boundaries.
    6. Management: Use Erase Selected to remove specific functions or Delete Selected to remove the function entries entirely.
    sin(x)
    x=sin(y)
  5. Use Augmented Mathematical Syntax in expressions

    master

    The calculator supports nonstandard operators for common mathematical operations:

    • Exponentiation: Use ^ as a binary operator (e.g., 2^5 for $2^5$).
    • Factorial: Use ! (e.g., 2! or 2.6!). For non-integers, this uses the gamma function.
    • Radicals: Use radical for roots.
      • For a square root, provide only a number on the right (e.g., radical 16).
      • For other roots, provide the root value on the left (e.g., radical 3 27 for $\sqrt[3]{27}$).

    To evaluate, type the expression and press Enter.

    2^5
    2!
    2.6!
    radical 16
  6. Call functions with different argument patterns

    master

    The calculator supports three ways to pass arguments to functions:

    1. Positional Arguments: Pass values in the expected order, separated by a list separator (, in America, ; in some other nations). Example: pow(2, 3)
    2. Named Arguments: Pass arguments in any order by assigning them to their parameter names. Example: pow(y=3, x=2)
    3. Interactive Mode: Call the function with empty parentheses to let the calculator prompt you for values. Note that values provided this way are not stored globally. Example: pow()
    sqrt(2)
    pow(2, 3)
    pow(y=3, x=2)
    pow()
  7. Create custom functions with the Function Generator

    master

    The Function Generator allows you to define reusable functions using JavaScript-like arithmetic.

    Constraints:

    • Keywords new and delete are forbidden for security.
    • ++Variable is not supported (due to syntax overlap), but Variable++ is supported.
    • Strings and Objects have very limited/no support.

    Steps to create a function:

    1. Press the Func button to open the Function Window.
    2. Enter a name in the functionName box (must follow variable naming rules).
    3. Enter arguments in the arguments box (e.g., x,y).
    4. In the main text box, use the return keyword followed by your expression.
    5. Press Save.

    Once saved, you can call your function by name in the main calculator.

    functionName: myFunc
    arguments: x,y
    expression: return x*2 + y/2
  8. Install the Dojo Toolkit

    master

    To use dojox, you must first install the Dojo Toolkit. Installation instructions and download options can be found at the official Dojo download page.

    http://dojotoolkit.org/download/
  9. Overview of DojoX Audio/Video

    master

    DojoX A/V is an experimental project designed to bring audio and video capabilities to the Open Web. It provides mechanisms for embedding common media types like Flash and Quicktime and offers objects to perform basic A/V tasks.

    Key Features:

    • Embedding mechanisms for Flash and Quicktime.
    • Programmatic objects for A/V tasks.
    • Dijit-compatible wrappers (planned/in development).

    Dependencies:

    • dojox.embed
    • Uses Flash movies created via the deft project (compiled movies are included in dojox.av).
  10. Overview of dojox.gantt

    master

    The dojox.gantt package provides the GanttChart widget (dojox.gantt.GanttChart), an integrated tool designed for project and resource management.

    Key features include:

    • Toolbar: Controls the timeline and provides save/load functionality.
    • Project Tree: A hierarchical list of projects and their associated tasks.
    • Task Cascade View: A visual task view that supports dependencies and allows for visual modifications.
    • Resource View: A read-only view displaying the occupation/allocation of human resources.
  11. Overview of DojoX Wire

    master

    DojoX Wire is a library designed to simplify Model-View-Controller (MVC) patterns in the client. It provides a generic data binding and service invocation API that allows you to access, update, and pass data values across various JavaScript constructs (both widgets and non-widget objects) and services.

    Key features include:

    • Programmatic APIs: Functions for data binding and service invocation.
    • Declarative Data Binding: The dojox.wire.ml package provides widgets that allow you to define data bindings declaratively in your markup.