Skip to content

Добавление элемента

Используется пакет sandbox.

Переходим в lib/features/ - добавляем новую папку или расширяем текущую.

Создание нового элемента(stories)

Новый stories файл должен обязательно называться your_name.stories.dart

дефолтный код создается по сниппету stry

import 'package:flutter/widgets.dart';
import 'package:sandboxed_core/sandboxed_core.dart';


Meta get meta => Meta<Widget>();
final $Default = WidgetStory();`

Пример по переносу knowledge_sprint_frost_notification в отдельный пакет и добавление его в Sandbox

Переносим файл knowledge_sprint_frost_notification.dart из основного приложения в пакет notifications:

Исправляем баги в перенесенном файле. В случае, если были ассеты - нужно их перенести в ассеты пакета и при необходимости добавить новые папки ассетов в pubspec.yaml.

Далее в файле widgets.dart нужно сделать экспорт для доступности перенесенного файла в других пакетах:

Для удобства можно использовать extention VSCode Dart Barrel File Generator ПКМ на папке с новым файлом -> GDBF: Folders' files(recursive)

Кодоген добавит экспорт нового файла:

Далее резолвим в основном проекте импорты, оставляя только тот файл, который мы перенесли в пакет.

Теперь в пакете с Sandboxed заполняем ранее созданный stories файл:

Сохраняем и запускаем кодоген виджетбука командой melos sb:stories

Теперь заполняем файл(Важно! Для stories типы данных всегда идут с Arg в конце):

Теперь проверяем работоспособность: Запускаем сборку Sandbox в Chrome:

Все работает в штатном режиме, вы прекрасны!

Авторы

The avatar of contributor named as melvspace melvspace
The avatar of contributor named as Vadim Melnikov Vadim Melnikov
The avatar of contributor named as Arutyun Gevorkyan Arutyun Gevorkyan

История