# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

# Module: Property

Class represents a Property that stores Base64 data. This class contains helpful methods in dealing with Base64 data.
Class represents a Property that stores boolean data.
Class represents a Property that stores currency data.
Class represents a Property that stores a calendar date.
Class represents a Property that stores a calendar date and time.
Class represents a Property that stores file data.
Class represents a Property that stores a float value.
Class represents a Property that stores an integer value.
Class represents a Property that stores JSON data. JsonProperty may be a little unpredictable in what its various methods will give you. Say you set the value to: '{"test":true}'. The property parses this and converts it to an actual JS object internally. There will then be two possible representations of this value: - A string ('{"test":true}') and - An object ({ test: true }). This is what the various methods will give you: - getParsedValue: object - getDisplayValue: string - getRawValue: string - getSubmitValue (default): string - getSubmitValue when !submitAsString: object The submitValue is where things get weird. By default, this property will submit as a string.
Base class representing a Property This class should not be instantiated directly. Rather, instantiate a subclass, like StringProperty
Class represents a Property that stores string data.
Class represents a Property that stores a time of day.
Class represents a Property that stores a UUID. This class contains helpful methods in dealing with UUIDs.

#### new (require("Property"))()

  Source:
    Property/Base64.js

#### new (require("Property"))()

  Source:
    Property/Boolean.js

#### new (require("Property"))()

  Source:
    Property/Currency.js

#### new (require("Property"))()

  Source:
    Property/Date.js

#### new (require("Property"))()

  Source:
    Property/DateTime.js

#### new (require("Property"))()

  Source:
    Property/File.js

#### new (require("Property"))()

  Source:
    Property/Float.js

#### new (require("Property"))()

  Source:
    Property/Integer.js

#### new (require("Property"))()

  Source:
    Property/Json.js

#### new (require("Property"))(config)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `config` | object | Object with key/value pairs that define this Property

  Source:
    Property/Property.js

  ##### Fires:

  - .'change',event: 'destroy']

#### new (require("Property"))()

  Source:
    Property/String.js

#### new (require("Property"))()

  Source:
    Property/Time.js

#### new (require("Property"))()

  Source:
    Property/Uuid.js

### Members

#### decode

  Decodes to UTF-8 string
  Source:
    Property/Base64.js

#### atob

  Decodes to bytes, which is compatible with browser's built-in atob() (Which is absent in node)
  Source:
    Property/Base64.js

#### parse

  Parses value to moment object
  Source:
    Property/Date.js

#### parse

  Parses value to float
  Source:
    Property/Float.js

#### isValid

  Validates a JSON string
  Source:
    Property/Json.js

#### getAsHtmlSafe

  Utility function - gets the JSON string in a way that is safe to display in HTML. i.e. It enables us to show a JSON string in HTML *without its contents being interpreted as HTML*
  Source:
    Property/Json.js

#### <inner> name :string

  Could be anything, but OneHat's convention is to use the model name pluralized and underscored, followed by two underscores, followed by the field name singular and underscored (e.g. 'groups_users__id') This convention allows us to have multiple models' data in a single Entity, all flattened

  ##### Type:

  - string
  Source:
    Property/Property.js

#### <inner> allowNull :boolean

  Is the property required to have a value? Defaults to true.

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> submitAsString :boolean

  Whether to submit value as a string, rather than a primitive or complex type

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> isSortable :boolean

  Whether this property type is sortable

  ##### Type:

  - boolean
  Source:
    Property/Property.js

#### <inner> rawValue :any

  The raw value supplied to this property, *before* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### <inner> parsedValue :any

  The value for this property, *after* any parsing was applied

  ##### Type:

  - any
  Source:
    Property/Property.js

#### getRawValue

  Gets "raw" value, prior to any parsing
  Source:
    Property/Property.js

#### getParsedValue

  Gets "parsed" value, without any formatting applied
  Source:
    Property/Property.js

#### getSubmitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### submitValue

  Gets parsed value, formatted for submission to server
  Source:
    Property/Property.js

#### getDisplayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### displayValue

  Gets parsed value, formatted for displaying to user
  Source:
    Property/Property.js

#### hasMapping

  Gets whether or not the Property has a mapping. Used by Entity.
  Source:
    Property/Property.js

#### hasDepends

  Gets whether or not the Property depends on any other properties for its local "parse" function. Used by Entity.
  Source:
    Property/Property.js

#### isIdProperty

  Gets whether or not the Property is an "ID" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### isDisplayProperty

  Gets whether or not the Property is a "Display" property for the Entity it's assigned to
  Source:
    Property/Property.js

#### setValue

  Sets the parsedValue for this Property. Any mapping for this property has already taken place. i.e. The rawValue to parse *is the mapped value.*
  Source:
    Property/Property.js

#### parse

  Performs the actual parsing conversion, but *does not* set anything on the property. Default function. Meant to be overridden with subclass.
  Source:
    Property/Property.js

#### setSubmitAsString

  Sets value of submitAsString
  Source:
    Property/Property.js

#### getEntity

  Gets the Entity object
  Source:
    Property/Property.js

#### getClassName

  Gets the className of this Property type.
  Source:
    Property/Property.js

#### destroy

  Destroy this object. - Removes all circular references to parent objects - Removes child objects - Removes event listeners
  Source:
    Property/Property.js

#### parse

  Parses value to string. - Strings will pass through unaltered. - Numbers and Booleans will be converted to strings. - Other types will return null.
  Source:
    Property/String.js

#### newId

  Generates a new UUID
  Source:
    Property/Uuid.js

#### isValid

  Validates a UUID
  Source:
    Property/Uuid.js

#### isEmpty

  Determines whether a given UUID is empty (i.e. all zeros)
  Source:
    Property/Uuid.js

### Methods

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'now', it will default to the current Date.
  Source:
    Property/Date.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. Can be overridden to get dynamic default value.
  Source:
    Property/Property.js

  ##### Returns:

  defaultValue
  Type
    any

#### getDefaultValue()

  Gets default value. In this case, if a property is set to have a defaultValue of 'generate', it will default to a newly generated UUID.
  Source:
    Property/Uuid.js

  ##### Returns:

  defaultValue
  Type
    any

#### Search results