Changeset 14990

Show
Ignore:
Timestamp:
02/13/08 13:47:31 (10 months ago)
Author:
w_i
Message:

Added possibility to add additional XEP keys to position through widget config.
Fixed coordinates and place info input updating

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.helper.datamanager2/static/position/widget.js

    r14684 r14990  
    163163                var parsed = parse_response(data); 
    164164                update_widget_inputs(parsed[0], true, true); 
    165                 handle_alternatives(parsed); 
     165                //handle_alternatives(parsed); 
    166166            } 
    167167        }); 
     
    250250                var parsed = parse_response(data); 
    251251                update_widget(parsed[0]); 
    252                 handle_alternatives(parsed); 
     252                //handle_alternatives(parsed); 
    253253            } 
    254254        }); 
     
    329329        geodata_btn.show(); 
    330330        revgeodata_btn.show(); 
    331                      
     331         
     332        var skip_keys = {}; 
     333        if (skip_lat_lon) { 
     334            skip_keys['latitude'] = true; 
     335            skip_keys['longitude'] = true; 
     336        } 
     337         
    332338        jQuery.each(location_data, function(key,value){ 
    333339            if (input_data[key]) 
    334340            { 
    335                 if (skip_lat_lon) 
    336                 { 
    337                     if (   key != 'latitude' 
    338                         && key != 'longitude') 
    339                     { 
    340                         if (   no_override 
    341                             && jQuery('#' + input_data[key]['id']).attr('value') == '') 
    342                         { 
    343                             jQuery('#' + input_data[key]['id']).attr('value',value); 
    344                         } 
    345                         else 
    346                         { 
    347                             if (value != '') 
    348                             { 
    349                                 var parent = jQuery('#' + input_data[key]['id']).parent(); 
    350                                 jQuery("span.proposal",parent).html(' (' + value + ')'); 
    351                             } 
    352                         } 
    353                          
    354                         if (! no_override) 
    355                         { 
    356                             jQuery('#' + input_data[key]['id']).attr('value',value); 
    357                         } 
    358                     }                     
    359                 } 
    360                 else 
     341                if (   typeof skip_keys[key] != 'undefined' 
     342                    && skip_keys[key]) 
     343                { 
     344                    return; 
     345                } 
     346                 
     347                if (   key == 'latitude' 
     348                    || key == 'longitude') 
    361349                { 
    362350                    if (   no_override 
    363                         && jQuery('#' + input_data[key]['id']).attr('value') == '') 
     351                        && jQuery('#' + input_data[key]['id']).attr('value') == '0') 
    364352                    { 
    365353                        jQuery('#' + input_data[key]['id']).attr('value',value); 
    366                     } 
    367                     else 
    368                     { 
    369                         if (value != '') 
    370                         { 
    371                             var parent = jQuery('#' + input_data[key]['id']).parent(); 
    372                             jQuery("span.proposal",parent).html(' (' + value + ')'); 
    373                         } 
    374354                    } 
    375355                     
    376356                    if (! no_override) 
    377357                    { 
     358                        if (value != '0') { 
     359                            jQuery('#' + input_data[key]['id']).attr('value',value); 
     360                        } 
     361                    } 
     362                } 
     363                 
     364                if (   no_override 
     365                    && (   jQuery('#' + input_data[key]['id']).attr('value') == '' 
     366                        || typeof jQuery('#' + input_data[key]['id']).attr('value') == 'undefined')) 
     367                { 
     368                    jQuery('#' + input_data[key]['id']).attr('value',value); 
     369                } 
     370                else 
     371                { 
     372                    if (value != '') 
     373                    { 
     374                        var parent = jQuery('#' + input_data[key]['id']).parent(); 
     375                        jQuery("span.proposal", parent).html(' (' + value + ')'); 
     376                    } 
     377                } 
     378                 
     379                if (! no_override) 
     380                { 
     381                    if (value != '') { 
    378382                        jQuery('#' + input_data[key]['id']).attr('value',value); 
    379383                    } 
  • trunk/midcom/midcom.helper.datamanager2/type/position.php

    r14806 r14990  
    102102            $adr_properties[] = "<span class=\"description\">{$this->location->description}</span>"; 
    103103        } 
     104        if ($this->location->text) 
     105        { 
     106            $adr_properties[] = "<span class=\"text\">{$this->location->text}</span>"; 
     107        } 
    104108        if ($this->location->room) 
    105109        { 
  • trunk/midcom/midcom.helper.datamanager2/widget/position.php

    r14329 r14990  
    6969     */ 
    7070    var $input_defaults = array(); 
    71  
     71     
     72    /** 
     73     * List of additional XEP fields included in location 
     74     * (ie. 'text', 'room') 
     75     * 
     76     * @var array 
     77     * @access public 
     78     */ 
     79    var $use_xep_keys = array(); 
     80     
    7281    /** 
    7382     * The group of widgets items as QuickForm elements 
     
    375384        foreach ($this->_other_xep_keys as $xep_key) 
    376385        { 
    377             if (   isset($this->_type->location->$xep_key
    378                 && $this->_type->location->$xep_key != '' 
     386            if (   in_array($xep_key, $this->use_xep_keys
     387                && isset($this->_type->location->$xep_key) 
    379388                && !in_array($xep_key, $inserted_xep_keys)) 
    380389            { 
     
    691700            $this->_type->location->longitude = $results["{$this->_element_id}_input_coordinates_longitude"]; 
    692701        } 
     702         
     703        foreach ($this->_other_xep_keys as $xep_key) 
     704        { 
     705            if (   in_array($xep_key, $this->use_xep_keys) 
     706                && isset($this->_type->location->$xep_key)) 
     707            { 
     708                $this->_type->location->$xep_key = $results["{$this->_element_id}_input_place_{$xep_key}"]; 
     709            } 
     710        } 
    693711    } 
    694712