Browse Source

Clean layer view and fix its regressions

no-jquery
Artur Arseniev 9 years ago
parent
commit
1f881d68a9
  1. 11
      src/style_manager/view/LayerView.js
  2. 2
      test/specs/style_manager/index.js
  3. 35
      test/specs/style_manager/view/LayerView.js

11
src/style_manager/view/LayerView.js

@ -35,9 +35,7 @@ module.exports = Backbone.View.extend({
this.propsConfig = o.propsConfig || {};
this.customPreview = o.onPreview;
this.listenTo(model, 'destroy remove', this.remove);
this.listenTo(model, 'change:value', this.valueChanged);
this.listenTo(model, 'change:active', this.updateVisibility);
this.listenTo(model, 'change:props', this.showProps);
this.listenTo(model.get('properties'), 'change', this.updatePreview);
if (!model.get('preview')) {
@ -59,15 +57,6 @@ module.exports = Backbone.View.extend({
this.sorter.startSort(this.el);
},
/**
* Show inputs on this layer
* */
showProps() {
this.$props = this.model.get('props');
this.$el.find('#' + this.pfx + 'inputs').html(this.$props.show());
this.model.set({props: null }, {silent: true });
},
remove(e) {
if(e && e.stopPropagation)

2
test/specs/style_manager/index.js

@ -11,7 +11,7 @@ const PropertyCompositeView = require('./view/PropertyCompositeView');
const PropertyStackView = require('./view/PropertyStackView');
const LayerView = require('./view/LayerView');
describe.only('StyleManager', () => {
describe('StyleManager', () => {
describe('Main', () => {
var obj;

35
test/specs/style_manager/view/LayerView.js

@ -34,34 +34,29 @@ module.exports = {
expect(fixtures.querySelector('.layer')).toExist();
expect(layer.querySelector('#label')).toExist();
expect(layer.querySelector('#close-layer')).toExist();
expect(layer.querySelector('#inputs')).toExist();
expect(layer.querySelector('#inputs').innerHTML).toNotExist();
expect(layer.querySelector('#preview')).toExist();
expect(view.getPropertiesWrapper()).toExist();
expect(view.getPreviewEl()).toExist();
});
it('getIndex returns default value', () => {
expect(view.getIndex()).toEqual(0);
});
it('Is not active by default', () => {
expect(view.$el.hasClass('active')).toEqual(false);
})
it('Is possible to activate it', () => {
view.model.set('active', 1);
expect(view.$el.hasClass('active')).toEqual(true);
})
it('Is possible to activate it with active()', () => {
view.active();
expect(view.$el.hasClass('active')).toEqual(true);
})
it('No preview', () => {
var style = view.el.querySelector('#preview').style;
expect(style.cssText).toNotExist();
});
it('Changes on value trigger onPreview', () => {
var called = 0;
view.onPreview = () => {called = 1};
view.model.set('preview', true);
view.model.set('value', 'test');
expect(called).toEqual(1);
});
it('Update props', () => {
view.model.set('props', $('<div>'));
expect(view.el.querySelector('#inputs').innerHTML).toExist();
expect(view.model.get('props')).toEqual(null);
});
});
}
};

Loading…
Cancel
Save