Revision 386 (by ahitrov, 2013/10/17 15:02:43) |
Section tree control (parent.pm) optimization.
jQuery 1.9.1, jQuery 1.8.3
jQuery-UI and ajax search (/ajax/document_search.html) for autocomplete
Inline control for pickup and autocomplete (future use control)
Minor improvements and bug fixes
|
<% $json %>
<%once>
use JSON::XS;
</%once>
<%args>
$class => undef
$table => undef
$min => 2
$term => undef
$show => 'name'
$search_by => 'name'
</%args>
<%init>
my @result;
if ( ($table || $class) && $term && length( Encode::decode('utf-8', $term) ) >= $min ) {
my $search_string = "%$term%";
my %opts;
if ( $class ) {
$opts{class} = $class;
} else {
$opts{table} = $table;
}
$opts{$search_by} = $search_string;
$opts{ilike} = 1;
my $docs = $keeper->get_documents( %opts, return_mode => 'array_ref', light => 1, limit => 30 );
if ( ref $docs eq 'ARRAY' && @$docs ) {
@result = map { {id => $_->id, label => Encode::decode('utf-8', $_->$show), value => Encode::decode('utf-8', $_->$show)} } @$docs;
}
}
my $json = encode_json \@result;
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.