Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Развернутое дерево / 25 сообщений из 25, страница 1 из 1
12.10.2010, 16:31
    #36895243
AlMoVi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Добрый день!

Столкнулся с проблемой в версии 4, что при первоначальном заходе на страницу с деревом, или при переходе по линку с дерева (рефреш) на эту же страницу, дерево сворачивается. Есть ли возможность, чтобы дерево всегда было развернуто.
...
Рейтинг: 0 / 0
22.10.2010, 02:27
    #36913590
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Честно говоря, повозился ради интереса с jsTree - и разочарован. Не понравилось мне то, что скрипты, связанные с деревом, вызываются перед закрывающим тегом </body>. И нормальный способ передать что-либо в apex.widget.tree.init() для настройки дерева не увидел; setTimeout(...) лично я за нормальный способ не считаю.

Так что придётся пока что использовать плагины для работы с деревьями в APEX 4. Один уже на форуме выкладывали ...
...
Рейтинг: 0 / 0
30.10.2010, 14:30
    #36929157
vetKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Можно.
$("#treeId").tree({ opened:Li id });
ну или еще какая-нить jQuery фича
( <input onclick='$.tree.focused().open_all("#phtml_1");' value="Open all children" type="button">)
смотрим доку jsTree
...
Рейтинг: 0 / 0
30.10.2010, 14:50
    #36929166
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
vetKa,

оно-то можно (apex.jQuery.tree.reference(...).open_all()), но вот где его указать, чтобы вызвать после того, как отработает apex.widget.tree.init()? С учётом того, что последнее добавляется в скрипте перед самым закрывающим тегом BODY в $(document).ready.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
16.03.2012, 17:47
    #37708955
dvksqlru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
suPPLervetKa,

оно-то можно (apex.jQuery.tree.reference(...).open_all()), но вот где его указать, чтобы вызвать после того, как отработает apex.widget.tree.init()? С учётом того, что последнее добавляется в скрипте перед самым закрывающим тегом BODY в $(document).ready.

Да вот же здесь сделано! Как именно, разобраться пока не удалось, мож будут мнения?
...
Рейтинг: 0 / 0
17.03.2012, 01:37
    #37709477
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
dvksqlru,

есть мнение. Они создают обращением к пакету БД JS-код, который вызывают при загрузке страницы:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
<script src="/istore/htmldb_istore_sections.catTreeJs?APP=500&SESS=2452886860697062" charset="utf-8" type="text/javascript">
$(document).ready(function () {
    var xcl = null;
    $("#treeDiv").live("mouseenter", function (e) {
        $("#catData").stop(true, true).slideDown();
    });
    $("#treeDiv").live("mouseleave", function (e) {
        $("#catData").stop(true, true);
        pd = "*" + $("#productData").html() + "*";
        if (pd != "*null*") {
            $("#productData").stop(true, true).slideDown();
        }
        $.post("htmldb_istore_sections.categoryDefault", {
            p_catid: "1",
            sess: "&SESSION.",
            APP_ID: "&APP_ID."
        }, function (data) {
            $("#catData").html(data);
            $("#catData").css("height", $("#catDataTable").height());
        });
    });
    // $("#catData").live("mouseenter", function(e) {
    // $("#catData").stop(true, true).hide();
    // });
    $(".tree li").live("mouseenter", function (e) {
        $("#catData").stop(true, true);
        $("#catData").clearQueue();
        e.stopPropagation();
        id = $(this).attr("id");
        try {
            xcl.abort();
        } catch (ce) {}
        xcl = $.post("htmldb_istore_sections.categories", {
            p_catid: id,
            sess: "&SESSION.",
            APP_ID: "&APP_ID."
        }, function (data) {
            if (data.length > 100) {
                $("#catData").html(data);
                $("#catData").css("height", $("#catDataTable").height());
                $("#catData").stop(true, true).slideDown();
            }
        });
    });
});

function start() {
    apex.jQuery.tree.reference("tree1504233503435163070").open_branch(apex.jQuery("#1"));
    $.post("htmldb_istore_sections.categoryDefault", {
        p_catid: "1",
        sess: "&SESSION.",
        APP_ID: "&APP_ID."
    }, function (data) {
        $("#catData").html(data);
        $("#catData").css("height", $("#catDataTable").height());
    });
}
window.onload = start;
</script>



Красивый ход.
...
Рейтинг: 0 / 0
17.03.2012, 09:59
    #37709651
dvksqlru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
suPPLerdvksqlru,

Красивый ход.

Что-ж, раз задачу смогли решить заокеанские коллеги, то может быть и кто-то из участников форума предложит простое решение: как при перезагрузке страницы показать ранее выбранный пользователем узел дерева?
...
Рейтинг: 0 / 0
17.03.2012, 18:43
    #37710035
dvksqlru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
dvksqlru, поле
Код: plsql
1.
Selected Node Page Item

таки творит чудеса!
...
Рейтинг: 0 / 0
05.06.2012, 23:42
    #37826817
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
А можно пожалуйста по подробней, как это использовать для решения проблемы?
...
Рейтинг: 0 / 0
06.06.2012, 00:38
    #37826847
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Разобрался, спасибо
...
Рейтинг: 0 / 0
29.07.2012, 20:16
    #37896953
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Здравствуйте, подскажите пожалуйста, как вы решили проблему сохранения узлов дерева в развернутом состоянии после submita страницы? Или может есть какой то способ динамически добавлять новые узлы и записи в дерево?
...
Рейтинг: 0 / 0
30.07.2012, 08:55
    #37897195
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Чтобы не создавать новых тем буду писать здесь...
http://apex.oracle.com/pls/otn/f?p=54245:1
http://apex.oracle.com/pls/apex/
WorkSpace : TRAL
demo/demo
Вопросы / задачи:
1. Есть простой способ закрепить footer?))
2. Выбираем дирекцию - 2, жмем Expand All, видим структура состоит из должностей и разного вида подразделений. Как в дереве должностям присвоить одну картинку, подразделениям другую и отображать в порядке должности first?
3. Пытаемся добавить подразделение или должность, в зависимости от выбранного типа в select-list. Жмем добавить, происходит submit, после перегрузки страницы дерево должно раскрыться, выделенный элемент остаться, новый элемент отображаться в месте куда его добавляли.
4. В идеале сделать добавление динамическим, жмем ADD, в выделенном узле дерева появляется новый элемент, insert данных прошел.
...
Рейтинг: 0 / 0
31.07.2012, 11:02
    #37898752
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Подскажите, как добавить свои атрибуты к tree из селекта, по которому строится дерево при загрузки страницы. Сейчас есть только id, в link я прописал функцию, которая через demond процесс вытаскивает все эти атрибуты, но это по каждому клику по элементу дерева приходится лезть в бд...
...
Рейтинг: 0 / 0
31.07.2012, 13:09
    #37898961
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
tBikRuЧтобы не создавать новых тем буду писать здесь...
http://apex.oracle.com/pls/otn/f?p=54245:1
http://apex.oracle.com/pls/apex/
WorkSpace : TRAL
demo/demo
Вопросы / задачи:
1. Есть простой способ закрепить footer?))
2. Выбираем дирекцию - 2, жмем Expand All, видим структура состоит из должностей и разного вида подразделений. Как в дереве должностям присвоить одну картинку, подразделениям другую и отображать в порядке должности first?
3. Пытаемся добавить подразделение или должность, в зависимости от выбранного типа в select-list. Жмем добавить, происходит submit, после перегрузки страницы дерево должно раскрыться, выделенный элемент остаться, новый элемент отображаться в месте куда его добавляли.
4. В идеале сделать добавление динамическим, жмем ADD, в выделенном узле дерева появляется новый элемент, insert данных прошел.
1. Ничего не понял, что именно закрепить?
2. Есть же столбец icon + decode/case + order siblings by
3. В чем проблема?
4. Погуглите на тему Ajax.

авторПодскажите, как добавить свои атрибуты к tree из селекта, по которому строится дерево при загрузки страницы. Сейчас есть только id, в link я прописал функцию, которая через demond процесс вытаскивает все эти атрибуты, но это по каждому клику по элементу дерева приходится лезть в бд...
С данным видом дерева - используя css, jQuery, value записывается в id
...
Рейтинг: 0 / 0
31.07.2012, 14:06
    #37899101
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
SvDev1. Ничего не понял, что именно закрепить?
2. Есть же столбец icon + decode/case + order siblings by
3. В чем проблема?
4. Погуглите на тему Ajax.
1.

2. Спс здесь понятно.
3. Не представляю, как сохранить структуру открытого до submita дерева.
4. Из всего нагугленого самое интересное, что я нашел , правда там удаляют динамически.
SvDevС данным видом дерева - используя css, jQuery, value записывается в id
Как используя те же методы, добавить другие данные из моего селекта в атрибуты например typ, parent_id и тд...
...
Рейтинг: 0 / 0
31.07.2012, 14:10
    #37899105
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
...
Рейтинг: 0 / 0
31.07.2012, 15:47
    #37899270
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
автор1. Есть простой способ закрепить footer?))
Чтобы плавал вместе со скроллом?
Всё достаточно просто, поищите подходящий jquery plugin, который вам подойдёт, потом прикручивайте к page template, как там будет написано
tBikRuSvDevС данным видом дерева - используя css, jQuery, value записывается в id
Как используя те же методы, добавить другие данные из моего селекта в атрибуты например typ, parent_id и тд...
Изучайте jQuery manipulation Traversing , Ничего сложного здесь нет, + добавление в базу можете сделать через DA execute pl/sql code
по кнопкам как у вас сейчас или через выпадающее меню, как в примере
автор3. Не представляю, как сохранить структуру открытого до submita дерева.
STFF
12266821
Ajax Tree 2link
...
Рейтинг: 0 / 0
31.07.2012, 23:29
    #37899679
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
SvDevЧтобы плавал вместе со скроллом?
Всё достаточно просто, поищите подходящий jquery plugin, который вам подойдёт, потом прикручивайте к page template, как там будет написано
Как на нормальных сайтах, когда footer всегда внизу, независимо есть ли прокрутка или нет. Ладно, думаю, посмотрю template там css стилей добавлю к блоку footera.[/quot]
SvDevИзучайте jQuery manipulation Traversing , Ничего сложного здесь нет, + добавление в базу можете сделать через DA execute pl/sql code
по кнопкам как у вас сейчас или через выпадающее меню, как в примере
Скачал, почитаю спасибо.[/quot]
автор3. Не представляю, как сохранить структуру открытого до submita дерева.
Разобрался: в Edit Tree Attributes выставляем Selected Node Page Item на тот hidden item, который будет хранить ID выбранной в дереве ветки. Там же в Tree Query прописываем вызов функции, которая при каждом клике по узлу дерева присваивает нашему hidden itemy (P1_SELECTED_ID) значение ID выбранного узла
Код: plsql
1.
'javascript:select('''|| "ID" ||''')' as link

. В Edite страницы в Function and Global Variable Declaration описываем функцию select.
Код: javascript
1.
2.
3.
function select(node){
  $s("P1_SELECTED_ID", node);
  }

Все, дальше создаем Branches на переход по кнопке (ADD) на туже страницу и передаем P1_SELECTED_ID со значением &P1_SELECTED_ID. Теперь при нажатии на кнопку Add, происходит redirect на эту же страницу, но структура дерева сохраняется.
...
Рейтинг: 0 / 0
02.08.2012, 09:41
    #37901323
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Не нашел ответа на форуме, спрошу здесь, тк это в продолжении темы...
1. Есть Demond процесс, в нем переменной P1_NEW_ID присваивается новый ID
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
begin
    select sq.nextval into :P1_NEW_ID from dual; 
    insert into DEPT(ID, DNAME, PARENT_ID, ORD, MANID)
    values (:P1_NEW_ID , apex_application.g_x01, apex_application.g_x02, null, apex_application.g_x03);
    owa_util.mime_header('text/xml', FALSE );  
    htp.p('Cache-Control: no-cache');  
    htp.p('Pragma: no-cache');  
    owa_util.http_header_close;  
    htp.p('{result:"success",message:"Hello world"}'); 
exception when others then  
    owa_util.mime_header('text/xml', FALSE );  
    htp.p('Cache-Control: no-cache');  
    htp.p('Pragma: no-cache');  
    owa_util.http_header_close;  
    htp.p('{result:"failed",message:"Hello Apex'||sqlerrm||'"}');  
end;


2. В javascript функции вызываю процесс и в функции мне нужно использовать значение этого нового ID (P1_NEw_ID).
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function addDept(){ 
  var ro = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=ADD_DEPT',$v('pFlowStepId'));
    ro.addParam('x01', $v('P1_DNAME'));
    ro.addParam('x02', $v('P1_SELECTED_ID'));  
    ro.addParam('x03', $v('P1_DIR'));
    gReturn = ro.get();    
    var j = eval("("+gReturn+")");  
    if (j.result == "success") {
    alert(document.getElementById("P1_NEW_ID").value); 
    $("#" + $v("P1_SELECTED_ID")).append('<ul><li id='+$v("P3_NEW_ID")+' class="last leaf"><a href="javascript:select('+$v("P1_NEW_ID")+')" style class><ins></ins>'+$v("P1_DNAME")+'</a></li></ul>'); 
    }
}


Проблема, что ID не обновляется если несколько раз вызвать эту функцию, хотя в Session переменная P3_NEW_ID постоянно увеличивается, как только вызывается эта функция.
...
Рейтинг: 0 / 0
02.08.2012, 11:24
    #37901531
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
tBikRu,

Например, json_SetItems

Через DA не проще?
...
Рейтинг: 0 / 0
02.08.2012, 21:17
    #37902648
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
SvDevtBikRu,
Например, json_SetItems
Через DA не проще?
Я начинающий, пока не добрался до DA и json вообще не знаю, но с поставленной задачей справился.
Столкнулся с проблемой, что при клике по иконке происходит выделение элемента дерева, но javascript: function select(), которая прописана на onclick в linke дерева не запускается.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
select case when connect_by_isleaf = 1 then 0
            when level = 1             then 1
            else                           -1
       end as status, 
       level, 
       "DEPARTMENT" as title, 
       case 
        when typ = 2 then '&IMAGE_PREFIX.libraries/jquery-jstree/0.9.9a2/themes/classic/icons.png' 
        else '&IMAGE_PREFIX.apex/builder/tree_process.png'
       end as icon, 
       "ID" as value, 
       null as tooltip, 
      'javascript:select('|| "ID" ||')' as link,
       typ as typ,
       ord as ord 
from "#OWNER#"."V_TREE"
start with "PARENT_ID" is NULL AND ID = :P1_DIR
connect by prior "ID" = "PARENT_ID"
order siblings by typ, ORD


...
Рейтинг: 0 / 0
03.08.2012, 00:02
    #37902727
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Apex 4.0.2 (Oracle XE) помещаю в Execute when Page Loads и не работает, а если вызвать этот код с кнопки то работает.
Код: javascript
1.
document.getElementById("apex_layout_15025645262535605").firstChild.firstChild.nextSibling.nextSibling.style.display = 'none';


Зато на http://apex.oracle.com/pls/apex/f?p=54245:1 все отлично. И через Execute when Page Loads и через кнопку
Чудеса блин...
Сайт
ApplicationBuilder
WorkSpace : TRAL
demo/demo
...
Рейтинг: 0 / 0
03.08.2012, 10:30
    #37903013
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
tBikRuApex 4.0.2 (Oracle XE) помещаю в Execute when Page Loads и не работает, а если вызвать этот код с кнопки то работает.
Код: javascript
1.
document.getElementById("apex_layout_15025645262535605").firstChild.firstChild.nextSibling.nextSibling.style.display = 'none';


Зато на http://apex.oracle.com/pls/apex/f?p=54245:1 все отлично. И через Execute when Page Loads и через кнопку
Чудеса блин...
Сайт
ApplicationBuilder
WorkSpace : TRAL
demo/demo
Прошу прощения, в Execute when Page Loads перед кодом была строчка с несуществующим Itemom.
Проблема с иконкой актуальна.
...
Рейтинг: 0 / 0
30.08.2012, 00:19
    #37936408
tBikRu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Развернутое дерево
Помогите пожалуйста передать значение с одной страницы на другую.
Есть <input ID = "P1_PARENT" value = "Передаваемое значение"> на странице 1, при нажатии элемент<img ID = "P1_IMG" onclick = "javascript:popupURL('f?p=54245:2:1189628244955001::::P2_X:&P1_PARENT.')"> должно открываться окно 2 и <inputy ID = "P2_X"> должно передаваться значение от P1_PARENT.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
05.05.2014, 17:16
    #38633577
Развернутое дерево
//раскрываем список при загрузке страницы
$(function(){
//выделяем отредактированный элемент
setTimeout('expandAll()',1000);
setTimeout('sel()',1000);
})

function expandAll(){
var tree_id = $('.tree').attr('id');
apex.widget.tree.expand_all(tree_id );
}
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Развернутое дерево / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]