1

Тема: [Релиз] jQuery UI

jQuery UI 0.4.0 (1.8.18)
Позволяет подключить библиотеку jQuery UI.

пример использования

$ext_jQuery_UI->add_jQuery_UI("Button");

Названия подключаемых модулей начинаются с Большой буквы (как и тут)

Подключение стиля

$ext_jQuery_UI->add_jQuery_UI_style(' .ui-widget {font-size: 0.8em;}; ', 'ui_dailog');

Подключение стиля URL

$ext_jQuery_UI->add_jQuery_UI_style_url($ext_info['url'].'/dialog.css', 'ui_dialog');

Скачать
https://github.com/KANekT/PunBB-extensi … _jquery_ui

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0
+ hcs

Сайт KANekT

Поделиться

2

Re: [Релиз] jQuery UI

Notice: Use of undefined constant NYA_JQUERY_UI_VERSION - assumed 'NYA_JQUERY_UI_VERSION' in .\www\footer.php(98) : eval()'d code on line 69

В админке:

Notice: Undefined variable: lang_nya_jquery_ui in .\www\admin\settings.php(1066) : eval()'d code on line 86
Notice: Undefined variable: lang_nya_jquery_ui in .\www\admin\settings.php(1066) : eval()'d code on line 90
Notice: Undefined variable: lang_nya_jquery_ui in .\www\admin\settings.php(1066) : eval()'d code on line 94

Добавлено спустя 3 минуты 57 секунд:

кроме того диалоги появляются внизу страницы и без стилей

Добавлено спустя 12 минут 43 секунды:

Я думаю, что стили надо подключать не в ft_js_include а в hd_head

Добавлено спустя 13 минут 17 секунд:

Кроме того стили ищутся не в Oxygen, а в корне css

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

3

Re: [Релиз] jQuery UI

исправлено в версии 0.2.0

тестировал на расширении

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE extension SYSTEM "ext-1.0.dtd">

<extension engine="1.0">
    <id>ui_button</id>
    <title>jQuery UI Dialog</title>
    <description>Extension that provide jQueryUI lib (version 1.8.16)</description>
    <author>KANekT</author>
    <version>0.1.0</version>

    <minversion>1.4RC1</minversion>
    <maxtestedon>1.4</maxtestedon>
    
    <!-- -->
    <hooks>
        <!-- load js from url -->
        <hook id="ft_js_include"><![CDATA[
        $forum_loader->add_js('
    $(function() {
        $( "#dialog" ).dialog();
    });', array('type' => 'inline', 'weight' => 80));
        ]]></hook>

        <hook id="in_users_online_end"><![CDATA[
        ?>
            <div id="dialog" title="Basic dialog">
                <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
            </div>
        <?
        $ext_jQuery_UI->add_jQuery_UI("Dialog");
        ]]></hook>

    </hooks>
</extension>

Добавлено спустя 1 минуту 20 секунд:

по поводу стилей. не знаю - тогда надо их загружать всегда... даже если они не будут использоваться.

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

4

Re: [Релиз] jQuery UI

Версия 0.3.0
Расширение нужно будет удалить и уставить заново

Добавлено возможность загружать свои стили
В админке сделана надстройка - загрузка стилей в head, но стили будут загружаться на любой странице.
Смотрите 1 сообщение smile

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

5

Re: [Релиз] jQuery UI

0.3.1
Исправление ошибки с подключением Js эффектов.

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

6 (28.10.2011 10:35 отредактировано Serg)

Re: [Релиз] jQuery UI

К слову, jquery dialog-пример этого расширения выдаёт такую ошибочку:
Fatal error: Call to a member function add_jQuery_UI_style_url() on a non-object in /.../public_html/forum/header.php(124) : eval()'d code on line 83

После чего рабочая область восстанавливается лишь после отключения хуков из конфига и удаления этого dialog из админки...

Поделиться

7

Re: [Релиз] jQuery UI

Serg пишет:

К слову, jquery dialog-пример этого расширения выдаёт такую ошибочку:
Fatal error: Call to a member function add_jQuery_UI_style_url() on a non-object in /.../public_html/forum/header.php(124) : eval()'d code on line 83

После чего рабочая область восстанавливается лишь после отключения хуков из конфига и удаления этого dialog из админки...

должно быть включено зависимое расширение

Добавлено спустя 42 минуты 35 секунд:

0.3.2

Обновил стиль. Сделал на основе фликр, с цветами Oxygen.

Посмотреть стиль - http://jqueryui.com/themeroller/?ffDefa … Shadow=0px

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

8

Re: [Релиз] jQuery UI

архив старый в первом сообщении

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

9

Re: [Релиз] jQuery UI

обновил.

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

10

Re: [Релиз] jQuery UI

Что бы это значило? Попытка скачать релиз данного расширения по приведенной выше ссылке приводит на страницу со следующим сообщением:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>1153B7447728DF4E</RequestId>
<HostId>
32pGgUmMzlHkeXZd5aXlL5Ef7vDxs4DNV/Z66mfVsb1VI3hl8KUXPHGFoQCBLeHY
</HostId>
</Error>

Сайт ser

Поделиться

11

Re: [Релиз] jQuery UI

Проблема на гитхабе. Зайди на страницу загрузки: https://github.com/KANekT/PunBB-extensions/downloads
и нажми кнопку : Download as zip

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

12 (10.11.2011 20:11 отредактировано ser)

Re: [Релиз] jQuery UI

hcs пишет:

Проблема на гитхабе. Зайди на страницу загрузки: https://github.com/KANekT/PunBB-extensions/downloads и нажми кнопку : Download as zip

Спасибо, все ОК.

Сайт ser

Поделиться

13

Re: [Релиз] jQuery UI

Предлагаю улучшениев функции add_jQuery_UI, код ниже.
Смысл улучшения - передавать параметры в массиве либо цепочкой, а то сейчас получается некрасиво и неудобно.

    public function add_jQuery_UI($UI_js = NULL) {
        if (is_null ( $UI_js ))         // || !is_array($UI_js)
        {
            return $this;
        }
        
        $this->UI_css ["Core"] = "jquery.ui.core";
        $this->UI_css ["Theme"] = "jquery.ui.theme";
        
        if (!is_array($UI_js)){
            $UI_js = array ($UI_js);
        }
        
        foreach ( $UI_js as $current_ui_js ) {
            switch ($current_ui_js) {
                case "Draggable" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Draggable"] = "jquery.ui.draggable.min";
                    break;
                
                case "Droppable" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Draggable"] = "jquery.ui.draggable.min";
                    $this->UI_js ["Droppable"] = "jquery.ui.droppable.min";
                    break;
                
                case "Resizable" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Resizable"] = "jquery.ui.resizable.min";
                    break;
                
                case "Selectable" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Selectable"] = "jquery.ui.selectable.min";
                    break;
                
                case "Sortable" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Sortable"] = "jquery.ui.sortable.min";
                    break;
                
                case "Accordion" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Accordion"] = "jquery.ui.accordion.min";
                    $this->UI_css ["Accordion"] = "jquery.ui.accordion";
                    break;
                
                case "Autocomplete" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Position"] = "jquery.ui.position.min";
                    $this->UI_js ["Autocomplete"] = "jquery.ui.autocomplete.min";
                    $this->UI_css ["Autocomplete"] = "jquery.ui.autocomplete";
                    break;
                
                case "Button" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Button"] = "jquery.ui.button.min";
                    $this->UI_css ["Button"] = "jquery.ui.button";
                    break;
                
                case "Dialog" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Position"] = "jquery.ui.position.min";
                    $this->UI_js ["Dialog"] = "jquery.ui.dialog.min";
                    $this->UI_css ["Dialog"] = "jquery.ui.dialog";
                    break;
                
                case "Slider" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Mouse"] = "jquery.ui.mouse.min";
                    $this->UI_js ["Position"] = "jquery.ui.position.min";
                    $this->UI_js ["Slider"] = "jquery.ui.slider.min";
                    $this->UI_css ["Slider"] = "jquery.ui.slider";
                    break;
                
                case "Tabs" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Tabs"] = "jquery.ui.tabs.min";
                    $this->UI_css ["Tabs"] = "jquery.ui.tabs";
                    break;
                
                case "Datepicker" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Datepicker"] = "jquery.ui.datepicker.min";
                    $this->UI_css ["Datepicker"] = "jquery.ui.datepicker";
                    break;
                
                case "Progressbar" :
                    $this->UI_js ["Core"] = "jquery.ui.core.min";
                    $this->UI_js ["Widget"] = "jquery.ui.widget.min";
                    $this->UI_js ["Progressbar"] = "jquery.ui.progressbar.min";
                    $this->UI_css ["Progressbar"] = "jquery.ui.progressbar";
                    break;
                
                case "Blind" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Blind"] = "jquery.effects.blind.min";
                    break;
                
                case "Bounce" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Bounce"] = "jquery.effects.bounce.min";
                    break;
                
                case "Clip" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Clip"] = "jquery.effects.clip.min";
                    break;
                
                case "Drop" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Drop"] = "jquery.effects.drop.min";
                    break;
                
                case "Explode" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Explode"] = "jquery.effects.explode.min";
                    break;
                
                case "Fade" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Fade"] = "jquery.effects.fade.min";
                    break;
                
                case "Fold" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Fold"] = "jquery.effects.fold.min";
                    break;
                
                case "Highlight" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Highlight"] = "jquery.effects.highlight.min";
                    break;
                
                case "Pulsate" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Pulsate"] = "jquery.effects.pulsate.min";
                    break;
                
                case "Scale" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Scale"] = "jquery.effects.scale.min";
                    break;
                
                case "Shake" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Shake"] = "jquery.effects.shake.min";
                    break;
                
                case "Slide" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Slide"] = "jquery.effects.slide.min";
                    break;
                
                case "Transfer" :
                    $this->UI_js ["eCore"] = "jquery.effects.core.min";
                    $this->UI_js ["Transfer"] = "jquery.effects.transfer.min";
                    break;
                
                default :
                    break;
            }
        }
        return $this;
    }

Как сейчас?

        $ext_jQuery_UI->add_jQuery_UI("Dialog");
        $ext_jQuery_UI->add_jQuery_UI("Fade");
        $ext_jQuery_UI->add_jQuery_UI("Resizable");
        $ext_jQuery_UI->add_jQuery_UI("Draggable");
        $ext_jQuery_UI->add_jQuery_UI("Button");
        $ext_jQuery_UI->add_jQuery_UI("Tabs");
        $ext_jQuery_UI->add_jQuery_UI("Transfer");

А можно так:

            $ext_jQuery_UI->add_jQuery_UI(array(
                    "Dialog",
                    "Fade",
                    "Resizable",
                    "Draggable",
                    "Button",
                    "Tabs",
                    "Transfer"
            ));

или например так:

$ext_jQuery_UI->add_jQuery_UI("Dialog")->add_jQuery_UI("Fade");    

И еще неплохо сделать синоним для функции, а то она слишком длинная.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

14

Re: [Релиз] jQuery UI

надо бы. сейчас исправлю.

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

15

Re: [Релиз] jQuery UI

https://github.com/KANekT/PunBB-extensi … 0bb801d51c

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться

16

Re: [Релиз] jQuery UI

Спасибо, а можно архив новой версии в downloads поместить?

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

17

Re: [Релиз] jQuery UI

0.4.0 архив добавлен. Ui update.

PunBB Extensions | Перед созданием темы => ФАК | Профессиональная разработка сложных сайтов

Расширения распространяются по Creative Commons Attribution-NonCommercial 4.0

Сайт KANekT

Поделиться