diff --git a/data.js b/data.js index 412af10a7..79b8af760 100644 --- a/data.js +++ b/data.js @@ -704,7 +704,63 @@ sound: '???' } ] - } + }, + tree: [ + { + "name": "Aquire", + "type": "folder", + "dataAttributes": { "id": "aquire-folder" }, + "children": [ + { + "name": "POS Receipt", + "type": "item" + }, + { + "name": "Confirm Subscription", + "type": "item" + }, + { + "name": "Thanks for Signing Up", + "type": "item" + } + ] + }, + { + "name": "Onboard", + "type": "folder" + }, + { + "name": "Engage", + "type": "folder", + "dataAttributes": { "id": "engage-folder" }, + "children":[ + { + "name": "Abandoned Cart", + "type": "folder", + "children": [ + { + "name": "Archive", + "type": "folder" + } + ] + }, + { + "name": "Transactional", + "type": "folder", + "children": [ + { + "name": "Archive", + "type": "folder" + } + ] + } + ] + }, + { + "name": "Retain", + "type": "folder" + } + ] }; window.data = data; diff --git a/js/checkbox.js b/js/checkbox.js index b5dacd2b0..1497c324b 100644 --- a/js/checkbox.js +++ b/js/checkbox.js @@ -50,6 +50,7 @@ // handle events this.$element.on('change.fu.checkbox', $.proxy( this.itemchecked, this )); + this.$label.on('click', $.proxy(this.toggle, this));//make repeated label clicks work // set default state this.setState(); @@ -107,10 +108,12 @@ return this.state.checked; }, - toggle: function() { - this.state.checked = !this.state.checked; + toggle: function(e) { + if (!e || e.currentTarget === e.originalEvent.target) { + this.state.checked = !this.state.checked; - this._toggleCheckedState(); + this._toggleCheckedState(); + } }, toggleContainer: function(){ diff --git a/less/tree.less b/less/tree.less index b9f84fd69..893b54d49 100644 --- a/less/tree.less +++ b/less/tree.less @@ -38,7 +38,6 @@ -ms-transform:rotate(90deg); -webkit-transform:rotate(90deg); position: relative; - left: -5px; } [data-children=false] > .tree-branch-header .icon-caret:before { @@ -86,6 +85,11 @@ .tree-branch-children { margin-left: 14px; } + &[haschildren='false'] { + .icon-caret { + visibility: hidden; + } + } }