[dev] [commit] r931 - patches templates/admin wwwbase/admin wwwbase/ajax wwwbase/js
Cătălin Frâncu
cata at francu.com
Mon Aug 19 09:36:57 EEST 2013
Arată bine! Fac code review-uri din spate în față, deci scuze dacă ai
reparat deja unele din ele.
- Mă distrează că tu chiar folosești englezescul "lexeme" în cod. La
vremea respectivă eu credeam că e tot "lexem" și în engleză și așa i-a
rămas numele prin tot codul. Ești, oficial, mai catolic decât Papa. :-)
- Cum de am renunțat la isMain? Mă gândesc că e important să știm că
„aceasta este o poză pentru ochi” sau „aceasta este o poză pentru corpul
omenesc, care conține și o trimitere la ochi”.
- visualTags.js: a rămas un alert() în cod
- am și eu un changelist uriaș în pregătire care afectează tot ce ține
de select2. S-ar putea să umblu un pic prin visualTag.js, vedem.
Cătălin
On 2013-08-17 19:55, automailer at dexonline.ro wrote:
> Author: grigoroiualex
> Date: Sat Aug 17 19:55:07 2013
> New Revision: 931
>
> Log:
> Added link to visualTag from admin page and a counter for the
> unrevised images. Added a select2 input for the lexeme. With this all
> the fields from visualTag table will be completed. Removed the isMain
> column.
>
> Added:
> patches/00095.sql
> wwwbase/ajax/visualTag.php
> Modified:
> templates/admin/index.ihtml
> templates/admin/visualTag.ihtml
> wwwbase/admin/visualTag.php
> wwwbase/ajax/reportCounter.php
> wwwbase/js/dex.js
> wwwbase/js/visualTag.js
>
> Added: patches/00095.sql
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ patches/00095.sql Sat Aug 17 19:55:07 2013 (r931)
> @@ -0,0 +1,3 @@
> +ALTER TABLE VisualTag DROP lexemId;
> +ALTER TABLE VisualTag DROP isMain;
> +ALTER TABLE VisualTag ADD lexemeId INT(11) AFTER imageId;
>
> Modified: templates/admin/index.ihtml
> ==============================================================================
> --- templates/admin/index.ihtml Fri Aug 16 05:00:31 2013 (r930)
> +++ templates/admin/index.ihtml Sat Aug 17 19:55:07 2013 (r931)
> @@ -36,6 +36,9 @@
> <a href="wotd.php">Word of the Day:</a>
> <span id="span_wotd"><img src="{$imgRoot}/icons/hourglass.png"
> alt="hourglass"/></span><br/>
> {/if}
> +
> +<a href="visualTag.php">Imagini (Visual Dict) nerevizuite:</a>
> +<span id="span_visualTag"><img src="{$imgRoot}/icons/hourglass.png"
> alt="hourglass"/></span><br/>
> <br/>
>
> <form action="lexemEdit.php" method="get">
>
> Modified: templates/admin/visualTag.ihtml
> ==============================================================================
> --- templates/admin/visualTag.ihtml Fri Aug 16 05:00:31 2013 (r930)
> +++ templates/admin/visualTag.ihtml Sat Aug 17 19:55:07 2013 (r931)
> @@ -37,23 +37,31 @@
> <label>Id imagine:
> <input type="text" size="4" value="{$imageId}"
> name="imageId"/>
> </label><br/>
> - <label>Cuvânt:
> - <input id="lexem" type="text" size="15" name="lexem"/>
> +
> + <label>Cuvânt:
> + <input id="selectLexeme" type="hidden"/>
> </label><br/>
> +
> + <label>Id lexem
> + <input id="lexemeId" type="text" size="10" name="lexemeId"/>
> + </label><br/>
> +
> + <label>Lexem
> + <input id="lexeme" type="text" size="15" name="lexeme"/>
> + </label><br/>
> +
> <label>Coordonatele centrului etichetei:
> <input id="xTag" type="text" size="4" name="xTag"/>
> <input id="yTag" type="text" size="4" name="yTag"/>
> <button id="setCoordTag" type="button">Setează
> coordonatele</button>
> </label><br/>
> +
> <label>Coordonatele zonei etichetate:
> <input id="xImg" type="text" size="4" name="xImg"/>
> <input id="yImg" type="text" size="4" name="yImg"/>
> <button id="setCoordImg" type="button">Setează
> coordonatele</button>
> </label><br/>
> - <label>Etichetă principală?
> - <input type="radio" name="isMain" value="1"/>Da
> - <input type="radio" name="isMain" value="0"/>Nu
> - </label><br/>
> +
> <button id="saveSel" type="submit" name="action"
> value="save">Salvează eticheta</button>
> </form>
>
>
> Modified: wwwbase/admin/visualTag.php
> ==============================================================================
> --- wwwbase/admin/visualTag.php Fri Aug 16 05:00:31 2013 (r930)
> +++ wwwbase/admin/visualTag.php Sat Aug 17 19:55:07 2013 (r931)
> @@ -10,7 +10,8 @@
>
> if(util_getRequestParameter('action') == 'save') {
> $imageId = util_getRequestParameter('imageId');
> - $lexem = util_getRequestParameter('lexem');
> + $lexemeId = util_getrequestParameter('lexemeId');
> + $lexeme = util_getRequestParameter('lexeme');
> $xTag = util_getRequestParameter('xTag');
> $yTag = util_getRequestParameter('yTag');
> $xImg = util_getRequestParameter('xImg');
> @@ -19,10 +20,8 @@
>
> $line = Model::factory('VisualTag')->create();
> $line->imageId = $imageId;
> - if(!empty($isMain)) {
> - $line->isMain = $isMain;
> - }
> - $line->label = $lexem;
> + $line->lexemeId = $lexemeId;
> + $line->label = $lexeme;
> $line->textXCoord = $xTag;
> $line->textYCoord = $yTag;
> $line->imgXCoord = $xImg;
> @@ -65,6 +64,6 @@
> }
>
> SmartyWrap::assign('sectionTitle', 'Etichetare imagini pentru
> definiții');
> -SmartyWrap::addCss('jcrop');
> -SmartyWrap::addJs('jquery', 'jcrop', 'visualTag');
> +SmartyWrap::addCss('jcrop', 'select2');
> +SmartyWrap::addJs('jquery', 'jcrop', 'visualTag', 'select2');
> SmartyWrap::displayAdminPage('admin/visualTag.ihtml');
>
> Modified: wwwbase/ajax/reportCounter.php
> ==============================================================================
> --- wwwbase/ajax/reportCounter.php Fri Aug 16 05:00:31 2013 (r930)
> +++ wwwbase/ajax/reportCounter.php Sat Aug 17 19:55:07 2013 (r931)
> @@ -21,6 +21,7 @@
> ->find_one();
> print $r->c;
> break;
> +case 'visualTag': echo Model::factory('Visual')->where('revised',
> 0)->count(); break;
> default: echo 'Necunoscut';
> }
>
>
> Added: wwwbase/ajax/visualTag.php
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ wwwbase/ajax/visualTag.php Sat Aug 17 19:55:07 2013 (r931)
> @@ -0,0 +1,17 @@
> +<?php
> +require_once('../../phplib/util.php');
> +
> +$query = util_getRequestParameter('term');
> +$f = fopen('/tmp/select.txt', 'a');
> +
> +$field = StringUtil::hasDiacritics($query) ? 'formNoAccent' :
> 'formUtf8General';
> +
> +$lexems = Model::factory('Lexem')->where_like($field,
> "{$query}%")->order_by_asc('formNoAccent')->limit(10)->find_many();
> +
> +$resp = array('more' => 'false', 'results' => array());
> +foreach($lexems as $lexem) {
> + $resp['results'][] = array('id' => $lexem->id, 'text' =>
> (string)$lexem->formUtf8General);
> +}
> +
> +echo json_encode($resp);
> +?>
>
> Modified: wwwbase/js/dex.js
> ==============================================================================
> --- wwwbase/js/dex.js Fri Aug 16 05:00:31 2013 (r930)
> +++ wwwbase/js/dex.js Sat Aug 17 19:55:07 2013 (r931)
> @@ -343,7 +343,7 @@
>
> function startReportCounters() {
> reports = ['unassociatedLexems', 'unassociatedDefinitions',
> 'definitionsWithTypos', 'temporaryDefinitions', 'temporaryLexems',
> 'lexemsWithComments',
> - 'lexemsWithoutAccents', 'definitionsWithAmbiguousAbbrev',
> 'wotd'];
> + 'lexemsWithoutAccents',
> 'definitionsWithAmbiguousAbbrev', 'wotd', 'visualTag'];
> for (var i = 0; i < reports.length; i++) {
> $.ajax({
> url: wwwRoot + 'ajax/reportCounter.php',
>
> Modified: wwwbase/js/visualTag.js
> ==============================================================================
> --- wwwbase/js/visualTag.js Fri Aug 16 05:00:31 2013 (r930)
> +++ wwwbase/js/visualTag.js Sat Aug 17 19:55:07 2013 (r931)
> @@ -46,6 +46,8 @@
> $('#clrSel').click(function(e) {
> jcrop_api.release();
>
> + alert($('#lexem').select2('data').text);
> +
> resetCoords();
> });
>
> @@ -71,25 +73,55 @@
> $('#helpText').toggle();
> });
>
> + $('#selectLexeme').select2({
> + initSelection: function(element, callback) {
> + var data = {id: element.val(), text: element.val()};
> + callback(data);
> + },
> + placeholder: "Scrie lexemul",
> + allowclear: true,
> + minimumInputLength: 1,
> + context: this,
> + ajax: {
> + url: wwwRoot + 'ajax/visualTag.php',
> + dataType: 'json',
> + data: function(term, page) { return {term: term}; },
> + results: function(data, page) { return { results: data.results
> }; },
> + },
> + formatResult: function(data) {
> + return data.text;
> + },
> + formatSelection: function(data) {
> + return data.text;
> + },
> + width: '200px',
> +
> + }).on('change', function(e) {
> + var id = $(this).select2('data').id;
> + var text = $(this).select2('data').text;
> +
> + $('#lexemeId').val(id);
> + $('#lexeme').val(text);
> + });
> });
>
> - function validateTag() {
> - var lexem = document.getElementById('lexem').value;
> - var xImg = document.getElementById('xImg').value;
> - var yImg = document.getElementById('yImg').value;
> - var xTag = document.getElementById('xTag').value;
> - var yTag = document.getElementById('yTag').value;
> -
> - if(!lexem) {
> - alert('Ai uitat să completezi câmpul Cuvânt');
> - return false;
> -
> - } else if(!xImg || !yImg) {
> - alert('Ai uitat să completezi câmpurile Coordonatele centrului
> etichetei');
> - return false;
> -
> - } else if(!xTag || !yTag) {
> - alert('Ai uitat să completezi câmpurile Coordonatele zonei
> etichetate');
> - return false;
> - }
> - };
> +function validateTag() {
> + var lexem = document.getElementById('lexem').value;
> + var xImg = document.getElementById('xImg').value;
> + var yImg = document.getElementById('yImg').value;
> + var xTag = document.getElementById('xTag').value;
> + var yTag = document.getElementById('yTag').value;
> +
> + if(!lexem) {
> + alert('Ai uitat să completezi câmpul Cuvânt');
> + return false;
> +
> + } else if(!xImg || !yImg) {
> + alert('Ai uitat să completezi câmpurile Coordonatele centrului
> etichetei');
> + return false;
> +
> + } else if(!xTag || !yTag) {
> + alert('Ai uitat să completezi câmpurile Coordonatele zonei
> etichetate');
> + return false;
> + }
> +};
> _______________________________________________
> Dev mailing list
> Dev at dexonline.ro
> http://list.dexonline.ro/listinfo/dev
More information about the Dev
mailing list