[dev] [commit] r904 - templates/admin wwwbase/admin wwwbase/ajax wwwbase/js

automailer at dexonline.ro automailer at dexonline.ro
Fri Jul 12 15:15:10 EEST 2013


Author: cata
Date: Fri Jul 12 15:15:09 2013
New Revision: 904

Log:
replace lexem autocomplete in admin/index.ihtml with select2.
ajax/getLexems.php now only responds to select2 queries.

Deleted:
   wwwbase/admin/lexemLookup.php
Modified:
   templates/admin/index.ihtml
   wwwbase/admin/index.php
   wwwbase/ajax/getLexems.php
   wwwbase/js/struct.js

Modified: templates/admin/index.ihtml
==============================================================================
--- templates/admin/index.ihtml	Fri Jul 12 14:50:38 2013	(r903)
+++ templates/admin/index.ihtml	Fri Jul 12 15:15:09 2013	(r904)
@@ -1,5 +1,3 @@
-<script type="text/javascript">$(startReportCounters);</script>
-
 Aici găsiți, deocamdată, un sumar al problemelor din baza de date
 care necesită atenție și câteva mecanisme de căutare a lexemelor
 și definițiilor.<br/><br/>
@@ -39,25 +37,10 @@
   <span id="span_wotd"><img src="{$imgRoot}/icons/hourglass.png" alt="hourglass"/></span><br/>
 {/if}
 <br/>
-<form action="lexemLookup.php" method="get" name="lexemForm">
-  <table>
-    <tr>
-      <td>Caută lexem:</td>
-      <td>
-        <input id="lexemName" type="text" name="lexemName" value="" size="40"/>
-        <script type="text/javascript">
-          $("#lexemName").autocomplete({ldelim} source: wwwRoot + 'ajax/getLexems.php' {rdelim});
-        </script>
-      </td>
-      <td>
-        <input type="submit" name="searchLexem" value="Caută"/>
-      </td>
-    </tr>
-  </table>
+
+<form action="lexemEdit.php" method="get">
+  Editează un lexem: <input id="lexemId" type="text" name="lexemId"/>
 </form>
-<script type="text/javascript">
-  document.lexemForm.lexemName.select();document.lexemForm.lexemName.focus();
-</script>
 <br/>
 
 {if $sUser->moderator & $smarty.const.PRIV_LOC}
@@ -218,3 +201,8 @@
   <a href="{$wwwRoot}surse">Vizualizare / editare surse</a><br/>
   <a href="{$wwwRoot}etichete-sensuri">Vizualizare / editare etichete pentru sensuri</a>
 {/if}
+
+<script type="text/javascript">
+  $(startReportCounters);
+  $(adminIndexInit);
+</script>

Modified: wwwbase/admin/index.php
==============================================================================
--- wwwbase/admin/index.php	Fri Jul 12 14:50:38 2013	(r903)
+++ wwwbase/admin/index.php	Fri Jul 12 15:15:09 2013	(r904)
@@ -12,7 +12,7 @@
 SmartyWrap::assign('modelTypes', ModelType::loadCanonical());
 SmartyWrap::assign('models', $models);
 SmartyWrap::assign('sectionTitle', 'Pagina moderatorului');
-SmartyWrap::addCss('jqueryui');
-SmartyWrap::addJs('jquery', 'jqueryui');
+SmartyWrap::addCss('jqueryui', 'select2');
+SmartyWrap::addJs('jquery', 'jqueryui', 'select2', 'struct');
 SmartyWrap::displayAdminPage('admin/index.ihtml');
 ?>

Deleted: wwwbase/admin/lexemLookup.php
==============================================================================
--- wwwbase/admin/lexemLookup.php	Fri Jul 12 15:15:09 2013	(r903)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,23 +0,0 @@
-<?php
-require_once("../../phplib/util.php"); 
-
-$lexemName = util_getRequestParameter('lexemName');
-
-if (StringUtil::hasRegexp($lexemName)) {
-  $hasDiacritics = StringUtil::hasDiacritics($lexemName);
-  $lexems = Lexem::searchRegexp($lexemName, $hasDiacritics, null, true);
-} else {
-  $lexems = Lexem::loadByExtendedName($lexemName);
-}
-
-if (count($lexems) == 1) {
-  util_redirect('lexemEdit.php?lexemId=' . $lexems[0]->id);
-}
-
-SmartyWrap::assign('lexems', $lexems);
-SmartyWrap::assign('sectionTitle', "Căutare lexem: '$lexemName'");
-SmartyWrap::assign('sectionCount', count($lexems));
-SmartyWrap::assign('recentLinks', RecentLink::loadForUser());
-SmartyWrap::displayAdminPage('admin/lexemList.ihtml');
-
-?>

Modified: wwwbase/ajax/getLexems.php
==============================================================================
--- wwwbase/ajax/getLexems.php	Fri Jul 12 14:50:38 2013	(r903)
+++ wwwbase/ajax/getLexems.php	Fri Jul 12 15:15:09 2013	(r904)
@@ -1,7 +1,6 @@
 <?php
 require_once("../../phplib/util.php");
 
-$select2 = util_getRequestParameter('select2');
 $query = util_getRequestParameter('term');
 $parts = preg_split('/\(/', $query, 2);
 $name = AdminStringUtil::internalizeWordName(trim($parts[0]));
@@ -16,16 +15,9 @@
   $lexems = Model::factory('Lexem')->where_like($field, "{$name}%")->order_by_asc('formNoAccent')->limit(10)->find_many();
 }
 
-$resp = array();
-if ($select2) {
-  $resp['results'] = array();
-}
+$resp = array('results' => array());
 foreach ($lexems as $l) {
-  if ($select2) {
-    $resp['results'][] = array('id' => $l->id, 'text' => (string)$l);
-  } else {
-    $resp[] = (string)$l;
-  }
+  $resp['results'][] = array('id' => $l->id, 'text' => (string)$l);
 }
 print json_encode($resp);
 

Modified: wwwbase/js/struct.js
==============================================================================
--- wwwbase/js/struct.js	Fri Jul 12 14:50:38 2013	(r903)
+++ wwwbase/js/struct.js	Fri Jul 12 15:15:09 2013	(r904)
@@ -1,7 +1,7 @@
 struct_anyChanges = false;
 
 struct_lexemAjax = {
-  data: function(term, page) { return { term: term, select2: 1 }; },
+  data: function(term, page) { return { term: term }; },
   dataType: 'json',
   results: function(data, page) { return data; }, 
   url: wwwRoot + 'ajax/getLexems.php',
@@ -100,6 +100,16 @@
   });
 }
 
+function adminIndexInit() {
+  $('#lexemId').select2({
+    ajax: struct_lexemAjax,
+    minimumInputLength: 1,
+    width: '300px',
+  }).on('change', function(e) {
+    $(this).parents('form').submit();
+  });
+}
+
 function contribInit() {
   $('#lexemIds').select2({
     ajax: struct_lexemAjax,


More information about the Dev mailing list