From b29dcb6a6cd5753da35d26b3498a9fae36be7105 Mon Sep 17 00:00:00 2001 From: bluejamesbond Date: Sat, 9 Apr 2016 05:09:53 -0500 Subject: [PATCH] Updating UI for perf; core fixes Adding socket options Core changes; config management; serializing --- .babelrc | 32 +- .scriberc | 141 + Gruntfile.js | 6 +- Procfile | 1 + README.md | 8 +- asr/viewer/Bootstrap.jsx | 10 +- asr/viewer/components/App.jsx | 81 +- asr/viewer/components/views/Checkbox.jsx | 58 + asr/viewer/components/views/Entry.jsx | 132 +- asr/viewer/components/views/Header.jsx | 213 +- asr/viewer/components/views/Sidebar.jsx | 61 +- asr/viewer/components/views/Timeseries.jsx | 135 + asr/viewer/dispatchers/Dispatcher.js | 14 +- asr/viewer/libs/MongoDB.js | 10 +- asr/viewer/stores/EntryStore.js | 230 +- deps.json | 144 +- dist/libs/JSON2.js | 89 +- dist/libs/MultiValueMap.js | 12 +- dist/libs/time.js | 14 + dist/middleware/ExpressLogger.js | 85 + dist/middleware/index.js | 16 + dist/{readers => reader}/BasicConsole.js | 98 +- dist/{readers => reader}/Console.js | 77 +- dist/reader/index.js | 25 + dist/router/index.js | 16 + dist/router/viewer.js | 252 + dist/routers/viewer.js | 184 - dist/schemas/entry.js | 20 - dist/scribe.js | 277 +- .../ErrorExtractor.js | 2 +- .../ExpressExtractor.js | 2 +- .../ExpressInspector.js | 4 +- dist/transform/FullTextSerialize.js | 38 + dist/{transforms => transform}/Inspector.js | 18 +- .../ToJSON2.js} | 12 +- dist/transform/index.js | 52 + dist/{writers => writer}/DefaultConsole.js | 0 dist/{writers => writer}/MongoDB.js | 49 +- dist/{writers => writer}/SocketIO.js | 10 +- dist/writer/index.js | 34 + examples/cluster-server.js | 62 +- examples/simple-server-stream-only.js | 105 +- examples/simple-server.js | 78 +- herokuapp/app.js | 140 +- herokuapp/public/img/screenshot-1.png | Bin 173789 -> 232992 bytes herokuapp/public/index.html | 122 + herokuapp/public/js/jquery-2.1.3.min.js | 4 - herokuapp/views/index.html | 54 - index.js | 2 +- native/package.json | 2 +- package.json | 28 +- public/scripts/TweenMax.min.js | 21 +- public/scripts/login/Bootstrap.min.js | 22724 ++++- public/scripts/socket.min.js | 6 +- public/scripts/three.min.js | 848 +- public/scripts/viewer/Bootstrap.min.js | 80625 +++++++++++++++- public/styles/login.min.css | 2 +- public/styles/login.min.css.map | 7 + public/styles/viewer.min.css | 2 +- public/styles/viewer.min.css.map | 7 + resources/styles/shared/base.scss | 3 +- resources/styles/shared/checkbox.scss | 136 + resources/styles/shared/datepicker.scss | 118 +- resources/styles/shared/fonts.scss | 15 +- resources/styles/viewer.scss | 278 +- screenshots/web-panel-0.png | Bin 660714 -> 232992 bytes scripts/scribe-serialize.js | 42 + src/libs/JSON2.js | 78 +- src/libs/time.js | 8 + src/middleware/ExpressLogger.js | 29 + src/middleware/index.js | 1 + src/{readers => reader}/BasicConsole.js | 36 +- src/{readers => reader}/Console.js | 37 +- src/reader/index.js | 2 + src/router/index.js | 1 + src/router/viewer.js | 185 + src/routers/viewer.js | 135 - src/schemas/entry.js | 14 - src/scribe.js | 174 +- src/transform/ErrorExtractor.js | 13 + .../ExpressExtractor.js | 14 +- .../ExpressInspector.js | 2 +- src/transform/FullTextSerialize.js | 8 + src/{transforms => transform}/Inspector.js | 19 +- .../ToJSON2.js} | 2 +- src/transform/index.js | 5 + src/transforms/ErrorExtractor.js | 8 - src/{writers => writer}/DefaultConsole.js | 0 src/writer/MongoDB.js | 41 + src/{writers => writer}/SocketIO.js | 6 +- src/writer/index.js | 3 + src/writers/MongoDB.js | 24 - tests/console-express.test.js | 27 +- tests/console.test.js | 75 +- views/viewer.jade | 1 + 95 files changed, 107521 insertions(+), 1520 deletions(-) create mode 100644 .scriberc create mode 100644 Procfile create mode 100644 asr/viewer/components/views/Checkbox.jsx create mode 100644 asr/viewer/components/views/Timeseries.jsx create mode 100644 dist/libs/time.js create mode 100644 dist/middleware/ExpressLogger.js create mode 100644 dist/middleware/index.js rename dist/{readers => reader}/BasicConsole.js (50%) rename dist/{readers => reader}/Console.js (74%) create mode 100644 dist/reader/index.js create mode 100644 dist/router/index.js create mode 100644 dist/router/viewer.js delete mode 100644 dist/routers/viewer.js delete mode 100644 dist/schemas/entry.js rename dist/{transforms => transform}/ErrorExtractor.js (85%) rename dist/{transforms => transform}/ExpressExtractor.js (98%) rename dist/{transforms => transform}/ExpressInspector.js (89%) create mode 100644 dist/transform/FullTextSerialize.js rename dist/{transforms => transform}/Inspector.js (87%) rename dist/{transforms/JSON2Converter.js => transform/ToJSON2.js} (80%) create mode 100644 dist/transform/index.js rename dist/{writers => writer}/DefaultConsole.js (100%) rename dist/{writers => writer}/MongoDB.js (54%) rename dist/{writers => writer}/SocketIO.js (73%) create mode 100644 dist/writer/index.js create mode 100644 herokuapp/public/index.html delete mode 100644 herokuapp/public/js/jquery-2.1.3.min.js delete mode 100644 herokuapp/views/index.html create mode 100644 public/styles/login.min.css.map create mode 100644 public/styles/viewer.min.css.map create mode 100644 resources/styles/shared/checkbox.scss create mode 100644 scripts/scribe-serialize.js create mode 100644 src/libs/time.js create mode 100644 src/middleware/ExpressLogger.js create mode 100644 src/middleware/index.js rename src/{readers => reader}/BasicConsole.js (58%) rename src/{readers => reader}/Console.js (80%) create mode 100644 src/reader/index.js create mode 100644 src/router/index.js create mode 100644 src/router/viewer.js delete mode 100644 src/routers/viewer.js delete mode 100644 src/schemas/entry.js create mode 100644 src/transform/ErrorExtractor.js rename src/{transforms => transform}/ExpressExtractor.js (88%) rename src/{transforms => transform}/ExpressInspector.js (87%) create mode 100644 src/transform/FullTextSerialize.js rename src/{transforms => transform}/Inspector.js (74%) rename src/{transforms/JSON2Converter.js => transform/ToJSON2.js} (77%) create mode 100644 src/transform/index.js delete mode 100644 src/transforms/ErrorExtractor.js rename src/{writers => writer}/DefaultConsole.js (100%) create mode 100644 src/writer/MongoDB.js rename src/{writers => writer}/SocketIO.js (57%) create mode 100644 src/writer/index.js delete mode 100644 src/writers/MongoDB.js diff --git a/.babelrc b/.babelrc index 8a960cf..c80907e 100644 --- a/.babelrc +++ b/.babelrc @@ -1,10 +1,28 @@ { - "presets": [ - "es2015", - "react" + "presets": [ + "es2015", + "react" + ], + "plugins": [ + "transform-object-rest-spread", + "transform-runtime", + "syntax-class-properties", + "transform-export-default-name", + [ + "transform-async-functions", + { + "module": "bluebird", + "method": "coroutine" + } ], - "plugins": [ - "transform-object-rest-spread", - "transform-runtime" - ] + [ + "transform-async-to-module-method", + { + "module": "bluebird", + "method": "coroutine" + } + ], + "transform-class-properties", + "syntax-async-functions" + ] } \ No newline at end of file diff --git a/.scriberc b/.scriberc new file mode 100644 index 0000000..eb710d8 --- /dev/null +++ b/.scriberc @@ -0,0 +1,141 @@ +{ + "app": "Scribe", + "id": "instance-0", + "handleUncaughtException": true, + "reader": "reader/BasicConsole", + "expose": { + "default": [ + "mongo-socket", + "bash" + ], + "express": [ + "express-mongo-socket", + "express-bash" + ] + }, + "expose/pipeline": { + "mongo-socket": [ + "transform/ErrorExtractor", + "transform/ToJSON2", + "transform/FullTextSerialize", + "writer/MongoDB", + "writer/SocketIO" + ], + "express-mongo-socket": [ + "transform/ExpressExtractor", + "transform/ErrorExtractor", + "transform/ToJSON2", + "transform/FullTextSerialize", + "writer/MongoDB", + "writer/SocketIO" + ], + "bash": [ + "transform/Inspector", + "writer/DefaultConsole" + ], + "express-bash": [ + "transform/ExpressExtractor", + "transform/ExpressInspector", + "transform/Inspector", + "writer/DefaultConsole" + ] + }, + "module": { + "middleware/ExpressLogger": { + "expose": "express", + "ignore": ["(scribe)"] + }, + "writer/MongoDB": { + "uri": "mongodb://localhost/scribe" + }, + "writer/SocketIO": { + "port": 4000, + "options": {} + }, + "transform/Inspector": { + "colors": true, + "showHidden": false, + "depth": 5, + "pre": true, + "callsite": true, + "tags": true, + "args": true, + "metrics": true + }, + "router/Viewer": { + "mongoUri": "mongodb://localhost/scribe", + "basePath": "/scribe", + "username": "build", + "password": "build", + "authentication": true, + "sessionSecret": "scribe-session", + "useBodyParser": true, + "useSession": true + }, + "router/Viewer/native": { + "protocol": "", + "host": "", + "port": "", + "pathname": "" + }, + "router/Viewer/client": { + "background": "#222", + "socketPorts": [ + 4000 + ], + "socketOptions": {}, + "queries": { + "all": { + "label": "all", + "query": { + "expose": { + "$exists": true + } + } + }, + "error": { + "label": "error", + "query": { + "expose": "error" + }, + "color": "red" + }, + "express": { + "label": "express", + "query": { + "expose": "express" + }, + "color": "blue" + }, + "info": { + "label": "info", + "query": { + "expose": "info" + }, + "color": "cyan" + }, + "log": { + "label": "log", + "query": { + "expose": "log" + }, + "color": "green" + }, + "warn": { + "label": "warn", + "query": { + "expose": "warn" + }, + "color": "yellow" + }, + "trace": { + "label": "trace", + "query": { + "expose": "trace" + }, + "color": "magenta" + } + } + } + } +} \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js index 8b799db..dcfbc7c 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -104,7 +104,7 @@ module.exports = function (grunt) { map: false, processors: [ require('autoprefixer')({ - browsers: ['Chrome > 20'] + browsers: ['> 1%'] }) ] }, @@ -178,7 +178,7 @@ module.exports = function (grunt) { grunt.registerTask('styles', ['sass:dist', 'postcss:dist']); grunt.registerTask('build', ['get-deps', 'sass:dist', 'postcss:dist', 'browserify:dist', 'copy', 'imagemin', 'babel']); grunt.registerTask('default', 'build'); - grunt.registerTask('auto-build-scripts', ['browserify:dev']); - grunt.registerTask('auto-build-styles', ['sass:dev', 'watch:sass']); + grunt.registerTask('watch-scripts', ['browserify:dev']); + grunt.registerTask('watch-styles', ['sass:dev', 'watch:sass']); grunt.registerTask('production', ['env-force-production', 'clean', 'build', 'uglify:dist', 'env-restore']); }; \ No newline at end of file diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..dc38b77 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node ./herokuapp/app.js diff --git a/README.md b/README.md index 1b9fbf9..dd1e5e6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Node.js logging made simple! Online access to logs and more... ```bash -npm install git://github.com/bluejamesbond/Scribe.js.git#dev +npm install scribe@3.0.0-alpha.5 ``` ### Features @@ -16,19 +16,21 @@ npm install git://github.com/bluejamesbond/Scribe.js.git#dev - Support for multithreading (clusters) - Support for logging custom metrics i.e. `databaseResponseTime` - ES6 and Promise support - see examples +- Aggregated timeseries of the log entries +- Range selection +- Keyword searching ### Future - Add client-side options i.e. hide/display tags, show timings, abstract away search - Endpoint response time graphing - Graphing tools for custom metrics - Support for third-party plugins i.e. data parsing and performance tracking (in progress) -- Delete logs from front-end ## Console ![](/screenshots/console-0.png) ## Web -![](/screenshots/web-panel-1.png) +![](https://www.dropbox.com/s/pgjd6eu692fen8y/Screenshot%202016-04-10%2019.52.57.png?dl=1) ## Native ![](/screenshots/native-0.png) diff --git a/asr/viewer/Bootstrap.jsx b/asr/viewer/Bootstrap.jsx index 3b038d1..1abe250 100644 --- a/asr/viewer/Bootstrap.jsx +++ b/asr/viewer/Bootstrap.jsx @@ -1,11 +1,13 @@ import App from './components/App.jsx' import React from 'react' import MongoDB from './libs/MongoDB' -import { render } from 'react-dom' +import {render} from 'react-dom' + +window.Meteor = {Collection: {ObjectID: Function}}; const db = new MongoDB(); db.init() - .then(db=>window.db = db) - .then(()=>db.addCollection('Entry')) - .then(()=>render(, document.getElementById('app'))); \ No newline at end of file + .then(db=>window.db = db) + .then(()=>db.addCollection('Entry')) + .then(()=>render(, document.getElementById('app'))); \ No newline at end of file diff --git a/asr/viewer/components/App.jsx b/asr/viewer/components/App.jsx index 4ad3c4e..fcb790c 100644 --- a/asr/viewer/components/App.jsx +++ b/asr/viewer/components/App.jsx @@ -8,6 +8,43 @@ import Sidebar from './views/Sidebar.jsx' import ReactList from 'react-list'; import querystring from 'querystring' +class ReactListTracked extends ReactList { + constructor(...args) { + super(...args); + + this._triggerTimeSeriesBound = this._triggerTimeSeries.bind(this); + this.session = null; + } + + componentDidUpdate() { + super.componentDidUpdate(); + + this._triggerTimeSeries(); + } + + _triggerTimeSeries() { + const [first] = this.getVisibleRange(); + + if (this.props.entries[first]) { + Dispatcher.emit(Dispatcher.Events.REQUEST_TIMESERIES_DATE, this.props.entries[first].date); + } + } + + componentWillUnmount() { + super.componentWillUnmount(); + + this.scrollParent.removeEventListener("scroll", this._triggerTimeSeriesBound); + } + + componentDidMount() { + super.componentDidMount(); + + this.scrollParent.addEventListener("scroll", this._triggerTimeSeriesBound); + + window.document.body.style.background = config.background; + } +} + class App extends Influx.Component { constructor(...args) { super(...args); @@ -24,6 +61,12 @@ class App extends Influx.Component { } _onEntryStoreUpdated() { + const session = EntryStore.getSessionId(); + if (this.session !== session) { + this.lastLength = null; + this.session = session; + } + this.setState({entries: EntryStore.getSearchResults()}); } @@ -31,7 +74,13 @@ class App extends Influx.Component { Dispatcher.emit(Dispatcher.Events.REQUEST_INIT_SOCKET); } + componentDidUpdate() { + const {entries} = this.state; + } + componentDidMount() { + super.componentDidMount(); + Dispatcher.emit(Dispatcher.Events.REQUEST_INIT_DATABASE); } @@ -41,25 +90,33 @@ class App extends Influx.Component { const maxLineChars = String(length).length + 3; const rowRenderer = (i, key) => { - return + const entry = this.state.entries[i]; + if (i + 1 === length && this.lastLength !== length) { + Dispatcher.emit(Dispatcher.Events.REQUEST_GROW_SEARCH); + Dispatcher.emit(Dispatcher.Events.REQUEST_TIMESERIES_DATE, entry.date); + + this.lastLength = length; + } + + return }; - return ( -
- -
-
-
-
-
- -
+
+ +
+
+
+
+
+
+
); } } diff --git a/asr/viewer/components/views/Checkbox.jsx b/asr/viewer/components/views/Checkbox.jsx new file mode 100644 index 0000000..3d9825a --- /dev/null +++ b/asr/viewer/components/views/Checkbox.jsx @@ -0,0 +1,58 @@ +import React from 'react'; +import {ifcat} from '../../libs/utils'; + +class Checkbox extends React.Component { + static propTypes = { + defaultChecked: React.PropTypes.bool, + checked: React.PropTypes.bool, + toggle: React.PropTypes.bool, + style: React.PropTypes.object, + true: React.PropTypes.string, + false: React.PropTypes.string, + onChange: React.PropTypes.func + }; + + static defaultProps = { + defaultChecked: false, + checked: false, + style: {}, + true: 'on', + false: 'off', + toggle: false, + onChange: () => 0 + }; + + constructor(...args) { + super(...args); + + this.state = {checked: this.props.defaultChecked || this.props.checked}; + } + + componentWillReceiveProps(props) { + if (props.checked !== this.state.checked) { + this.setState({checked: props.checked}); + } + } + + handleChecked(e) { + if (this.props.onChange) { + e.target.checked = !this.state.checked; + this.props.onChange(e); + } + } + + render() { + return ( +
this.handleChecked(e)}> + {this.props.toggle ?
{this.state.checked ? this.props.true : this.props.false}
: null } +
+
+ ); + } +} + +export default Checkbox; diff --git a/asr/viewer/components/views/Entry.jsx b/asr/viewer/components/views/Entry.jsx index 7c55e00..f4ed55e 100644 --- a/asr/viewer/components/views/Entry.jsx +++ b/asr/viewer/components/views/Entry.jsx @@ -1,29 +1,51 @@ import React from 'react' +import Influx from 'react-influx' import {ifcat} from '../../libs/utils' +import EntryStore from '../../stores/EntryStore'; +import Dispatcher from '../../dispatchers/Dispatcher'; import ObjectInspector from 'react-object-inspector'; import _ from 'underscore' +import Checkbox from './Checkbox.jsx'; -export default class Entry extends React.Component { +export default class Entry extends Influx.Component { constructor(...args) { super(...args); - this.state = {visible: false, width: window.innerWidth}; + this.state = {visible: false, width: window.innerWidth, selected: EntryStore.isSelected(this.props.entry._id)}; this._onWindowResize = this._onWindowResize.bind(this); } componentWillUnmount() { - window.removeEventListener("resize", this._onWindowResize) + super.componentWillUnmount(); + + window.removeEventListener("resize", this._onWindowResize); } componentDidMount() { + super.componentDidMount(); + window.addEventListener("resize", this._onWindowResize, false) } + componentWillReceiveProps(nextProps) { + this.setState({selected: EntryStore.isSelected(nextProps.entry._id)}); + } + _onWindowResize() { this.setState({width: window.innerWidth}); } + getListeners() { + return [ + [EntryStore, EntryStore.Events.UPDATED_SELECTED, this._onUpdateSelected] + ] + } + + _onUpdateSelected() { + this.setState({selected: EntryStore.isSelected(this.props.entry._id)}); + } + _inspectPre(persistent) { - return {`${persistent.app}-${persistent.id}`}; + return {`${persistent.app}-${persistent.id}`}; } _inspectTags(tags, persistent) { @@ -35,7 +57,7 @@ export default class Entry extends React.Component { _inspectExpose(expose) { return {expose}; @@ -47,11 +69,11 @@ export default class Entry extends React.Component { _inspectMetrics(entry) { return ( - + {_.map(entry.transient.metrics, (value, key)=> { value = typeof value === 'number' ? value.toFixed(3) : value; return ( - + {key} {value} @@ -68,12 +90,12 @@ export default class Entry extends React.Component { const {entry} = this.props; return ( -
- -
- -
+
+ +
+
+
); } @@ -83,7 +105,7 @@ export default class Entry extends React.Component { if (entry.expose === 'express') { const express = entry.args[0]; args = ( - + {express.method} {express.originalUrl} {express.status} - {express.contentLength} @@ -104,13 +126,21 @@ export default class Entry extends React.Component { _inspectCallSite(entry) { let site = entry.transient.callsite; + let tooltip; if (entry.expose === 'express') { const express = entry.args[0]; - site = `${express.ip}` + site = `${express.ip}`; + tooltip = 'remote ip'; } else { site = `${site.file.substr(site.file.lastIndexOf('/') + 1)}:${site.line}`; + tooltip = site.func || 'anonymous'; } - return {site}; + return ( + + {site} + {tooltip} + + ); } render() { @@ -118,47 +148,55 @@ export default class Entry extends React.Component { const lineNumber = new Array(this.props.maxLineChars - String(this.props.line).length).join(' ') + this.props.line; const preSpace = new Array(this.props.maxLineChars).join(' '); + const isPushed = entry._pushed; if (this.state.width < 1280) { return ( -
-
- - {this._inspectPre(entry.persistent)} - {this._inspectTags(entry.persistent.tags, true)} - {this._inspectTags(entry.transient.tags)} - {this._inspectMetrics(entry)} - - {this._inspectExpose(entry.expose)} - {this._inspectCallSite(entry)} - -
-
- - {this._inspectArgs(entry)} -
- {this._inspectRaw(preSpace) } +
+
+ + Dispatcher.emit(Dispatcher.Events.REQUEST_SELECT_ENTRY, entry._id, e.target.checked)}/> + {this._inspectPre(entry.persistent)} + {this._inspectTags(entry.persistent.tags, true)} + {this._inspectTags(entry.transient.tags, false, isPushed)} + {this._inspectMetrics(entry)} + + {this._inspectExpose(entry.expose)} + {this._inspectCallSite(entry)} + { isPushed ? new : null } +
+
+ + {this._inspectArgs(entry)} +
+ { this._inspectRaw(preSpace) } +
); } return ( -
-
- - {this._inspectPre(entry.persistent)} - {this._inspectTags(entry.persistent.tags, true)} - {this._inspectTags(entry.transient.tags)} - {this._inspectMetrics(entry)} - {this._inspectArgs(entry)} - {this._inspectExpose(entry.expose)} - {this._inspectCallSite(entry)} - -
- {this._inspectRaw(preSpace) } +
+
+ + Dispatcher.emit(Dispatcher.Events.REQUEST_SELECT_ENTRY, entry._id, e.target.checked)}/> + {this._inspectPre(entry.persistent)} + {this._inspectTags(entry.persistent.tags, true)} + {this._inspectTags(entry.transient.tags, false, isPushed)} + {this._inspectMetrics(entry)} + {this._inspectArgs(entry)} + {this._inspectExpose(entry.expose)} + {this._inspectCallSite(entry)} + { isPushed ? new : null } +
+ {this._inspectRaw(preSpace) } +
); } } \ No newline at end of file diff --git a/asr/viewer/components/views/Header.jsx b/asr/viewer/components/views/Header.jsx index e59c4b5..86185b8 100644 --- a/asr/viewer/components/views/Header.jsx +++ b/asr/viewer/components/views/Header.jsx @@ -4,6 +4,10 @@ import {ifcat} from '../../libs/utils' import EntryStore from '../../stores/EntryStore' import Dispatcher from '../../dispatchers/Dispatcher' import Spinner from 'react-spinkit' +import _ from 'underscore'; +import moment from 'moment'; +import TimeSeries from './TimeSeries.jsx'; +import DatePicker from 'react-datepicker' import AceEditor from 'react-ace'; import brace from 'brace' @@ -13,22 +17,54 @@ import 'brace/theme/monokai'; export default class Header extends Influx.Component { constructor(...args) { super(...args); - this.state = {search: {}, searchEnabled: false}; + this.state = { + search: { + period: {} + }, + selected: [], + searchEnabled: false, + startDate: moment(), + endDate: moment() + }; + this.search = {}; + this.text = null; + this.expanded = true; + this.isTyping = false; } getListeners() { return [ - [EntryStore, EntryStore.Events.UPDATED, this._onEntryStoreUpdated] + [EntryStore, EntryStore.Events.UPDATED, this._onEntryStoreUpdated], + [EntryStore, EntryStore.Events.UPDATED_SELECTED, this._onEntryStoreUpdatedSelected] ] } _onEntryStoreUpdated() { - const search = {query: EntryStore.getSearchQuery(), options: EntryStore.getSearchOptions()}; - this.setState({search, searchEnabled: true}); + const search = { + query: EntryStore.getSearchQuery(), + options: EntryStore.getSearchOptions(), + period: EntryStore.getSearchPeriod(), + text: EntryStore.getSessionText() + }; + + if (!this.isTyping) { + this.refs.input.value = search.text || ''; + } + + const startDate = moment(search.period.$gt); + const endDate = moment(search.period.$lt).subtract(1, 'days'); + + this.setState({search, searchEnabled: true, startDate, endDate}); this.search = JSON.stringify(search); } + _onEntryStoreUpdatedSelected() { + const selected = EntryStore.getSelected(); + this.setState({selected}); + this.selected = JSON.stringify(selected); + } + _handleChange(key, data) { if (!this.state.searchEnabled) { return; @@ -44,16 +80,148 @@ export default class Header extends Influx.Component { _handleSearch() { try { const {query,options} = this.state.search; - Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, query, options, true); + + Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, query, options); } catch (e) { console.error(e); } } + _triggerTextSearch() { + try { + const {query, options, period} = this.state.search; + Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, query, options, period, this.text); + } catch (e) { + console.error(e); + } + } + + _handleTextSearch(text) { + clearTimeout(this.triggerTid); + this.text = text; + this.isTyping = true; + this.triggerTid = setTimeout(() => this._triggerTextSearch(), 400); + } + + _handleDateChange({ startDate, endDate }) { + startDate = startDate || this.state.startDate; + endDate = endDate || this.state.endDate; + + if (startDate.isAfter(endDate)) { + var temp = startDate; + startDate = endDate; + endDate = temp + } + + // if (moment.duration(endDate.diff(startDate)).asDays() > 5) { + // startDate = moment(endDate).subtract(5, 'days'); + // } + + Dispatcher.emit(Dispatcher.Events.REQUEST_PERIOD, { + $lt: endDate.add(1, 'days').startOf('day').toISOString(), + $gt: startDate.startOf('day').toISOString() + }); + + this.setState({startDate, endDate}) + } + + _handleChangeStartDate(startDate) { + this._handleDateChange({startDate}) + } + + _handleChangeEndDate(endDate) { + this._handleDateChange({endDate}) + } + + componentDidMount() { + super.componentDidMount(); + + this._crushHeader(); + } + + _growHeader() { + if (this.expanded) return; + + this.expanded = true; + + this.refs.root.style.minHeight = '245px'; + this.refs.root.style.maxHeight = '245px'; + + this.refs.inside.style.minHeight = '125px'; + this.refs.inside.style.maxHeight = '125px'; + this.refs.inside.style.height = '125px'; + + this.refs.arrow.classList.remove('rotate-down'); + + clearTimeout(this.tid); + this.tid = setTimeout(() => { + this.refs.query.classList.remove('visibility-hidden'); + this.refs.select.classList.remove('visibility-hidden'); + }, 450); + } + + _crushHeader() { + if (!this.expanded) return; + + this.expanded = false; + + this.refs.query.classList.add('visibility-hidden'); + this.refs.select.classList.add('visibility-hidden'); + this.refs.arrow.classList.add('rotate-down'); + + clearTimeout(this.tid); + this.tid = setTimeout(() => { + this.refs.root.style.minHeight = '170px'; + this.refs.root.style.maxHeight = '170px'; + + this.refs.inside.style.minHeight = '50px'; + this.refs.inside.style.maxHeight = '50px'; + this.refs.inside.style.height = '50px'; + }, 450); + } + + _toggleCrush() { + if (this.expanded) { + this._crushHeader(); + } else { + this._growHeader(); + } + } + render() { + const querystring = EntryStore.getQueryString({_id: {$in: this.state.selected}}, []); + return ( -
-
+
+
+ this._handleTextSearch(e.target.value)}/> + this._toggleCrush()}/> +
+
+
+
+
+
range
+
+
+ this._handleChangeStartDate(a)}/> + to + this._handleChangeEndDate(a)}/> +
+
+
+
+
+
query
@@ -70,7 +238,7 @@ export default class Header extends Influx.Component {
options
@@ -83,7 +251,36 @@ export default class Header extends Influx.Component {
+
+
+
+
SELECT
+
+ +
+
+
+
+ PERMALINK +
+
+
Dispatcher.emit(Dispatcher.Events.REQUEST_SELECT_ALL_ENTRIES)}> + SELECT ALL +
+
+
+
Dispatcher.emit(Dispatcher.Events.REQUEST_SELECT_CLEAR_ENTRIES)}> + CLEAR +
+
+
+ +
); } } \ No newline at end of file diff --git a/asr/viewer/components/views/Sidebar.jsx b/asr/viewer/components/views/Sidebar.jsx index cb34664..c9f0c46 100644 --- a/asr/viewer/components/views/Sidebar.jsx +++ b/asr/viewer/components/views/Sidebar.jsx @@ -11,7 +11,7 @@ export default class Sidebar extends Influx.Component { constructor(...args) { super(...args); - this.state = {date: moment().startOf('day')}; + this.state = {}; } getListeners() { @@ -21,58 +21,49 @@ export default class Sidebar extends Influx.Component { ] } - _onEntryStoreDatabaseReady() { - const exposed = Object.keys(config.exposed); - this._selectExpose(exposed[0], config.exposed[exposed[0]]); + _onEntryStoreDatabaseReady(selected) { + const exposed = Object.keys(config.queries); + if (!selected) { + this._selectExpose(exposed[0], config.queries[exposed[0]]); + } } _onDispatcherRequestEntrySearch(query, sort) { - const {expose} = query; - for (const [k, exposed] of Object.entries(config.exposed)) { - if (_.isEqual(exposed.query.expose, expose)) { - return this.setState({label: exposed.label}); + const _query = JSON.parse(JSON.stringify(query)); + delete _query.serialized; + + for (const [k, exposed] of Object.entries(config.queries)) { + if (_.isEqual(_query, exposed.query)) { + return this.setState({i: k}); } } - this.setState({label: undefined}); + this.setState({i: undefined}); } - _selectExpose(i, expose, date = this.state.date) { + _selectExpose(i, expose) { this.setState({i}); - Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, - Object.assign({}, expose.query, {date: this._getRange(date)})); - } - _getRange(date = moment()) { - const today = moment(date).startOf('day'); - const tomorrow = moment(today).add(1, 'days'); - - return {$gte: today.toISOString(), $lt: tomorrow.toISOString()}; - } - - _selectDate(date) { - const query = EntryStore.getSearchQuery(); - this.setState({date}); - Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, - Object.assign({}, query, {date: this._getRange(date)})); + Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, Object.assign({}, expose.query)); } render() { - - const exposed = _.map(config.exposed, (expose, i)=> { - return
{ + return
{expose.label}
; }); + + exposed.push(
USER-DEFINED
); + return ( -
-
-
Exposed -
- {exposed} -
+
+
+ Scribe.js + {exposed}
+
); } } \ No newline at end of file diff --git a/asr/viewer/components/views/Timeseries.jsx b/asr/viewer/components/views/Timeseries.jsx new file mode 100644 index 0000000..e3e2123 --- /dev/null +++ b/asr/viewer/components/views/Timeseries.jsx @@ -0,0 +1,135 @@ +import React from 'react' +import Influx from 'react-influx' +import {ifcat} from '../../libs/utils' +import EntryStore from '../../stores/EntryStore' +import Dispatcher from '../../dispatchers/Dispatcher' +import Spinner from 'react-spinkit' +import _ from 'underscore'; +import moment from 'moment'; + +const GROWTH = 1; + +export default class TimeSeries extends Influx.Component { + constructor(...args) { + super(...args); + + this.state = {data: [], series: []}; + } + + getListeners() { + return [ + [EntryStore, EntryStore.Events.UPDATED_TIMESERIES, this._onEntryStoreUpdatedTimeSeries], + [Dispatcher, Dispatcher.Events.REQUEST_TIMESERIES_DATE, this._onDispatcherRequestTimeSeriesDate] + ] + } + + _onDispatcherRequestTimeSeriesDate(date) { + date = moment(date); + const {series} = this.state; + + for (var i = 0; i < series.length; i++) { + const data = series[i]; + + // console.log(data.date.toDate(), date.toDate()); + + if (data.date.diff(date) < 0) { + Array.prototype.forEach.call(document.getElementsByClassName('red-selected'), a => a.classList.remove('red-selected')); + this.refs[data.ref].classList.add('red-selected'); + return; + } + } + } + + _onEntryStoreUpdatedTimeSeries() { + const period = EntryStore.getSearchPeriod(); + const aggregations = EntryStore.getSearchTimeSeries(); + const data = _.groupBy(aggregations, a => `${a._id.hour.day}_${a._id.hour.hour}`); + const end = moment(period.$lt); + const series = []; + const exposers = Object.keys(_.indexBy(aggregations, a => a._id.expose)); + + let start = moment(period.$gt); + let max = 0; + + for (var i in data) { + const exposed = {}; + for (var k = 0; k < data[i].length; k++) { + const count = data[i][k].number; + exposed[data[i][k]._id.expose] = count; + + max = Math.max(max, count); + } + + data[i] = exposed; + } + + let count = 0; + const offset = new Date().getTimezoneOffset() * 60 * 1000; + + while (end.diff(start) > 0) { + const startOffset = moment(start.toDate().getTime() + offset); + const day = startOffset.date(); + const hour = startOffset.hour(); + const key = `${day}_${hour}`; + + series.push({date: moment(start), ref: `pos-${count++}`, count: data[key] || {}}); + start = start.add(1, 'hour'); + } + + var crushSeries = []; + var groupSize = parseInt(series.length / 24); + for (var i = 0; i < series.length; i += groupSize) { + const start = series[i]; + for (var k = i + 1; k < i + groupSize; k++) { + const curr = series[k]; + for (var e = 0; e < exposers.length; e++) { + const ee = exposers[e]; + start.count[ee] = start.count[ee] || 0; + start.count[ee] += (curr.count[ee] || 0) + + max = Math.max(start.count[ee], max); + } + } + + crushSeries.push(start); + } + + this.setState({series: crushSeries.reverse(), exposers, max}); + } + + render() { + const maxHeight = 80; + const {series, exposers, max} = this.state; + + const elems = series.map((data, i) => { + const exposed = exposers.map(expose => { + const count = data.count[expose] || 0; + const height = Math.min(count / max * maxHeight * GROWTH, maxHeight); + + return ( +
+ {`${expose}: ${count}`} +
+ ); + }); + + return ( +
+
+ {exposed} +
{data.date.format('M/D hA')}
+
+
+ ); + }); + + return ( +
+ {elems} +
+ ) + } +} \ No newline at end of file diff --git a/asr/viewer/dispatchers/Dispatcher.js b/asr/viewer/dispatchers/Dispatcher.js index 4447a28..2155898 100644 --- a/asr/viewer/dispatchers/Dispatcher.js +++ b/asr/viewer/dispatchers/Dispatcher.js @@ -2,10 +2,16 @@ import Influx from 'react-influx' import keyMirror from 'keymirror' const Events = keyMirror({ - REQUEST_INIT_DATABASE: null, - REQUEST_INIT_SOCKET: null, - REQUEST_ENTRY_SEARCH: null -}); + REQUEST_GROW_SEARCH: null, + REQUEST_INIT_DATABASE: null, + REQUEST_INIT_SOCKET: null, + REQUEST_ENTRY_SEARCH: null, + REQUEST_SELECT_ENTRY: null, + REQUEST_SELECT_ALL_ENTRIES: null, + REQUEST_SELECT_CLEAR_ENTRIES: null, + REQUEST_TIMESERIES_DATE: null, + REQUEST_PERIOD: null + }); class Dispatcher extends Influx.Dispatcher { // override as needed diff --git a/asr/viewer/libs/MongoDB.js b/asr/viewer/libs/MongoDB.js index da7c8a1..00c4a13 100644 --- a/asr/viewer/libs/MongoDB.js +++ b/asr/viewer/libs/MongoDB.js @@ -23,12 +23,18 @@ function JQueryHttpClient(method, url, params, data, success, error) { req.end((err, res) => { if (err) return error(err); - return success(res.body.docs || []); + let docs = []; + try { + docs = JSON.parse(res.text); + } catch (e) { + // ignore + } + return success(docs); }).on('progress', e => console.log('Percentage done: ', e.percent)); } export default class MongoDB { - constructor(url = 'rest/', namespace = 'scribe', client = 'webapp') { + constructor(url = 'rest/db/', namespace = 'scribe', client = 'webapp') { this.url = url; this.namespace = namespace; this.client = client; diff --git a/asr/viewer/stores/EntryStore.js b/asr/viewer/stores/EntryStore.js index c136cd3..c2e8efb 100644 --- a/asr/viewer/stores/EntryStore.js +++ b/asr/viewer/stores/EntryStore.js @@ -2,55 +2,124 @@ import Influx from 'react-influx' import keyMirror from 'keymirror' import Dispatcher from '../dispatchers/Dispatcher' import * as JSON2 from '../../../src/libs/JSON2' +import moment from 'moment'; +import _ from 'underscore'; +import request from 'superagent' +const OVERFLOW = 200; const Events = keyMirror({ - DATABASE_READY: null, - SOCKET_READY: null, - UPDATED: null -}); + DATABASE_READY: null, + SOCKET_READY: null, + UPDATED: null, + UPDATED_SELECTED: null, + UPDATED_TIMESERIES: null + }); class EntryStore extends Influx.Store { constructor(...args) { super(Dispatcher/*, additional dispatchers you have */); - this.data = {entries: [], search: [], history: {}, options: {sort: {date: -1}}}; + this.data = Object.assign( + { + entries: [], selected: {}, + options: {sort: {date: -1}, limit: OVERFLOW}, + period: { + $gt: moment().startOf('day').toISOString(), + $lt: moment().add(1, 'days').startOf('day').toISOString() + } + }, this.fromQueryString(window.location.hash.substr(1))); + + this.setMaxListeners(Number.MAX_SAFE_INTEGER); } getSearchResults() { - return this.data.search; + return this.data.entries; } getDispatcherListeners() { return [ [Dispatcher, Dispatcher.Events.REQUEST_INIT_DATABASE, this._onDispatcherRequestInitDatabase], [Dispatcher, Dispatcher.Events.REQUEST_INIT_SOCKET, this._onDispatcherRequestInitSocket], - [Dispatcher, Dispatcher.Events.REQUEST_ENTRY_SEARCH, this._onDispatcherRequestEntrySearch] + [Dispatcher, Dispatcher.Events.REQUEST_PERIOD, this._onDispatcherRequestPeriod], + [Dispatcher, Dispatcher.Events.REQUEST_SELECT_ENTRY, this._onDispatcherRequestSelectEntry], + [Dispatcher, Dispatcher.Events.REQUEST_SELECT_ALL_ENTRIES, this._onDispatcherRequestSelectAllEntry], + [Dispatcher, Dispatcher.Events.REQUEST_SELECT_CLEAR_ENTRIES, this._onDispatcherRequestClearEntries], + [Dispatcher, Dispatcher.Events.REQUEST_ENTRY_SEARCH, this._onDispatcherRequestEntrySearch], + [Dispatcher, Dispatcher.Events.REQUEST_GROW_SEARCH, this._onDispatcherRequestGrowSearch] ] } _onDispatcherRequestInitDatabase() { - db.Entry.find({}).fetch(()=>this.emit(Events.DATABASE_READY), ()=>this.emit(Events.DATABASE_READY)); + const presearch = Object.keys(this.data.query || {}).length; + this.emit(Events.DATABASE_READY, presearch); + + if (presearch) { + Dispatcher.emit(Dispatcher.Events.REQUEST_ENTRY_SEARCH, this.data.query, this.data.options, this.data.period); + } + } + + _onDispatcherRequestSelectEntry(id, selected) { + if (selected) { + this.data.selected[id] = true; + } else { + delete this.data.selected[id]; + } + + this.emit(Events.UPDATED_SELECTED); + this.emit(Events.UPDATED_SELECTED + id, true); + } + + isSelected(id) { + return !!this.data.selected[id]; + } + + getSelected() { + return Object.keys(this.data.selected); + } + + _onDispatcherRequestSelectAllEntry() { + const plucked = _.pluck(this.data.entries, '_id'); + plucked.forEach(a => this.data.selected[a] = true); + + this.emit(Events.UPDATED_SELECTED); + plucked.forEach(id => this.emit(Events.UPDATED_SELECTED + id, true)); + } + + _onDispatcherRequestClearEntries() { + const keys = Object.keys(this.data.selected); + + this.data.selected = {}; + + this.emit(Events.UPDATED_SELECTED); + keys.forEach(id => this.emit(Events.UPDATED_SELECTED + id, false)); } _onDispatcherRequestInitSocket() { const url = window.location; (config.socketPorts || []).map(port => { this.socket = io(`${url.protocol}//${url.hostname}:${port}`); - this.socket.on('connection', function (socket) { - console.log('sup!!!'); - }); this.socket.on('data', data => { - console.log(data); - db.localDb.Entry.upsert(data, () => { - this.searchEntries(this.data.query, this.getSearchOptions()); - }); + data._pushed = true; + db.localDb.Entry.upsert(data, () => this.refreshSession()); }); }); this.emit(Events.SOCKET_READY); } - _onDispatcherRequestEntrySearch(query, options) { - this.searchEntries(query, options); + _onDispatcherRequestEntrySearch(...args) { + this.startSession(...args); + } + + _onDispatcherRequestGrowSearch() { + this.fetchSession(); + } + + _onDispatcherRequestPeriod(period) { + this.setSessionPeriod(period); + } + + getSearchTimeSeries() { + return this.data.timeseries; } getSearchQuery() { @@ -65,25 +134,124 @@ class EntryStore extends Influx.Store { setTimeout(() => super.emit(...args), 0); } - searchEntries(query = {}, options = this.data.options, remote = false) { - this.data.query = query; - this.data.options = options; + addEntries(entries, pre) { + this.data.entries = pre ? [...entries, ...this.data.entries] : [...this.data.entries, ...entries]; + } - const searchLocal = ()=> { - db.localDb.Entry.find(query, Object.assign({}, options)).fetch(entries => { - this.data.search = entries.map(e => JSON2.parse(JSON.stringify(e))); + fromQueryString(string) { + try { + return JSON.parse(string); + } catch (e) { + return {}; + } + } + + getQueryString(query = this.data.query, select = this.data.select) { + return JSON.stringify({ + query: query, + options: this.data.options, + period: this.data.period, + text: this.data.text, + select: select + }); + } + + getSessionDBQuery(date = this.data.period) { + return Object.assign({}, Object.assign({}, this.data.query, this.data.text ? { + serialized: { + $regex: `.*${this.data.text}.*`, + $options: 'i' + } + } : {}), {date}); + } + + getSessionDBOptionsQuery(options = this.data.options) { + return Object.assign({}, this.data.options, options); + } + + startSession(query = this.data.query, options = this.data.options, period = this.data.period, text = this.data.text) { + this.data.entries = []; + this.data.options = options; + this.data.query = query; + this.data.finished = false; + this.data.timeseries = []; + this.data.period = period; + this.data.text = text; + this.data.session = Date.now(); + + db.Entry.find(this.getSessionDBQuery(), this.getSessionDBOptionsQuery({skip: 0})) + .fetch(entries => { + this.data.entries = entries; this.emit(Events.UPDATED); }); - }; - const dateKey = JSON.stringify(query.date); - remote = remote || !this.data.history[dateKey]; - if (remote) { - this.data.history[dateKey] = true; - db.Entry.find({date: query.date}, Object.assign({}, options)).fetch(searchLocal); - } else { - searchLocal(); + request + .post('rest/timeseries') + .send(this.getSessionDBQuery()) + .end((err, res) => { + this.data.timeseries = res.body || []; + this.emit(Events.UPDATED_TIMESERIES); + }); + + window.location.hash = this.getQueryString(); + } + + getSearchPeriod() { + return this.data.period; + } + + getSessionText() { + return this.data.text || ''; + } + + setSessionText(text) { + this.data.text = text; + + this.startSession(); // restart + } + + setSessionPeriod(period) { + this.data.period = period; + + this.startSession(); // restart + } + + getSessionId() { + return this.data.session; + } + + refreshSession() { + db.localDb.Entry + .find(this.getSessionDBQuery(), this.getSessionDBOptionsQuery({limit: null, skip: 0})) + .fetch(entries => { + this.data.entries = entries; + this.emit(Events.UPDATED); + }); + } + + fetchSession(up) { + const {options, entries, query} = this.data; + const entry = entries[entries.length - 1]; + + if (entry) { + const periodCpy = JSON.parse(JSON.stringify(this.data.period)); + if (up) { + delete periodCpy.$gte; + delete periodCpy.$gt; + periodCpy.$gte = entry.date; + } else { + delete periodCpy.$lte; + delete periodCpy.$lt; + periodCpy.$lte = entry.date; + } + + db + .Entry + .find(this.getSessionDBQuery(periodCpy), this.getSessionDBOptionsQuery()) + .fetch(() => { + this.refreshSession(); + }); } } } diff --git a/deps.json b/deps.json index 5582797..85d5eb0 100644 --- a/deps.json +++ b/deps.json @@ -1,4 +1,14 @@ [ + { + "department": "kessler", + "relatedTo": "stuff", + "name": "JSONStream", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "(MIT OR Apache-2.0)", + "link": "git://github.com/dominictarr/JSONStream.git", + "comment": "1.1.1" + }, { "department": "kessler", "relatedTo": "stuff", @@ -9,6 +19,116 @@ "link": "git+https://github.com/caolan/async.git", "comment": "1.5.2" }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-syntax-async-functions", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-functions", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-syntax-class-properties", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-class-properties", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-async-functions", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-functions", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-async-to-module-method", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-module-method", + "comment": "6.7.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-class-properties", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-class-properties", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-export-default-name", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "BSD-3-Clause", + "link": "git+https://github.com/gajus/babel-plugin-transform-export-default-name.git", + "comment": "1.0.4" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-object-rest-spread", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-rest-spread", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-plugin-transform-runtime", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-runtime", + "comment": "6.5.2" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-preset-es2015", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-preset-es2015", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-preset-react", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-preset-react", + "comment": "6.5.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "babel-register", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/babel/babel/tree/master/packages/babel-register", + "comment": "6.5.2" + }, { "department": "kessler", "relatedTo": "stuff", @@ -29,6 +149,26 @@ "link": "https://github.com/jshttp/basic-auth", "comment": "1.0.3" }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "basic-auth-connect", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "https://github.com/expressjs/basic-auth-connect.git", + "comment": "1.0.0" + }, + { + "department": "kessler", + "relatedTo": "stuff", + "name": "bluebird", + "licensePeriod": "perpetual", + "material": "material", + "licenseType": "MIT", + "link": "git://github.com/petkaantonov/bluebird.git", + "comment": "3.3.4" + }, { "department": "kessler", "relatedTo": "stuff", @@ -216,7 +356,7 @@ "material": "material", "licenseType": "MIT", "link": "git://github.com/Hacker0x01/react-datepicker.git", - "comment": "0.18.0" + "comment": "0.25.0" }, { "department": "kessler", @@ -236,7 +376,7 @@ "material": "material", "licenseType": "ISC", "link": "git+https://github.com/bluejamesbond/Influx.js.git", - "comment": "1.0.8" + "comment": "1.1.5" }, { "department": "kessler", diff --git a/dist/libs/JSON2.js b/dist/libs/JSON2.js index 8ae3e8d..7200c92 100644 --- a/dist/libs/JSON2.js +++ b/dist/libs/JSON2.js @@ -4,10 +4,18 @@ Object.defineProperty(exports, "__esModule", { value: true }); +var _keys = require('babel-runtime/core-js/object/keys'); + +var _keys2 = _interopRequireDefault(_keys); + var _stringify = require('babel-runtime/core-js/json/stringify'); var _stringify2 = _interopRequireDefault(_stringify); +var _typeof2 = require('babel-runtime/helpers/typeof'); + +var _typeof3 = _interopRequireDefault(_typeof2); + var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); @@ -19,7 +27,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function parse(str, reviver) { return JSON.parse(str, function (k, v) { - var rv = undefined; + var rv = void 0; if (typeof v === 'string') { if (/^Promise \{(.*?)}$/g.test(v)) { return new _promise2.default(function (r, e) { @@ -27,7 +35,7 @@ function parse(str, reviver) { }); } else if (/^function ([a-zA-Z0-9_\$]*?)\((.*?)\)\s?\{(.*?)}$/g.test(rv = v.replace(/\n/g, ''))) { try { - var x = undefined; + var x = void 0; eval('x = ' + v); if (x) { return x; @@ -50,8 +58,77 @@ function parse(str, reviver) { }); } +var stringifyOnce = function stringifyOnce(obj, replacer, indent) { + var printedObjects = []; + var printedObjectKeys = []; + + function printOnceReplacer(key, value) { + if (printedObjects.length > 2000) { + // browsers will not print more than 20K, I don't see the point to allow 2K.. algorithm will not be fast anyway if we have too many objects + return 'object too long'; + } + var printedObjIndex = false; + printedObjects.forEach(function (obj, index) { + if (obj === value) { + printedObjIndex = index; + } + }); + + if (key == '') { + //root element + printedObjects.push(obj); + printedObjectKeys.push("root"); + return value; + } else if (printedObjIndex + "" != "false" && (typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)) == "object") { + if (printedObjectKeys[printedObjIndex] == "root") { + return "(pointer to root)"; + } else { + return "(see " + (!!value && !!value.constructor ? value.constructor.name.toLowerCase() : typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)) + " with key " + printedObjectKeys[printedObjIndex] + ")"; + } + } else { + + var qualifiedKey = key || "(empty key)"; + printedObjects.push(value); + printedObjectKeys.push(qualifiedKey); + if (replacer) { + return replacer(key, value); + } else { + return value; + } + } + } + + return (0, _stringify2.default)(obj, printOnceReplacer, indent); +}; + +// http://www.z-car.com/blog/programming/how-to-escape-mongo-keys-using-node-js-in-a-flash +function escapeKeys(obj) { + if (!(Boolean(obj) && (typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) == 'object' && (0, _keys2.default)(obj).length > 0)) { + return false; + } + + (0, _keys2.default)(obj).forEach(function (key) { + if ((0, _typeof3.default)(obj[key]) == 'object') { + escapeKeys(obj[key]); + } else { + if (key.indexOf('.') !== -1) { + var newkey = key.replace(/\./g, '_dot_'); + obj[newkey] = obj[key]; + delete obj[key]; + } + if (key.indexOf('$') !== -1) { + var newkey = key.replace(/\$/g, '_amp_'); + obj[newkey] = obj[key]; + delete obj[key]; + } + } + }); + + return true; +} + function stringify(obj, replacer, spaces) { - return (0, _stringify2.default)(obj, function (k, v) { + var objStr = stringifyOnce(obj, function (k, v) { if (typeof v !== 'undefined' && v !== null) { if (typeof v.then === 'function') { return 'Promise { }'; @@ -64,4 +141,10 @@ function stringify(obj, replacer, spaces) { return v; }, spaces); + + var objCpy = JSON.parse(objStr); + + escapeKeys(objCpy); + + return (0, _stringify2.default)(objCpy); } diff --git a/dist/libs/MultiValueMap.js b/dist/libs/MultiValueMap.js index 1dd3ed6..8dc3dc2 100644 --- a/dist/libs/MultiValueMap.js +++ b/dist/libs/MultiValueMap.js @@ -18,14 +18,14 @@ var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _class = function () { - function _class() { - (0, _classCallCheck3.default)(this, _class); +var multiValueMap = function () { + function multiValueMap() { + (0, _classCallCheck3.default)(this, multiValueMap); this._map = new _map2.default(); } - (0, _createClass3.default)(_class, [{ + (0, _createClass3.default)(multiValueMap, [{ key: "get", value: function get(key) { if (!this._map.has(key)) { @@ -64,7 +64,7 @@ var _class = function () { this._map.remove(old); } }]); - return _class; + return multiValueMap; }(); -exports.default = _class; +exports.default = multiValueMap; diff --git a/dist/libs/time.js b/dist/libs/time.js new file mode 100644 index 0000000..d37efcc --- /dev/null +++ b/dist/libs/time.js @@ -0,0 +1,14 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = time; +function time() { + if (typeof process !== 'undefined' && typeof process.hrtime === 'function') { + var duration = process.hrtime(); + return duration[0] * 1000 + duration[1] / 1e6; + } + + return Date.now(); +} diff --git a/dist/middleware/ExpressLogger.js b/dist/middleware/ExpressLogger.js new file mode 100644 index 0000000..3def1ab --- /dev/null +++ b/dist/middleware/ExpressLogger.js @@ -0,0 +1,85 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _getIterator2 = require('babel-runtime/core-js/get-iterator'); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _createClass2 = require('babel-runtime/helpers/createClass'); + +var _createClass3 = _interopRequireDefault(_createClass2); + +var _onFinished = require('on-finished'); + +var _onFinished2 = _interopRequireDefault(_onFinished); + +var _time = require('../libs/time'); + +var _time2 = _interopRequireDefault(_time); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var ExpressLogger = function () { + function ExpressLogger(scribe) { + (0, _classCallCheck3.default)(this, ExpressLogger); + + this.options = scribe.module('middleware/ExpressLogger').options; + this.scribe = scribe; + } + + (0, _createClass3.default)(ExpressLogger, [{ + key: 'getMiddleware', + value: function getMiddleware() { + var scribe = this.scribe; + var options = this.options; + + + return function (req, res, next) { + var start = (0, _time2.default)(); + (0, _onFinished2.default)(res, function () { + var originalUrl = req.originalUrl; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = (0, _getIterator3.default)(options.ignore), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var k = _step.value; + + if (new RegExp(k).test(originalUrl)) { + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + scribe[options.expose]({ req: req, res: res, duration: (0, _time2.default)() - start }); + }); + + next(); + }; + } + }]); + return ExpressLogger; +}(); + +exports.default = ExpressLogger; diff --git a/dist/middleware/index.js b/dist/middleware/index.js new file mode 100644 index 0000000..05a4a0f --- /dev/null +++ b/dist/middleware/index.js @@ -0,0 +1,16 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _ExpressLogger = require('./ExpressLogger'); + +Object.defineProperty(exports, 'ExpressLogger', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ExpressLogger).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/dist/readers/BasicConsole.js b/dist/reader/BasicConsole.js similarity index 50% rename from dist/readers/BasicConsole.js rename to dist/reader/BasicConsole.js index 4d0a1ea..a1790e0 100644 --- a/dist/readers/BasicConsole.js +++ b/dist/reader/BasicConsole.js @@ -8,10 +8,6 @@ var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); -var _getIterator2 = require('babel-runtime/core-js/get-iterator'); - -var _getIterator3 = _interopRequireDefault(_getIterator2); - var _map = require('babel-runtime/core-js/map'); var _map2 = _interopRequireDefault(_map); @@ -44,28 +40,19 @@ var _callsite = require('callsite'); var _callsite2 = _interopRequireDefault(_callsite); -var _onFinished = require('on-finished'); +var _time2 = require('../libs/time'); -var _onFinished2 = _interopRequireDefault(_onFinished); +var _time3 = _interopRequireDefault(_time2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _time() { - if (typeof process !== 'undefined' && typeof process.hrtime === 'function') { - var duration = process.hrtime(); - return duration[0] * 1000 + duration[1] / 1e6; - } +var basicConsole = function (_Console) { + (0, _inherits3.default)(basicConsole, _Console); - return Date.now(); -} + function basicConsole(app, id) { + (0, _classCallCheck3.default)(this, basicConsole); -var _class = function (_Console) { - (0, _inherits3.default)(_class, _Console); - - function _class(app, id) { - (0, _classCallCheck3.default)(this, _class); - - var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(_class).call(this, app, id)); + var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(basicConsole).call(this, app, id)); _this._times = new _map2.default(); @@ -80,7 +67,7 @@ var _class = function (_Console) { return _this; } - (0, _createClass3.default)(_class, [{ + (0, _createClass3.default)(basicConsole, [{ key: 'date', value: function date() { this.transient('date', new Date()); @@ -88,56 +75,10 @@ var _class = function (_Console) { }, { key: 'time', value: function time(label) { - this._times.set(label, _time()); + this._times.set(label, (0, _time3.default)()); return this; } - }, { - key: 'middleware', - value: function middleware() { - var _this2 = this; - - var expose = arguments.length <= 0 || arguments[0] === undefined ? 'express' : arguments[0]; - var ignore = arguments.length <= 1 || arguments[1] === undefined ? [/(scribe)/g] : arguments[1]; - - this.expose(expose); - - ignore = Array.isArray(ignore) ? ignore : [ignore]; - - return function (req, res, next) { - var start = _time(); - (0, _onFinished2.default)(res, function () { - var originalUrl = req.originalUrl; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = (0, _getIterator3.default)(ignore), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var k = _step.value; - - if (new RegExp(k).test(originalUrl)) return; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - _this2[expose]({ req: req, res: res, duration: _time() - start }); - }); - next(); - }; - } }, { key: 'tag', value: function tag() { @@ -153,8 +94,13 @@ var _class = function (_Console) { key: 'metric', value: function metric() { var map = {}; - for (var i = 1; i < arguments.length; i += 2) { - map[arguments.length <= i - 1 + 0 ? undefined : arguments[i - 1 + 0]] = arguments.length <= i + 0 ? undefined : arguments[i + 0]; + + for (var _len2 = arguments.length, metrics = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + metrics[_key2] = arguments[_key2]; + } + + for (var i = 1; i < metrics.length; i += 2) { + map[metrics[i - 1]] = metrics[i]; } this.transient('metrics', (0, _assign2.default)(this.transient('metrics') || {}, map)); @@ -164,7 +110,7 @@ var _class = function (_Console) { }, { key: 'trace', value: function trace(text) { - this.transient('callsite', this.callSite(4)); + this.transient('callsite', this.callSite(2)); return this.out('trace', new Error(text)); } }, { @@ -175,16 +121,16 @@ var _class = function (_Console) { throw new Error('No such label: ' + label); } + this.captureStackTrace(); + this._times.delete(label); - this.transient('callsite', this.callSite(5)); - - var duration = _time() - start; + var duration = (0, _time3.default)() - start; return this.metric(label, duration).timing(''); } }]); - return _class; + return basicConsole; }(_Console3.default); -exports.default = _class; +exports.default = basicConsole; diff --git a/dist/readers/Console.js b/dist/reader/Console.js similarity index 74% rename from dist/readers/Console.js rename to dist/reader/Console.js index 8dbefc0..8749f47 100644 --- a/dist/readers/Console.js +++ b/dist/reader/Console.js @@ -12,6 +12,10 @@ var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); +var _typeof2 = require('babel-runtime/helpers/typeof'); + +var _typeof3 = _interopRequireDefault(_typeof2); + var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); @@ -34,22 +38,44 @@ var _async2 = _interopRequireDefault(_async); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _class = function () { - function _class() { - var app = arguments.length <= 0 || arguments[0] === undefined ? 'Scribe' : arguments[0]; - var id = arguments.length <= 1 || arguments[1] === undefined ? process.pid : arguments[1]; +var console = function () { + function _class(config) { (0, _classCallCheck3.default)(this, _class); this._transient = {}; this._persistent = {}; this._pipelines = {}; this._exposed = {}; + this._config = config; - this.persistent('app', app); - this.persistent('id', id); + this.persistent('app', this._config.app); + this.persistent('id', this._config.id); } (0, _createClass3.default)(_class, [{ + key: 'module', + value: function module(namespace) { + var _this = this; + + if (namespace) { + var _ret = function () { + var options = _this._config.module[namespace] || {}; + + options.isSet = function () { + return (0, _keys2.default)(options).length; + }; + + return { + v: { options: options } + }; + }(); + + if ((typeof _ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(_ret)) === "object") return _ret.v; + } + + return this._config; + } + }, { key: 'transient', value: function transient(key, value) { if (arguments.length === 1) { @@ -71,13 +97,26 @@ var _class = function () { } }, { key: 'exposed', - value: function exposed() { + value: function exposed(expose) { + if (expose) { + return !!this._exposed[expose]; + } + return (0, _keys2.default)(this._exposed); } + }, { + key: 'captureStackTrace', + value: function captureStackTrace() { + var idx = arguments.length <= 0 || arguments[0] === undefined ? 3 : arguments[0]; + + if (!this.transient('callsite')) { + return this.transient('callsite', this.callSite(idx)); + } + } }, { key: 'callSite', value: function callSite() { - var idx = arguments.length <= 0 || arguments[0] === undefined ? 5 : arguments[0]; + var idx = arguments.length <= 0 || arguments[0] === undefined ? 3 : arguments[0]; try { var site = (0, _callsite2.default)()[idx]; @@ -85,7 +124,7 @@ var _class = function () { return { line: site.getLineNumber(), file: site.getFileName(), - func: site.getFunctionName() + func: site.getFunctionName() || 'anonymous' }; return site; @@ -101,22 +140,24 @@ var _class = function () { }, { key: 'out', value: function out(expose) { - var _this = this; + var _this2 = this; for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } + this.captureStackTrace(); + return new _promise2.default(function (resolve, reject) { - if (!_this._pipelines[expose]) { + if (!_this2._pipelines[expose]) { return resolve(); } - _this.preout(); + _this2.preout(); - var pipelines = _this._pipelines[expose]; - var transient = _this._transient; - var persistent = _this._persistent; + var pipelines = _this2._pipelines[expose]; + var transient = _this2._transient; + var persistent = _this2._persistent; var errs = []; var now = new Date(); @@ -125,7 +166,7 @@ var _class = function () { } if (!transient.callsite) { - transient.callsite = _this.callSite(); + transient.callsite = _this2.callSite(); } if (!args.length) { @@ -133,7 +174,7 @@ var _class = function () { } // reset before async - _this.reset(); + _this2.reset(); _async2.default.forEachOfSeries(pipelines, function (pipeline, name, callback) { var input = { @@ -223,4 +264,4 @@ var _class = function () { return _class; }(); -exports.default = _class; +exports.default = console; diff --git a/dist/reader/index.js b/dist/reader/index.js new file mode 100644 index 0000000..3104c71 --- /dev/null +++ b/dist/reader/index.js @@ -0,0 +1,25 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _BasicConsole = require('./BasicConsole'); + +Object.defineProperty(exports, 'BasicConsole', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_BasicConsole).default; + } +}); + +var _Console = require('./Console'); + +Object.defineProperty(exports, 'Console', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_Console).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/dist/router/index.js b/dist/router/index.js new file mode 100644 index 0000000..9757bca --- /dev/null +++ b/dist/router/index.js @@ -0,0 +1,16 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _Viewer = require('./Viewer'); + +Object.defineProperty(exports, 'Viewer', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_Viewer).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/dist/router/viewer.js b/dist/router/viewer.js new file mode 100644 index 0000000..d0423db --- /dev/null +++ b/dist/router/viewer.js @@ -0,0 +1,252 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); + +var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); + +var _maxSafeInteger = require('babel-runtime/core-js/number/max-safe-integer'); + +var _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger); + +var _stringify = require('babel-runtime/core-js/json/stringify'); + +var _stringify2 = _interopRequireDefault(_stringify); + +var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _createClass2 = require('babel-runtime/helpers/createClass'); + +var _createClass3 = _interopRequireDefault(_createClass2); + +var _typeof2 = require('babel-runtime/helpers/typeof'); + +var _typeof3 = _interopRequireDefault(_typeof2); + +var _express = require('express'); + +var _express2 = _interopRequireDefault(_express); + +var _mongoose = require('mongoose'); + +var _mongoose2 = _interopRequireDefault(_mongoose); + +var _jade = require('jade'); + +var _jade2 = _interopRequireDefault(_jade); + +var _basicAuthConnect = require('basic-auth-connect'); + +var _basicAuthConnect2 = _interopRequireDefault(_basicAuthConnect); + +var _bodyParser = require('body-parser'); + +var _bodyParser2 = _interopRequireDefault(_bodyParser); + +var _JSONStream = require('JSONStream'); + +var _JSONStream2 = _interopRequireDefault(_JSONStream); + +var _nwBuilder = require('nw-builder'); + +var _nwBuilder2 = _interopRequireDefault(_nwBuilder); + +var _package = require('../../native/package.json'); + +var _package2 = _interopRequireDefault(_package); + +var _url = require('url'); + +var _MongoDB = require('../writer/MongoDB'); + +var _extend = require('extend'); + +var _extend2 = _interopRequireDefault(_extend); + +var _fs = require('fs'); + +var _fs2 = _interopRequireDefault(_fs); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getObject(d, def) { + if (typeof d === 'undefined' || d === null) { + return def || {}; + } else if ((typeof d === 'undefined' ? 'undefined' : (0, _typeof3.default)(d)) === 'object') { + return d; + } else { + try { + return JSON.parse(d); + } catch (e) { + return def || {}; + } + } +} + +var viewer = _jade2.default.compileFile(__dirname + '/../../views/viewer.jade'); +var login = _jade2.default.compileFile(__dirname + '/../../views/login.jade'); + +var Viewer = function () { + function Viewer(scribe) { + (0, _classCallCheck3.default)(this, Viewer); + + this.scribe = scribe; + } + + (0, _createClass3.default)(Viewer, [{ + key: 'getRouter', + value: function getRouter() { + var scribe = this.scribe; + var routerOptions = scribe.module('router/Viewer').options; + var clientOptions = scribe.module('router/Viewer/client').options; + + var conn = void 0, + Entry = void 0; + + _mongoose2.default.set('debug', routerOptions.debug); + conn = _mongoose2.default.createConnection(routerOptions.mongoUri); + Entry = conn.model('Entry', _MongoDB.EntrySchema); + + var router = new _express.Router(); + + if (routerOptions.username && routerOptions.password) { + router.use((0, _basicAuthConnect2.default)(routerOptions.username, routerOptions.password)); + } + + router.use(_express2.default.static(__dirname + '/../../public')); + + if (routerOptions.useBodyParser) { + router.use(_bodyParser2.default.json()); + } + + var render = function render(req, res) { + return res.send(viewer({ config: (0, _stringify2.default)(clientOptions) })); + }; + + router.get('/', render); + router.get('/viewer', render); + + router.post('/rest/timeseries', function (req, res) { + try { + if (req.body && req.body.date) { + req.body.date = req.body.date || {}; + + if (req.body.date.$gt) req.body.date.$gt = new Date(req.body.date.$gt); + if (req.body.date.$gte) req.body.date.$gte = new Date(req.body.date.$gte); + if (req.body.date.$eq) req.body.date.$eq = new Date(req.body.date.$eq); + if (req.body.date.$lt) req.body.date.$lt = new Date(req.body.date.$lt); + if (req.body.date.$lte) req.body.date.$lte = new Date(req.body.date.$lte); + if (req.body._id && Array.isArray(req.body._id.$in)) req.body._id.$in = req.body._id.$in.map(function (a) { + return _mongoose2.default.Types.ObjectId(a); + }); + if (req.body._id && typeof req.body._id === 'string') req.body._id = _mongoose2.default.Types.ObjectId(req.body._id); + } + } catch (e) { + // ignore + } + + Entry.aggregate([{ $match: req.body }, { + $project: { + hour: { + year: { $year: '$date' }, + month: { $month: '$date' }, + day: { $dayOfMonth: '$date' }, + hour: { $hour: '$date' } + }, + expose: '$expose' + } + }, { + $group: { + _id: { hour: '$hour', expose: '$expose' }, + number: { $sum: 1 } + } + }], function (err, out) { + return res.json(out || []); + }); + }); + + router.get('/rest/db/:collection', function (req, res) { + var _Entry$find; + + if (!routerOptions.mongoUri) { + return res.json({ err: 0, docs: [] }); + } + + var selector = getObject(req.query.selector); + var fields = typeof req.query.fields === 'string' ? req.query.fields : ''; + var sort = getObject(req.query.sort, { _id: -1 }); + var limit = !isNaN(req.query.limit) ? Math.max(0, parseInt(req.query.limit)) : _maxSafeInteger2.default; + var skip = !isNaN(req.query.skip) ? Math.max(0, parseInt(req.query.skip)) : 0; + + res.type('application/json'); + + var stream = (_Entry$find = Entry.find(selector)).select.apply(_Entry$find, (0, _toConsumableArray3.default)(fields.split(' '))).skip(skip).limit(limit).sort(sort).stream(); + + stream.pipe(_JSONStream2.default.stringify()).pipe(res); + }); + + router.delete('/rest/db/:collection', function (req, res) { + if (!routerOptions.mongoUri) { + res.status(410); + return res.send(); + } + + var ids = req.query.id; + + try { + ids = JSON.parse(ids); + } catch (e) { + // ignore + } + + if (!Array.isArray(ids)) { + ids = [req.param('id')]; + } + + Entry.remove({ _id: { $in: ids } }, function (err) { + res.status(err ? 410 : 200); + res.send(); + }); + }); + + if (routerOptions.native) {} + + return router; + } + }, { + key: 'getNative', + value: function getNative() { + var scribe = this.scribe; + var nativeOptions = scribe.module('router/Viewer/native').options; + + // update + _package2.default.main = (0, _url.format)(nativeOptions); + + // save + _fs2.default.writeFileSync(__dirname + '/../../native/package.json', (0, _stringify2.default)(_package2.default, null, 4), { encoding: 'utf8' }); + + var nw = new _nwBuilder2.default((0, _extend2.default)(true, { + platforms: ['win', 'osx', 'linux'], + buildDir: __dirname + '/../../public/native', + version: '0.12.3', + zip: true + }, nativeOptions, { files: __dirname + '/../../native/**/**' })); + + if (nativeOptions.debug) { + nw.on('log', function (d) { + return console.log(d); + }); + } + + return nw.build(); + } + }]); + return Viewer; +}(); + +exports.default = Viewer; diff --git a/dist/routers/viewer.js b/dist/routers/viewer.js deleted file mode 100644 index 9d4518f..0000000 --- a/dist/routers/viewer.js +++ /dev/null @@ -1,184 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _maxSafeInteger = require('babel-runtime/core-js/number/max-safe-integer'); - -var _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger); - -var _stringify = require('babel-runtime/core-js/json/stringify'); - -var _stringify2 = _interopRequireDefault(_stringify); - -var _assign = require('babel-runtime/core-js/object/assign'); - -var _assign2 = _interopRequireDefault(_assign); - -var _typeof2 = require('babel-runtime/helpers/typeof'); - -var _typeof3 = _interopRequireDefault(_typeof2); - -exports.create = create; - -var _express = require('express'); - -var _express2 = _interopRequireDefault(_express); - -var _mongoose = require('mongoose'); - -var _mongoose2 = _interopRequireDefault(_mongoose); - -var _entry = require('../schemas/entry'); - -var _entry2 = _interopRequireDefault(_entry); - -var _jade = require('jade'); - -var _jade2 = _interopRequireDefault(_jade); - -var _basicAuth = require('basic-auth'); - -var _basicAuth2 = _interopRequireDefault(_basicAuth); - -var _bodyParser = require('body-parser'); - -var _bodyParser2 = _interopRequireDefault(_bodyParser); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function getObject(d, def) { - if (typeof d === 'undefined' || d === null) { - return def || {}; - } else if ((typeof d === 'undefined' ? 'undefined' : (0, _typeof3.default)(d)) === 'object') { - return d; - } else { - try { - return JSON.parse(d); - } catch (e) { - return def || {}; - } - } -} - -var viewer = _jade2.default.compileFile(__dirname + '/../../views/viewer.jade'); -var login = _jade2.default.compileFile(__dirname + '/../../views/login.jade'); - -function create() { - var mongoUri = arguments.length <= 0 || arguments[0] === undefined ? 'mongodb://localhost/scribe' : arguments[0]; - var routerConfig = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - var clientConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - var debug = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3]; - - routerConfig = (0, _assign2.default)({ - useBodyParser: true, - username: 'build', - password: 'build' - }, routerConfig); - - var conn = undefined, - Entry = undefined; - - if (mongoUri) { - _mongoose2.default.set('debug', debug); - conn = _mongoose2.default.createConnection(mongoUri); - Entry = conn.model('Entry', _entry2.default); - } - - var router = new _express.Router(); - - var authenticate = function authenticate(req, res, next) { - function unauthorized(res) { - res.set('WWW-Authenticate', 'Basic realm=Authorization Required'); - return res.sendStatus(401); - } - - if (routerConfig.authentication === false || !routerConfig.username && !routerConfig.password) { - return next(); - } - - var user = (0, _basicAuth2.default)(req); - - if (!user || !user.name || !user.pass) { - return unauthorized(res); - } - - if (user.name === routerConfig.username && user.pass === routerConfig.password) { - return next(); - } else { - return unauthorized(res); - } - }; - - router.use(authenticate); - router.use(_express2.default.static(__dirname + '/../../public')); - - if (routerConfig.useBodyParser) { - router.use(_bodyParser2.default.json()); - } - - var renderViewer = function renderViewer(req, res) { - return res.send(viewer({ config: (0, _stringify2.default)(clientConfig) })); - }; - - router.get('/', renderViewer); - router.get('/viewer', renderViewer); - - router.get('/rest/:collection', function (req, res) { - if (!mongoUri) { - return res.json({ err: 0, docs: [] }); - } - - var collection = req.params.collection; - var selector = getObject(req.query.selector); - var fields = typeof req.query.fields === 'string' ? req.query.fields : ''; - var sort = getObject(req.query.sort, { _id: -1 }); - var limit = !isNaN(req.query.limit) ? Math.max(0, parseInt(Number(req.query.limit))) : _maxSafeInteger2.default; - var col = Entry; // defaulting to Entry for now - - if (!col) { - return res.json({ err: 1, docs: [] }); - } - - col.find(selector).select(fields).sort(sort).limit(limit).lean().exec(function () { - var err = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0]; - var docs = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; - return res.json({ err: err, docs: docs }); - }); - }); - - router.delete('/rest/:collection', function (req, res) { - if (!mongoUri) { - res.status(410); - return res.send(); - } - - var collection = rreq.params.collection; - var ids = req.query.id; - - try { - ids = JSON.parse(ids); - } catch (e) { - // ignore - } - - if (!Array.isArray(ids)) { - ids = [req.param('id')]; - } - - var col = Entry; // defaulting to Entry for now - - if (col) { - return col.remove({ _id: { $in: ids } }, function (err) { - res.status(err ? 410 : 200); - res.send(); - }); - } - - res.status(410); - res.send(); - }); - - return router; -} diff --git a/dist/schemas/entry.js b/dist/schemas/entry.js deleted file mode 100644 index e243e76..0000000 --- a/dist/schemas/entry.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _mongoose = require('mongoose'); - -var EntrySchema = new _mongoose.Schema({ - transient: _mongoose.Schema.Types.Object, - persistent: _mongoose.Schema.Types.Object, - args: _mongoose.Schema.Types.Object, - date: { type: Date, default: Date.now }, - expose: String, - serialized: String // experimental -}); - -EntrySchema.index({ 'persistent.app': 1, 'persistent.id': -1 }); - -exports.default = EntrySchema; diff --git a/dist/scribe.js b/dist/scribe.js index 7bcec4e..018e67f 100644 --- a/dist/scribe.js +++ b/dist/scribe.js @@ -3,90 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.Transform = exports.Reader = exports.Writer = undefined; +exports.Writer = exports.Transform = exports.Router = exports.Reader = exports.Middleware = undefined; -var _stringify = require('babel-runtime/core-js/json/stringify'); +var _keys = require('babel-runtime/core-js/object/keys'); -var _stringify2 = _interopRequireDefault(_stringify); +var _keys2 = _interopRequireDefault(_keys); -exports.default = function () { - var id = arguments.length <= 0 || arguments[0] === undefined ? process.pid : arguments[0]; - var opts = arguments.length <= 1 || arguments[1] === undefined ? (0, _rc2.default)('scribe', defaultOpts) : arguments[1]; +var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); - opts = (0, _extend2.default)(true, {}, defaultOpts, opts); +var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); - var console = new _BasicConsole2.default(opts.name, id || opts.instanceId); +var _typeof2 = require('babel-runtime/helpers/typeof'); - function appendTransforms(args) { - if (opts.mongo && opts.mongoUri && opts.socket && opts.socketPort) { - args.push(new _JSON2Converter2.default()); - args.push(new _MongoDB2.default(opts.mongoUri, opts.debug)); - args.push(new _SocketIO2.default(opts.socketPort, opts.debug)); - } else if (opts.mongo && opts.mongoUri) { - args.push(new _JSON2Converter2.default()); - args.push(new _MongoDB2.default(opts.mongoUri, opts.debug)); - } else if (opts.socket && opts.socketPort) { - args.push(new _JSON2Converter2.default()); - args.push(new _SocketIO2.default(opts.socketPort, opts.debug)); - } +var _typeof3 = _interopRequireDefault(_typeof2); - return args; - } +var _getIterator2 = require('babel-runtime/core-js/get-iterator'); - for (var _len = arguments.length, exposers = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - exposers[_key - 2] = arguments[_key]; - } +var _getIterator3 = _interopRequireDefault(_getIterator2); - console.exposed().concat(exposers).forEach(function (expose) { - console.expose(expose); - - var args = appendTransforms([expose, 'mongo-socket', new _ErrorExtractor2.default()]); - - console.pipe.apply(console, args); - - console.pipe(expose, 'bash', new _Inspector2.default(opts.inspector), new _DefaultConsole2.default()); - }); - - var args = appendTransforms(['express', 'mongo-socket', new _ErrorExtractor2.default(), new _ExpressExtractor2.default()]); - - console.pipe.apply(console, args); - - console.pipe('express', 'bash', new _ExpressExtractor2.default(), new _ExpressInspector2.default(), new _Inspector2.default(opts.inspector), new _DefaultConsole2.default()); - - console.viewer = _viewer.create.bind(null, opts.mongo && opts.mongoUri, opts.web.router, opts.web.client, opts.debug); - - console.build = function () { - - // update - _package2.default.main = opts.publicUri + ':' + _path2.default.join(String(opts.web.client.port), opts.basePath); - - // save - _fs2.default.writeFileSync(__dirname + '/../native/package.json', (0, _stringify2.default)(_package2.default, null, 4), { encoding: 'utf8' }); - - var nw = new _nwBuilder2.default((0, _extend2.default)(true, { - platforms: ['win', 'osx', 'linux'], - buildDir: __dirname + '/../public/native', - version: '0.12.3', - zip: true - }, opts.nwjs, { files: __dirname + '/../native/**/**' })); - - if (opts.debug) { - nw.on('log', function (d) { - return console.log(d); - }); - } - - return nw.build(); - }; - - process.on('uncaughtException', function (e) { - return console.error(e).then(function () { - return process.exit(1); - }); - }); - - return console; -}; +exports.resolvePipeline = resolvePipeline; +exports.create = create; var _fs = require('fs'); @@ -96,111 +32,114 @@ var _path = require('path'); var _path2 = _interopRequireDefault(_path); -var _Console = require('./readers/Console'); - -var _Console2 = _interopRequireDefault(_Console); - -var _BasicConsole = require('./readers/BasicConsole'); - -var _BasicConsole2 = _interopRequireDefault(_BasicConsole); - -var _Inspector = require('./transforms/Inspector'); - -var _Inspector2 = _interopRequireDefault(_Inspector); - -var _ExpressInspector = require('./transforms/ExpressInspector'); - -var _ExpressInspector2 = _interopRequireDefault(_ExpressInspector); - -var _ExpressExtractor = require('./transforms/ExpressExtractor'); - -var _ExpressExtractor2 = _interopRequireDefault(_ExpressExtractor); - -var _JSON2Converter = require('./transforms/JSON2Converter'); - -var _JSON2Converter2 = _interopRequireDefault(_JSON2Converter); - -var _ErrorExtractor = require('./transforms/ErrorExtractor'); - -var _ErrorExtractor2 = _interopRequireDefault(_ErrorExtractor); - -var _MongoDB = require('./writers/MongoDB'); - -var _MongoDB2 = _interopRequireDefault(_MongoDB); - -var _SocketIO = require('./writers/SocketIO'); - -var _SocketIO2 = _interopRequireDefault(_SocketIO); - -var _DefaultConsole = require('./writers/DefaultConsole'); - -var _DefaultConsole2 = _interopRequireDefault(_DefaultConsole); - -var _viewer = require('./routers/viewer'); - -var _nwBuilder = require('nw-builder'); - -var _nwBuilder2 = _interopRequireDefault(_nwBuilder); - var _rc = require('rc'); var _rc2 = _interopRequireDefault(_rc); -var _package = require('./../native/package.json'); - -var _package2 = _interopRequireDefault(_package); - var _extend = require('extend'); var _extend2 = _interopRequireDefault(_extend); +var _middleware = require('./middleware'); + +var Middleware = _interopRequireWildcard(_middleware); + +var _reader = require('./reader'); + +var Reader = _interopRequireWildcard(_reader); + +var _router = require('./router'); + +var Router = _interopRequireWildcard(_router); + +var _transform = require('./transform'); + +var Transform = _interopRequireWildcard(_transform); + +var _writer = require('./writer'); + +var Writer = _interopRequireWildcard(_writer); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var Writer = exports.Writer = { MongoDB: _MongoDB2.default, DefaultConsole: _DefaultConsole2.default }; -var Reader = exports.Reader = { BasicConsole: _BasicConsole2.default, Console: _Console2.default }; -var Transform = exports.Transform = { Inspector: _Inspector2.default, ExpressInspector: _ExpressInspector2.default, ExpressExtractor: _ExpressExtractor2.default, ErrorExtractor: _ErrorExtractor2.default, JSON2Converter: _JSON2Converter2.default }; +exports.Middleware = Middleware; +exports.Reader = Reader; +exports.Router = Router; +exports.Transform = Transform; +exports.Writer = Writer; +function resolvePipeline(scribe, pipeline) { + var resolved = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; -var defaultOpts = { - name: 'Scribe', - mongoUri: 'mongodb://localhost/scribe', - mongo: true, - basePath: 'scribe/', - socketPort: 4000, - socket: true, - inspector: { - colors: true, - showHidden: false, - depth: 5, - pre: true, - callsite: true, - tags: true, - args: true, - metrics: true - }, - web: { - router: { - username: 'build', - password: 'build', - authentication: true, - sessionSecret: 'scribe-session', - useBodyParser: true, - useSession: true - }, - client: { - socketPorts: [4000], - exposed: { - all: { label: 'all', query: { expose: { $exists: true } } } + try { + for (var _iterator = (0, _getIterator3.default)(pipeline), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var through = _step.value; + + if (typeof through === 'function') { + resolved.push(new through(scribe)); + } else if ((typeof through === 'undefined' ? 'undefined' : (0, _typeof3.default)(through)) === 'object') { + resolved.push(through); + } else if (typeof through === 'string') { + var Class = require(_path2.default.join(__dirname, through)).default; + resolved.push(new Class(scribe)); } } - }, - //error: {label: 'error', query: {expose: 'error'}}, - //express: {label: 'express', query: {expose: 'express'}}, - //info: {label: 'info', query: {expose: 'info'}}, - //log: {label: 'log', query: {expose: 'log'}}, - //warn: {label: 'warn', query: {expose: 'warn'}}, - //trace: {label: 'trace', query: {expose: 'trace'}} - nwjs: {}, - debug: false -}; + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } -; + return resolved; +} + +function create(opts) { + opts = (0, _extend2.default)(true, (0, _rc2.default)('scribe', {}), opts); + + // create default console + var console = new Reader.BasicConsole(opts); + var _opts = opts; + var exposeMap = _opts.expose; + var pipelineMap = _opts['expose/pipeline']; + + + [].concat((0, _toConsumableArray3.default)(console.exposed()), (0, _toConsumableArray3.default)((0, _keys2.default)(exposeMap))).forEach(function (expose) { + if (expose === 'default') return; + var pipelines = exposeMap[expose] || exposeMap.default; + if (Array.isArray(pipelines)) { + pipelines.forEach(function (pipeline) { + if (Array.isArray(pipelineMap[pipeline])) { + if (opts.debug) { + process.stdout.write('Exposing ' + expose + ' through ' + pipeline + '\n'); + } + + console.expose(expose); + console.pipe.apply(console, [expose, pipeline].concat((0, _toConsumableArray3.default)(resolvePipeline(console, pipelineMap[pipeline])))); + } + }); + } + }); + + if (opts.handleUncaughtException) { + process.on('uncaughtException', function (e) { + return console.error(e).then(function () { + return process.exit(1); + }); + }); + } + + return console; +} diff --git a/dist/transforms/ErrorExtractor.js b/dist/transform/ErrorExtractor.js similarity index 85% rename from dist/transforms/ErrorExtractor.js rename to dist/transform/ErrorExtractor.js index 6efada2..3873670 100644 --- a/dist/transforms/ErrorExtractor.js +++ b/dist/transform/ErrorExtractor.js @@ -27,7 +27,7 @@ var ErrorExtractor = function () { key: "through", value: function through(data, callback) { data.args = data.args.map(function (a) { - return a instanceof Error ? JSON.parse((0, _stringify2.default)(a, ["message", "arguments", "type", "name", "stack"])) : a; + return a instanceof Error ? a.toJSON ? a.toJSON() : JSON.parse((0, _stringify2.default)(a, ["message", "arguments", "type", "name", "stack", "code"])) : a; }); callback(null, data); diff --git a/dist/transforms/ExpressExtractor.js b/dist/transform/ExpressExtractor.js similarity index 98% rename from dist/transforms/ExpressExtractor.js rename to dist/transform/ExpressExtractor.js index fff91bc..08a34d2 100644 --- a/dist/transforms/ExpressExtractor.js +++ b/dist/transform/ExpressExtractor.js @@ -30,7 +30,7 @@ var ExpressExtractor = function () { (0, _createClass3.default)(ExpressExtractor, [{ key: 'ip', value: function ip(req) { - return req.ip || req._remoteAddress || req.remoteAddress || req.connection && req.connection.remoteAddress || req.headers['x-forwarded-for'] || undefined; + return req.ip || req._remoteAddress || req.remoteAddress || req.connection && req.connection.remoteAddress || req.headers['x-forwarded-for'] || 'xx.x.x.xx'; } }, { key: 'header', diff --git a/dist/transforms/ExpressInspector.js b/dist/transform/ExpressInspector.js similarity index 89% rename from dist/transforms/ExpressInspector.js rename to dist/transform/ExpressInspector.js index a601809..4653f85 100644 --- a/dist/transforms/ExpressInspector.js +++ b/dist/transform/ExpressInspector.js @@ -48,7 +48,7 @@ var ExpressInspector = function () { symbol = ''; } - var ret = undefined; + var ret = void 0; if (this.symbols) { ret = symbol + ' ' + stat; } else { @@ -63,7 +63,7 @@ var ExpressInspector = function () { var express = data.args[0]; data.transient['callsite'] = '' + express.ip; - data.args = [_chalk2.default.bgGreen.black(' ' + express.method + ' ') + ' ' + _chalk2.default.gray(express.url) + ' ' + this.status(express) + ' - ' + express.contentLength + ' ' + _chalk2.default.gray('(' + express.duration.toFixed(3) + 'ms)')]; + data.args = [_chalk2.default.bgGreen.black(' ' + express.method + ' ') + ' ' + _chalk2.default.gray(express.originalUrl) + ' ' + this.status(express) + ' - ' + express.contentLength + ' ' + _chalk2.default.gray('(' + express.duration.toFixed(3) + 'ms)')]; callback(null, data); } diff --git a/dist/transform/FullTextSerialize.js b/dist/transform/FullTextSerialize.js new file mode 100644 index 0000000..d991ff4 --- /dev/null +++ b/dist/transform/FullTextSerialize.js @@ -0,0 +1,38 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _createClass2 = require('babel-runtime/helpers/createClass'); + +var _createClass3 = _interopRequireDefault(_createClass2); + +var _JSON = require('../libs/JSON2'); + +var JSON2 = _interopRequireWildcard(_JSON); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var FullTextSerialize = function () { + function FullTextSerialize() { + (0, _classCallCheck3.default)(this, FullTextSerialize); + } + + (0, _createClass3.default)(FullTextSerialize, [{ + key: 'through', + value: function through(data, callback) { + data.serialized = JSON2.stringify(data); + callback(null, data); + } + }]); + return FullTextSerialize; +}(); + +exports.default = FullTextSerialize; diff --git a/dist/transforms/Inspector.js b/dist/transform/Inspector.js similarity index 87% rename from dist/transforms/Inspector.js rename to dist/transform/Inspector.js index e1cbae4..6438148 100644 --- a/dist/transforms/Inspector.js +++ b/dist/transform/Inspector.js @@ -39,12 +39,10 @@ function inspect(x, ctx) { } var Inspector = function () { - function Inspector() { - var inspectOpts = arguments.length <= 0 || arguments[0] === undefined ? { colors: true, showHidden: false, - depth: 5, pre: true, args: true, metrics: true, tags: true } : arguments[0]; + function Inspector(scribe) { (0, _classCallCheck3.default)(this, Inspector); - this.inspectOpts = inspectOpts; + this.options = scribe.module('transform/Inspector').options; } (0, _createClass3.default)(Inspector, [{ @@ -54,7 +52,7 @@ var Inspector = function () { args[_key - 1] = arguments[_key]; } - var ctx = this.inspectOpts; + var ctx = this.options; if (typeof f !== 'string') { var objects = []; @@ -156,11 +154,11 @@ var Inspector = function () { data.args = ''; } - var pre = this.inspectOpts.pre ? this.inspectPre(data) + ' ' : ''; - var tags = this.inspectOpts.tags ? this.inspectTags(data) : ''; - var metrics = this.inspectOpts.metrics ? this.inspectMetrics(data) : ''; - var site = this.inspectOpts.callsite ? this.inspectCallSite(data) : ''; - var pretty = this.inspectOpts.args ? this.inspectArguments(data) : ''; + var pre = this.options.pre ? this.inspectPre(data) + ' ' : ''; + var tags = this.options.tags ? this.inspectTags(data) : ''; + var metrics = this.options.metrics ? this.inspectMetrics(data) : ''; + var site = this.options.callsite ? this.inspectCallSite(data) : ''; + var pretty = this.options.args ? this.inspectArguments(data) : ''; var inspected = pretty.split('\n').map(function (line) { return pre + ' ' + [tags, metrics, line, site].join(' '); }); diff --git a/dist/transforms/JSON2Converter.js b/dist/transform/ToJSON2.js similarity index 80% rename from dist/transforms/JSON2Converter.js rename to dist/transform/ToJSON2.js index 46699c0..f60c72f 100644 --- a/dist/transforms/JSON2Converter.js +++ b/dist/transform/ToJSON2.js @@ -20,18 +20,18 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var JSON2Converter = function () { - function JSON2Converter() { - (0, _classCallCheck3.default)(this, JSON2Converter); +var ToJSON2 = function () { + function ToJSON2() { + (0, _classCallCheck3.default)(this, ToJSON2); } - (0, _createClass3.default)(JSON2Converter, [{ + (0, _createClass3.default)(ToJSON2, [{ key: 'through', value: function through(data, callback) { callback(null, JSON.parse(JSON2.stringify(data))); } }]); - return JSON2Converter; + return ToJSON2; }(); -exports.default = JSON2Converter; +exports.default = ToJSON2; diff --git a/dist/transform/index.js b/dist/transform/index.js new file mode 100644 index 0000000..5395d4a --- /dev/null +++ b/dist/transform/index.js @@ -0,0 +1,52 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _ErrorExtractor = require('./ErrorExtractor'); + +Object.defineProperty(exports, 'ErrorExtractor', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ErrorExtractor).default; + } +}); + +var _ExpressExtractor = require('./ExpressExtractor'); + +Object.defineProperty(exports, 'ExpressExtractor', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ExpressExtractor).default; + } +}); + +var _ExpressInspector = require('./ExpressInspector'); + +Object.defineProperty(exports, 'ExpressInspector', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ExpressInspector).default; + } +}); + +var _Inspector = require('./Inspector'); + +Object.defineProperty(exports, 'Inspector', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_Inspector).default; + } +}); + +var _ToJSON = require('./ToJSON2'); + +Object.defineProperty(exports, 'ToJSON2', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ToJSON).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/dist/writers/DefaultConsole.js b/dist/writer/DefaultConsole.js similarity index 100% rename from dist/writers/DefaultConsole.js rename to dist/writer/DefaultConsole.js diff --git a/dist/writers/MongoDB.js b/dist/writer/MongoDB.js similarity index 54% rename from dist/writers/MongoDB.js rename to dist/writer/MongoDB.js index a38b0cd..264058b 100644 --- a/dist/writers/MongoDB.js +++ b/dist/writer/MongoDB.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); +exports.EntrySchema = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); @@ -16,29 +17,55 @@ var _mongoose = require('mongoose'); var _mongoose2 = _interopRequireDefault(_mongoose); -var _entry = require('../schemas/entry'); - -var _entry2 = _interopRequireDefault(_entry); - var _JSON = require('../libs/JSON2'); var JSON2 = _interopRequireWildcard(_JSON); +var _express = require('express'); + +var _express2 = _interopRequireDefault(_express); + +var _jade = require('jade'); + +var _jade2 = _interopRequireDefault(_jade); + +var _basicAuthConnect = require('basic-auth-connect'); + +var _basicAuthConnect2 = _interopRequireDefault(_basicAuthConnect); + +var _bodyParser = require('body-parser'); + +var _bodyParser2 = _interopRequireDefault(_bodyParser); + +var _JSONStream = require('JSONStream'); + +var _JSONStream2 = _interopRequireDefault(_JSONStream); + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var EntrySchema = exports.EntrySchema = new _mongoose.Schema({ + transient: _mongoose.Schema.Types.Object, + persistent: _mongoose.Schema.Types.Object, + args: _mongoose.Schema.Types.Object, + date: { type: Date, default: Date.now }, + expose: String, + serialized: String +}); + +EntrySchema.index({ 'persistent.app': 1, 'persistent.id': -1 }); +EntrySchema.index({ 'serialized': 1, 'comment': 'text' }); + var MongoDB = function () { - function MongoDB() { - var address = arguments.length <= 0 || arguments[0] === undefined ? 'mongodb://localhost/scribe' : arguments[0]; - var debug = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + function MongoDB(scribe) { (0, _classCallCheck3.default)(this, MongoDB); - _mongoose2.default.set('debug', debug); + this.options = scribe.module('writer/MongoDB').options; - var conn = _mongoose2.default.createConnection(address); - this._debug = debug; - this._entry = conn.model('Entry', _entry2.default); + var conn = _mongoose2.default.createConnection(this.options.uri); + this._debug = this.options.debug; + this._entry = conn.model('Entry', EntrySchema); } (0, _createClass3.default)(MongoDB, [{ diff --git a/dist/writers/SocketIO.js b/dist/writer/SocketIO.js similarity index 73% rename from dist/writers/SocketIO.js rename to dist/writer/SocketIO.js index 6584987..815e560 100644 --- a/dist/writers/SocketIO.js +++ b/dist/writer/SocketIO.js @@ -18,18 +18,16 @@ var _socket2 = _interopRequireDefault(_socket); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var sio = undefined; +var sio = void 0; var SocketIO = function () { - function SocketIO() { - var port = arguments.length <= 0 || arguments[0] === undefined ? 4000 : arguments[0]; - var debug = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; + function SocketIO(scribe) { (0, _classCallCheck3.default)(this, SocketIO); - process.env.DEBUG = debug && 'socket.io*'; + this.options = scribe.module('writer/SocketIO').options; if (!sio) { - sio = (0, _socket2.default)(port); + sio = (0, _socket2.default)(this.options.port, this.options.options); } } diff --git a/dist/writer/index.js b/dist/writer/index.js new file mode 100644 index 0000000..5700760 --- /dev/null +++ b/dist/writer/index.js @@ -0,0 +1,34 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _DefaultConsole = require('./DefaultConsole'); + +Object.defineProperty(exports, 'DefaultConsole', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_DefaultConsole).default; + } +}); + +var _MongoDB = require('./MongoDB'); + +Object.defineProperty(exports, 'MongoDB', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_MongoDB).default; + } +}); + +var _SocketIO = require('./SocketIO'); + +Object.defineProperty(exports, 'SocketIO', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_SocketIO).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/examples/cluster-server.js b/examples/cluster-server.js index 854d8b9..f2577ec 100644 --- a/examples/cluster-server.js +++ b/examples/cluster-server.js @@ -1,7 +1,7 @@ import cluster from 'cluster' import http from 'http' import express from 'express' -import Scribe from '../index.js' +import * as Scribe from '../index.js'; import * as JSON2 from '../src/libs/JSON2' const port = 4005; @@ -13,40 +13,23 @@ if (cluster.isMaster) { cluster.fork(); } } else { - const console = new Scribe(cluster.worker.id, { - name: 'ScribeCluster', - mongoUri: 'mongodb://localhost/scribe', - publicUri: 'http://localhost', - basePath: 'scribe/', - socketPort: socketPort + cluster.worker.id - 1, // assign a port to a worker worker - web: { - router: { - username: 'build', - password: 'build', - // authentication must be implemented by yourself - // if you are in cluster mode - authentication: false, - sessionSecret: 'scribe-session', - useBodyParser: true, - useSession: true + const options = { + "app": 'cluster-server', + "id": process.pid, + "module": { + "writer/SocketIO": { + "port": socketPort + cluster.worker.id - 1, + "options": {} }, - client: { - port: port, - socketPorts: [socketPort, socketPort + 1, socketPort + 2, socketPort + 3], - exposed: { - all: {label: 'all', query: {expose: {$exists: true}}}, - error: {label: 'error', query: {expose: 'error'}}, - express: {label: 'express', query: {expose: 'express'}}, - info: {label: 'info', query: {expose: 'info'}}, - log: {label: 'log', query: {expose: 'log'}}, - warn: {label: 'warn', query: {expose: 'warn'}}, - trace: {label: 'trace', query: {expose: 'trace'}}, - perf: {label: 'perf', query: {expose: 'perf'}} - } + "router/Viewer/client": { + "background": "#131B21", + "socketPorts": [socketPort, socketPort + 1, socketPort + 2, socketPort + 3] } }, - debug: false - }); + "debug": false + }; + + const console = Scribe.create(options); // default tags console.persistent('tags', ['mocha', 'scribe']); @@ -61,9 +44,14 @@ if (cluster.isMaster) { // express const app = express(); + const logger = new Scribe.Middleware.ExpressLogger(console); + const viewer = new Scribe.Router.Viewer(console); // express logger - app.use(console.middleware('express')); + app.use(logger.getMiddleware()); + + // viewer + app.use('/scribe', viewer.getRouter()); // test harness app.get('/test', (req, res) => { @@ -72,16 +60,8 @@ if (cluster.isMaster) { }); }); - // viewer - app.use('/scribe', console.viewer()); - app.listen(port, () => console.log(`Listening to ${port} - Cluster ${cluster.worker.id}`)); - // build native app - if (cluster.worker.id == 1) { - console.build().then(()=> console.log('Created native apps!')).catch(err => console.error(err)); - } - // override default console console.override(); diff --git a/examples/simple-server-stream-only.js b/examples/simple-server-stream-only.js index ba7cae2..6dbc108 100644 --- a/examples/simple-server-stream-only.js +++ b/examples/simple-server-stream-only.js @@ -1,73 +1,70 @@ import express from 'express' -import Scribe from '../index.js' +import * as Scribe from '../index.js'; import * as JSON2 from '../src/libs/JSON2' const port = 4005; const socketPort = 3000; -const console = new Scribe(process.pid, { - name: 'Scribe', - mongoUri: 'mongodb://localhost/scribe', - mongo: false, - publicUri: 'http://localhost', - basePath: 'scribe/', - socketPort: socketPort, - web: { - router: { - username: 'build', - password: 'build', - authentication: true, - sessionSecret: 'scribe-session', - useBodyParser: true, - useSession: true +const options = { + "app": 'simple-server-stream-only', + "id": process.pid, + "expose": { + "default": [ + "socket", + "bash" + ], + "express": [ + "express-socket", + "express-bash" + ] + }, + "expose/pipeline": { + "socket": [ + "transform/ErrorExtractor", + "transform/ToJSON2", + "transform/FullTextSerialize", + "writer/SocketIO" + ], + "express-socket": [ + "transform/ExpressExtractor", + "transform/ErrorExtractor", + "transform/ToJSON2", + "transform/FullTextSerialize", + "writer/SocketIO" + ] + }, + "module": { + "writer/SocketIO": { + "port": socketPort, + "options": {} }, - client: { - port: port, - socketPorts: [socketPort], - exposed: { - all: {label: 'all', query: {expose: {$exists: true}}}, - error: {label: 'error', query: {expose: 'error'}}, - express: {label: 'express', query: {expose: 'express'}}, - info: {label: 'info', query: {expose: 'info'}}, - log: {label: 'log', query: {expose: 'log'}}, - warn: {label: 'warn', query: {expose: 'warn'}}, - trace: {label: 'trace', query: {expose: 'trace'}}, - timing: {label: 'time', query: {expose: 'timing'}}, - user: {label: 'user', query: {'transient.tags': {$in: ['USER ID']}}} - } + "router/Viewer/client": { + "background": "#131B21", + "socketPorts": [ + socketPort + ] } }, - native: {}, - debug: false -}); + "debug": false +}; + +const console = Scribe.create(options); console.time('serverStartup'); // default tags console.persistent('tags', ['mocha', 'scribe']); -// modify an existing pipeline i.e. the express -console.pipe('express', 'mongo-socket').unshift({ - through(data, callback){ - const {req, res} = data.args[0]; // access the req, res objects - - // modify data as needed - - // i.e. - // add user tags - const tags = data.transient.tags || []; - tags.push('USER_ID'); // perhaps put in the user id here - data.transient.tags = tags; - - callback(null, data); - } -}); - // express const app = express(); +const logger = new Scribe.Middleware.ExpressLogger(console); +const viewer = new Scribe.Router.Viewer(console); // express logger -app.use(console.middleware('express')); +app.use(logger.getMiddleware()); + +// viewer +app.use('/scribe', viewer.getRouter()); // test harness app.get('/test', (req, res) => { @@ -76,9 +73,6 @@ app.get('/test', (req, res) => { }); }); -// viewer -app.use('/scribe', console.viewer()); - app.listen(port, () => { console.log(`Listening to ${port}`); @@ -97,6 +91,3 @@ app.listen(port, () => { console.timeEnd('serverStartup'); }); - -// build native app -console.build().then(()=> console.log('Created native apps!')).catch(err => console.error(err)); \ No newline at end of file diff --git a/examples/simple-server.js b/examples/simple-server.js index 56c38fb..dc65596 100644 --- a/examples/simple-server.js +++ b/examples/simple-server.js @@ -1,52 +1,34 @@ -import express from 'express' -import Scribe from '../index.js' -import * as JSON2 from '../src/libs/JSON2' +import express from 'express'; +import * as Scribe from '../index.js'; +import * as JSON2 from '../src/libs/JSON2'; const port = 4005; -const socketPort = 50000; - -const console = new Scribe(process.pid, { - name: 'Scribe', - mongoUri: 'mongodb://localhost/scribe', - publicUri: 'http://localhost', - basePath: 'scribe/', - socketPort: socketPort, - web: { - router: { - username: 'build', - password: 'build', - authentication: true, - sessionSecret: 'scribe-session', - useBodyParser: true, - useSession: true +const options = { + "app": 'simple-server', + "id": process.pid, + "module": { + "writer/SocketIO": { + "port": 50000, + "options": {} }, - client: { - port: port, - socketPorts: [socketPort], - exposed: { - all: {label: 'all', query: {expose: {$exists: true}}}, - error: {label: 'error', query: {expose: 'error'}}, - express: {label: 'express', query: {expose: 'express'}}, - info: {label: 'info', query: {expose: 'info'}}, - log: {label: 'log', query: {expose: 'log'}}, - warn: {label: 'warn', query: {expose: 'warn'}}, - trace: {label: 'trace', query: {expose: 'trace'}}, - timing: {label: 'time', query: {expose: 'timing'}}, - user: {label: 'user', query: {'transient.tags': {$in: ['USER ID']}}} - } + "router/Viewer/client": { + "background": "#131B21", + "socketPorts": [ + 50000 + ] } }, - native: {}, - debug: false -}); + "debug": false +}; + +const console = Scribe.create(options); console.time('serverStartup'); // default tags console.persistent('tags', ['mocha', 'scribe']); -// modify an existing pipeline i.e. the express -console.pipe('express', 'mongo-socket').unshift({ +var through = { through(data, callback){ const {req, res} = data.args[0]; // access the req, res objects @@ -60,13 +42,22 @@ console.pipe('express', 'mongo-socket').unshift({ callback(null, data); } -}); +}; + +// modify an existing pipeline i.e. the express +console.pipe('express', 'express-mongo-socket') + .unshift(through); // express const app = express(); +const logger = new Scribe.Middleware.ExpressLogger(console); +const viewer = new Scribe.Router.Viewer(console); // express logger -app.use(console.middleware('express')); +app.use(logger.getMiddleware()); + +// viewer +app.use('/scribe', viewer.getRouter()); // test harness app.get('/test', (req, res) => { @@ -75,9 +66,6 @@ app.get('/test', (req, res) => { }); }); -// viewer -app.use('/scribe', console.viewer()); - app.listen(port, () => { console.log(`Listening to ${port}`); @@ -103,4 +91,6 @@ app.listen(port, () => { }); // build native app -console.build().then(()=> console.log('Created native apps!')).catch(err => console.error(err)); \ No newline at end of file +viewer.getNative().then(()=> console.log('Created native apps!')).catch(err => console.error(err)); + +setInterval(() => console.log(`Heartbeat - ${Date.now()} ... every 5 seconds`), 5000); \ No newline at end of file diff --git a/herokuapp/app.js b/herokuapp/app.js index ebc1f96..1afcb07 100644 --- a/herokuapp/app.js +++ b/herokuapp/app.js @@ -1,88 +1,84 @@ /* jshint -W079 */ -(function() { - var scribe = require('../src/scribe')(), - console = process.console, - express = require('express'), - path = require('path'), - app = express(); +(function () { + var Scribe = require('../'); + var express = require('express'); + var path = require('path'); + var bodyParser = require('body-parser'); + var app = express(); - console.addLogger('log', 'green'); - console.addLogger('err', 'red'); + const options = { + "app": 'simple-server', + "id": process.pid, + "module": { + "writer/MongoDB": { + "uri": process.env.MONGOLAB_URI || "mongodb://localhost/scribe" + }, + "router/Viewer": { + "mongoUri": process.env.MONGOLAB_URI || "mongodb://localhost/scribe" + }, + "writer/SocketIO": { + "port": 50000, + "options": {} + }, + "router/Viewer/client": { + "background": "#222", + "socketPorts": [ + 50000 + ] + } + }, + "debug": false + }; - // port - app.set('port', (process.env.PORT || 5000)); + const console = Scribe.create(options); + const logger = new Scribe.Middleware.ExpressLogger(console); + const viewer = new Scribe.Router.Viewer(console); - // public dir - app.use('/', express.static(path.join(__dirname, 'public'))); + console.persistent('tags', ['scribe']); - // scribe - app.use(scribe.express.logger()); - app.use('/logs', scribe.webPanel()); + app.set('port', (process.env.PORT || 5000)); - // index - app.get('/', function(req, res) { - res.sendFile(path.join(__dirname, 'views', 'index.html')); - }); + app.use(logger.getMiddleware()); + app.use(bodyParser.urlencoded({extended: true})); + app.use(bodyParser.json()); - function _param(name) { - name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); - var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"); - var results = regex.exec("https://r.com?" + this.body); - return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); + app.use('/', express.static(path.join(__dirname, 'public'))); + + app.use('/scribe', viewer.getRouter()); + + app.post('/', function (req, res) { + var tag = req.param('tag'); + var msg = req.param('msg'); + + if (!msg) { + return res.status(400).send('Param `msg` not defined'); } - // log - app.post('/', function(req, res) { + try { + msg = JSON.parse(msg); + } catch (e) { + // ignore + } - req.body = ''; - req.setEncoding('utf8'); + // print + if (tag) { + console.tag(tag).log(msg); + } else { + console.log(msg); + } - req.on('data', function(chunk) { - req.body += chunk; - }); + res.status(200).send("Success! Check system logs to see your message."); + }); - req.on('end', function() { - req.param = _param; + var port = app.get('port'); - var tag = req.param('tag'); - var msg = req.param('msg'); + //log something every 10 minutes + setInterval(function () { + console.tag("Test").log("Hi there ! Server date : " + new Date()); + }, 10 * 60 * 1000); - if (!msg) { - return res.status(400).send('Param `msg` not defined'); - } - - try { - msg = JSON.parse(msg); - } catch (e) { - // ignore - } - - // print - if (tag) { - console.tag(tag).log(msg); - } else { - console.log(msg); - } - - res.status(200).send("Success! Check system logs to see your message."); - }); - - req.on('close', function(err){ - console.err(err); - res.status(400).json("Error! Check system logs to identify the error."); - }); - - }); - - var port = app.get('port'); - - //log something every 10 minutes - setInterval(function () { - console.tag("Test").log("Hi there ! Server date : " + new Date()); - }, 10 * 60 * 1000); - - app.listen(port, function() { - console.time().log('Server listening at port ' + port); - }); + app.listen(port, function () { + console.time().log('Server listening at port ' + port); + }); })(); diff --git a/herokuapp/public/img/screenshot-1.png b/herokuapp/public/img/screenshot-1.png index 66270ca642fd04e6b9fe5bab6902153a4ab9915b..d068df9e93e7be2b4d320dcad3a4016b54ff72da 100644 GIT binary patch literal 232992 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%0DfVhlN|3)H>a)!gcv2|(F)HGMy0ga_5>$@`YP}-@ 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 V7=Ol-9}rJPQj}Gbsd#H1{2yk?G@Jkc literal 173789 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

DkGc>& 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 + + + + + + ScribeJS Demo + + + + + + + + +Fork me on GitHub +
+ +
+
+
+
Completed
+
+
+
+
+
+
+

Scribe.js

+

Simple. Clean. Minimal NodeJS logging framework
that is accessible from anywhere in the world. +

+
+
+

Demo

+
Enter some text to be printed out. JSON is supported as well. The text will be printed out by the + server using a scribe-enabled console. You can then view the logs to see your content + displayed.
+
+ + + +
+ +
+
Access System Logs
+
+
+
+

Web Access

+
All your logs can be accessed from the web with a rich HTML interface.
+ WebPanel screenshot +
+
+
+
+ + + diff --git a/herokuapp/public/js/jquery-2.1.3.min.js b/herokuapp/public/js/jquery-2.1.3.min.js deleted file mode 100644 index 4ab15b8..0000000 --- a/herokuapp/public/js/jquery-2.1.3.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) -},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("