function linked_object_filters() { $genid = gen_id(); $html = "<div class='linked-objects-member-filters'>"; $context = active_context(); $dimensions = Dimensions::findAll(array('conditions' => 'is_manageable = 1')); foreach ($dimensions as $dimension) { $dimension_id = $dimension->getId(); $sel_name = ""; $sel_id = 0; foreach ($context as $selection) { if ($selection instanceof Member && $selection->getDimensionId() == $dimension_id) { $sel_name = clean($selection->getName()); $sel_id = $selection->getId(); } } $html .= '<div class="lo-member-selector"><div class="selector-label">'.lang('filter by '.$dimension->getCode()).'</div>'; $autocomplete_options = array(); $dim_controller = new DimensionController(); $members = $dim_controller->initial_list_dimension_members($dimension_id, null, null, false, "", null, false, null, true, array()); foreach ($members as $m) { $autocomplete_options[] = array($m['id'], $m['name'], $m['path'], $m['to_show'], $m['ico'], $m['dim']); } $combo_listeners = array( "select" => "function (combo, record, index) { Ext.getCmp('dimFilter').fireEvent('memberselected', record.data); }", ); $html .= autocomplete_member_combo("member_autocomplete-dim".$dimension_id, $dimension_id, $autocomplete_options, lang($dimension->getCode()), array('class' => 'member-name-input', 'selected_name' => $sel_name), false, $genid .'add-member-input-dim'. $dimension_id, $combo_listeners); $html .= "</div>"; if ($sel_id > 0) { $html .= "<script>Ext.getCmp('obj_picker_grid').member_filter[$dimension_id] = $sel_id;</script>"; } } $html .= '<div class="buttons"><button onclick="Ext.getCmp(\'dimFilter\').fireEvent(\'clearfilters\', \''.$genid.'\');">'.lang('remove all filters').'</button></div>'; $html .= '</div>'; die($html); }
<?php $alt_cls = $alt_cls == "" ? "alt-row" : ""; $sel_mem_ids[] = $selected_member->getId(); endforeach; ?> <div class="separator"></div> <?php endif;?> </div> <?php $form_visible = $dimension['is_multiple'] || (!$dimension['is_multiple'] && !$dimension_has_selection); ?> <div id="<?php echo $genid; ?>add-member-form-dim<?php echo $dimension_id?>" class="add-member-form" style="display:<?php echo ($form_visible?'block':'none')?>;"> <?php $combo_listeners = array( "select" => "function (combo, record, index) { member_selector.autocomplete_select($dimension_id, '$genid', combo, record); }", "blur" => "function (combo) { var rec = combo.store.getAt(0); if (combo.getValue().trim() != '' && rec) { combo.select(0, true); combo.fireEvent('select', combo, rec, 0); } }" ); $empty_text = array_var($options, 'empty_text', lang('add new relation ' . $dimension['dimension_code'])); echo autocomplete_member_combo("member_autocomplete-dim".$dimension_id, $dimension_id, $autocomplete_options, $empty_text, array('class' => 'member-name-input'), true, $genid .'add-member-input-dim'. $dimension_id, $combo_listeners); ?> <div class="clear"></div> </div> </div> </div> <script> if (!member_selector['<?php echo $genid; ?>']) member_selector['<?php echo $genid; ?>'] = {}; if (!member_selector['<?php echo $genid; ?>'].properties) member_selector['<?php echo $genid; ?>'].properties = {}; member_selector['<?php echo $genid; ?>'].hiddenFieldName = '<?php echo $hidden_field_name; ?>'; <?php $listeners_str = "{"; foreach ($listeners as $event => $function) { $listeners_str .= $event .' : \''. escape_single_quotes($function) .'\',';