Sha256: 554afe50d44cb66d47cadcefdb50cfbd8be6931e1cf29030851d838cb6882b47
Contents?: true
Size: 1.3 KB
Versions: 3
Compression:
Stored size: 1.3 KB
Contents
/* --- script: Choice.js description: Mixin that adds List. Allows one item to be chosen and one selected (think navigating to a menu item to select) license: Public domain (http://unlicense.org). requires: - LSD.Mixin.List provides: - LSD.Mixin.Choice ... */ LSD.Mixin.Choice = new Class({ options: { has: { many: { items: { states: { add: Array.fast('chosen') } } } } }, chooseItem: function(item, temp) { if (!(item = this.getItem(item)) && this.options.list.force) return false; var chosen = this.chosenItem; this.setSelectedItem(item, 'chosen'); this.fireEvent('choose', [item, this.getItemIndex()]); if (item.choose() && chosen) chosen.forget(); return item; }, forgetChosenItem: function(item) { item = this.getItem(item) || this.chosenItem; if (item) item.forget(); this.unsetSelectedItem(item, 'chosen'); }, selectChosenItem: function() { return this.selectItem(this.chosenItem) }, getChosenItems: function() { return this.chosenItem || (this.chosenItems ? this.chosenItems.getLast() : null); }, getChosenItems: function(type) { return this.chosenItems || (this.chosenItem && [this.chosenItem]); } }); LSD.Behavior.define(':choice', LSD.Mixin.Choice);
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lsd_rails-0.1.2 | Packages/lsd/Source/Mixin/Choice.js |
lsd_rails-0.1.1 | Packages/lsd/Source/Mixin/Choice.js |
lsd_rails-0.1 | Packages/lsd/Source/Mixin/Choice.js |