1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /**
- * Copyright (c) 2006-2015, JGraph Ltd
- * Copyright (c) 2006-2015, Gaudenz Alder
- */
- var mxObjectIdentity =
- {
- /**
- * Class: mxObjectIdentity
- *
- * Identity for JavaScript objects and functions. This is implemented using
- * a simple incrementing counter which is stored in each object under
- * <FIELD_NAME>.
- *
- * The identity for an object does not change during its lifecycle.
- *
- * Variable: FIELD_NAME
- *
- * Name of the field to be used to store the object ID. Default is
- * <code>mxObjectId</code>.
- */
- FIELD_NAME: 'mxObjectId',
- /**
- * Variable: counter
- *
- * Current counter.
- */
- counter: 0,
- /**
- * Function: get
- *
- * Returns the ID for the given object or function or null if no object
- * is specified.
- */
- get: function(obj)
- {
- if (obj != null)
- {
- if (obj[mxObjectIdentity.FIELD_NAME] == null)
- {
- if (typeof obj === 'object')
- {
- var ctor = mxUtils.getFunctionName(obj.constructor);
- obj[mxObjectIdentity.FIELD_NAME] = ctor + '#' + mxObjectIdentity.counter++;
- }
- else if (typeof obj === 'function')
- {
- obj[mxObjectIdentity.FIELD_NAME] = 'Function#' + mxObjectIdentity.counter++;
- }
- }
-
- return obj[mxObjectIdentity.FIELD_NAME];
- }
-
- return null;
- },
- /**
- * Function: clear
- *
- * Deletes the ID from the given object or function.
- */
- clear: function(obj)
- {
- if (typeof(obj) === 'object' || typeof obj === 'function')
- {
- delete obj[mxObjectIdentity.FIELD_NAME];
- }
- }
- };
- __mxOutput.mxObjectIdentity = typeof mxObjectIdentity !== 'undefined' ? mxObjectIdentity : undefined;
|