'use strict';
new ExceptionHandler();
/**
* Polymer element for a text entry
* @namespace SettingToggle
*/
Polymer({
is: 'setting-toggle',
properties: {
/**
* Local storage key
* @memberOf SettingToggle
*/
name: {
type: String,
value: 'store',
},
/**
* Toggle checked state
* @memberOf SettingToggle
*/
checked: {
type: Boolean,
value: false,
notify: true,
},
/**
* Toggle descriptive label
* @memberOf SettingToggle
*/
mainLabel: {
type: String,
value: '',
},
/**
* Toggle secondary descriptive label
* @memberOf SettingToggle
*/
secondaryLabel: {
type: String,
value: '',
},
/**
* Optional group title
* @memberOf SettingToggle
*/
sectionTitle: {
type: String,
value: '',
},
/**
* Disabled state of element
* @memberOf SettingToggle
*/
disabled: {
type: Boolean,
value: false,
},
/**
* Visibility state of optional divider
* @memberOf SettingToggle
*/
noseparator: {
type: Boolean,
value: false,
},
},
/**
* Set the checked state of the toggle
* @param {boolean} checked - checked state
* @memberOf SettingToggle
*/
setChecked: function(checked) {
this.set('checked', checked);
Chrome.GA.event(Chrome.GA.EVENT.TOGGLE, `${this.name}: ${this.checked}`);
},
/**
* Event: checked state changed
* @private
* @memberOf SettingToggle
*/
_onChange: function() {
Chrome.GA.event(Chrome.GA.EVENT.TOGGLE, `${this.name}: ${this.checked}`);
},
/**
* Initialize value if it is not in localStorage
* @private
* @memberOf SettingToggle
*/
_init: function() {
this.set('checked', 'false');
},
});