Index: admin_users.php
===================================================================
--- admin_users.php (revision 15349)
+++ admin_users.php (working copy)
@@ -245,10 +245,10 @@
//Pedigree root person
'
',
// TODO: autocomplete/find/etc. for this field
- edit_field_inline('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-rootid', $tree->userPreference($user_id, 'rootid')),
+ edit_field_inline_autocomplete('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-rootid', $tree->userPreference($user_id, 'rootid'), array('field' => 'INDI', 'ged' => $tree->tree_name)),
' | ',
// TODO: autocomplete/find/etc. for this field
- edit_field_inline('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-gedcomid', $tree->userPreference($user_id, 'gedcomid')),
+ edit_field_inline_autocomplete('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-gedcomid', $tree->userPreference($user_id, 'gedcomid'), array('field' => 'INDI', 'ged' => $tree->tree_name)),
' | ',
select_edit_control_inline('user_gedcom_setting-'.$user_id.'-'.$tree->tree_id.'-canedit', $ALL_EDIT_OPTIONS, null, $tree->userPreference($user_id, 'canedit')),
' | ',
@@ -595,7 +595,18 @@
$controller
->addExternalJavascript(WT_JQUERY_DATATABLES_URL)
->addExternalJavascript(WT_JQUERY_JEDITABLE_URL)
+ ->addExternalJavascript(WT_SCRIPT_PATH.'js/autocomplete.js')
->addInlineJavascript('
+ $.editable.addInputType("autocomplete", {
+ element : $.editable.types.text.element,
+ plugin : function(settings, original) {
+ $("input", this).autocomplete({
+ source: settings.autocomplete.url,
+ html: true
+ });
+ }
+ });')
+ ->addInlineJavascript('
var oTable = jQuery("#list").dataTable({
"sDom": \'<"H"pf<"dt-clear">irl>t<"F"pl>\',
'.WT_I18N::datatablesI18N().',
Index: includes/functions/functions_edit.php
===================================================================
--- includes/functions/functions_edit.php (revision 15349)
+++ includes/functions/functions_edit.php (working copy)
@@ -44,6 +44,34 @@
}
}
+function edit_field_inline_autocomplete($name, $value, $parameters = null, $controller=null) {
+ $html='' . htmlspecialchars($value) . '';
+ $url = 'autocomplete.php?';
+ foreach($parameters as $key => $value){
+ $url .= $key.'='.$value.'&';
+ }
+ $js='jQuery("#' . $name . '")
+ .editable(
+ "' . WT_SERVER_NAME . WT_SCRIPT_PATH . 'save.php",
+ {
+ submit: " ' . /* I18N: button label */ WT_I18N::translate('save') . ' ",
+ style:"inherit",
+ placeholder: "'.WT_I18N::translate('click to edit').'",
+ type: "autocomplete",
+ autocomplete : {
+ url : "'.$url.'"
+ }
+ }
+ );';
+ if ($controller) {
+ $controller->addInlineJavascript($js);
+ return $html;
+ } else {
+ // For AJAX callbacks
+ return $html . '';
+ }
+}
+
// Create a text area for inline editing using jeditable
function edit_text_inline($name, $value, $controller=null) {
$html='' . htmlspecialchars($value) . '';
|