Огненный сладкий тост из сладкого, не закрывая его - PullRequest
0 голосов
/ 24 мая 2019

У меня есть своего рода система управления проектами, и я использую всплывающее окно со сладостями в качестве меню настроек для каждого проекта, и я хочу запустить тост при изменении настройки, но это приводит к закрытию меню.Есть ли способ заставить это работать без использования другой библиотеки только для тостов?

Вот код, который я пытаюсь запустить для меню подсластителей

var id = 65352;
Swal.fire({
      title: 'settings for project '+id,
      html:
        "<p>some setting</p>"+
        "<input class='toggle' id='setting' data-docid='"+id+"' type='checkbox' checked>",
        showCancelButton: true,
        showConfirmButton: false,
        cancelButtonText:  'close',
      onBeforeOpen: () => {
        const setting = $("#setting[data-docid="+id+"]");

        $(setting).on("change",function(){
            console.log($(this).attr("checked"));
            if($(this).attr("checked") == "checked"){
                $checked = 1;
            }else{
                $checked = 0;
            }
            $.parameters = {
                id: id,
                checked: $checked,
                type: "accept"
            }
            //using an api to communicate between client and server
            result = "TRUE"
            if(result.indexOf("TRUE") > -1){
                const Toast = Swal.mixin({ //when firing the toast, the first window closes automatically
                  toast: true,
                  position: 'top-end',
                  showConfirmButton: false,
                  timer: 3000
                });

                Toast.fire({
                  type: 'success',
                  title: 'changed the thingy successfully'
                })
            }else{
                const Toast = Swal.mixin({ //when firing the toast, the first window closes automatically
                  toast: true,
                  position: 'top-end',
                  showConfirmButton: false,
                  timer: 3000
                });

                Toast.fire({
                  type: 'error',
                  title: 'cant change the thingy'
                })
            }
        });

      }
    })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8.11.5/dist/sweetalert2.all.min.js"></script>

1 Ответ

0 голосов
/ 24 мая 2019

К сожалению, читая эту ветку кажется, что это невозможно, потому что тост - это модальный способ ...

Но последний комментарий указал, что возможно изменить код Swal2;)

...