diff --git a/src/dom_components/view/ComponentView.js b/src/dom_components/view/ComponentView.js index fc626fde5..68ba1f9f4 100644 --- a/src/dom_components/view/ComponentView.js +++ b/src/dom_components/view/ComponentView.js @@ -4,7 +4,7 @@ import Components from '../model/Components'; import ComponentsView from './ComponentsView'; import Selectors from 'selector_manager/model/Selectors'; import { replaceWith } from 'utils/dom'; -import { setViewEl, getElRect } from 'utils/mixins'; +import { setViewEl } from 'utils/mixins'; export default Backbone.View.extend({ className() { diff --git a/src/navigator/view/ItemView.js b/src/navigator/view/ItemView.js index 265777771..2d3594a56 100644 --- a/src/navigator/view/ItemView.js +++ b/src/navigator/view/ItemView.js @@ -108,7 +108,7 @@ export default Backbone.View.extend({ const model = this.model; const hClass = `${pfx}layer-hidden`; const hideIcon = 'fa-eye-slash'; - const hidden = model.getStyle().display == 'none'; + const hidden = model.getStyle().display === 'none'; const method = hidden ? 'addClass' : 'removeClass'; this.$el[method](hClass); this.getVisibilityEl()[method](hideIcon); @@ -297,13 +297,12 @@ export default Backbone.View.extend({ /** * Check if component is visible * - * @return bool + * @return boolean * */ isVisible() { - var css = this.model.get('style'), - pr = css.display; - if (pr && pr == 'none') return; - return 1; + const { display } = this.model.getStyle(); + + return !(display && display === 'none'); }, /** diff --git a/test/specs/navigator/view/ItemView.js b/test/specs/navigator/view/ItemView.js new file mode 100644 index 000000000..fb1e8a6e4 --- /dev/null +++ b/test/specs/navigator/view/ItemView.js @@ -0,0 +1,36 @@ +import ItemView from '../../../../src/navigator/view/ItemView'; + +describe('ItemView', () => { + let itemView, fakeModel, fakeModelStyle; + + beforeEach(() => { + fakeModelStyle = {}; + + fakeModel = { + get: jest.fn(), + set: jest.fn(), + getStyle: jest.fn(() => fakeModelStyle) + }; + + itemView = new ItemView({ + model: fakeModel, + config: { + em: { + get: jest.fn(() => ({ stylePrefix: '' })) + } + } + }); + }); + + describe('.isVisible', () => { + it("should return `false` if the model's `style` object has a `display` property set to `none`, `true` otherwise", () => { + expect(itemView.isVisible()).toEqual(true); + fakeModelStyle.display = ''; + expect(itemView.isVisible()).toEqual(true); + fakeModelStyle.display = 'none'; + expect(itemView.isVisible()).toEqual(false); + fakeModelStyle.display = 'block'; + expect(itemView.isVisible()).toEqual(true); + }); + }); +});