1. #411
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,135
    Vote Rating
    322
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    It is bug in Ext, either grab the latest svn or search forums, there is a fix around.

  2. #412
    Ext User
    Join Date
    Oct 2008
    Posts
    19
    Vote Rating
    0
    LutzAlbers is on a distinguished road

      0  

    Default


    Quote Originally Posted by jsakalos View Post
    It is bug in Ext, either grab the latest svn or search forums, there is a fix around.
    Could you please give me a pointer what bug to search for ? I've not found anything relevant yet and I don't have svn access (wouldn't be possible at work anyway).

  3. #413
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,135
    Vote Rating
    322
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    I haven't bookmarked the thread bu I think that even in this thread was a post on it already. Otherwise, search Bugs forum.

  4. #414
    Ext User
    Join Date
    Oct 2008
    Posts
    19
    Vote Rating
    0
    LutzAlbers is on a distinguished road

      0  

    Default


    Ok, I found the thread (and the solution): http://extjs.com/forum/showthread.ph...251#post266251

    Thanks for you support (and your plugins, they are very helpful in developing Ext applications).

  5. #415
    Ext User
    Join Date
    Sep 2008
    Posts
    206
    Vote Rating
    0
    randomuser01 is on a distinguished road

      0  

    Default Disable column selection

    Disable column selection


    Is there a way to disable column selection altogether? I'd prefer the plugin to just display "Search" as a label instead of a menu.

    Thanks

  6. #416
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,135
    Vote Rating
    322
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    No it is not configurable w/o modifying the code.

  7. #417
    Ext JS Premium Member
    Join Date
    Nov 2008
    Posts
    274
    Vote Rating
    1
    wki01 is on a distinguished road

      0  

    Default


    Hello Saki
    I use grid.search to make fulltext searches on a database.
    I do not need the menu and I would like to remove it.
    How could I do?

    thanks

  8. #418
    Sencha - Community Support Team jsakalos's Avatar
    Join Date
    Apr 2007
    Location
    Slovakia
    Posts
    27,135
    Vote Rating
    322
    jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future jsakalos has a brilliant future

      0  

    Default


    I'm not quite sure that the plugin is the good solution if you use fulltext search. One textbox sending its value to the server for fulltext search would do I guess. The design basis of this plugin has been selective searching in individual fields.

  9. #419
    Sencha User BitPoet's Avatar
    Join Date
    Sep 2008
    Location
    Bavaria
    Posts
    277
    Vote Rating
    1
    BitPoet is on a distinguished road

      0  

    Default


    Quote Originally Posted by randomuser01 View Post
    Is there a way to disable column selection altogether? I'd prefer the plugin to just display "Search" as a label instead of a menu.
    I'm not sure if this is exactly what you're looking for, but I've toyed with jsakalos' GridSearch plugin and stripped it down to work without column selection (though only filtering locally).

    Code:
    Ext.ns('Ext.ux.grid');
    
    /**
     * @class Ext.ux.grid.SimpleSearch
     * @extends Ext.util.Observable
     * @param {Object} config configuration object
     * @constructor
     */
    Ext.ux.grid.SimpleSearch = function(config) {
        Ext.apply(this, config);
        Ext.ux.grid.SimpleSearch.superclass.constructor.call(this);
    }; // eo constructor
    
    Ext.extend(Ext.ux.grid.SimpleSearch, Ext.util.Observable, {
        /**
         * cfg {Boolean} autoFocus true to try to focus the input field on each store load (defaults to undefined)
         */
    
        /**
         * @cfg {String} searchText Text to display on menu button
         */
         searchText:'Search'
    
        /**
         * @cfg {String} searchTipText Text to display as input tooltip. Set to '' for no tooltip
         */ 
        ,searchTipText:'Type a text to search and press Enter'
    
        /**
         * @cfg {String} selectAllText Text to display on menu item that selects all fields
         */
        ,selectAllText:'Select All'
    
        /**
         * @cfg {String} position Where to display the search controls. Valid values are top and bottom (defaults to bottom)
         * Corresponding toolbar has to exist at least with mimimum configuration tbar:[] for position:top or bbar:[]
         * for position bottom. Plugin does NOT create any toolbar.
         */
        ,position:'bottom'
    
        /**
         * @cfg {String} iconCls Icon class for menu button (defaults to icon-magnifier)
         */
        ,iconCls:'icon-magnifier'
    
        /**
         * @cfg {String/Array} checkIndexes Which indexes to check by default. Can be either 'all' for all indexes
         * or array of dataIndex names, e.g. ['persFirstName', 'persLastName']
         */
        ,checkIndexes:'all'
    
        /**
         * @cfg {Array} disableIndexes Array of index names to disable (not show in the menu), e.g. ['persTitle', 'persTitle2']
         */
        ,disableIndexes:[]
    
        /**
         * @cfg {String} dateFormat how to format date values. If undefined (the default) 
         * date is formatted as configured in colummn model
         */
        ,dateFormat:undefined
    
        /**
         * @cfg {Boolean} showSelectAll Select All item is shown in menu if true (defaults to true)
         */
        ,showSelectAll:true
    
        /**
         * @cfg {String} activeClass CSS class to apply on text field when search is active
         */
        ,activeClass:undefined
        
        /**
         * @cfg {Number} minChars minimum characters to type before the request is made. If undefined (the default)
         * the trigger field shows magnifier icon and you need to click it or press enter for search to start. If it
         * is defined and greater than 0 then maginfier is not shown and search starts after minChars are typed.
         */
    
        /**
         * @cfg {String} minCharsTipText Tooltip to display if minChars is > 0
         */
        ,minCharsTipText:'Type at least {0} characters'
    
        /**
         * @cfg {Array} readonlyIndexes Array of index names to disable (show in menu disabled), e.g. ['persTitle', 'persTitle2']
         */
    
        /**
         * @cfg {Number} width Width of input field in pixels (defaults to 100)
         */
        ,width:100
    
        /**
         * @cfg {String} xtype xtype is usually not used to instantiate this plugin but you have a chance to identify it
         */
        ,xtype:'gridsearch'
    
        /**
         * @cfg {Object} paramNames Params name map (defaults to {fields:'fields', query:'query'}
         */
        ,paramNames: {
             fields:'fields'
            ,query:'query'
        }
    
        /**
         * @cfg {String} shortcutKey Key to fucus the input field (defaults to r = Sea_r_ch). Empty string disables shortcut
         */
        ,shortcutKey:'r'
    
        /**
         * @cfg {String} shortcutModifier Modifier for shortcutKey. Valid values: alt, ctrl, shift (defaults to alt)
         */
        ,shortcutModifier:'alt'
    
        /**
         * @cfg {String} align 'left' or 'right' (defaults to 'left')
         */
    
        /**
         * @cfg {Number} minLength force user to type this many character before he can make a search
         */
    
        /**
         * @cfg {Ext.Panel/String} toolbarContainer Panel (or id of the panel) which contains toolbar we want to render
         * search controls to (defaults to this.grid, the grid this plugin is plugged-in into)
         */
        
        ,tbButton:undefined
        
        // {{{
        /**
         * private
         * @param {Ext.grid.GridPanel/Ext.grid.EditorGrid} grid reference to grid this plugin is used for
         */
        ,init:function(grid) {
            this.grid = grid;
    
            // setup toolbar container if id was given
            if('string' === typeof this.toolbarContainer) {
                this.toolbarContainer = Ext.getCmp(this.toolbarContainer);
            }
    
            // do our processing after grid render and reconfigure
            grid.onRender = grid.onRender.createSequence(this.onRender, this);
            grid.reconfigure = grid.reconfigure.createSequence(this.reconfigure, this);
        } // eo function init
        // }}}
        // {{{
        /**
         * private add plugin controls to <b>existing</b> toolbar and calls reconfigure
         */
        ,onRender:function() {
            var panel = this.toolbarContainer || this.grid;
            var tb = 'bottom' === this.position ? panel.bottomToolbar : panel.topToolbar;
    
            // handle position
            if('right' === this.align) {
                tb.addFill();
            }
            else {
                if(0 < tb.items.getCount()) {
                    tb.addSeparator();
                }
            }
    
            // add menu button
            this.tbButton = new Ext.Toolbar.Button({
                 text:this.searchText
                ,iconCls:this.iconCls
            });
            tb.add(this.tbButton);
    
            // add input field (TwinTriggerField in fact)
            this.field = new Ext.form.TriggerField({
                 width:this.width
                ,selectOnFocus:undefined === this.selectOnFocus ? true : this.selectOnFocus
                ,triggerClass:'x-form-clear-trigger'
                ,onTriggerClick: this.onTriggerClear.createDelegate(this)
                ,minLength:this.minLength
            });
    
            // install event handlers on input field
            this.field.on('render', function() {
                this.field.el.dom.qtip = this.minChars ? String.format(this.minCharsTipText, this.minChars) : this.searchTipText;
    
                if(this.minChars) {
                    this.field.el.on({scope:this, buffer:300, keyup:this.onKeyUp});
                }
    
                // install key map
                var map = new Ext.KeyMap(this.field.el, [{
                     key:Ext.EventObject.ENTER
                    ,scope:this
                    ,fn:this.onTriggerSearch
                },{
                     key:Ext.EventObject.ESC
                    ,scope:this
                    ,fn:this.onTriggerClear
                }]);
                map.stopEvent = true;
            }, this, {single:true});
    
            tb.add(this.field);
            
            // reconfigure
            this.reconfigure();
    
            // keyMap
            if(this.shortcutKey && this.shortcutModifier) {
                var shortcutEl = this.grid.getEl();
                var shortcutCfg = [{
                     key:this.shortcutKey
                    ,scope:this
                    ,stopEvent:true
                    ,fn:function() {
                        this.field.focus();
                    }
                }];
                shortcutCfg[0][this.shortcutModifier] = true;
                this.keymap = new Ext.KeyMap(shortcutEl, shortcutCfg);
            }
    
            if(true === this.autoFocus) {
                this.grid.store.on({scope:this, load:function(){this.field.focus();}});
            }
        } // eo function onRender
        // }}}
        // {{{
        /**
         * field el keypup event handler. Triggers the search
         * @private
         */
        ,onKeyUp:function() {
            var length = this.field.getValue().toString().length;
            if(0 === length || this.minChars <= length) {
                this.onTriggerSearch();
            }
        } // eo function onKeyUp
        // }}}
        // {{{
        /**
         * private Clear Trigger click handler
         */
        ,onTriggerClear:function() {
            if(this.field.getValue()) {
                this.field.setValue('');
                this.field.focus();
                this.onTriggerSearch();
            }
        } // eo function onTriggerClear
        // }}}
        // {{{
        /**
         * private Search Trigger click handler (executes the search, local or remote)
         */
        ,onTriggerSearch:function() {
            if(!this.field.isValid()) {
                return;
            }
            var val = this.field.getValue();
            var store = this.grid.store;
    
            // grid's store filter
            store.clearFilter();
            if(val) {
                if( this.activeClass ) {
                    this.field.addClass(this.activeClass);
                }
                store.filterBy(function(r) {
                    var retval = false;
                    if( Ext.isArray(this.checkIndexes) ) {
                        Ext.each(this.checkIndexes, function(item) {
                            var res = false;
                            var rv = r.get(item);
                            if( rv )
                            {
                                rv = rv instanceof Date ? rv.format(this.dateFormat || r.fields.get(item.dataIndex).dateFormat) : rv;
                                var re = new RegExp(val, 'gi');
                                res = re.test(rv);
                                if( res ) {
                                    retval = true;
                                }
                                if( rv.indexOf(val) > -1 ) {
                                    retval = true;
                                }
                            }
                        }, this);
                    } else {
                        r.fields.each(function(fld) {
                            var res = false;
                            var rv = r.get(fld);
                            rv = rv instanceof Date ? rv.format(this.dateFormat || r.fields.get(fld).dateFormat) : rv;
                            var re = new RegExp(val, 'gi');
                            res = re.test(rv);
                            if( res ) {
                                retval = true;
                            }
                            if( rv.indexOf(val) > -1 ) {
                                retval = true;
                            }
                        }, this);
                    }
                    return retval;
                }, this);   
            } else {
                if( this.activeClass ) {
                    this.field.removeClass(this.activeClass);
                }
            }
    
        } // eo function onTriggerSearch
        // }}}
        // {{{
        /**
         * @param {Boolean} true to disable search (TwinTriggerField), false to enable
         */
        ,setDisabled:function() {
            this.field.setDisabled.apply(this.field, arguments);
        } // eo function setDisabled
        // }}}
        // {{{
        /**
         * Enable search (TwinTriggerField)
         */
        ,enable:function() {
            this.setDisabled(false);
        } // eo function enable
        // }}}
        // {{{
        /**
         * Enable search (TwinTriggerField)
         */
        ,disable:function() {
            this.setDisabled(true);
        } // eo function disable
        // }}}
        // {{{
        /**
         * private (re)configures the plugin, creates menu items from column model
         */
        ,reconfigure:function() {
    
        } // eo function reconfigure
        // }}}
    
    }); // eo extend
    
    // eof
    The only addition I made was for highlighting of the search field when a search was active by adding the "activeClass" property which applies the given css class. Example:
    Code:
    .x-search-active {
        background:#fff url(/path/to/text-bg-active-search.png) repeat-x 0 0 !important;
    }
    The image replaces the normal TextField background with a coloured one (I've attached it).
    Attached Images

  10. #420
    Ext JS Premium Member
    Join Date
    Nov 2008
    Posts
    274
    Vote Rating
    1
    wki01 is on a distinguished road

      0  

    Default


    Quote Originally Posted by BitPoet View Post
    I'm not sure if this is exactly what you're looking for, but I've toyed with jsakalos' GridSearch plugin and stripped it down to work without column selection (though only filtering locally).
    .

    Yes exactly what you're looking for.
    But I hoped there was a configuration parameter for this
    How can I do to implement it?

    Thanks

Thread Participants: 244

  1. franklt69 (5 Posts)
  2. galdaka (2 Posts)
  3. thameema (1 Post)
  4. Dumbledore (3 Posts)
  5. JeffBurr (1 Post)
  6. berend (1 Post)
  7. mystix (1 Post)
  8. salvi (1 Post)
  9. cobnet (1 Post)
  10. dawesi (2 Posts)
  11. mysticav (3 Posts)
  12. mike1993 (3 Posts)
  13. JorisA (1 Post)
  14. cricri (5 Posts)
  15. apaa (1 Post)
  16. mbstroz (5 Posts)
  17. notjoshing (1 Post)
  18. MeDavid (1 Post)
  19. AlxH (1 Post)
  20. pantarhei (5 Posts)
  21. DeeZ (3 Posts)
  22. NBRed5 (2 Posts)
  23. zoq (2 Posts)
  24. ajaxE (4 Posts)
  25. cmendez21 (1 Post)
  26. Ronaldo (1 Post)
  27. mjlecomte (25 Posts)
  28. smokeman (11 Posts)
  29. Nam (4 Posts)
  30. keithnlarsen (2 Posts)
  31. rednix (2 Posts)
  32. expertmo (4 Posts)
  33. cking (1 Post)
  34. jelt (4 Posts)
  35. bcamp1973 (2 Posts)
  36. grgur (2 Posts)
  37. dwt11 (1 Post)
  38. michiel (3 Posts)
  39. Shmoo (3 Posts)
  40. evilized (1 Post)
  41. fangstern (1 Post)
  42. vishalg (3 Posts)
  43. Strati (1 Post)
  44. ArtBuilders (6 Posts)
  45. dax (5 Posts)
  46. thatcoder (7 Posts)
  47. jcar98 (1 Post)
  48. derbbre (3 Posts)
  49. wm003 (1 Post)
  50. garraS (3 Posts)
  51. kenshin (1 Post)
  52. ByteLess (2 Posts)
  53. Lobos (1 Post)
  54. a4 (1 Post)
  55. durlabh (3 Posts)
  56. elDub (1 Post)
  57. rstuven (1 Post)
  58. crpatrick (4 Posts)
  59. zedisdead (1 Post)
  60. vector4711 (1 Post)
  61. oanimashaun (1 Post)
  62. donssmith (3 Posts)
  63. sanjshah (5 Posts)
  64. nielsendev (2 Posts)
  65. Jika (2 Posts)
  66. Cooldream (2 Posts)
  67. iTzAngel (1 Post)
  68. franck34 (2 Posts)
  69. paubach (2 Posts)
  70. stewart (1 Post)
  71. teknaut (4 Posts)
  72. pjesus (2 Posts)
  73. NotChris (5 Posts)
  74. juicymedia (2 Posts)
  75. v496820 (2 Posts)
  76. hazooma (1 Post)
  77. obbakilla (1 Post)
  78. BlueCamel (1 Post)
  79. feodor (1 Post)
  80. w3bbuilder (1 Post)
  81. johnsbrn (1 Post)
  82. razor (1 Post)
  83. seppy (3 Posts)
  84. stefanorg (3 Posts)
  85. jimkan (1 Post)
  86. kenja (2 Posts)
  87. sandy (1 Post)
  88. eri.TsingTao (1 Post)
  89. rainydays (1 Post)
  90. iLiketoGrid (1 Post)
  91. Shaguar (8 Posts)
  92. AMS949 (3 Posts)
  93. moegal (3 Posts)
  94. aleczapka (2 Posts)
  95. Stripeman (6 Posts)
  96. abhaysingh (5 Posts)
  97. mango (1 Post)
  98. NoahK17 (3 Posts)
  99. Remy (1 Post)
  100. medley (11 Posts)
  101. stevchen (1 Post)
  102. abraxxa (28 Posts)
  103. Efex (3 Posts)
  104. Rotomaul (2 Posts)
  105. miihiir (4 Posts)
  106. nebbian (1 Post)
  107. Riri (6 Posts)
  108. catalina (1 Post)
  109. Bing Qiao (1 Post)
  110. juferoto (2 Posts)
  111. bk1 (2 Posts)
  112. sami_user (1 Post)
  113. dmcclean (2 Posts)
  114. Pink.ME (3 Posts)
  115. sebrand (1 Post)
  116. charak (2 Posts)
  117. charleshimmer (16 Posts)
  118. patrosmania (4 Posts)
  119. rosecorp (1 Post)
  120. johrisd (1 Post)
  121. aomadevelopers (1 Post)
  122. nicola_java (1 Post)
  123. BitPoet (1 Post)
  124. OliverT (3 Posts)
  125. randomuser01 (2 Posts)
  126. schone (3 Posts)
  127. perdar (1 Post)
  128. ajain (3 Posts)
  129. getindas (1 Post)
  130. giega (1 Post)
  131. ryanyoungsma (1 Post)
  132. ph0enix (1 Post)
  133. italianboy (1 Post)
  134. LutzAlbers (3 Posts)
  135. Ajish (2 Posts)
  136. christophe67 (1 Post)
  137. jmariani (4 Posts)
  138. wki01 (4 Posts)
  139. wemerson.januario (1 Post)
  140. viciuascuns (4 Posts)
  141. JohnnyWheels (1 Post)
  142. nar (3 Posts)
  143. shab (2 Posts)
  144. mystik (1 Post)
  145. unnamed_dev (1 Post)
  146. ScottLoney (3 Posts)
  147. whodat (4 Posts)
  148. Alex84 (7 Posts)
  149. mjmonserrat (3 Posts)
  150. andy_ghg (2 Posts)
  151. knappy (1 Post)
  152. bareflix (2 Posts)
  153. makiavelli (1 Post)
  154. daniel_82 (1 Post)
  155. peteryjk (2 Posts)
  156. michael.pedrotti (1 Post)
  157. elona (3 Posts)
  158. chinnapandu (1 Post)
  159. jsundquist (6 Posts)
  160. feo (1 Post)
  161. dubito (2 Posts)
  162. Georgioa (1 Post)
  163. SchattenMann (4 Posts)
  164. Relleum (1 Post)
  165. ivan.kristianto (3 Posts)
  166. yeyepot (1 Post)
  167. raydeen (1 Post)
  168. easycodes (4 Posts)
  169. rockinrandall (5 Posts)
  170. redcs (3 Posts)
  171. hatsu1119 (1 Post)
  172. surendra_leo (1 Post)
  173. ssawchenko (11 Posts)
  174. Sigma (3 Posts)
  175. Lmouse (1 Post)
  176. Spongerusher (1 Post)
  177. ValiBOSS (1 Post)
  178. joe123 (3 Posts)
  179. scooter (3 Posts)
  180. harsha_velicheti (1 Post)
  181. ivanleblanc (9 Posts)
  182. m4v0 (3 Posts)
  183. jbusuulwa (1 Post)
  184. seedeg (6 Posts)
  185. Z24_2000 (3 Posts)
  186. markw (2 Posts)
  187. atutus (2 Posts)
  188. luke82 (3 Posts)
  189. rameshkt (2 Posts)
  190. elgalle (2 Posts)
  191. Vepe (2 Posts)
  192. barser (2 Posts)
  193. metra (5 Posts)
  194. hotdesc (4 Posts)
  195. chrislovecnm (1 Post)
  196. King_Aero (1 Post)
  197. idefix (5 Posts)
  198. daiei27 (3 Posts)
  199. LostSoul (2 Posts)
  200. tumbochka (3 Posts)
  201. Dipish (7 Posts)
  202. mcafee (1 Post)
  203. alexpotemkin (1 Post)
  204. ruperty (5 Posts)
  205. Rbn_3d (2 Posts)
  206. rxopt (1 Post)
  207. mayurid (1 Post)
  208. jeroen_syntux (2 Posts)
  209. aminaq (4 Posts)
  210. sosy (3 Posts)
  211. asafm (2 Posts)
  212. extjs1111_user (4 Posts)
  213. scottmartin (2 Posts)
  214. clements (1 Post)
  215. wavedan (3 Posts)
  216. jizhang88 (2 Posts)
  217. Coil (2 Posts)
  218. Samuel.reed (6 Posts)
  219. sense.nda12 (1 Post)
  220. zoja (1 Post)
  221. andyproxis (1 Post)
  222. baldeep_bhatia (1 Post)
  223. stevwinata (1 Post)
  224. Patrick86 (1 Post)
  225. dumpf (3 Posts)
  226. parimala (3 Posts)
  227. vicvolk (4 Posts)
  228. preichow (1 Post)
  229. shaoming (1 Post)
  230. Ixtinkt (7 Posts)
  231. jadiagaurang (1 Post)
  232. Juanyong (1 Post)
  233. venkateshns (1 Post)
  234. panpur (3 Posts)
  235. codeart.ch (2 Posts)
  236. hieu79vn (1 Post)
  237. mvsrekha (2 Posts)
  238. aislan (1 Post)
  239. buhari (1 Post)
  240. extjsquicklearner (1 Post)
  241. shankar8rajah1 (1 Post)
  242. jacinth_1215 (2 Posts)
  243. venkikodakirthi (1 Post)
  244. bwgv (1 Post)

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar