...

В процессе, по условию - скрывать кнопку перехода в задаче.

Тема в разделе "Примеры сценариев", создана пользователем alekc_bpm87, 17 апр 2023.

  1. alekc_bpm87

    alekc_bpm87 Эксперт

    Задача: Реализовать скрытие кнопки перехода Переход1 в задаче процесса, по значению контекстной переменной: Context.data.hide_button типа Да\Нет.
    Реализация: Реализуем на форме нужной задачи в виджет коде:
    Код:
    
    <script>
    $(
    document).ready(async () => {
        if(<%=
    Context.data.hide_button%>)
        {
            
    window.setTimeout(async () => {
                $(
    '.btn.btn-default:contains(" Переход1 ")').css('display''none');
                }, 
    100)
        }
    });
    </script>
    .btn.btn-default - используем для кнопок с настройкой отображения: По-умолчанию (белая)
    .btn.btn-primary - используем для кнопок с настройкой отображения: Основной (синяя заливка)
    .btn.btn-danger - используем для кнопок с настройкой отображения: Важно (красный текст и обводка)
  2. kalinichenko

    kalinichenko Новичок

    Есть сценарий для скрытия в динамике по изменению на форме контекста?
  3. mrmaxonline

    mrmaxonline Участник

    Открыли форму задачи - ОК - кнопка перехода скрылась
    Печаль в том, что если потом нажать F5 то кнопка не скроется
  4. ahkyamov

    ahkyamov Product Owner ELMA365 ECM

    выделить для скрываемой кнопки отдельный стиль (один из 3-х перечисленных выше) и скрывать по CSS селектору
    HTML:
    <style>
    .btn.btn-primary {display: none;}
    <style>
    Если кнопки можно посчитать, можно скрывать по номеру, например вторую:
    HTML:
    <style>
    .btn.btn-primary:nth-of-type(2) {display: none;}
    <style>
  5. ahkyamov

    ahkyamov Product Owner ELMA365 ECM

    HTML:
    <style>
    .fluid-nav-item:nth-child(3) {
    display: none !important;
    }
    </style>
    так скрыл кнопку третьего перехода, например
  6. mrmaxonline

    mrmaxonline Участник

    Значит это не верный путь?
  7. a.shilyaev

    a.shilyaev Участник

    Этот сценарий можно использовать и для динамики на форме задачи, нужно создать свою форму для задачи и добавить нужные переменные и задать сценариями логику динамики.
  8. nick

    nick Новичок

    Код:
    
    <script>
    $(
    document).ready(() => {
        
    //Отменим событие - застревает...
        
    $(document).off('mouseover''.btn.btn-default:contains("регистр")');
        
    //Если док. зарегистрирован:
        
    if (<%=Context.data.__register_name!=null%>) {
            
    window.setTimeout(async () => {
                const 
    $registerButton = $('.btn.btn-default:contains("регистр")');
                
    $registerButton.css('display''none'); // Скрываем кнопку
            
    }, 100);
            
    // Делегирование события mouseover - при повторном появлении кнопка скроется при наведении мыши
            
    $(document).on('mouseover''.btn.btn-default:contains("регистр")', function() {
                
    //console.log('Навели на кнопку "регистр" — скрываем её');
                //$(this).hide(); // или .css('display', 'none')
                
    $(this).attr('disabled'true);
            });
        }
    });
    </script>
    Можно скрестить "ежа и ужа": повесить дополнительно делегирование, например, на mouseover на документ и деактивировать повторно появляющиеся кнопки. Например, при редактировании рег.номера документа блокировать заново появляющуюся после сохранения кнопку "зарегистрировать документ"