1 Отредактировано cutter (02-03-2012 13:03:44)

Тема: Продвинутый showmеssage [решено, жду интеграции]

На данный момент стандартная функция showmessage вполне функциональна, но ей не хватает пары мелочей
1 опции не отображать успешные запросы (либо кратко отображать)
2 возможности визуального различия таких сообщеий как ошибка,удачный запрос,сообщение справочного характера.

На данный момент этот пост для меня как "записная книжка" чтобы мне самому не забыть и чтобы разработчики целевой системы (в случае чего) сообщили о том, что данная возможность уже реализуется(реализована).

если напишу то поделюсь с сообществом...
ну а в общем обсуждаем тут  smile

Thumbs up Thumbs down

2 Отредактировано cutter (02-03-2012 14:01:04)

Re: Продвинутый showmеssage [решено, жду интеграции]

для себя сделал так-
js/mocha/functons.js
(L-193)
оригинал

function showMessage(title,message)
{
    var roar = new Roar({
            duration: 5000,
    });

    roar.alert(title,message);
}

мои изменения

function showMessage(title,message,style)
{
    var roar = new Roar({
            duration: 5000,
                        className: 'roar ' + style
    });

    roar.alert(title,message);
}

также необходимо добавить в css стили админки (/templates/administrator/css/content.css) такие строки

.r .roar-bg,.r{
    background-color:        rgba(250,150,  150, 1);;
    border-radius:        4px;
    box-shadow:        0 0 5px rgba(0, 0, 0, 0.5);
    opacity: 0.8;
}
.r h3, .r p, .r strong{
    color:black;
}
.g .roar-bg,.g{
    background-color:        rgba(150, 250, 150, 1);
    border-radius:        4px;
    box-shadow:        0px 0px 5px rgba(0, 0, 0, 0.5);
    
}
.g h3, .g p, .g strong{
    color:black;
}

собственно, после этого в JS теперь есть возможность вызвать функцию с дополнительным стилем (в данном случае "r" и "g")
Но есть ещё ведь связка с PHP она находится в "/application/helpers/javascript_helper.php"
строка ~ 17
измененный код

function showMessage( $message, $title = FALSE, $style = '')
    {
        $del = array("'",'"');  
        $message = str_replace($del, '', $message); 
        $title = str_replace($del, '', $title); 
        if ($title == FALSE)
        {
            $title = 'Сообщение: ';
        }
        $CI =& get_instance();
        $message .= '<br/><strong>Запросов к базе: '.$CI->db->total_queries().'</strong>';
        $message = str_replace("\n",'<br/>',$message);
        $message = str_replace("<p>",'',$message);
        $message = str_replace("</p>",'',$message);
        echo "<script type=\"text/javascript\"> showMessage('".$title."','".$message."','".$style."'); </script>";
    }

По поводу вывода "по порядку" сообщений, это нужно поменять способ инициализации класса, некогда этим пока заниматься да и не спец я по JS...

Thumbs up Thumbs down