From 85cd7ff629ebfdcb72f108667c676e4aa85483b3 Mon Sep 17 00:00:00 2001 From: Max Lynch Date: Mon, 11 May 2015 16:15:39 -0500 Subject: [PATCH] Checkbox --- ionic/components/checkbox/checkbox.js | 8 ++++---- ionic/config/component.js | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ionic/components/checkbox/checkbox.js b/ionic/components/checkbox/checkbox.js index 9cdb135e61..8d68d6061e 100644 --- a/ionic/components/checkbox/checkbox.js +++ b/ionic/components/checkbox/checkbox.js @@ -46,7 +46,7 @@ export class Checkbox { let setAriaInvalid = (v) => this.domElement.setAttribute('aria-invalid', v) let setAriaDisabled = (v) => this.domElement.setAttribute('aria-disabled', v) - Checkbox.config.invoke(this); + this.config = Checkbox.config.invoke(this); setAriaRole('checkbox') setAriaInvalid('false') @@ -59,9 +59,9 @@ export class Checkbox { this.setCheckedProperty = setAriaChecked - // TODO: FIXME!! MAKE MORE GOOD!!!! - this.domElement.querySelector('.checkbox-off').classList.add(this.iconOff) - this.domElement.querySelector('.checkbox-on').classList.add(this.iconOn) + // TODO: This is a hack and not a very good one at that + this.domElement.querySelector('.checkbox-off').classList.add(this.config.properties.iconOff.ios); + this.domElement.querySelector('.checkbox-on').classList.add(this.config.properties.iconOn.ios); } /** diff --git a/ionic/config/component.js b/ionic/config/component.js index 60fdf9a47e..39766bcd9e 100644 --- a/ionic/config/component.js +++ b/ionic/config/component.js @@ -10,6 +10,7 @@ let platformMode = Platform.getMode(); export class IonicComponent { constructor(ComponentClass, { + properties, bind, enhanceRawElement, delegates, @@ -19,6 +20,8 @@ export class IonicComponent { ComponentClass.config = this this.componentCssName = util.pascalCaseToDashCase(ComponentClass.name) + this.properties = properties || (properties = {}); + this.bind = bind || (bind = {}) for (let attrName in bind) { let binding = bind[attrName] @@ -86,6 +89,7 @@ export class IonicComponent { } return { + properties: this.properties, getDelegate(delegateName) { let cases = (config.delegates || {})[delegateName] || []; for (let i = 0; i < cases.length; i++) {