67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
import { Template } from 'meteor/templating';
|
|
import { ReactiveVar } from 'meteor/reactive-var';
|
|
import get from 'lodash/get';
|
|
import pick from 'lodash/pick';
|
|
|
|
import "./main.html";
|
|
import { Meteor } from "meteor/meteor";
|
|
import {
|
|
MeteorClientMethodSender,
|
|
TrivialStrategy,
|
|
ClientLogger,
|
|
BrowserProcessor,
|
|
MeteorUserProcessor,
|
|
} from "filog";
|
|
|
|
Template.hello.onCreated(function helloOnCreated() {
|
|
// counter starts at 0
|
|
this.counter = new ReactiveVar(0);
|
|
});
|
|
|
|
Template.hello.helpers({
|
|
counter() {
|
|
return Template.instance().counter.get();
|
|
},
|
|
});
|
|
|
|
Template.hello.events({
|
|
'click button'(event, instance) {
|
|
// increment the counter when button is clicked
|
|
instance.counter.set(instance.counter.get() + 1);
|
|
},
|
|
});
|
|
|
|
class ExtendedBrowserProcessor extends BrowserProcessor {
|
|
|
|
constructor(browserInfo) {
|
|
console.log("EBP constructor");
|
|
super();
|
|
this.browserInfo = pick(browserInfo, ['description', 'name', 'version', 'layout', 'os']);
|
|
}
|
|
|
|
process(context) {
|
|
console.log("EBP process");
|
|
const result = super.process(context);
|
|
return {
|
|
...result,
|
|
browser: {
|
|
...result.browser,
|
|
...this.browserInfo,
|
|
},
|
|
sockJSProtocol: get(Meteor.connection, '_stream.socket.protocol', 'unknown'),
|
|
};
|
|
}
|
|
|
|
}
|
|
|
|
Meteor.startup(() => {
|
|
const sender = new MeteorClientMethodSender();
|
|
const strategy = new TrivialStrategy(sender);
|
|
let logger = new ClientLogger(strategy);
|
|
logger.processors.push(
|
|
new ExtendedBrowserProcessor({}),
|
|
new BrowserProcessor(),
|
|
new MeteorUserProcessor(),
|
|
);
|
|
window.logger = logger;
|
|
});
|