summaryrefslogtreecommitdiff
path: root/src/js/index.txt
diff options
context:
space:
mode:
authoradhitya2016-04-10 12:28:28 +0000
committeradhitya2016-04-10 12:28:28 +0000
commit0b1c069f88dab0288a01c6aed4d77f4e6d2f6474 (patch)
treeb5ae6b1f512a674f79674a12f675d22324cd268f /src/js/index.txt
parent1993f1da86e293aaf9996b8d7a4f6d9a9224f270 (diff)
downloadxcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.gz
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.bz2
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.zip
Removed (un)necessary files
Diffstat (limited to 'src/js/index.txt')
-rw-r--r--src/js/index.txt316
1 files changed, 0 insertions, 316 deletions
diff --git a/src/js/index.txt b/src/js/index.txt
deleted file mode 100644
index f3631d6..0000000
--- a/src/js/index.txt
+++ /dev/null
@@ -1,316 +0,0 @@
-Document: API Specification
-
-Overview:
-
- This JavaScript library is divided into 8 packages. The top-level <mxClient>
- class includes (or dynamically imports) everything else. The current version
- is stored in <mxClient.VERSION>.
-
- The *editor* package provides the classes required to implement a diagram
- editor. The main class in this package is <mxEditor>.
-
- The *view* and *model* packages implement the graph component, represented
- by <mxGraph>. It refers to a <mxGraphModel> which contains <mxCell>s and
- caches the state of the cells in a <mxGraphView>. The cells are painted
- using a <mxCellRenderer> based on the appearance defined in <mxStylesheet>.
- Undo history is implemented in <mxUndoManager>. To display an icon on the
- graph, <mxCellOverlay> may be used. Validation rules are defined with
- <mxMultiplicity>.
-
- The *handler*, *layout* and *shape* packages contain event listeners,
- layout algorithms and shapes, respectively. The graph event listeners
- include <mxRubberband> for rubberband selection, <mxTooltipHandler>
- for tooltips and <mxGraphHandler> for basic cell modifications.
- <mxCompactTreeLayout> implements a tree layout algorithm, and the
- shape package provides various shapes, which are subclasses of
- <mxShape>.
-
- The *util* package provides utility classes including <mxClipboard> for
- copy-paste, <mxDatatransfer> for drag-and-drop, <mxConstants> for keys and
- values of stylesheets, <mxEvent> and <mxUtils> for cross-browser
- event-handling and general purpose functions, <mxResources> for
- internationalization and <mxLog> for console output.
-
- The *io* package implements a generic <mxObjectCodec> for turning
- JavaScript objects into XML. The main class is <mxCodec>.
- <mxCodecRegistry> is the global registry for custom codecs.
-
-Events:
-
- There are three different types of events, namely native DOM events,
- <mxEventObjects> which are fired in an <mxEventSource>, and <mxMouseEvents>
- which are fired in <mxGraph>.
-
- Some helper methods for handling native events are provided in <mxEvent>. It
- also takes care of resolving cycles between DOM nodes and JavaScript event
- handlers, which can lead to memory leaks in IE6.
-
- Most custom events in mxGraph are implemented using <mxEventSource>. Its
- listeners are functions that take a sender and <mxEventObject>. Additionally,
- the <mxGraph> class fires special <mxMouseEvents> which are handled using
- mouse listeners, which are objects that provide a mousedown, mousemove and
- mouseup method.
-
- Events in <mxEventSource> are fired using <mxEventSource.fireEvent>.
- Listeners are added and removed using <mxEventSource.addListener> and
- <mxEventSource.removeListener>. <mxMouseEvents> in <mxGraph> are fired using
- <mxGraph.fireMouseEvent>. Listeners are added and removed using
- <mxGraph.addMouseListener> and <mxGraph.removeMouseListener>, respectively.
-
-Key bindings:
-
- The following key bindings are defined for mouse events in the client across
- all browsers and platforms:
-
- - Control-Drag: Duplicates (clones) selected cells
- - Shift-Rightlick: Shows the context menu
- - Alt-Click: Forces rubberband (aka. marquee)
- - Control-Select: Toggles the selection state
- - Shift-Drag: Constrains the offset to one direction
- - Shift-Control-Drag: Panning (also Shift-Rightdrag)
-
-Configuration:
-
- The following global variables may be defined before the client is loaded to
- specify its language or base path, respectively.
-
- - mxBasePath: Specifies the path in <mxClient.basePath>.
- - mxImageBasePath: Specifies the path in <mxClient.imageBasePath>.
- - mxLanguage: Specifies the language for resources in <mxClient.language>.
- - mxDefaultLanguage: Specifies the default language in <mxClient.defaultLanguage>.
- - mxLoadResources: Specifies if any resources should be loaded. Default is true.
- - mxLoadStylesheets: Specifies if any stylesheets should be loaded. Default is true.
-
-Reserved Words:
-
- The mx prefix is used for all classes and objects in mxGraph. The mx prefix
- can be seen as the global namespace for all JavaScript code in mxGraph. The
- following fieldnames should not be used in objects.
-
- - *mxObjectId*: If the object is used with mxObjectIdentity
- - *as*: If the object is a field of another object
- - *id*: If the object is an idref in a codec
- - *mxListenerList*: Added to DOM nodes when used with <mxEvent>
- - *window._mxDynamicCode*: Temporarily used to load code in Safari and Chrome
- (see <mxClient.include>).
- - *_mxJavaScriptExpression*: Global variable that is temporarily used to
- evaluate code in Safari, Opera, Firefox 3 and IE (see <mxUtils.eval>).
-
-Files:
-
- The library contains these relative filenames. All filenames are relative
- to <mxClient.basePath>.
-
-Built-in Images:
-
- All images are loaded from the <mxClient.imageBasePath>,
- which you can change to reflect your environment. The image variables can
- also be changed individually.
-
- - mxGraph.prototype.collapsedImage
- - mxGraph.prototype.expandedImage
- - mxGraph.prototype.warningImage
- - mxWindow.prototype.closeImage
- - mxWindow.prototype.minimizeImage
- - mxWindow.prototype.normalizeImage
- - mxWindow.prototype.maximizeImage
- - mxWindow.prototype.resizeImage
- - mxPopupMenu.prototype.submenuImage
- - mxUtils.errorImage
- - mxConstraintHandler.prototype.pointImage
-
- The basename of the warning image (images/warning without extension) used in
- <mxGraph.setCellWarning> is defined in <mxGraph.warningImage>.
-
-Resources:
-
- The <mxEditor> and <mxGraph> classes add the following resources to
- <mxResources> at class loading time:
-
- - resources/editor*.properties
- - resources/graph*.properties
-
- By default, the library ships with English and German resource files.
-
-Images:
-
- Recommendations for using images. Use GIF images (256 color palette) in HTML
- elements (such as the toolbar and context menu), and PNG images (24 bit) for
- all images which appear inside the graph component.
-
- - For PNG images inside HTML elements, Internet Explorer will ignore any
- transparency information.
- - For GIF images inside the graph, Firefox on the Mac will display strange
- colors. Furthermore, only the first image for animated GIFs is displayed
- on the Mac.
-
- For faster image rendering during application runtime, images can be
- prefetched using the following code:
-
- (code)
- var image = new Image();
- image.src = url_to_image;
- (end)
-
-Deployment:
-
- The client is added to the page using the following script tag inside the
- head of a document:
-
- (code)
- <script type="text/javascript" src="js/mxClient.js"></script>
- (end)
-
- The deployment version of the mxClient.js file contains all required code
- in a single file. For deployment, the complete javascript/src directory is
- required.
-
-Source Code:
-
- If you are a source code customer and you wish to develop using the
- full source code, the commented source code is shipped in the
- javascript/devel/source.zip file. It contains one file for each class
- in mxGraph. To use the source code the source.zip file must be
- uncompressed and the mxClient.js URL in the HTML page must be changed
- to reference the uncompressed mxClient.js from the source.zip file.
-
-Compression:
-
- When using Apache2 with mod_deflate, you can use the following directive
- in src/js/.htaccess to speedup the loading of the JavaScript sources:
-
- (code)
- SetOutputFilter DEFLATE
- (end)
-
-Classes:
-
- There are two types of "classes" in mxGraph: classes and singletons (where
- only one instance exists). Singletons are mapped to global objects where the
- variable name equals the classname. For example mxConstants is an object with
- all the constants defined as object fields. Normal classes are mapped to a
- constructor function and a prototype which defines the instance fields and
- methods. For example, <mxEditor> is a function and mxEditor.prototype is the
- prototype for the object that the mxEditor function creates. The mx prefix is
- a convention that is used for all classes in the mxGraph package to avoid
- conflicts with other objects in the global namespace.
-
-Subclassing:
-
- For subclassing, the superclass must provide a constructor that is either
- parameterless or handles an invocation with no arguments. Furthermore, the
- special constructor field must be redefined after extending the prototype.
- For example, the superclass of mxEditor is <mxEventSource>. This is
- represented in JavaScript by first "inheriting" all fields and methods from
- the superclass by assigning the prototype to an instance of the superclass,
- eg. mxEditor.prototype = new mxEventSource() and redefining the constructor
- field using mxEditor.prototype.constructor = mxEditor. The latter rule is
- applied so that the type of an object can be retrieved via the name of it’s
- constructor using mxUtils.getFunctionName(obj.constructor).
-
-Constructor:
-
- For subclassing in mxGraph, the same scheme should be applied. For example,
- for subclassing the <mxGraph> class, first a constructor must be defined for
- the new class. The constructor calls the super constructor with any arguments
- that it may have using the call function on the mxGraph function object,
- passing along explitely each argument:
-
- (code)
- function MyGraph(container)
- {
- mxGraph.call(this, container);
- }
- (end)
-
- The prototype of MyGraph inherits from mxGraph as follows. As usual, the
- constructor is redefined after extending the superclass:
-
- (code)
- MyGraph.prototype = new mxGraph();
- MyGraph.prototype.constructor = MyGraph;
- (end)
-
- You may want to define the codec associated for the class after the above
- code. This code will be executed at class loading time and makes sure the
- same codec is used to encode instances of mxGraph and MyGraph.
-
- (code)
- var codec = mxCodecRegistry.getCodec(mxGraph);
- codec.template = new MyGraph();
- mxCodecRegistry.register(codec);
- (end)
-
-Functions:
-
- In the prototype for MyGraph, functions of mxGraph can then be extended as
- follows.
-
- (code)
- MyGraph.prototype.isCellSelectable = function(cell)
- {
- var selectable = mxGraph.prototype.isSelectable.apply(this, arguments);
-
- var geo = this.model.getGeometry(cell);
- return selectable && (geo == null || !geo.relative);
- }
- (end)
-
- The supercall in the first line is optional. It is done using the apply
- function on the isSelectable function object of the mxGraph prototype, using
- the special this and arguments variables as parameters. Calls to the
- superclass function are only possible if the function is not replaced in the
- superclass as follows, which is another way of “subclassing” in JavaScript.
-
- (code)
- mxGraph.prototype.isCellSelectable = function(cell)
- {
- var geo = this.model.getGeometry(cell);
- return selectable &&
- (geo == null ||
- !geo.relative);
- }
- (end)
-
- The above scheme is useful if a function definition needs to be replaced
- completely.
-
- In order to add new functions and fields to the subclass, the following code
- is used. The example below adds a new function to return the XML
- representation of the graph model:
-
- (code)
- MyGraph.prototype.getXml = function()
- {
- var enc = new mxCodec();
- return enc.encode(this.getModel());
- }
- (end)
-
-Variables:
-
- Likewise, a new field is declared and defined as follows.
-
- (code)
- MyGraph.prototype.myField = 'Hello, World!';
- (end)
-
- Note that the value assigned to myField is created only once, that is, all
- instances of MyGraph share the same value. If you require instance-specific
- values, then the field must be defined in the constructor instead.
-
- (code)
- function MyGraph(container)
- {
- mxGraph.call(this, container);
-
- this.myField = new Array();
- }
- (end)
-
- Finally, a new instance of MyGraph is created using the following code, where
- container is a DOM node that acts as a container for the graph view:
-
- (code)
- var graph = new MyGraph(container);
- (end)