From 41bd06c39726326006716a6ecb0f0221849f5ca9 Mon Sep 17 00:00:00 2001 From: Arthur Almeida Date: Thu, 2 Nov 2017 17:47:36 -0200 Subject: [PATCH] disabling buttons flagged as disabled --- src/panels/index.js | 13 +++++++++++++ test/specs/panels/index.js | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/src/panels/index.js b/src/panels/index.js index 2fed77a45..74400356b 100644 --- a/src/panels/index.js +++ b/src/panels/index.js @@ -200,6 +200,19 @@ module.exports = () => { }); }); }, + + /** + * Disable buttons flagged as disabled + * @private + */ + disableButtons() { + this.getPanels().each(p => { + p.get('buttons').each(btn => { + if(btn.get('disable')) + btn.trigger('change:disable'); + }); + }); + }, Panel, diff --git a/test/specs/panels/index.js b/test/specs/panels/index.js index 5a6c79bd1..96d24eaf6 100644 --- a/test/specs/panels/index.js +++ b/test/specs/panels/index.js @@ -93,6 +93,15 @@ describe('Panels', () => { expect(spy.called).toEqual(true); }); + it("Disable correctly buttons flagged as disabled", () => { + var spy = sinon.spy(); + var panel = obj.addPanel({id: 'test'}); + var btn = obj.addButton('test', {id:'btn', disable: true}); + btn.on('change:disable', spy); + obj.disableButtons(); + expect(spy.called).toEqual(true); + }); + }); Models.run();