To add new options, use the instance._optionsExtract protected method. This allows users to provide options either directly or via a namespace.
Usage Pattern:
- Define your default options.
- Call
instance._optionsExtract(pluginName, defaultOptions) to retrieve the user's configuration. - To handle runtime changes via
instance.option(), listen for the options.[namespace] event to reload your settings.
Example:
var pluginName = 'namespace.myPlugin';
$.tooltipster._plugin({
name: pluginName,
instance: {
__init: function(instance) {
var self = this;
self.__instance = instance;
self.__namespace = pluginName + '-' + Math.round(Math.random() * 1000000);
self.__reloadOptions();
// Reload options if the user changes them via instance.option()
self.__instance._on('options.' + self.__namespace, function() {
self.__reloadOptions();
});
},
__destroy: function() {
// Unbind listeners using the unique namespace
this.__instance._off('.' + self.__namespace);
},
__reloadOptions: function() {
var defaultOptions = {
myNewOption: 'value',
myNewOption2: 'value'
};
this.__myOwnOptions = this.__instance._optionsExtract(pluginName, defaultOptions);
}
}
});
var pluginName = 'namespace.myPlugin';
$.tooltipster._plugin({
name: pluginName,
instance: {
__init: function(instance) {
var defaultOptions = {
myNewOption: 'value',
myNewOption2: 'value'
},
myOwnOptions = instance._optionsExtract(pluginName, defaultOptions);
}
}
});