Provides global state management backed by an object, but with no browser history integration. For actual browser history integration and back/forward support, use the history-html5 or history-hash modules.
_change
src
state
options
Defined in
history/js/history-base.js:377
Changes the state. This method provides a common implementation shared by the public methods for changing state.
_defChangeFn
e
Defined in
history/js/history-base.js:623
Default history:change
event handler.
e
EventFacade
state change event facade
_fireChangeEvent
src
key
value
Defined in
history/js/history-base.js:435
Fires a dynamic "[key]Change" event.
_fireEvents
src
changes
options
Defined in
history/js/history-base.js:402
Called by _resolveChanges() when the state has changed. This method takes care of actually firing the necessary events.
_fireRemoveEvent
src
key
value
Defined in
history/js/history-base.js:494
Fires a dynamic "[key]Remove" event.
_init
config
Defined in
history/js/history-base.js:158
Initializes this HistoryBase instance. This method is called by the constructor.
config
Object
configuration object
_isSimpleObject
value
Defined in
history/js/history-base.js:72
Returns true
if value is a simple object and not a
function or an array.
value
Mixed
_resolveChanges
src
newState
options
Defined in
history/js/history-base.js:544
Resolves the changes (if any) between newState and the current state and fires appropriate events if things have changed.
_storeState
src
newState
options
Defined in
history/js/history-base.js:603
Stores the specified state. Don't call this method directly; go through _resolveChanges() to ensure that changes are resolved and all events are fired properly.
add
state
options
Defined in
history/js/history-base.js:265
Adds a state entry with new values for the specified keys. By default,
the new state will be merged into the existing state, and new values will
override existing values. Specifying a null
or
undefined
value will cause that key to be removed from the
new state entry.
state
Object
Object hash of key/value pairs.
options
Object
(optional) Zero or more of the following options:
If true
(the default), the new state will be merged
into the existing state. New values will override existing values,
and null
or undefined
values will be
removed from the state.
<p>
If <code>false</code>, the existing state will be discarded as a
whole and the new state will take its place.
</p>
</dd>
addValue
key
value
options
Defined in
history/js/history-base.js:299
Adds a state entry with a new value for a single key. By default, the new
value will be merged into the existing state values, and will override an
existing value with the same key if there is one. Specifying a
null
or undefined
value will cause the key to
be removed from the new state entry.
get
key
Defined in
history/js/history-base.js:319
Returns the current value of the state parameter specified by key, or an object hash of key/value pairs for all current state parameters if no key is specified.
key
String
(optional) State parameter key.
replace
state
options
Defined in
history/js/history-base.js:340
Same as add()
except that a new browser history entry will
not be created. Instead, the current history entry will be replaced with
the new state.
replaceValue
key
value
options
Defined in
history/js/history-base.js:357
Same as addValue()
except that a new browser history entry
will not be created. Instead, the current history entry will be replaced
with the new state.
_config
Defined in
history/js/history-base.js:169
Configuration object provided by the user on instantiation, or an empty object if one wasn't provided.
Default: {}
_initialState
Defined in
history/js/history-base.js:190
Resolved initial state: a merge of the user-supplied initial state
(if any) and any initial state provided by a subclass. This may
differ from _config.initialState
. If neither the config
nor a subclass supplies an initial state, this property will be
null
.
Default: {}
force
Defined in
history/js/history-base.js:180
If true
, a history:change
event will be fired whenever the URL
changes, even if there is no associated state change.
Default: false
html5
Defined in
history/js/history-base.js:118
Whether or not this browser supports the HTML5 History API.
nativeHashChange
Defined in
history/js/history-base.js:133
Whether or not this browser supports the window.onhashchange
event natively. Note that even if this is true
, you may
still want to use HistoryHash's synthetic hashchange
event
since it normalizes implementation differences and fixes spec violations
across various browsers.
SRC_ADD
Defined in
history/js/history-base.js:96
Constant used to identify state changes originating from the
add()
method.
SRC_REPLACE
Defined in
history/js/history-base.js:107
Constant used to identify state changes originating from the
replace()
method.
[key]Change
Defined in
history/js/history-base.js:447
Dynamic event fired when an individual history item is added or
changed. The name of this event depends on the name of the key that
changed. To listen to change events for a key named "foo", subscribe
to the fooChange
event; for a key named "bar", subscribe
to barChange
, etc.
Key-specific events are only fired for instance-level changes; that
is, changes that were made via the same History instance on which the
event is subscribed. To be notified of changes made by other History
instances, subscribe to the global history:change
event.
e
EventFacade
Event facade with the following additional properties:
undefined
if the item was just added and has no
previous value.
[key]Remove
Defined in
history/js/history-base.js:505
Dynamic event fired when an individual history item is removed. The
name of this event depends on the name of the key that was removed.
To listen to remove events for a key named "foo", subscribe to the
fooRemove
event; for a key named "bar", subscribe to
barRemove
, etc.
Key-specific events are only fired for instance-level changes; that
is, changes that were made via the same History instance on which the
event is subscribed. To be notified of changes made by other History
instances, subscribe to the global history:change
event.
e
EventFacade
Event facade with the following additional properties:
history:change
Defined in
history/js/history-base.js:205
Fired when the state changes. To be notified of all state changes
regardless of the History or YUI instance that generated them,
subscribe to this event on Y.Global
. If you would rather
be notified only about changes generated by this specific History
instance, subscribe to this event on the instance.
e
EventFacade
Event facade with the following additional properties:
newVal
and prevVal
properties
representing the values of the item both before and after the
change. If the item was newly added, prevVal
will be
undefined
.