[dev] [commit] r948 - templates/admin wwwbase/admin wwwbase/js wwwbase/styles

automailer at dexonline.ro automailer at dexonline.ro
Wed Aug 21 18:34:24 EEST 2013


Author: cata
Date: Wed Aug 21 18:34:23 2013
New Revision: 948

Log:
Couple of fixes as request by Matei:

* the source combo works with Ş (cedilla) as well as Ș (comma)
* abbreviations are expanded by default; add a link to collapse them

Modified:
   templates/admin/lexemEdit.ihtml
   wwwbase/admin/lexemEdit.php
   wwwbase/js/lexemEdit.js
   wwwbase/styles/lexemEdit.css

Modified: templates/admin/lexemEdit.ihtml
==============================================================================
--- templates/admin/lexemEdit.ihtml	Tue Aug 20 17:38:02 2013	(r947)
+++ templates/admin/lexemEdit.ihtml	Wed Aug 21 18:34:23 2013	(r948)
@@ -297,8 +297,10 @@
   <div class="boxContents">
     {foreach from=$searchResults item=row}
       <div class="defWrapper {if $row->definition->structured}structured{else}unstructured{/if}" id="def_{$row->definition->id}">
-        <div class="defInternalRep">{$row->definition->internalRep|escape}</div>
-        <div class="defHtmlRep">{$row->definition->htmlRep}</div>
+        <div data-code="0" data-active class="rep internal">{$row->definition->internalRepAbbrev|escape}</div>
+        <div data-code="1" class="rep hidden">{$row->definition->htmlRepAbbrev}</div>
+        <div data-code="2" class="rep internal hidden">{$row->definition->internalRep|escape}</div>
+        <div data-code="3" class="rep hidden">{$row->definition->htmlRep}</div>
         <span class="defDetails">
           id: {$row->definition->id}
           | sursa: {$row->source->shortName|escape}
@@ -308,9 +310,12 @@
           {if $canEdit.general}
             | <a href="definitionEdit.php?definitionId={$row->definition->id}" target="_blank">editează</a>
             | <a href="lexemEdit.php?lexemId={$lexem->id}&dissociateDefinitionId={$row->definition->id}"
-                 onclick="return confirmDissociateDefinition({$row->definition->id})">disociază</a>
+                 title="disociază definiția de lexem" onclick="return confirmDissociateDefinition({$row->definition->id})">disociază</a>
           {/if}
-          | <a href="#" class="toggleInternalHtmlLink" title="comută între notația internă și HTML">arată html</a>
+          | <a href="#" class="toggleRepLink" title="comută între notația internă și HTML"
+               data-value="0" data-order="1" data-other-text="text">html</a>
+          | <a href="#" class="toggleRepLink" title="contractează sau expandează abrevierile"
+               data-value="0" data-order="2" data-other-text="expandat">abreviat</a>
           {if $canEdit.defStructured}
             | <a href="#" class="toggleStructuredLink" title="comută definiția între structurată și nestructurată"
                  >{if $row->definition->structured}structurată{else}nestructurată{/if}</a>

Modified: wwwbase/admin/lexemEdit.php
==============================================================================
--- wwwbase/admin/lexemEdit.php	Tue Aug 20 17:38:02 2013	(r947)
+++ wwwbase/admin/lexemEdit.php	Wed Aug 21 18:34:23 2013	(r948)
@@ -90,7 +90,8 @@
 
 $definitions = Definition::loadByLexemId($lexem->id);
 foreach ($definitions as $def) {
-  // $def->internalRep = AdminStringUtil::expandAbbreviations($def->internalRep, $def->sourceId);
+  $def->internalRepAbbrev = AdminStringUtil::expandAbbreviations($def->internalRep, $def->sourceId);
+  $def->htmlRepAbbrev = AdminStringUtil::htmlize($def->internalRepAbbrev, $def->sourceId);
 }
 $searchResults = SearchResult::mapDefinitionArray($definitions);
 $definitionLexem = mb_strtoupper(AdminStringUtil::internalize($lexem->form, false));

Modified: wwwbase/js/lexemEdit.js
==============================================================================
--- wwwbase/js/lexemEdit.js	Tue Aug 20 17:38:02 2013	(r947)
+++ wwwbase/js/lexemEdit.js	Wed Aug 21 18:34:23 2013	(r948)
@@ -12,6 +12,7 @@
   $('#deleteMeaningButton').click(deleteMeaning);
 
   $('#editorSources').select2({
+    matcher: sourceMatcher,
     placeholder: 'adaugă o sursă...',
     width: '315px',
   });
@@ -76,12 +77,13 @@
   $('#editMeaningAcceptButton').click(acceptMeaningEdit);
   $('#editMeaningCancelButton').click(endMeaningEdit);
   $('.lexemEditSaveButton').click(saveEverything);
-  $('.toggleInternalHtmlLink').click(toggleInternalHtmlClick);
+  $('.toggleRepLink').click(toggleRepClick);
   $('.toggleStructuredLink').click(toggleStructuredClick);
   $('.defFilterLink').click(defFilterClick);
   $('.boxTitle').click(boxTitleClick);
 
   $('#lexemSourceIds').select2({
+    matcher: sourceMatcher,
     placeholder: 'surse care atestă flexiunea',
     width: '333px',
   });
@@ -98,6 +100,11 @@
   $('.similarLink').click(similarLinkClick);
 }
 
+function sourceMatcher(term, text) {
+  term = term.replace('ş', 'ș').replace('Ş', 'Ș').replace('ţ', 't').replace('Ţ', 'Ț');
+  return text.toUpperCase().indexOf(term.toUpperCase()) != -1;
+}
+
 function addMeaning() {
   if (!meaningEditorUnchanged()) {
     return false;
@@ -282,11 +289,23 @@
   $('#meaningForm').submit();
 }
 
-function toggleInternalHtmlClick() {
-  var text = $(this).text();
-  $(this).text((text == 'arată html') ? 'arată text' : 'arată html');
-  $(this).closest('.defDetails').prevAll('.defInternalRep:last').slideToggle();
-  $(this).closest('.defDetails').prevAll('.defHtmlRep:last').slideToggle();
+/* Definitions can be shown as internal or HTML notation, with abbreviations expanded or collapsed. This gives rise to four combinations, coded on
+ * two bits each. Clicking on the "show / hide HTML" and show / hide abbreviations" fiddles some bits and sets the "visible" class on the
+ * appropriate div. */
+function toggleRepClick() {
+  // Hide the old definition
+  var oldActive = $(this).closest('.defDetails').prevAll('[data-active]');
+  oldActive.slideToggle().removeAttr('data-active');
+
+  // Recalculate the code and show the new definition
+  var code = oldActive.attr('data-code') ^ $(this).attr('data-order');
+  var newActive = $(this).closest('.defDetails').prevAll('[data-code=' + code + ']');
+  newActive.slideToggle().attr('data-active', '');
+
+  // Toggle the link text
+  var tmp = $(this).text();
+  $(this).text($(this).attr('data-other-text'));
+  $(this).attr('data-other-text', tmp);
   return false;
 }
 

Modified: wwwbase/styles/lexemEdit.css
==============================================================================
--- wwwbase/styles/lexemEdit.css	Tue Aug 20 17:38:02 2013	(r947)
+++ wwwbase/styles/lexemEdit.css	Wed Aug 21 18:34:23 2013	(r948)
@@ -114,14 +114,16 @@
   cursor: help;
 }
 
-div.defInternalRep {
-  font-family: courier;
+.defWrapper .rep {
   margin-top: 10px;
 }
 
-div.defHtmlRep {
+.defWrapper .internal {
+  font-family: courier;
+}
+
+.defWrapper .hidden {
   display: none;
-  margin-top: 10px;
 }
 
 .commentInternalRep {


More information about the Dev mailing list