ru
Feedback
Путь Bubble-разработчика

Путь Bubble-разработчика

Открыть в Telegram

😎 Фишки и заметки Bubble-разработчика Автор: t.me/revik Провожу обучение и консультации 😎

Больше
231
Подписчики
Нет данных24 часа
Нет данных7 дней
Нет данных30 дней
Архив постов
🔥Превращаем статичные ссылки в кликабельные 🔥 Небольшая подсказка, ускоряющая работу с ссылками в текстовых элементах. Работает с адресами сайтов и почт. Ставь 🔥 если понравилось)

🔥Превращаем список в красиво оформленный текст🔥 Допустим, заказчик хочет чтобы при оформлении очередного заказа ему на почту отправлялся список позиций входящих в заказ. Позиция включает в себя название товара, количество и итоговую стоимость. Как эту информацию оформить списком и отправить в письме? На помощь приходит знакомая многим функция :format as text. Она работает как РГ, только в тексте: вы объясняете как должна выглядеть строка (формируете шаблон), а Баббл сам формирует все строки и разделяет их указанным разделителем. Функция очень помогает при формировании API-запросов, например при массивном создании новых записей через Data API. Поделитесь, каким необычным образом вы используете эту функцию) 🔥Оставь реакцию, если понравилось🔥

🔥Избавляемся от лишних шагов в воркфлоу с помощью :formatted as text🔥 Нередки ситуации когда при создании/редактировании записей нам нужно записать в одно поле разные данные при разных условиях. Решить задачу можно, не создавая дополнительные шаги) Достаточно разместить условие в значение филда и добавить к нему функцию :formatted as text, которое позволяет указать какие значения следуют сообщить полю при выполнении/не выполнении условия. Пример в GIF достаточно примитивен, но позволяет понять суть данной функции) Очень помогает при формировании JSON тела для отправки по API. Избавляет от лишних повторений, и последующей проверки шагов на соответствие последним изменениям. Функция на выходе отдает текст. Есть еще :formatted as number (отдает числа). Напиши в каких еще ситуациях ты использовал эту фишку или планируешь использовать! 🔥Оставь реакцию если понравилось🔥

🔥Создаем переменную внутри workflow и используем её в следующих шагах🔥 Нашел и начал использовать прикольный плагин Variable. Устанавливаем его, и в workflow в разделе Plugins появляются 2 действия "Store a text variable/Store a number variable". Не нужно создавать скрытые input, заполнять промежуточные кастом-стейты для получения расчетов, достаточно создать новый шаг, рассчитать в нем данные и использовать их в следующих шагах. Похожий функционал предоставляет действие Set WF Vars в плагине Canvas Utilities. Можно использовать, например, когда в условии шага нужно сравнить два рассчитываемых значения (как показано в GIF). Количество сценариев ограничено только вашим воображением) Напиши, где бы ты использовал или уже используешь этот плагин. 🔥Оставь реакцию, если понравилось🔥

🔥Автообновление Preview-страницы🔥 Классное ускорение рабочего процесса с плагином Reload on Update от AirDev. После установки плагина, на странице, которую вы хотите автоматически обновлять при внесении изменений, настройте рабочий процесс When page is loaded и внутрь добавьте действие Auto-Reload page on update из раздела Plugins. Внутри экшена можно включить/отключить отображение баннера с предложением обновить страницу. Удобно, например, когда правишь дизайн на одном мониторе а окно с превью расположил на втором. 🔥Оставь реакцию, если понравилось!🔥

🔥Вносим изменения в список записей, не используя "тестовую" страницу🔥 Продолжаем тему взаимодействия со списками Тестовые страницы в проекте безусловно нужны, и вряд ли кто сможет без них обойтись) Но вместо создания отдельной страницы с кнопкой, запускающей API воркфлоу для обработки списка записей (удаление/редактирование/создание новых на основе существующих), можно использовать уже созданный в Баббле интерфейс! Для начала создайте API воркфлоу для обработки ОДНОЙ записи из необходимой таблицы. Укажите в настройках ОДИН параметр с необходимым типом данных. Настройте action для работы с записью (укажите условия при которых действие может выполниться). Затем переходим во вкладку Data, открываем раздел App data и над текущей таблицей видим кнопку Bulk. Эта кнопка позволяет запустить Backend воркфлоу настроенный на работу с ОДНОЙ записью для ВСЕХ записей в текущей таблице! Нажатие на кнопку открывает попап со списком API воркфлоу (неподходящие для работы с текущей таблицей выглядят серыми и некликабельны, под каждым объясняется почему его нельзя использовать). Выберите ранее созданный воркфлоу и ниже появится предупреждение сколько всего записей сейчас находится в таблице и соответственно будет обработано. Нажимаем "Run workflow" и наблюдаем процесс обработки! Напиши в комментариях как ты называешь свои тестовые страницы и оставь реакцию если пост понравился🔥

🔥Создать массив объектов без цикла на бэкенде и получить список unique id всех созданных элементов?🔥 Такую возможность открывает использование Data API. Включить взаимодействие с данными по API можно в настройках: Settings - API - Enable Data API. Под последним пунктом отмечаем таблицы, в которых хотим создавать/удалять/редактировать записи. Не забываем сходить на вкладку Privacy Rules и установить для конкретной таблицы правила использования по API. Теперь мы можем отправлять POST-запрос (на endpoint https://[appname].bubbleapps.io/api/1.1/[typename]/bulk) с телом в JSON-формате: {"key1": value, "key2": value} {"key1": value, "key2": value} Максимальное количество элементов, которые можно создать с помощью одного такого запроса составляет 1000. Существует ограничение в 4 минуты на выполнение запроса; если это займет более 4 минут, элементы, которые еще не были созданы, будут отмечены в ответе как ошибки. Скорость создания зависит от: - доступного capacity - размера создаваемых элементов. В ответ на запрос мы получаем статус и ID созданных записей в текстовом формате. UPD: по совету от @titovdo, если у вас не редачится тело запроса через wf, поставьте формат "Raw" в Body type👌 🔥Оставь реакцию, если понравилось! 🔥 Источник: https://manual.bubble.io/core-resources/api/data-api#bulk-create-new-things

Нашел ценное замечание по поводу листовых API: Оригинал: API workflows are particularly great for handling operations on a list. Bubble's "make changes to a list of things" and "delete a list of things" actions can be unreliable at scale, so using the "schedule an API workflow on a list" is a good option instead. Перевод: API workflows особенно хороши для выполнения операций со списком. Такие функции Bubble как "make changes to a list of things" и "delete a list of things" могут быть ненадежными при работе с большими списками, и вместо них лучше использовать "schedule an API workflow on a list". Source: https://docs.airdev.co/bubble-development-guide/steps/develop/make-things-modular UPD Важное дополнение: эти советы работают, если вы по какой-то причине не хотите/не можете настроить цикл (рекурсивное АПИ). Цикл на бэкенде с правильно выставленной задержкой более надежен, особенно на больших списках.

🔥Убираем паузу между вводом данных в инпут и фильтрацией РГ🔥 Обычно фильтруя РГ значением из инпута мы получаем задержку в пару секунд между вводом текста и показом релевантных результатов. Сократить задержку позволяет плагин Instant Text, который на лету анализирует содержимое инпута и отдает его значение в работу! Почти как FuzzySearch, и чтобы повторить функционал поиска по нескольким полям, можно (за совет спасибо @esporykhin) у сущности создать отдельный филд и в него складывать значения из всех филдов по которым нужно производить поиск. Оставь реакцию, если понравилось!

Как просто настроить изменение внешности кнопки при заполнении обязательных инпутов? 1) указываем какие инпуты не могут быть пустыми 2) прописываем в стиле кнопки атрибуты при условии когда она isn't clickable 3) радуемся)

Клиент захотел добавлять точное местоположение объекта, указывая широту и долготу. Превратить эти данные в geographic address можно по щелчку пальца с помощью функции Calculate formula👌