revert a56bf3bae7
revert Полям Изображение Каскад и Мега добавлена сортировка изображений по именам файлов и заголовкам / описаниям.
This commit is contained in:
@@ -375,8 +375,8 @@ input, textarea { box-sizing:border-box; }
|
||||
.blackBtn:hover { background-position: 0 -25px; }
|
||||
.blackBtn:active { background-position: 0 -50px; }
|
||||
|
||||
.greyishBtn { background: url(../images/ui/greyishBtn.png) repeat-x 0 0; border: 1px solid #4f5a68; color: #F0F0F0 !important; -moz-box-shadow: 0 0 2px #545454; -webkit-box-shadow: 0 0 2px #545454; box-shadow: 0 0 2px #545454; }
|
||||
.greyishBtn:hover { background-position: 0 -25px; color: #FFF !important; }
|
||||
.greyishBtn { background: url(../images/ui/greyishBtn.png) repeat-x 0 0; border: 1px solid #4f5a68; color: #fff; -moz-box-shadow: 0 0 2px #545454; -webkit-box-shadow: 0 0 2px #545454; box-shadow: 0 0 2px #545454; }
|
||||
.greyishBtn:hover { background-position: 0 -25px; }
|
||||
.greyishBtn:active { background-position: 0 -50px; }
|
||||
|
||||
.greenBtn { background: url(../images/ui/greenBtn.png) repeat-x 0 0; border: 1px solid #418d4f; color: #fff; -moz-box-shadow: 0 0 2px #545454; -webkit-box-shadow: 0 0 2px #545454; box-shadow: 0 0 2px #545454; }
|
||||
|
||||
@@ -24,10 +24,4 @@ resp_m_m = "Кол-во загружаемых файлов превышает
|
||||
resp_m_h = "Ошибка"
|
||||
max_f_f = "Макимальное кол-во загружаемых файлов: "
|
||||
max_f_h = "Ошибка"
|
||||
max_f_t = "Превышено максимальное число файлов,<br>для одновременной загрузки"
|
||||
sort_titel = "Сортировать:"
|
||||
sort_A_Z = "По алфавиту (A-Z, 1-9)"
|
||||
sort_F_A_Z = "По имени (A-Z, 1-9)"
|
||||
sort_F_Z_A = "По имени (Z-A, 9-1)"
|
||||
sort_file = "Файл"
|
||||
sort_title = "Заголовок"
|
||||
max_f_t = "Превышено максимальное число файлов,<br>для одновременной загрузки"
|
||||
@@ -17,39 +17,6 @@
|
||||
var del_all_h = '{#del_all_h#}';
|
||||
var max_f_t = '{#max_f_t#}';
|
||||
var max_f_h = '{#max_f_h#}';
|
||||
|
||||
/**
|
||||
* Сортировка для Каскада
|
||||
*/
|
||||
function cascadSortItems(fieldId, docId, direction, type = 'url') {
|
||||
let container = $('#cascad_' + docId + '_' + fieldId + ' .cascad_sortable');
|
||||
let items = container.find('.cascad_item').get();
|
||||
|
||||
items.sort(function(a, b) {
|
||||
let valA, valB;
|
||||
if (type === 'descr') {
|
||||
valA = $(a).find('textarea[name*="[descr]"]').val().trim().toLowerCase();
|
||||
valB = $(b).find('textarea[name*="[descr]"]').val().trim().toLowerCase();
|
||||
|
||||
if (valA === '' && valB !== '') return 1;
|
||||
if (valA !== '' && valB === '') return -1;
|
||||
} else {
|
||||
valA = $(a).find('input[id^="image__"]').val().toLowerCase();
|
||||
valB = $(b).find('input[id^="image__"]').val().toLowerCase();
|
||||
}
|
||||
|
||||
if (direction === 'asc') {
|
||||
return valA.localeCompare(valB, undefined, { numeric: true, sensitivity: 'base' });
|
||||
} else {
|
||||
return valB.localeCompare(valA, undefined, { numeric: true, sensitivity: 'base' });
|
||||
}
|
||||
});
|
||||
|
||||
$.each(items, function(i, li) {
|
||||
container.append(li);
|
||||
});
|
||||
container.fadeOut(100).fadeIn(100);
|
||||
}
|
||||
</script>
|
||||
{assign var=cascad_new value="load" scope="global"}
|
||||
{/if}
|
||||
@@ -75,20 +42,12 @@
|
||||
|
|
||||
<a href="javascript:void(0);" class="topDir" title="{#add_upl_e#}<br><br>{$max_files}<br>{$dir_upload}">[?]</a>
|
||||
{/if}
|
||||
|
||||
|
|
||||
<span style="color: #666; font-weight: bold;">{#sort_titel#} {#sort_file#}</span>
|
||||
<a href="javascript:void(0);" onclick="cascadSortItems('{$field_id}', '{$doc_id}', 'asc', 'url')" class="link" title="{#sort_F_A_Z#}">[A-Z]</a>
|
||||
<a href="javascript:void(0);" onclick="cascadSortItems('{$field_id}', '{$doc_id}', 'desc', 'url')" class="link" title="{#sort_F_Z_A#}">[Z-A]</a>
|
||||
|
||||
|
|
||||
<span style="color: #666; font-weight: bold;">{#place#}:</span>
|
||||
<a href="javascript:void(0);" onclick="cascadSortItems('{$field_id}', '{$doc_id}', 'asc', 'descr')" class="link" title="{#sort_A_Z#}">[A-Z]</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="cascad_sortable">
|
||||
{foreach from=$images key=key item=image}
|
||||
|
||||
<div class="cascad_item ui-state-default" id="cascad_image_{$field_id}_{$doc_id}_{$key}" data-id="{$key}" data-doc="{$doc_id}">
|
||||
<div class="header grey_bg"></div>
|
||||
<a class="topDir icon_sprite ico_photo view fancy preview__{$field_id}_{$doc_id}_{$key}" href="{$image.url}" title="{#look#}"></a>
|
||||
@@ -98,6 +57,8 @@
|
||||
<img id="preview__{$field_id}_{$doc_id}_{$key}" src="{$image.thumb}" onclick="browse_uploads('image__{$field_id}_{$doc_id}_{$key}');" class="image" alt="" width="100" height="100" />
|
||||
<textarea class="mousetrap" name="feld[{$field_id}][{$key}][descr]" placeholder="{#place#}">{$image.desc}</textarea>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -27,10 +27,4 @@ img_title = "Заголовок"
|
||||
img_description = "Описание"
|
||||
img_link = "Ссылка"
|
||||
from_file = "Файл"
|
||||
from_docs = "Документ"
|
||||
sort_titel = "Сортировать:"
|
||||
sort_A_Z = "По алфавиту (A-Z, 1-9)"
|
||||
sort_F_A_Z = "По имени (A-Z, 1-9)"
|
||||
sort_F_Z_A = "По имени (Z-A, 9-1)"
|
||||
sort_file = "Файл"
|
||||
sort_title = "Заголовок"
|
||||
from_docs = "Документ"
|
||||
@@ -21,42 +21,6 @@
|
||||
mega_max_f_h = '{#max_f_h#}',
|
||||
mega_from_file = '{#from_file#}',
|
||||
mega_from_docs = '{#from_docs#}';
|
||||
|
||||
/**
|
||||
* Универсальная сортировка элементов
|
||||
*/
|
||||
function megaSortItems(fieldId, docId, direction, type = 'url') {
|
||||
let container = $('#mega_' + docId + '_' + fieldId + ' .mega_sortable');
|
||||
let items = container.find('.mega_item').get();
|
||||
|
||||
items.sort(function(a, b) {
|
||||
let valA, valB;
|
||||
if (type === 'title') {
|
||||
valA = $(a).find('textarea[name*="[title]"]').val().trim().toLowerCase();
|
||||
valB = $(b).find('textarea[name*="[title]"]').val().trim().toLowerCase();
|
||||
|
||||
// Если сортируем по заголовку, пустые поля всегда уходят в конец
|
||||
if (valA === '' && valB !== '') return 1;
|
||||
if (valA !== '' && valB === '') return -1;
|
||||
} else {
|
||||
valA = $(a).find('input[id^="image__"]').val().toLowerCase();
|
||||
valB = $(b).find('input[id^="image__"]').val().toLowerCase();
|
||||
}
|
||||
|
||||
if (direction === 'asc') {
|
||||
return valA.localeCompare(valB, undefined, { numeric: true, sensitivity: 'base' });
|
||||
} else {
|
||||
return valB.localeCompare(valA, undefined, { numeric: true, sensitivity: 'base' });
|
||||
}
|
||||
});
|
||||
|
||||
$.each(items, function(i, li) {
|
||||
container.append(li);
|
||||
});
|
||||
|
||||
// Визуальный отклик (мигание)
|
||||
container.fadeOut(100).fadeIn(100);
|
||||
}
|
||||
</script>
|
||||
{assign var=mega_new value="load" scope="global"}
|
||||
{/if}
|
||||
@@ -77,26 +41,20 @@
|
||||
{if $show_upload}
|
||||
|
|
||||
<a href="javascript:void(0);" class="mega_upload_local link">{#add_l#}</a> <a href="javascript:void(0);" class="topDir" title="{$max_files}<br>{$dir_upload}">[?]</a>
|
||||
{else}
|
||||
|
|
||||
<a href="javascript:void(0);" class="topDir" title="{#add_upl_e#}<br><br>{$max_files}<br>{$dir_upload}">[?]</a>
|
||||
{/if}
|
||||
{if $dir_uploaded}
|
||||
|
|
||||
<input type="hidden" value="{$dir_uploaded}" name="feld[{$field_id}][dir]" id="dir__{$field_id}_{$doc_id}">
|
||||
<a href="javascript:void(0);" class="mega_upload_dir topDir" title="{$dir_uploaded}" onclick="browse_uploads('dir__{$field_id}_{$doc_id}');">Show folder</a>
|
||||
{/if}
|
||||
|
||||
|
|
||||
<span style="color: #666; font-weight: bold;">{#sort_titel#} {#sort_file#}</span>
|
||||
<a href="javascript:void(0);" onclick="megaSortItems('{$field_id}', '{$doc_id}', 'asc', 'url')" class="link" title="{#sort_F_A_Z#}">[A-Z]</a>
|
||||
<a href="javascript:void(0);" onclick="megaSortItems('{$field_id}', '{$doc_id}', 'desc', 'url')" class="link" title="{#sort_F_Z_A#}">[Z-A]</a>
|
||||
|
||||
|
|
||||
<span style="color: #666; font-weight: bold;">{#sort_title#}</span>
|
||||
<a href="javascript:void(0);" onclick="megaSortItems('{$field_id}', '{$doc_id}', 'asc', 'title')" class="link" title="{#sort_A_Z#}">[A-Z]</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="mega_sortable">
|
||||
{foreach from=$images key=key item=image}
|
||||
|
||||
<div class="mega_item ui-state-default" id="mega_image_{$field_id}_{$doc_id}_{$key}" data-id="{$key}" data-doc="{$doc_id}">
|
||||
<div class="header grey_bg"></div>
|
||||
<a class="topDir icon_sprite ico_photo view fancy preview__{$field_id}_{$doc_id}_{$key}" href="{$image.url}" title="{#look#}"></a>
|
||||
@@ -118,6 +76,8 @@
|
||||
<a class="btn greyishBtn" onclick="openLinkWin('link_{$field_id}_{$doc_id}_{$key}', 'link_{$field_id}_{$doc_id}_{$key}', '');">{#from_docs#}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user