/** * 输入框下拉筛选 */ Ext.define("erp.view.core.trigger.Dropdown", { extend: "Ext.view.View", alias: "widget.searchdropdown", floating: true, autoShow: false, autoRender: true, toFrontOnShow: true, focusOnToFront: false, store: Ext.create('Ext.data.Store', { fields: ["text"], proxy: { type: "memory", reader: { type: "json" } } }), trackOver: true, baseCls: Ext.baseCSSPrefix + 'boundlist', itemCls: Ext.baseCSSPrefix + 'boundlist-item', singleSelect: true, autoScroll: true, pageStart: 0, pageSize: 10, initComponent: function() { var me = this, baseCls = me.baseCls, itemCls = me.itemCls; me.selectedItemCls = baseCls + '-selected'; me.overItemCls = baseCls + '-item-over'; me.itemSelector = "." + itemCls; if (me.floating) { me.addCls(baseCls + '-floating'); } this.addEvents("changePage", "footerClick"); this.tpl = new Ext.XTemplate('', '
', '  {text}', '
', "", "
", '", '
', '
', { getTotal: Ext.bind(this.getTotal, this), getStart: Ext.bind(this.getStart, this), getEnd: Ext.bind(this.getEnd, this) }); this.on("afterrender", function() { this.el.addListener("click", function() { this.fireEvent("changePage", this, -1); }, this, { preventDefault: true, delegate: ".x-prev" }); this.el.addListener("click", function() { this.fireEvent("changePage", this, +1); }, this, { preventDefault: true, delegate: ".x-next" }); this.el.addListener("click", function() { this.fireEvent("footerClick", this); },this, { delegate: ".x-footer" }); this.el.addListener("click", function() { this.fireEvent("confirm", this); },this, { delegate: ".x-confirm" }); this.el.addListener("click", function() { this.hide(); },this, { delegate: ".x-cancel" }); }, this); this.callParent(arguments); }, setTotal: function(b) { this.total = b; }, getTotal: function() { return this.total; }, setStart: function(b) { this.pageStart = b; }, getStart: function(b) { return this.pageStart; }, getEnd: function(c) { var d = this.pageStart + this.pageSize; return d > this.total ? this.total: d; } });