Browse Source

Add log listeners

pull/1551/head
Artur Arseniev 8 years ago
parent
commit
24077f0dd5
  1. 30
      src/editor/model/Editor.js

30
src/editor/model/Editor.js

@ -1,4 +1,11 @@
import { isUndefined, defaults, isArray, contains, toArray } from 'underscore'; import {
isUndefined,
defaults,
isArray,
contains,
toArray,
keys
} from 'underscore';
import { getModel } from 'utils/mixins'; import { getModel } from 'utils/mixins';
const deps = [ const deps = [
@ -34,6 +41,12 @@ require('utils/extender')({
}); });
const $ = Backbone.$; const $ = Backbone.$;
const logs = {
debug: console.log,
info: console.info,
warning: console.warn,
error: console.error
};
module.exports = Backbone.Model.extend({ module.exports = Backbone.Model.extend({
defaults() { defaults() {
@ -61,6 +74,7 @@ module.exports = Backbone.Model.extend({
this.set('storables', []); this.set('storables', []);
const el = c.el; const el = c.el;
const log = c.log; const log = c.log;
const toLog = log === true ? keys(logs) : isArray(log) ? log : [];
if (el && c.fromElement) this.config.components = el.innerHTML; if (el && c.fromElement) this.config.components = el.innerHTML;
this.attrsOrig = el this.attrsOrig = el
@ -74,13 +88,7 @@ module.exports = Backbone.Model.extend({
deps.forEach(name => this.loadModule(name)); deps.forEach(name => this.loadModule(name));
this.on('change:componentHovered', this.componentHovered, this); this.on('change:componentHovered', this.componentHovered, this);
this.on('change:changesCount', this.updateChanges, this); this.on('change:changesCount', this.updateChanges, this);
toLog.forEach(e => this.listenLog(e));
if (log === true) {
this.listenTo(this, 'log:debug', console.log);
this.listenTo(this, 'log:info', console.info);
this.listenTo(this, 'log:warning', console.warn);
this.listenTo(this, 'log:error', console.error);
}
// Deprecations // Deprecations
[{ from: 'change:selectedComponent', to: 'component:toggled' }].forEach( [{ from: 'change:selectedComponent', to: 'component:toggled' }].forEach(
@ -89,7 +97,7 @@ module.exports = Backbone.Model.extend({
const eventTo = event.to; const eventTo = event.to;
this.listenTo(this, eventFrom, (...args) => { this.listenTo(this, eventFrom, (...args) => {
this.trigger(eventTo, ...args); this.trigger(eventTo, ...args);
console.warn( this.logWarning(
`The event '${eventFrom}' is deprecated, replace it with '${eventTo}'` `The event '${eventFrom}' is deprecated, replace it with '${eventTo}'`
); );
}); });
@ -97,6 +105,10 @@ module.exports = Backbone.Model.extend({
); );
}, },
listenLog(event) {
this.listenTo(this, `log:${event}`, logs[event]);
},
/** /**
* Get configurations * Get configurations
* @param {string} [prop] Property name * @param {string} [prop] Property name

Loading…
Cancel
Save