Skip to content

Commit

Permalink
Added option to show only empty fields in the translator app, closes #95
Browse files Browse the repository at this point in the history
  • Loading branch information
jbroadway committed May 24, 2012
1 parent 53c0f3e commit fec0f81
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 42 deletions.
35 changes: 27 additions & 8 deletions apps/translator/handlers/edit.php
Expand Up @@ -18,6 +18,11 @@

$lang = $this->params[0];

$empty = (isset ($_GET['empty']) && $_GET['empty'] == 1) ? true : false;
if (! $empty) {
$_GET['empty'] = '';
}

$info = $i18n->languages[$lang];

$page->title = i18n_get ('Editing language') . ': ' . $info['name'];
Expand All @@ -37,7 +42,8 @@
'name' => $info['name'],
'lang' => $lang,
'sources' => $sources,
'contains' => $_GET['contains']
'contains' => $_GET['contains'],
'empty' => $empty
));
} elseif (isset ($_GET['source']) && ! empty ($_GET['source'])) {
$items = Translator::get_by_source ($all, $_GET['source']);
Expand All @@ -50,28 +56,41 @@
'name' => $info['name'],
'lang' => $lang,
'sources' => $sources,
'source' => $_GET['source']
'source' => $_GET['source'],
'empty' => $empty
));
} else {
$num = isset ($this->params[1]) ? $this->params[1] : 1;

$limit = 40;
$offset = ($num - 1) * $limit;

$items = array_slice ($all, $offset, $limit);

$tr = new Translator;
$items = $tr->translations ($lang, $items);
if ($empty) {
$tr = new Translator;
$all = $tr->translations ($lang, $all);
foreach ($all as $k => $v) {
if ($v['trans'] !== '') {
unset ($all[$k]);
}
}
$items = array_slice ($all, $offset, $limit);
} else {
$items = array_slice ($all, $offset, $limit);

$tr = new Translator;
$items = $tr->translations ($lang, $items);
}

echo $tpl->render ('translator/edit', array (
'limit' => $limit,
'total' => count ($all),
'items' => $items,
'count' => count ($items),
'url' => '/translator/edit/' . $lang . '/%d',
'url' => '/translator/edit/' . $lang . '/%d?empty=' . $_GET['empty'],
'name' => $info['name'],
'lang' => $lang,
'sources' => $sources
'sources' => $sources,
'empty' => $empty
));
}

Expand Down
13 changes: 11 additions & 2 deletions apps/translator/views/edit.html
@@ -1,5 +1,5 @@
<form style="display: inline" method="GET" action="/translator/edit/{{ lang }}">
<div style="float: right">
<div style="float: right; margin-top: -5px">
<select name="source" onchange="this.form.elements['contains'].value = ''; this.form.submit ()">
<option value="">- {"Limit to source file"} -</option>
{% foreach sources %}
Expand All @@ -18,7 +18,16 @@
<table width="100%">
<tr>
<th width="48%">{"Original text"}</th>
<th width="52%">{{ name }}</th>
<th width="52%">
<span style="float: right">
{% if empty %}
<a href="/translator/edit/{{ lang }}">{"Show all fields"}</a>
{% else %}
<a href="/translator/edit/{{ lang }}?empty=1">{"Show empty fields"}</a>
{% end %}
</span>
{{ name }}
</th>
</tr>
{% foreach items %}
<tr id="tr-{{ loop_index|translator_field_id }}">
Expand Down
43 changes: 27 additions & 16 deletions apps/translator/views/edit_search.html
@@ -1,5 +1,5 @@
<form style="display: inline" method="GET" action="/translator/edit/{{ lang }}">
<div style="float: right">
<div style="float: right; margin-top: -5px">
<select name="source" onchange="this.form.elements['contains'].value = ''; this.form.submit ()">
<option value="">- {"Limit to source file"} -</option>
{% foreach sources %}
Expand All @@ -19,23 +19,34 @@
<table width="100%">
<tr>
<th width="48%">{"Original text"}</th>
<th width="52%">{{ name }}</th>
<th width="52%">
<span style="float: right">
{% if empty %}
<a href="/translator/edit/{{ lang }}?contains={{ contains|urlencode }}">{"Show all fields"}</a>
{% else %}
<a href="/translator/edit/{{ lang }}?contains={{ contains|urlencode }}&empty=1">{"Show empty fields"}</a>
{% end %}
</span>
{{ name }}
</th>
</tr>
{% foreach items %}
<tr id="tr-{{ loop_index|translator_field_id }}">
<td class="original" title="{"Source"}: {{ loop_value[src] }}">{{ loop_index }}</td>
<td class="translate">
<textarea
rows="1" style="float:left; width: 85%; height: 100%"
data-orig="{{ loop_index }}"
data-id="{{ loop_index|translator_field_id }}"
id="textarea-{{ loop_index|translator_field_id }}"
onblur="$.save_element (this)"
{% if empty ($data->loop_value[trans]) %} class="empty"{% end %}
>{{ loop_value[trans] }}</textarea>
<span id="saving-{{ loop_index|translator_field_id }}" class="notice" style="float: left; margin-left: 7px">{"Saving..."}</span>
</td>
</tr>
{% if empty === false || $data->loop_value['trans'] === '' %}
<tr id="tr-{{ loop_index|translator_field_id }}">
<td class="original" title="{"Source"}: {{ loop_value[src] }}">{{ loop_index }}</td>
<td class="translate">
<textarea
rows="1" style="float:left; width: 85%; height: 100%"
data-orig="{{ loop_index }}"
data-id="{{ loop_index|translator_field_id }}"
id="textarea-{{ loop_index|translator_field_id }}"
onblur="$.save_element (this)"
{% if empty ($data->loop_value[trans]) %} class="empty"{% end %}
>{{ loop_value[trans] }}</textarea>
<span id="saving-{{ loop_index|translator_field_id }}" class="notice" style="float: left; margin-left: 7px">{"Saving..."}</span>
</td>
</tr>
{% end %}
{% end %}
</table>
</p>
Expand Down
43 changes: 27 additions & 16 deletions apps/translator/views/edit_source.html
@@ -1,5 +1,5 @@
<form style="display: inline" method="GET" action="/translator/edit/{{ lang }}">
<div style="float: right">
<div style="float: right; margin-top: -5px">
<select name="source" onchange="this.form.elements['contains'].value = ''; this.form.submit ()">
<option value="">- {"Limit to source file"} -</option>
{% foreach sources %}
Expand All @@ -19,23 +19,34 @@
<table width="100%">
<tr>
<th width="48%">{"Original text"}</th>
<th width="52%">{{ name }}</th>
<th width="52%">
<span style="float: right">
{% if empty %}
<a href="/translator/edit/{{ lang }}?source={{ source|urlencode }}">{"Show all fields"}</a>
{% else %}
<a href="/translator/edit/{{ lang }}?source={{ source|urlencode }}&empty=1">{"Show empty fields"}</a>
{% end %}
</span>
{{ name }}
</th>
</tr>
{% foreach items %}
<tr id="tr-{{ loop_index|translator_field_id }}">
<td class="original" title="{"Source"}: {{ loop_value[src] }}">{{ loop_index }}</td>
<td class="translate">
<textarea
rows="1" style="float:left; width: 85%; height: 100%"
data-orig="{{ loop_index }}"
data-id="{{ loop_index|translator_field_id }}"
id="textarea-{{ loop_index|translator_field_id }}"
onblur="$.save_element (this)"
{% if empty ($data->loop_value[trans]) %} class="empty"{% end %}
>{{ loop_value[trans] }}</textarea>
<span id="saving-{{ loop_index|translator_field_id }}" class="notice" style="float: left; margin-left: 7px">{"Saving..."}</span>
</td>
</tr>
{% if empty === false || $data->loop_value['trans'] === '' %}
<tr id="tr-{{ loop_index|translator_field_id }}">
<td class="original" title="{"Source"}: {{ loop_value[src] }}">{{ loop_index }}</td>
<td class="translate">
<textarea
rows="1" style="float:left; width: 85%; height: 100%"
data-orig="{{ loop_index }}"
data-id="{{ loop_index|translator_field_id }}"
id="textarea-{{ loop_index|translator_field_id }}"
onblur="$.save_element (this)"
{% if empty ($data->loop_value[trans]) %} class="empty"{% end %}
>{{ loop_value[trans] }}</textarea>
<span id="saving-{{ loop_index|translator_field_id }}" class="notice" style="float: left; margin-left: 7px">{"Saving..."}</span>
</td>
</tr>
{% end %}
{% end %}
</table>
</p>
Expand Down

0 comments on commit fec0f81

Please sign in to comment.