bespoke-logbook
v2.0.1
Published
Log Bespoke.js events and state to the console
Downloads
5
Readme
bespoke-logbook
Log bespoke.js events and state to the console
The default events are logged by default, as are any custom events from plugins.
Download
Download the production version or the development version, or use a package manager.
Usage
This plugin is shipped in a UMD format, meaning that it is available as a CommonJS/AMD module or browser global.
For example, when using CommonJS modules:
var bespoke = require('bespoke'),
logbook = require('bespoke-logbook');
bespoke.from('#presentation', [
logbook()
]);
When using browser globals:
bespoke.from('#presentation', [
bespoke.plugins.logbook()
]);
Overriding event logging
You can override logging per eventName
, either at instantiation or dynamically. You can pass false
to turn off the specific logger, a plain string, or a function.
Custom events
The function will be called once before firing the event, and once after, with the result -
// Before the event handlers have been called
myCustomEventLoggingOverride("fire", eventName[, eventData, ...])
// After all event handlers have been called
myCustomEventLoggingOverride("fired", result, eventName[, eventData, ...])
Default events
The default events are fired a bit differently than custom events - they aren't intercepted, but rather listened to.
// An event parameter is passed
myDefaultEventLoggingOverride(e)
Override at instantiation
bespoke.horizontal.from("article", {
logbook: {
overrides: {
// An example of a default event
"activate": function(e) {
console.log("activate", "Slide #" + e.index + " was activated!", e.slide);
},
// An example of a custom event
"custom1": function() {
console.log("Custom logging is so much fun", arguments)
},
// An example of a custom event logged with a static string
"custom2": "Will only log this string"
}
}
});
Override dynamically
bespoke.plugins.logbook.override("deactivate", function(e) {
console.log("deactivate", "Slide #" + e.index + " was deactivated!", e.slide);
});
Enable/disable logbook
// logbook is making a lot of noise in the console
bespoke.plugins.logbook.disable();
// logbook is good as dead
bespoke.plugins.logbook.enable();
// logbook is back once again, with the ill behaviour
Package managers
npm
$ npm install bespoke-logbook
Bower
$ bower install bespoke-logbook
TODO
- Accept separate before/after custom event overrides.
- Normalize default and custom event overrides.
- Mimic the default event handlers'
event
object? - Allow option to not autostart/enable logbook at instantiation.
Credits
Mark Dalgleish for bespoke.js and related tools. This plugin was built with generator-bespokeplugin.
Adam Edmond, addyeddy on flickr, for his photo Old log book (CC BY 2.0).
My best friend, bespoke-convenient, for continued support - rain and shine. I love you, man.
License
Copyright (c) 2013, 2014, Joel Purra All rights reserved.
When using bespoke-logbook, comply to the MIT license. Please see the LICENSE file for details, and the MIT License on Wikipedia.