Changeset 1664 for MDService2


Ignore:
Timestamp:
12/14/11 22:04:35 (12 years ago)
Author:
gaba
Message:

index autocomplete

Location:
MDService2/branches/MDService_simple3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • MDService2/branches/MDService_simple3/WebContent/scripts/mdservice_searchclause.js

    r1594 r1664  
    6060        return $($($('.sc-i','#searchclauselist')[this.i]).find('.sc-j')[this.j]).find('.index_select');
    6161};
     62SearchClause.prototype.GetIndexInputTermset = function(){
     63        return $($($('.sc-i','#searchclauselist')[this.i]).find('.sc-j')[this.j]).find('.index-input-termset');
     64};
     65SearchClause.prototype.GetIndexInput = function(){
     66        return $($($('.sc-i','#searchclauselist')[this.i]).find('.sc-j')[this.j]).find('.index-input');
     67};
    6268
    6369
     
    7581        //}
    7682        var x = "<div id='" + this.j + "' class='sc-j or_level' ><div id='" + this.listid + "' class='sc-wrapper focused' > " +
    77         "<div class='search'><span class='index-search'><select class='index_select'/><input type='text' class='index-input autocomplete-input' /></span>" +
     83        "<div class='search'><span class='index-search'><select class='index_select'/><input type='text' class='index-input-termset autocomplete-input' /><input type='text' class='index-input autocomplete-input' /></span>" +
    7884        //index_detail +
    7985        //"<select type='text' class='rel_input' />" +
     
    9298        var e_value = this.GetValueInput();
    9399        var index_select = this.GetIndexSelect();
     100        //var index_input_termset = this.GetIndexInputTermset();
    94101        var value_select = this.GetValueSelect();
    95102       
    96103        $(index_select).hide();
     104        //$(index_input_term).hide();
     105        this.GetIndexInput().hide();
    97106        value_select.hide();
    98107        //$(e_index).closest('.sc-wrapper').find('.index-context').hide();
     
    207216                notifyUser("autocomplete failed: " + e.message);
    208217        }
    209 
    210 
    211         /*
    212          e_value.autocompleteArray(value_autocomplete,{
    213                                 autoFill:true,
    214                                 width:90
    215         });
    216          */
    217        
    218218       
    219219 };
     
    223223         if (element_autocomplete.length == 0) return;
    224224         
    225          //autocomplete
    226                 function handleTermsSelection(i,j,elem){
    227                        
    228                         var context = $('#' + 'sc' +  i + '-' + j).find('.index-context');
    229                         // fill context
    230                         //$(context).remove();
    231                         $(context).html(elements_hashtable[elem]);
    232                        
    233                         /*
    234                         $(context).children('table').children().remove();
    235                         for(var ii=0;ii< elements_hashtable[elem].length;ii++){
    236                                 var row = '<tr><td>' + elements_hashtable[elem][ii] + '</td></tr>';
    237                                 $(context).children('table').append(row);
    238                         }
    239                         */
    240                        
    241                         $(context).show();
    242                         //notifyUser($('#' + 'sc' +  i + '-' + j).find('.index-input').val(), 'debug');
    243                         //$('#' + 'sc' +  i + '-' + j).find('.index-input').focus();
    244                        
    245                         $('#' + 'sc' +  i + '-' + j).find('.index-input').blur(function(){
    246                                 $(context).hide();
    247                         });
    248                         $('#' + 'sc' +  i + '-' + j).find('.index-input').focusin(function(){
    249                                 $(context).hide();
    250                         });
    251                        
    252                        
    253                                         /*
    254                         var t = '<div><table><tr><td><a href="">aaaa<a></td></tr><tr><td><a href="">bbbb<a></td></tr><table></div>';
    255                         var x = '<div class="index_context"><table></table></div>';
    256                         $('.focused','#searchclauselist').find('.index_search').append(x);
    257 
    258                        
    259                         for(var i=0;i< elements_hashtable[elem].length;i++){
    260                                 var li = '<span><a href="">' + elements_hashtable[elem][i] + '</a></span>';
    261                                 $('.focused','#searchclauselist').find('.index_context').append(li);
    262                         }*/
    263                        
    264                         //$('.focused','#searchclauselist').find('.index-input').hide();
    265                        
    266                 };
    267                
    268                 //autocomplete
    269                 function findValue(e) {
    270                         //if( li == null ) return alert("No match!");
    271                  
    272                         var sValue = e.selectValue;
    273                        
    274                         var i = $('.focused','#searchclauselist').closest('.sc-i').attr("id");
    275                         var j = $('.focused','#searchclauselist').closest('.sc-j').attr("id");
    276                         //alert(i+ ',' + j + sValue);
    277                         searchclauseset.searchclauses[i][j].index = sValue;
    278                        
    279                         handleTermsSelection(i,j,sValue);               
    280                        
    281                         //$('.focused','#searchclauselist').find('.value-input').focus();
    282                        
    283                 }
    284                  
    285                 function selectItem(li) {
    286                         findValue(li);
    287                 }
    288 
    289                 $(this.GetIndexInput()).autocompleteArray(element_autocomplete,{
     225                $(this.GetIndexInputTermset()).autocompleteArray(element_autocomplete,{
    290226                        autoFill:true,
    291227                        //width:150,
    292                         onFindValue:findValue,
    293                         onItemSelect:selectItem
     228                        onFindValue:findValueTermset,
     229                        onItemSelect:selectItemTermset
    294230                });
    295231
     
    297233         
    298234 };
     235
    299236
    300237SearchClause.prototype.CreateSelect = function(str, element){
     
    502439                        searchclauseset.searchclauses[i][j].value = "";
    503440                        $('#sc0-0').find('.index-input').val("");
     441                        $('#sc0-0').find('.index-input-termset').val("");
    504442                        $('#sc0-0').find('.rel_input').val("=");
    505443                        $('#sc0-0').find('.value-input').val("");                       
     
    711649}
    712650
     651
     652
     653//autocomplete
     654// not used
     655function handleTermsSelection(i,j,elem){
     656                        /*
     657                        var context = $('#' + 'sc' +  i + '-' + j).find('.index-context');
     658                        // fill context
     659                        //$(context).remove();
     660                        $(context).html(elements_hashtable[elem]);
     661                        $(context).show();
     662                        //notifyUser($('#' + 'sc' +  i + '-' + j).find('.index-input').val(), 'debug');
     663                        //$('#' + 'sc' +  i + '-' + j).find('.index-input').focus();
     664                       
     665                        $('#' + 'sc' +  i + '-' + j).find('.index-input').blur(function(){
     666                                $(context).hide();
     667                        });
     668                        $('#' + 'sc' +  i + '-' + j).find('.index-input').focusin(function(){
     669                                $(context).hide();
     670                        });
     671                        */
     672                        //$('#' + 'sc' +  i + '-' + j).find('.index-input').hide();
     673                        //$('#' + 'sc' +  i + '-' + j).find('.index-input-termset').show();
     674                       
     675};
     676               
     677function findValueTerm(e) {
     678                       
     679                        var sValue = e.selectValue;
     680                       
     681                        var i = $('.focused','#searchclauselist').closest('.sc-i').attr("id");
     682                        var j = $('.focused','#searchclauselist').closest('.sc-j').attr("id");
     683                        //alert(i+ ',' + j + sValue);
     684                        searchclauseset.searchclauses[i][j].index = sValue;
     685                       
     686                        //handleTermsSelection(i,j,sValue);             
     687                       
     688}
     689                 
     690function selectItemTerm(li) {
     691                        findValueTerm(li);
     692                }
     693
     694
     695function initTermsetAutocomplete(i,j,elem){
     696        //$('#' + 'sc' +  i + '-' + j).find('.index-input').hide();
     697       
     698        // not working
     699        //searchclauseset.searchclauses[i][j].initAutocompleteTerms(elem);
     700
     701        $('#' + 'sc' +  i + '-' + j).find('.index-input').autocompleteArray(elements_hashtable[elem],{
     702                autoFill:true,
     703                //width:150,
     704                onFindValue:findValueTerm,
     705                onItemSelect:selectItemTerm
     706        });
     707        // reset the index value
     708        $('#' + 'sc' +  i + '-' + j).find('.index-input').val("");
     709        searchclauseset.searchclauses[i][j].index = "";
     710        $('#' + 'sc' +  i + '-' + j).find('.index-input').show();
     711        $('body').find('.ac_results').css({'z-index' : '1000'});
     712       
     713};
     714
     715function handleTermsetSelection(i,j,elem){
     716       
     717        // create apropriate array, than initialize autocomplete
     718        if ($('#elements_hashtable_'+elem).children().length == 0) {
     719                $('#elements_hashtable_'+elem).load(link('smc','list/?context='+elem),function(){
     720                        //var e = $(this).attr("id");
     721                        $(this).find('Term').each(function(index){
     722                                elements_hashtable[elem][index] = $(this).text();
     723                        });
     724                        initTermsetAutocomplete(i,j,elem);
     725                });
     726        } else {
     727                initTermsetAutocomplete(i,j,elem);
     728        }       
     729};
     730
     731function findValueTermset(e) {
     732        var sValue = e.selectValue;
     733       
     734        var i = $('.focused','#searchclauselist').closest('.sc-i').attr("id");
     735        var j = $('.focused','#searchclauselist').closest('.sc-j').attr("id");
     736       
     737        //searchclauseset.searchclauses[i][j].index = sValue;   
     738        handleTermsetSelection(i,j,sValue);             
     739       
     740        $('.focused','#searchclauselist').find('.index-input').focus();
     741       
     742}
     743 
     744function selectItemTermset(li) {
     745        findValueTermset(li);
     746}
  • MDService2/branches/MDService_simple3/WebContent/scripts/mdservice_ui_load.js

    r1594 r1664  
    6565                                loadCollections(true);                         
    6666                                loadTerms();
    67                                 loadTermsAutocomplete();
     67                                //loadTermsAutocomplete();
    6868                                loadQueryFromUriParams();
    6969                                createTooltip(null);
     
    7676                                                        loadBookmarksets();
    7777                                                        createTooltip(this);
     78                                                        loadTermsAutocomplete();
    7879                                });
    7980                               
     
    242243       
    243244        var elem;
     245        $('#termset_autocomplete').children().remove();
     246        $('#termset_autocomplete').css('display','none');
    244247        $('#terms_autocomplete').children().remove();
    245248        $('#terms_autocomplete').css('display','none');
    246         $('#terms_autocomplete').load(link('terms_autocomplete','autocomplete/?q=all&repository='+ getSelectedRepository()),function(){
    247                 $(this).find('term').each(function(index){
    248                         elem = $(this).attr("name");
    249                         element_autocomplete[index] = elem;
    250                         elements_hashtable[elem] = $(this).html();
     249        $('#termset_autocomplete').load(link('smc','list/?context=*'),function(){
     250                $(this).find('Termset').each(function(index){
     251                        elem = $(this).children("key").text();
     252                        element_autocomplete[index] = elem;     
     253                        // create div for each element
     254                        elements_hashtable[elem] = new Array();//$(this).html()
     255                        $('#terms_autocomplete').append($('<div/>').attr("id","elements_hashtable_" + elem));
    251256                });
    252257                // add autocomplete 's
     
    687692        Workspace.save("USER");
    688693        */
    689 }
     694};
    690695
    691696/*
  • MDService2/branches/MDService_simple3/WebContent/scripts/mdservice_ui_settings.js

    r1558 r1664  
    6565                pazpar: {
    6666                                        base_uri: "/MDService2/pazpar2/"
    67                                  }
     67                                 },
     68                smc: {
     69                                        base_uri: "/MDService2/smc/"
     70                                }       
    6871
    6972        };
  • MDService2/branches/MDService_simple3/src/xsl/html_snippets.xsl

    r1637 r1664  
    137137                </form>
    138138                </div>
     139                <div id="termset_autocomplete" />
     140                <div id="terms_autocomplete" />
    139141        </div>         
    140142
Note: See TracChangeset for help on using the changeset viewer.