      1 (function ($, rf) {
      2
      3     rf.ui = rf.ui || {};
      4
      5     rf.ui.PopupList = function(id, listener, options) {
      6         this.namespace = this.namespace || "." + rf.Event.createNamespace(this.name, id);
      7         var mergedOptions = $.extend({}, defaultOptions, options);
      8         $super.constructor.call(this, id, mergedOptions);
      9         mergedOptions['selectListener']=listener;
     10         this.list = new rf.ui.List(id, mergedOptions);
     11     };
     12
     13     rf.ui.Popup.extend(rf.ui.PopupList);
     14     var $super = rf.ui.PopupList.$super;
     15
     16     var defaultOptions = {
     17         attachToBody: true,
     18         positionType: "DROPDOWN",
     19         positionOffset: [0,0]
     20     };
     21
     22     $.extend(rf.ui.PopupList.prototype, ( function () {
     23
     24         return {
     25
     26             name : "popupList",
     27
     28             __getList: function() {
     29                 return this.list;
     30             },
     31
     32             destroy: function() {
     33                 this.list.destroy();
     34                 this.list = null;
     35                 $super.destroy.call(this);
     36             }
     37         }
     38     })());
     39
     40 })(RichFaces.jQuery, window.RichFaces);