1.15
Исправлено решение hCaptchaдействие "Создать Список"
-
@FastSpace тупанул - удалять относится к добавленным полям ... Не так понял ....
-

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();
решила проблемыЛучше было открыть шаблон и изменить индекс строки, что бы ссылка в инпут добавлялась корректно:

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

удаляем поле, добавляем и счетчик идет уже с 5

- сохранить такое тоже уже не дает

- отредактировать существующие элементы пр правильном создании дает
- при добавлении нового счетчик уже идет с номера предыдущего элемента (дубль), сохранить дает, но не сохраняется результат


- в редактировании поля можно добавлять и удалять. НО
-
@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 откроется окно фаербага интерфейса





