main.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { Template } from 'meteor/templating';
  2. import { ReactiveVar } from 'meteor/reactive-var';
  3. import get from 'lodash/get';
  4. import pick from 'lodash/pick';
  5. import "./main.html";
  6. import { Meteor } from "meteor/meteor";
  7. import {
  8. MeteorClientMethodSender,
  9. TrivialStrategy,
  10. ClientLogger,
  11. BrowserProcessor,
  12. MeteorUserProcessor,
  13. } from "filog";
  14. Template.hello.onCreated(function helloOnCreated() {
  15. // counter starts at 0
  16. this.counter = new ReactiveVar(0);
  17. });
  18. Template.hello.helpers({
  19. counter() {
  20. return Template.instance().counter.get();
  21. },
  22. });
  23. Template.hello.events({
  24. 'click button'(event, instance) {
  25. // increment the counter when button is clicked
  26. instance.counter.set(instance.counter.get() + 1);
  27. },
  28. });
  29. class ExtendedBrowserProcessor extends BrowserProcessor {
  30. constructor(browserInfo) {
  31. console.log("EBP constructor");
  32. super();
  33. this.browserInfo = pick(browserInfo, ['description', 'name', 'version', 'layout', 'os']);
  34. }
  35. process(context) {
  36. console.log("EBP process");
  37. const result = super.process(context);
  38. return {
  39. ...result,
  40. browser: {
  41. ...result.browser,
  42. ...this.browserInfo,
  43. },
  44. sockJSProtocol: get(Meteor.connection, '_stream.socket.protocol', 'unknown'),
  45. };
  46. }
  47. }
  48. Meteor.startup(() => {
  49. const sender = new MeteorClientMethodSender();
  50. const strategy = new TrivialStrategy(sender);
  51. let logger = new ClientLogger(strategy);
  52. logger.processors.push(
  53. new ExtendedBrowserProcessor({}),
  54. new BrowserProcessor(),
  55. new MeteorUserProcessor(),
  56. );
  57. window.logger = logger;
  58. });