@moonsoon Автор модуль не обновляет, поэтому я решил совместимую с BAS версией от 31.1.0 и выше, выложить версию модуля тут LegacyAI_0.16_BAS31_ASYNC_SCOPE_FIX.zip
скорее это делаю для себя, чтобы всегда иметь под рукой дистриб модуля)

USER_STRING == LIST ?????
:v
@Q_Q said in действие "Создать Список":
@Fox 23.2.2 бага. кнопка "удалить" нового элемента удаляет все элементы. причину пока не нашел.
Судя по скриншотам у вас ссылка "Удалить" выравнена не по инпуту, значит она находится в другом контейнере, при этом код удаления привязан к окружению (месту в html коде в котором она находится). Если сможете повторить или хотя бы примерно описать что вы делали, что бы ссылка начала появляться "не вровень", то я смогу это исправить
@Q_Q said in действие "Создать Список":
23.2.2 бага
23 версия??? Я в ней не тестировал модуль, возможно там разметка немного другая. Также в коде используются функции панели сценария, которые появились в 24 версии. Так что код вряд ли будет работать корректно в 23 версии
@Fox предыдущее сообщение я увидел, сам попробую пофиксить, понимаю, что это скорее всего только мне нужно)
понятно, что кнопку куда-то не туда добавляет, все остальное работает.

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


@Q_Q said in действие "Создать Список":
@Fox предыдущее сообщение я увидел, сам попробую пофиксить, понимаю, что это скорее всего только мне нужно)
Восстановил сообщение
понятно, что кнопку куда-то не туда добавляет, все остальное работает.
Всё-всё работает? Попробуйте создать действие "Создать список" с множеством инпутов, затем открыть для редактирование любое другое действие и снова открыть "Создать список". Будут ли корректно восстановлены поля и данные?
А если перезапустить BAS?
@Q_Q said in действие "Создать Список":
event.path[4].remove();
на
event.path[2].remove();
решила проблемы
Лучше было открыть шаблон и изменить индекс строки, что бы ссылка в инпут добавлялась корректно:

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





@Q_Q said in действие "Создать Список":
@Fox said in действие "Создать Список":
Лучше было открыть шаблон и изменить индекс строки, что бы ссылка в инпут добавлялась корректно:
тут я не понял что ты предлагаешь поменять
Я заменил добавление ссылки по индексу на регулярку, сейчас шапку обновлю
@Fox еще потыкал. кароче, правильный индекс получается у меня не 2, а 4, а в модуле вообще 5 стоял.
правильно вот так:
event.path[4].remove();
так вроде все ровно работает
кроме, разве что индексов элементов, логично было бы уменьшать его после удаления элемента

@Q_Q said in действие "Создать Список":
@Fox еще потыкал. кароче, правильный индекс получается у меня не 2, а 4, а в модуле вообще 5 стоял.
правильно вот так:
event.path[4].remove();
так вроде все ровно работает
Вы реально в слепую на авось меняете индекс пути?
кроме, разве что индексов элементов, логично было бы уменьшать его после удаления элемента
А если пользователь удалит не последний инпут, а где нибудь по середине? id инпутов необходимо сохранять уникальным, что бы не потерять сохранённые в инпуте данные


Но мелочи, спасибо за апдейт модуля, хоть я в основном использую выполнить код, апдейт все равно полезный. Например, эту же фичу можно добавить в модуль ожидатель элементов)
@Q_Q said in действие "Создать Список":
- в структуру сильно не вникал, поэтому выбрал индекс методом научного тыка
Это очень ненадёжный способ работы, лучше было открыть консоль и увидеть где находится элемент и какое окружение он пытается удалить
- тогда нужно их переписывать каждый раз при удалении, скорее всего. Что наверное не очень рационально с точки зрения ресурсов, но логично с точки зрения юзера, тк довольно странно выглядит:
Можно либо хранить список id отдельно и заполнять его при открытии действия, либо каждый раз при удалении одного инпута в цикле проверять все инпуты и создавать массив id, что бы можно было определять максимальный id
как минимум, можно добавить обнуление, при удалении всех элементов
Тогда id не будет обнуляться, если удалить все инпуты в ручную через ссылку. Возможно я позже добавлю эффективный и надёжный способ определения максимального существующего id инпута, но сейчас на это нет времени
Но мелочи, спасибо за апдейт модуля, хоть я в основном использую выполнить код, апдейт все равно полезный. Например, эту же фичу можно добавить в модуль ожидатель элементов)
Да, это как раз была одна из целей - показать пример реализации, что бы другие пользователи могли использовать мои наработки в своих модулях.
@Q_Q said in действие "Создать Список":
@Fox said in действие "Создать Список":
Это очень ненадёжный способ работы, лучше было открыть консоль и увидеть где находится элемент и какое окружение он пытается удалить
какую консоль?
Создайте новый проект, откройте его в BAS в режиме записи, откройте настройки проекта

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

замените строку DebugToolbox=false на DebugToolbox=true.
Для работы с панелью сценария

замените строку DebugScenario=false на DebugScenario=true.
Затем сохраните проект и откройте его в режиме "Записи". Вместе с интерфейсом BAS откроется окно фаербага интерфейса
@GhostZ said in действие "Создать Список":
@Fox, можно же просто по ссылке перейти:
И открыть то что нужно:
Да, кстати, так тоже можно. Но я как-то привык уже через ручное изменение параметра..