действие "Создать Список"

Делитесь модулями
  • @Fox Круто! Три поля маловато всё же.

  • Ждем эту фичу в новой версии)

  • 1bcd3993-d4ab-41f9-91ee-73c485ca2015-image.png

    USER_STRING == LIST ?????
    :v

  • @Fox 23.2.2 бага. кнопка "удалить" нового элемента удаляет все элементы. причину пока не нашел.
    e24baa86-e94d-4687-ab30-4a82305637db-image.png
    8ad8aa2f-be2e-4bdf-8483-75509d6b735d-image.png
    0b6f4099-7303-4159-933f-10dc72bdfb43-image.png
    f9f07109-fe8b-4d9e-bdfe-205620a352b3-image.png
    91350f58-0938-47e3-b3fc-508c73408cad-image.png

  • @Q_Q said in действие "Создать Список":

    @Fox 23.2.2 бага. кнопка "удалить" нового элемента удаляет все элементы. причину пока не нашел.

    Судя по скриншотам у вас ссылка "Удалить" выравнена не по инпуту, значит она находится в другом контейнере, при этом код удаления привязан к окружению (месту в html коде в котором она находится). Если сможете повторить или хотя бы примерно описать что вы делали, что бы ссылка начала появляться "не вровень", то я смогу это исправить

  • @Q_Q said in действие "Создать Список":

    23.2.2 бага

    23 версия??? Я в ней не тестировал модуль, возможно там разметка немного другая. Также в коде используются функции панели сценария, которые появились в 24 версии. Так что код вряд ли будет работать корректно в 23 версии

  • @Fox предыдущее сообщение я увидел, сам попробую пофиксить, понимаю, что это скорее всего только мне нужно)
    понятно, что кнопку куда-то не туда добавляет, все остальное работает.
    087140ec-bf71-4f34-884b-2d22a6b4cff9-image.png
    А так, скачал, поставил, бага, тут особо ничего секретного не натыкаешь)
    поставил удаление - элемента списка, удаляет саму кнопку "удалить". да, куда-то не туда он ее добавляет.
    1ba65e69-e30e-478c-be25-271bddda433d-image.png

    3f4e2f1b-f63b-4926-9888-b837dd18ae92-image.png

  • @Q_Q замена
    506ad29c-9ac9-42d7-979f-9f41e22b9dca-image.png
    event.path[4].remove();
    на
    event.path[2].remove();
    решила проблемы

  • @Q_Q said in действие "Создать Список":

    @Fox предыдущее сообщение я увидел, сам попробую пофиксить, понимаю, что это скорее всего только мне нужно)

    Восстановил сообщение

    понятно, что кнопку куда-то не туда добавляет, все остальное работает.

    Всё-всё работает? Попробуйте создать действие "Создать список" с множеством инпутов, затем открыть для редактирование любое другое действие и снова открыть "Создать список". Будут ли корректно восстановлены поля и данные?
    А если перезапустить BAS?

    @Q_Q said in действие "Создать Список":

    event.path[4].remove();
    на
    event.path[2].remove();
    решила проблемы

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

    3586f66f-b253-4a5c-8bcf-257e7098a907-изображение.png

    Привязываться к индексу строки не очень надёжно, но времени придумывать другой способ небыло. Может потом поменяю на регулярку

  • @Fox

    1. в редактировании поля можно добавлять и удалять. НО
      после добавления счетчик элемента с 4
      49443923-5b2e-4d7d-8abf-8b663850128d-image.png
      удаляем поле, добавляем и счетчик идет уже с 5
      0b8fb879-b9b4-42af-9844-04d149c32136-image.png
    2. сохранить такое тоже уже не дает
      d2079b3e-5ab2-4a72-913d-844da11373ab-image.png
    3. отредактировать существующие элементы пр правильном создании дает
    4. при добавлении нового счетчик уже идет с номера предыдущего элемента (дубль), сохранить дает, но не сохраняется результат
      95e33190-da85-41c0-9380-944176eb1463-image.png
      0b342256-8dee-4b06-805f-f283516d5c24-image.png
  • @Fox said in действие "Создать Список":

    Лучше было открыть шаблон и изменить индекс строки, что бы ссылка в инпут добавлялась корректно:
    тут я не понял что ты предлагаешь поменять

  • @Q_Q said in действие "Создать Список":

    @Fox said in действие "Создать Список":

    Лучше было открыть шаблон и изменить индекс строки, что бы ссылка в инпут добавлялась корректно:
    тут я не понял что ты предлагаешь поменять

    Я заменил добавление ссылки по индексу на регулярку, сейчас шапку обновлю

  • @Fox еще потыкал. кароче, правильный индекс получается у меня не 2, а 4, а в модуле вообще 5 стоял.
    правильно вот так:
    event.path[4].remove();
    так вроде все ровно работает
    кроме, разве что индексов элементов, логично было бы уменьшать его после удаления элемента
    7c697453-a5fa-494c-98c5-66e8fc40c774-image.png

  • @Q_Q said in действие "Создать Список":

    @Fox еще потыкал. кароче, правильный индекс получается у меня не 2, а 4, а в модуле вообще 5 стоял.
    правильно вот так:
    event.path[4].remove();
    так вроде все ровно работает

    Вы реально в слепую на авось меняете индекс пути?

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

    А если пользователь удалит не последний инпут, а где нибудь по середине? id инпутов необходимо сохранять уникальным, что бы не потерять сохранённые в инпуте данные

  • @Fox

    1. в структуру сильно не вникал, поэтому выбрал индекс методом научного тыка
    2. тогда нужно их переписывать каждый раз при удалении, скорее всего. Что наверное не очень рационально с точки зрения ресурсов, но логично с точки зрения юзера, тк довольно странно выглядит:
      56964352-eaad-4875-b567-b80bbf5b72ae-image.png
      как минимум, можно добавить обнуление, при удалении всех элементов
      ceb81f12-5040-45f4-bb07-599bac0056e6-image.png

    Но мелочи, спасибо за апдейт модуля, хоть я в основном использую выполнить код, апдейт все равно полезный. Например, эту же фичу можно добавить в модуль ожидатель элементов)

  • @Q_Q said in действие "Создать Список":

    @Fox

    1. в структуру сильно не вникал, поэтому выбрал индекс методом научного тыка

    Это очень ненадёжный способ работы, лучше было открыть консоль и увидеть где находится элемент и какое окружение он пытается удалить

    1. тогда нужно их переписывать каждый раз при удалении, скорее всего. Что наверное не очень рационально с точки зрения ресурсов, но логично с точки зрения юзера, тк довольно странно выглядит:

    Можно либо хранить список id отдельно и заполнять его при открытии действия, либо каждый раз при удалении одного инпута в цикле проверять все инпуты и создавать массив id, что бы можно было определять максимальный id

    как минимум, можно добавить обнуление, при удалении всех элементов

    Тогда id не будет обнуляться, если удалить все инпуты в ручную через ссылку. Возможно я позже добавлю эффективный и надёжный способ определения максимального существующего id инпута, но сейчас на это нет времени

    Но мелочи, спасибо за апдейт модуля, хоть я в основном использую выполнить код, апдейт все равно полезный. Например, эту же фичу можно добавить в модуль ожидатель элементов)

    Да, это как раз была одна из целей - показать пример реализации, что бы другие пользователи могли использовать мои наработки в своих модулях.

  • @Fox said in действие "Создать Список":

    Это очень ненадёжный способ работы, лучше было открыть консоль и увидеть где находится элемент и какое окружение он пытается удалить

    какую консоль?

  • @Q_Q said in действие "Создать Список":

    @Fox said in действие "Создать Список":

    Это очень ненадёжный способ работы, лучше было открыть консоль и увидеть где находится элемент и какое окружение он пытается удалить

    какую консоль?

    Создайте новый проект, откройте его в BAS в режиме записи, откройте настройки проекта

    61736298-0d21-4806-8264-daeffacf1eed-изображение.png

    и нажмите "Ok". После этого закройте BAS полностью (или переключитесь на другой скрипт), откройте в текстовом редакторе созданный скрипт и найдите в нём строки

    DebugToolbox=false
    DebugScenario=false
    

    Для работы с панелью тулбокса

    dc0eb25d-c2e0-470f-96b6-97258c658389-изображение.png

    замените строку DebugToolbox=false на DebugToolbox=true.

    Для работы с панелью сценария

    5e347bd7-edb9-407b-af9d-fe4713d6e15a-изображение.png

    замените строку DebugScenario=false на DebugScenario=true.


    Затем сохраните проект и откройте его в режиме "Записи". Вместе с интерфейсом BAS откроется окно фаербага интерфейса

  • @Fox, можно же просто по ссылке перейти:

    3ecfc4a7-27a0-4408-8fc9-a0d4887ea741-image.png
    И открыть то что нужно:

    c5804f03-355c-4baf-b4f0-2d49de76ddb1-image.png