Changeset 6107 for extensions/ColorStat/admin/cstat_search.tpl
- Timestamp:
- May 7, 2010, 10:23:47 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/ColorStat/admin/cstat_search.tpl
r5961 r6107 1 {known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"} 2 {known_script id="jquery.ui.dialog" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.dialog.packed.js"} 3 {known_script id="jquery.tipTip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.tipTip.minified.js"} 4 5 {known_script id="gpc.pagesNavigator" src=$ROOT_URL|@cat:"plugins/GrumPluginClasses/js/pagesNavigator.js"} 6 7 8 {literal} 9 <script type="text/javascript"> 10 var cb=null; 11 12 interfaceManager = function(optionsToSet) 13 { 14 var pn=null; 15 var requestNumber=0; 16 17 options = 18 { 19 requestCriterionsVisible:'', 20 requestCriterionsHidden:'', 21 requestResult:'', 22 requestResultContent:'', 23 requestResultNfo:'', 24 requestResultPagesNavigator:'', 25 requestResultRequestNumber:0, 26 onPageChange:null, 27 numberPerPage:30, 28 }; 29 30 /** 31 * 32 */ 33 this.doAction = function(fct) 34 { 35 switch(fct) 36 { 37 case 'queryResult': 38 /* function 'queryResult' : when query is executed, prepare the interface 39 */ 40 if(arguments.length==3) 41 { 42 displayQueryResult(arguments[1], arguments[2]); 43 } 44 break; 45 case 'queryPage': 46 /* function 'queryPage' : display returned page 47 */ 48 if(arguments.length==3) 49 { 50 displayQueryPage(arguments[1], arguments[2]); 51 } 52 break; 53 case 'show': 54 /* function 'show' : show/hide the query/result 55 */ 56 if(arguments.length==2) 57 { 58 show(arguments[1]); 59 } 60 break; 61 case 'setOptions': 62 /* function 'setOptions' : allows to set options after the object was 63 * created 64 */ 65 if(arguments.length==2) 66 { 67 setOptions(arguments[1]); 68 } 69 break; 70 } 71 } 72 73 /** 74 * returns the current request number 75 */ 76 this.getRequestNumber = function () 77 { 78 return(requestNumber); 79 } 80 81 /** 82 * returns the number of items per page 83 */ 84 this.getNumberPerPage = function () 85 { 86 return(options.numberPerPage); 87 } 88 89 /** 90 * this function show/hide the different panels 91 * 'buildQuery' : hide the result panel and display the panel to build query 92 * 'resultQuery' : hide the panel to build query and display the result panel 93 */ 94 var show = function(mode) 95 { 96 switch(mode) 97 { 98 case 'buildQuery': 99 $('.'+options.requestCriterionsVisible).css('display', 'block'); 100 $('.'+options.requestCriterionsHidden).css('display', 'none'); 101 $('.'+options.requestResult).css('display', 'none'); 102 break; 103 case 'resultQuery': 104 $('#iResultQueryContent').html("<br><img src='./plugins/GrumPluginClasses/icons/processing.gif'>"); 105 $('.'+options.requestCriterionsVisible).css('display', 'none'); 106 $('.'+options.requestCriterionsHidden).css('display', 'block'); 107 $('.'+options.requestResult).css('display', 'block'); 108 break; 109 } 110 } 111 112 /** 113 * this function display the number of items found and prepare the page 114 * navigator 115 * 116 * @param String nfo : 2 information separated with a semi-colon ';' 117 * requestNumber;numberOfItems 118 */ 119 var displayQueryResult = function (isSuccess, nfo) 120 { 121 if(isSuccess) 122 { 123 nfo=nfo.split(';'); 124 125 requestNumber=nfo[0]; 126 $('#iResultQueryNfo').html(nfo[1]); 127 pn.doAction('setOptions', { numberItem:nfo[1], defaultPage:1 } ); 128 show('resultQuery'); 129 } 130 else 131 { 132 //$('#'+options.requestResultContent).html(""); 133 show('buildQuery'); 134 alert('Something is wrong on the server-side !'); 135 } 136 } 137 138 139 /** 140 * this function display the number of items found and prepare the page 141 * navigator 142 * 143 * @param String nfo : 2 information separated with a semi-colon ';' 144 * requestNumber;numberOfItems 145 */ 146 var displayQueryPage = function (isSuccess, nfo) 147 { 148 if(isSuccess) 149 { 150 $('#iResultQueryContent').html(nfo); 151 } 152 else 153 { 154 alert('Something is wrong on the server-side !'); 155 } 156 } 157 158 159 /** 160 * 161 * @param Object optionsToSet : set the given options 162 */ 163 var setOptions = function(optionsToSet) 164 { 165 if(typeof optionsToSet=='object') 166 { 167 options = jQuery.extend(options, optionsToSet); 168 } 169 } 170 171 /** 172 * initialize the object 173 */ 174 var init = function (optionsToSet) 175 { 176 setOptions(optionsToSet); 177 178 pn = new pagesNavigator(options.requestResultPagesNavigator, 179 { 180 itemPerPage:options.numberPerPage, 181 displayNumPage:9, 182 classActive:'pnActive{/literal}{$datas.themeName}{literal}', 183 classInactive:'pnInactive{/literal}{$datas.themeName}{literal}', 184 onPageChange: function (page) 185 { 186 if(options.onPageChange!=null && jQuery.isFunction(options.onPageChange)) 187 { 188 options.onPageChange(requestNumber, page, options.numberPerPage); 189 } 190 }, 191 } 192 ); 193 194 requestNumber=options.requestResultRequestNumber; 195 } 196 197 init(optionsToSet); 198 } 199 200 201 function init() 202 { 203 im = new interfaceManager( 204 { 205 requestCriterionsVisible:'cRequestCriterions', 206 requestCriterionsHidden:'cModifyRequest', 207 requestResult:'cResultQuery', 208 requestResultContent:'iResultQueryContent', 209 requestResultNfo:'iResultQueryNfo', 210 requestResultPagesNavigator:'iPagesNavigator', 211 } 212 ); 213 214 requestBuilderOptions.imgEditUrl='{/literal}{$ROOT_URL}{$themeconf.admin_icon_dir}{literal}/edit_s.png'; 215 requestBuilderOptions.imgDeleteUrl='{/literal}{$ROOT_URL}{$themeconf.admin_icon_dir}{literal}/delete.png'; 216 requestBuilderOptions.classGroup='gcBorderInput gcTextInput'; 217 requestBuilderOptions.classItem='gcBgInput gcTextInput'; 218 requestBuilderOptions.classOperator='cbOperator cbOperatorBg{/literal}{$datas.themeName}{literal} gcLinkHover'; 219 requestBuilderOptions.onRequestSuccess = function (msg) { im.doAction('queryResult', true, msg); cb.doAction('getPage', im.getRequestNumber(), 1, im.getNumberPerPage()); }; 220 requestBuilderOptions.onRequestError = function (msg) { im.doAction('queryResult', false, msg); }; 221 requestBuilderOptions.onGetPageSuccess = function (msg) { im.doAction('queryPage', true, msg); }; 222 requestBuilderOptions.onGetPageError = function (msg) { im.doAction('queryPage', false, msg); }; 223 224 cb = new criteriaBuilder('iListColorsChoosen', requestBuilderOptions); 225 226 im.doAction('setOptions', 227 { onPageChange: 228 function (requestNumber, page, numberPerPage) 229 { 230 $('#iResultQueryContent').html("<br><img src='./plugins/GrumPluginClasses/icons/processing.gif'>"); 231 cb.doAction('getPage', requestNumber, page, numberPerPage); 232 } 233 } 234 ); 235 236 } 237 238 239 240 </script> 241 {/literal} 242 243 {$datas.dialogBox} 244 1 245 <h2>{'cstat_search_by_color'|@translate}</h2> 246 247 <form> 248 <fieldset> 249 <legend>{'cstat_search_criterion'|@translate}</legend> 250 251 <div id='iRequestCriterions' class='cRequestCriterions'> 252 <div style='width:100%;min-height:250px;margin-bottom:8px;'> 253 <ul id='iListColorsChoosen'> 254 </ul> 255 </div> 256 257 <div class='gcBgInput cbButtons'>{literal}<a onclick="colorBox.show({cBuilder:cb});">{/literal}{'cstat_add_colors'|@translate}</a></div> 258 <div class='gcBgInput cbButtons'>{literal}<a onclick="cb.doAction('clear');">{/literal}{'cstat_clear_colors'|@translate}</a></div> 259 </div> 260 <div class='cModifyRequest' style='display:none;'> 261 <div class='gcBgInput cbButtons'>{literal}<a onclick="im.doAction('show', 'buildQuery');">{/literal}{'cstat_do_modify_request'|@translate}</a></div> 262 </div> 263 264 </fieldset> 265 266 <input type="button" class='cRequestCriterions' style="margin-left:1em;" onclick="cb.doAction('send');" value="{'cstat_search'|@translate}"> 267 </form> 268 269 <fieldset id='iResultQuery' style='display:none;' class='cResultQuery'> 270 <legend>{'cstat_result_query'|@translate}</legend> 271 272 <div id='iResultQueryContent' style='width:100%;min-height:250px;max-height:450px;overflow:auto;margin-bottom:8px;'></div> 273 274 <div class='gcBgInput gcTextInput'> 275 <div id='iPagesNavigator' style='float:right;'></div> 276 <div style='text-align:left;padding:4px;'>{'cstat_number_of_item_found'|@translate} : <span id='iResultQueryNfo'></span></div> 277 </div> 278 279 </fieldset> 280 281 282 <script type="text/javascript"> 283 init(); 284 </script>
Note: See TracChangeset
for help on using the changeset viewer.