Changeset 370 for Dev/branches/rest-dojo-ui/client/rft/ui/Selector.js
- Timestamp:
- 07/23/12 13:07:24 (13 years ago)
- Location:
- Dev/branches/rest-dojo-ui/client/rft/ui
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/branches/rest-dojo-ui/client/rft/ui
-
Property
svn:ignore
set to
.QuestionEditorPreviewItem.js.swp
-
Property
svn:ignore
set to
-
Dev/branches/rest-dojo-ui/client/rft/ui/Selector.js
r364 r370 30 30 return declare('rft.ui.Selector',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{ 31 31 templateString: templateString, 32 title: "",33 32 baseClass: 'rftSelector', 34 33 modifiers: 'blue', 34 35 title: "", 36 selectedActions: null, 37 itemActions: null, 38 // main selector action: Object 39 // title: 40 // description: 41 // icon: 42 35 43 _folded: true, 36 44 _titleLine: null, … … 42 50 domClass.add(this.selectedColorNode, "pending"); 43 51 52 this._createTitleLine(); 53 this._createSelectorLine(); 54 55 fx.wipeOut({ 56 node: this.optionsNode 57 }).play(); 58 }, 59 _createTitleLine: function() { 60 var actions = {}; 61 var action = null; 62 if ( this.selectedActions !== null ) { 63 for (var actionName in this.selectedActions) { 64 action = this.selectedActions[actionName]; 65 actions[actionName] = { 66 callback: action.callback && 67 lang.hitch(this,this._onSelectedAction, 68 action.callback), 69 properties: { 70 blockButton: true, 71 modifiers: this.modifiers, 72 label: action.title || actionName, 73 icon: action.icon, 74 tooltip: action.description 75 } 76 77 }; 78 } 79 } 80 44 81 this._titleLine = new LineWithActionsWidget({ 45 82 title: this.title, 46 83 modifiers: this.modifiers, 47 actions: { 48 "Include in survey" : { 49 callback: lang.hitch(this, this._onInclude), 50 properties: { 51 blockButton: true, 52 modifiers: this.modifiers, 53 icon: "Accept", 54 label: "Include" 55 } 56 } 57 } 84 actions: actions 58 85 },this.titleNode); 59 86 this._titleLine.startup(); 60 87 }, 88 _createSelectorLine: function() { 61 89 this._selectorLine = new LineWithActionsWidget({ 62 90 title: 'None', … … 76 104 this._selectorLine.startup(); 77 105 this._selectorLine.on('click',lang.hitch(this, this.onToggle)); 78 79 fx.wipeOut({80 node: this.optionsNode81 }).play();82 106 }, 83 107 _onSelect: function(item, widget) { … … 97 121 this.onSelect(item); 98 122 }, 99 _on Include: function() {100 if (this._selectedItem ) {101 this.onInclude(this._selectedItem);123 _onSelectedAction: function(callback) { 124 if (this._selectedItem && callback) { 125 callback(this._selectedItem); 102 126 } 103 127 }, … … 126 150 return false; 127 151 }, 152 128 153 addItem: function(item) { 129 var w = new LineWithActionsWidget({130 title: item.title,131 actions:{132 "Info" :{133 callback: function() {134 item.description && alert(item.description);135 },154 var actions = {}; 155 var action; 156 if (this.itemActions) { 157 for (var actionName in this.itemActions) { 158 action = this.itemActions[actionName]; 159 actions[actionName] = { 160 callback: function(){action.callback && action.callback(item);}, 136 161 properties: { 137 162 blockButton: false, 138 163 showLabel: false, 139 icon: "Inspect" 164 icon: action.icon, 165 tooltip: action.description 140 166 } 141 167 } 142 168 } 169 } 170 var w = new LineWithActionsWidget({ 171 title: item.title, 172 actions: actions 143 173 }).placeAt(this.optionsNode); 144 174 w.startup(); 145 175 w.on("click", lang.hitch(this, this._onSelect, item, w)); 146 176 }, 147 onSelect: function(item) {}, 148 on Include: function(item) {}177 178 onSelect: function(item) {} 149 179 }); 150 180 });
Note: See TracChangeset
for help on using the changeset viewer.