Как изменить доступные параметры в части Выбор меню Действия со строкой в Apex?
Мне удалось изменить параметры в Меню строки, но я все еще пытаюсь изменить что-либо в Меню выбора.
Меню выбора слева и линейное меню справа
Как изменить доступные параметры в части Выбор меню Действия со строкой в Apex?
Мне удалось изменить параметры в Меню строки, но я все еще пытаюсь изменить что-либо в Меню выбора.
Меню выбора слева и линейное меню справа
вы можете попробовать что-то вроде этого:
$(function() {
// Add new Element in the selection action menu
$("#emp_ig_selection_actions_menu").menu("option").items.push({
type: "action",
id: "irHello",
hide: false,
label: 'hello world',
icon: 'fa fa-home',
action: function() {
alert("hello world");
}
});
// Disable Items in the Menu
apex.region("emp").widget().interactiveGrid("getActions").disable("selection-duplicate");
apex.region("emp").widget().interactiveGrid("getActions").disable("selection-revert");
});
Чтобы понять, как работает виджет меню, просмотрите здесь https://docs.oracle.com/database/apex-18.2/AEXJS/menu.html
Демо: https://apex.oracle.com/pls/apex/f?p=28835:2
// Disable Items in the Menu apex.region("ig_gid").widget().interactiveGrid("getActions").disable("selection-duplicate");
- person AWildmann; 12.10.2018
apex.region("ig_gid").widget().interactiveGrid("getViews").disable("selection-duplicate"); apex.region("ig_gid").widget().interactiveGrid("getViews").disable("selection-delete");
- person AWildmann; 15.10.2018
Я нашел решение для редактирования, которое хотел. Поделитесь им здесь для тех, кто тоже может захотеть им воспользоваться.
function(config) {
config.initActions = function( actions ) {
// löscht die Option "Single Row-Ansicht"
actions.remove("single-row-view");
actions.remove("selection-duplicate");
actions.remove("selection-refresh");
};
return config;
}
Используя действие remove, а не widget.disable, я смог удалить поля из Меню выбора, которые я хотел изменить.
Изменить: есть несколько новых опций, которые, похоже, добавил APEX 18.2. Вот коды, которые я нашел до сих пор, которые их отключают. Те, которые я до сих пор не понял, как удалить, - это опции «Заливка» и «Очистить». Надеюсь, это будет полезно всем, кто пытается избавиться от этих опций.
Код, ориентированный на первые два показанных здесь варианта:
actions.remove("selection-copy");
actions.remove("selection-duplicate");
Я попытался использовать префикс «выбор» для параметров заполнения и очистки, но безуспешно. Если кто-нибудь знает их коды, дайте мне знать.
Я тоже новичок. Так декоративно я смог полностью удалить параметры строки «Строка действия», выбрав: - Конструктор страницы -> Тело содержимого -> APEX $ Row_Action-> ПЕРЕЙТИ К правой стороне -> безопасность -> Схема авторизации -> {Not 'роль, которая имеет доступ к странице'Rights}
Для панели инструментов я использовал уже обнаруженный хак, который я ввел в область кода инициализации Java в разделе Атрибуты:
function(config) {
var $ = apex.jQuery;
var toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
toolbarData.splice(5,3);
//remove actions button
config.autoAddRow = false;
config.toolbarData = toolbarData;
return config
}
Я получил возможность опустить пункты меню «Заполнить» и «Очистить» (плюс любые другие, которые вы пожелаете), объединив решения alli pierre yotti и AWildmann, т.е. я сделал именно то, что Alli Pierre Yotti предлагает, но заменил метод disable () на метод remove (), как указано в AWildmann.
Итак, вот код, который я поместил в атрибут «Выполнять при загрузке страницы» на уровне страницы. Я также заменил зашитое имя региона в кавычках на переменную, чтобы упростить будущие изменения статического идентификатора региона, а также упростить копирование этого кода на другие страницы, но это не влияет на решение.
$(function() {
regionStaticId = "emp"
apex.region(regionStaticId).widget().interactiveGrid("getActions").remove("selection-duplicate");
apex.region(regionStaticId).widget().interactiveGrid("getActions").remove("selection-copy");
apex.region(regionStaticId).widget().interactiveGrid("getActions").remove("selection-fill");
apex.region(regionStaticId).widget().interactiveGrid("getActions").remove("selection-copy-down");
apex.region(regionStaticId).widget().interactiveGrid("getActions").remove("selection-clear");
});
Благодаря первоначальным разработчикам решения, я внес лишь поверхностный вклад.
Я не публиковал сообщения в stackoverflow раньше, поэтому извиняюсь, если я должен разметить ссылки на других участников особым образом.
Чтобы скрыть параметры уровня строки (в данном случае «Удалить запись»), я использую следующий CSS:
[id $ = 'ig_row_actions_menu_5']. a-Menu-item, li [id $ = 'ig_row_actions_menu_5'] + .a-Menu-itemSep {display: none}