powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / InteractiveReport JS API
9 сообщений из 9, страница 1 из 1
InteractiveReport JS API
    #39658182
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Имеется APEX5. Хочу понять как работать с ним через JS, а именно, делать все то же что и через основную панель (добавлять/удалять фильтры, подсветка и прочее). В интернете ничего не нашел. Переформатировал widget.interactivereport.min.js для читаемости и попробовал дебажить чтобы понять что и как вызывается, но процесс довольно сложный, да и знаний работы с devtools хрома не хватает.

Пока что требуется через JS менять вид (фильтры/количество колонок). Все на что хватило знаний - это сохранить новый публичный отчет и вызывать его через правку select (список отчетов) и триггерить change чтобы отработало. Оно работает, но некрасиво, так как нужно все таки через API отчета такое делать.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39658395
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

По IG найдёте больше информации.
Перед чтением кода, включите apex debug, тогда вместо минифицированных версий будут подгружаться полные версии js с комментариями.

делал добавление фильтров из js в 4.2, но в 5.0 апи другое.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39658451
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevПо IG найдёте больше информации.Я кстати как раз вчера и сегодня искал js API для IR/IG. В интернетах пишут, что публичного API формально нет, а все, что есть - недокументированные вещи, которые только на свой страх и риск использовать. Не подскажете, как там с документацией?
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39658483
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич,

По IG есть статьи, где подробно написано, как им пользоваться

http://hardlikesoftware.com/weblog/2017/01/18/how-to-hack-apex-interactive-grid-part-1/
http://hardlikesoftware.com/weblog/2017/01/24/how-to-hack-apex-interactive-grid-part-2/
http://hardlikesoftware.com/weblog/2017/02/20/how-to-hack-apex-interactive-grid-part-3/
http://hardlikesoftware.com/weblog/2017/03/31/how-to-hack-apex-interactive-grid-part-4/

ну и он изначально разрабатывался так, чтобы им в будущем пользовались.

с IR в версии 4.2 всё было печально, например, апи требовало наличия заполненных items с параметрами фильтров, приходилось их динамически добавлять и удалять.

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

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
function add_row_filter() {

  var l_filter_name = "myfilter";
  var l_filter_expr = "(A=1 or B=2)";

  $('form#wwvFlowForm #apexir_FILTER_TYPE,form#wwvFlowForm #apexir_FILTER_NAME,form#wwvFlowForm #apexir_FILTER_EXPR').remove();
  $('form#wwvFlowForm').append('<input name="p_ignore_01" value="" id="apexir_FILTER_TYPE" type="hidden" />')
                       .append('<input name="p_ignore_10" value="" id="apexir_FILTER_NAME" type="hidden" />')
                       .append('<input name="p_ignore_10" value="" id="apexir_FILTER_EXPR" type="hidden" />');
  $("#apexir_FILTER_TYPE").val('ROW');
  $("#apexir_FILTER_NAME").val(l_filter_name)
  $("#apexir_FILTER_EXPR").val(l_filter_expr);

  gReport.column.filter();

  $('form#wwvFlowForm #apexir_FILTER_TYPE,form#wwvFlowForm #apexir_FILTER_NAME,form#wwvFlowForm #apexir_FILTER_EXPR').remove();  
  

}



впрочем в версии 5.0 было много изменений в апи, ситуация могла измениться.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39658492
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например в виджете нашел такой метод
_filterSave: function(a) {
Дебагом на него попадаю когда добавляю фильтр. Но как вызвать из JS по ID региона не представляю.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39658515
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39659792
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevПо IG есть статьи, где подробно написано, как им пользоваться

http://hardlikesoftware.com/weblog/2017/01/18/how-to-hack-apex-interactive-grid-part-1/
http://hardlikesoftware.com/weblog/2017/01/24/how-to-hack-apex-interactive-grid-part-2/
http://hardlikesoftware.com/weblog/2017/02/20/how-to-hack-apex-interactive-grid-part-3/
http://hardlikesoftware.com/weblog/2017/03/31/how-to-hack-apex-interactive-grid-part-4/

ну и он изначально разрабатывался так, чтобы им в будущем пользовались.Спасибо, конечно, но это все понятно и я уже сто раз на них натыкался. Я про другое.
Вот захотел я допустим самостоятельно добавить строку в грид. Нагуглил топик: https://community.oracle.com/thread/4005470
который предлагает решение:
Код: javascript
1.
apex.region("IG-static-ID").widget().interactiveGrid("getActions").invoke("addRow");

Где найти это в документации?
Я нашел именно эту строчку в документации тут: https://docs.oracle.com/database/apex-5.1/AEAPI/apex-region.htm#AEAPI-GUID-E876693A-3F77-4218-B5D5-94AE49C05537
Но больше там ни слова. Имею желание найти все остальные возможности.

Вы поймите правильно. Я ж не просто пилю себе наколенку для автоматизации работы отдела, у меня работодатель делает продукт и продает его за сотни нефти, хотелось бы несколько более солидных пояснений, чем просто "мамой клянусь" от блогера-фрилансера (при всем моем уважении). Вот та строчка, про которую я выше писал. Оне ведь в таком виде даже не работает. Надо чуть поменять:
Код: javascript
1.
apex.region("IG-static-ID").widget().interactiveGrid("getActions").invoke("row-add-row");

Вот такие вещи хотелось бы из официальной доки узнавать, а не с миру по нитке.

Надеюсь, понятно изложил проблему.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39660333
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич,

По официальной документации мне известно не больше вашего. Статус js api reference: Pre-General Availability: 2018-4-26. И это, считай, первая версия, где есть хоть какая-то официальная документация по виджетам. И там про виджет Interactivegrid пока ничего нет. Могут обновить через пару дней или добавить со следующим патчем / в следующих версиях. Скорее раньше, чем позже, имхо.
По IR вообще сомневаюсь что добавят, скорее заменят на IG.

Наличие документации не означает, что не придётся столкнуться с такими же проблемами, как и при использовании недокументированного апи, но лишние риски при апгрейде. Например, было дерево jsTree, у которого есть своя документация, сейчас заменили на apextree и куда девать код к jsTree ? Или еще раньше, было дерево на шаблонах html, типа шаблоны круто, можно пилить любой html, потом заменили на дерево jsTree и куда девать тот код ? Таких примеров хватает. Ждать, пока добавят документацию или не ждать - у каждого своя специфика.
...
Рейтинг: 0 / 0
InteractiveReport JS API
    #39711073
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки пришел праздник и на нашу улицу: https://docs.oracle.com/database/apex-18.2/AEXJS/interactiveGrid.html
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / InteractiveReport JS API
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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