⚡️ #yiisoftForm #yiisoftYiIBulma #yiisoftYiiBootstrap5 #yiisoftDemo
Выполнен рефакторинг всех виджетов в пакете Yii Form (PR).
• Серьёзно подчищен, а в некоторых местах и переписан, код всего пакета.
• Для генерации HTML-кода используются теги из пакета Yii HTML.
• Подчищены тесты. Для тестирования используются вспомогательные классы из Yii Test Support.
• Исправлены ошибки psalm, уровень psalm повышен до 1.
• MSI увеличен до 89,1%.
Для адаптации к этим изменениям внесены соответствующие правки в конфигурации Yii Bulma (PR) и Yii Bootstrap 5 (PR), а также в в демо веб-приложения (PR).
Выполнен рефакторинг всех виджетов в пакете Yii Form (PR).
• Серьёзно подчищен, а в некоторых местах и переписан, код всего пакета.
• Для генерации HTML-кода используются теги из пакета Yii HTML.
• Подчищены тесты. Для тестирования используются вспомогательные классы из Yii Test Support.
• Исправлены ошибки psalm, уровень psalm повышен до 1.
• MSI увеличен до 89,1%.
Для адаптации к этим изменениям внесены соответствующие правки в конфигурации Yii Bulma (PR) и Yii Bootstrap 5 (PR), а также в в демо веб-приложения (PR).
⚡️ #yiisoftYiiBootstrap5
В виджете
Пример:
В виджете
Breadcrumbs
из пакета Yii Bootstrap 5 исправлена ошибка: не работало отключение "домашней" ссылки (PR).Пример:
<?= Breadcrumbs::widget([
'homeLink' => [],
'links' => $this->params['breadcrumbs'] ?? [],
]) ?>
#yiisoftAssets #МажорныйРелиз #Релиз
🎁 Yii Assets 2.0.0
Изменили публичный API для более удобного использования.
Метод
—————
⚡️ #yiisoftDemo #yiisoftApp #yiisoftYiiJquery #yiisoftView #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftYiiSwagger #yiisoftYiiAuthClient #yiisoftYiiBulma
Внесены соответствующие изменения в пакеты и приложения:
Демо веб-приложения (PR)
Шаблон веб-приложения (PR)
Yii jQuery (PR)
Yii View (PR)
Yii Debug (PR)
Yii Bootstrap 5 (PR)
Yii Swagger (PR)
Yii External Authentication (PR)
Yii Bulma (PR, PR)
🎁 Yii Assets 2.0.0
Изменили публичный API для более удобного использования.
Метод
Yiisoft\Assets\AssetManager::register()
в качестве первого аргумента теперь принимает только один класс бандла. Для регистрации одновременно нескольких классов добавлен новый метод Yiisoft\Assets\AssetManager::registerMany()
(PR).—————
⚡️ #yiisoftDemo #yiisoftApp #yiisoftYiiJquery #yiisoftView #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftYiiSwagger #yiisoftYiiAuthClient #yiisoftYiiBulma
Внесены соответствующие изменения в пакеты и приложения:
Демо веб-приложения (PR)
Шаблон веб-приложения (PR)
Yii jQuery (PR)
Yii View (PR)
Yii Debug (PR)
Yii Bootstrap 5 (PR)
Yii Swagger (PR)
Yii External Authentication (PR)
Yii Bulma (PR, PR)
⚡️ #yiisoftYiiBootstrap5
В виджете
В виджете
Nav
из пакета Yii Bootstrap 5 добавлены новые опции: activeClass
, dropdownOptions
, itemOptions
, linkOptions
(PR).⚡️ #yiisoftDi
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
Пример:
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
ContainerConfigInterface
, позволяющая получить конфигурацию контейнера (PR).Пример:
$config = ContainerConfig::create()
->withDefinitions($definitions)
->withProviders($providers)
->withTags($tags)
->withValidate(false)
->withDelegates($delegates);
$container = new Container($config);
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
⚡️ #yiisoftYiiBootstrap5
В пакете Yii Bootstrap 5 в виджете
В пакете Yii Bootstrap 5 в виджете
Dropdown
добавили методы itemOptions()
и linkOptions()
(PR).⚡️ #yiisoftYiiBootstrap5
Доработали виджеты в пакете Yii Bootstrap 5 (PR):
• в абстрактном классе
• в виджете
• в виджете
Доработали виджеты в пакете Yii Bootstrap 5 (PR):
• в абстрактном классе
Widget
метод getId()
сделали публичным и добавили в нём опциональный аргумент $suffix
;• в виджете
Accordion
добавили свойства expands
, defaultExpand
, headerOptions
и contentOptions
;• в виджете
Tabs
удалили свойства itemOptions
, headerOptions
, encodeLabels
, dropdownClass
, options
и добавили paneOptions
, navDefinitions
.⚡️ #yiisoftYiiBootstrap5
В пакете Yii Bootstrap 5 улучшили пример конфигурации пунктов меню в виджете
В пакете Yii Bootstrap 5 улучшили пример конфигурации пунктов меню в виджете
Nav
(PR).👍1
⚡️ #yiisoftYiiBootstrap5
Исправлена ошибка в пакете Yii Bootstrap 5: не добавлялись необходимые классы к активным элементам со ссылкой
Исправлена ошибка в пакете Yii Bootstrap 5: не добавлялись необходимые классы к активным элементам со ссылкой
/
в виджете Nav
(PR).⚡️ #yiisoftYiiBootstrap5
В пакете Yii Bootstrap 5 добавили новый виджет
Виджет Alert
- Добавлена возможность задать шапку для алерта (методы
- Добавлена возможность включить/отключить экранирование содержимого (метод
- Добавлены методы, устанавливающие тип алерта:
- Добавлена возможность включить/отключить анимацию скрытия алерта (метод
- Добавлен метод
- Добавлен метод
- Метод
Виджет Modal
- Добавлены константы для всех размеров:
- Добавлен метод
- Переопределён метод
- Добавлен метод
- Добавлена возможность указать атрибуты для блоков
- Добавлена возможность включить/отключить анимацию (метод
- Добавлены методы для включения/отключения статического фона (
- Добавлена возможность указать тег для блоков
- Для блоков
- Разрешены пустые заголовок (
Виджет NavBar
- Переопределён метод
- Добавлен метод
- Добавлена возможность указать атрибуты для блока
- Добавлена возможность указать тему (методы
- Добавлена поддержка компонента
- Для блоков
Виджет Tabs
- Исправлено: в методе
В пакете Yii Bootstrap 5 добавили новый виджет
Offcanvas
и сделали много доработок (PR).Виджет Alert
- Добавлена возможность задать шапку для алерта (методы
header()
, headerTag()
и headerOptions()
).- Добавлена возможность включить/отключить экранирование содержимого (метод
encode()
).- Добавлены методы, устанавливающие тип алерта:
primary()
, secondary()
, success()
, danger()
, warning()
, info()
, light()
, dark()
.- Добавлена возможность включить/отключить анимацию скрытия алерта (метод
fade()
).- Добавлен метод
addClassNames()
для установки имён классов.- Добавлен метод
closeButtonTag()
, задающий тег кнопки, закрывающей алерт.- Метод
renderCloseButton()
сделан публичным.Виджет Modal
- Добавлены константы для всех размеров:
SIZE_SMALL
, SIZE_DEFAULT
, SIZE_LARGE
, SIZE_EXTRA_LARGE
.- Добавлен метод
fullscreen()
и константы FULLSCREEN_ALWAYS
, FULLSCREEN_BELOW_SM
, FULLSCREEN_BELOW_MD
, FULLSCREEN_BELOW_LG
, FULLSCREEN_BELOW_XL
, FULLSCREEN_BELOW_XXL
.- Переопределён метод
getId()
: если есть, то возвращается ID из опций, в противном случае генерируется ID с суффиксом -modal
.- Добавлен метод
getTitleId()
, возвращающий идентификатора блока TItle
.- Добавлена возможность указать атрибуты для блоков
Content
(contentOptions()
) и Dialog
(dialogOptions()
).- Добавлена возможность включить/отключить анимацию (метод
fade()
).- Добавлены методы для включения/отключения статического фона (
staticBackdrop()
), прокрутки длинного содержимого (scrollable()
) и центрирования по вертикали (centered()
).- Добавлена возможность указать тег для блоков
Title
, CloseButton
, ToggleButton
, Footer
, Header
и Body
.- Для блоков
Title
, CloseButton
и Footer
добавлена возможность отдельно указать — экранировать или нет содержимое.- Разрешены пустые заголовок (
title
) и подвал (footer
).Виджет NavBar
- Переопределён метод
getId()
: если есть, то возвращается ID из опций, в противном случае генерируется ID с суффиксом -navbar
.- Добавлен метод
expandSize()
и константы EXPAND_SM
, EXPAND_MD
, EXPAND_LG
, EXPAND_XL
, EXPAND_XXL
.- Добавлена возможность указать атрибуты для блока
BrandImage
(метод brandImageAttributes()
).- Добавлена возможность указать тему (методы
theme()
, light()
, dark()
) и константы THEME_LIGHT
, THEME_DARK
.- Добавлена поддержка компонента
Offcanvas
(метод offcanvas()
).- Для блоков
Brand
и Toggle Button
добавлена возможность отдельно указать — экранировать или нет содержимое.Виджет Tabs
- Исправлено: в методе
getId()
не учитывался префикс.🔥5
⚡️ #yiisoftYiiBootstrap5
Ещё несколько улучшений в Yii Bootstrap 5 в виджетах
Ещё несколько улучшений в Yii Bootstrap 5 в виджетах
Alert
, Offcanvas
и Accordion
(PR).⚡️ #yiisoftYiiBootstrap5
В пакете Yii Bootstrap 5 у виджета
В пакете Yii Bootstrap 5 у виджета
Accordion
добавлена поддержка Stringable
-объектов для содержимого элементов аккордеона (PR).⚡️ #yiisoftRbac #yiisoftView #yiisoftYiiView #yiisoftYiiWidgets #yiisoftWidget #yiisoftYiiBulma #yiisoftYiiConsole #yiisoftRequirements #yiisoftYiiQueue #yiisoftYiiRunner #yiisoftMailer #yiisoftYiiDebugApi #yiisoftYiiQueueAmqp #yiisoftHtml #yiisoftYiiMiddleware #yiisoftValidator #yiisoftFiles #yiisoftPackageTemplate #yiisoftYiiBootstrap5 #yiisoftForm #yiisoftClassifier #yiisoftYiiDevTool
Заменили рабочие процессы на переиспользуемые из Yii GitHub Actions в пакетах:
- Yii Role-Based Access Control (PR)
- Yii View (PR)
- Yii View Extension (PR)
- Yii Widgets (PR)
- Yii Widget (PR)
- Yii Bulma (PR)
- Yii Console (PR)
- Yii Requirements Checker (PR)
- Yii Queue (PR)
- Yii Runner (PR)
- Yii Mailer Library (PR)
- Yii Debug API (PR)
- Yii Queue AMQP Driver (PR)
- Yii HTML (PR)
- Yii Middleware (PR)
- Yii Validator (PR)
- Yii Files (PR)
- Yii Package Template (PR)
- Yii Bootstrap 5 (PR)
- Yii Form (PR)
- Yii Classifier (PR)
- Yii Development Tool (PR)
Заменили рабочие процессы на переиспользуемые из Yii GitHub Actions в пакетах:
- Yii Role-Based Access Control (PR)
- Yii View (PR)
- Yii View Extension (PR)
- Yii Widgets (PR)
- Yii Widget (PR)
- Yii Bulma (PR)
- Yii Console (PR)
- Yii Requirements Checker (PR)
- Yii Queue (PR)
- Yii Runner (PR)
- Yii Mailer Library (PR)
- Yii Debug API (PR)
- Yii Queue AMQP Driver (PR)
- Yii HTML (PR)
- Yii Middleware (PR)
- Yii Validator (PR)
- Yii Files (PR)
- Yii Package Template (PR)
- Yii Bootstrap 5 (PR)
- Yii Form (PR)
- Yii Classifier (PR)
- Yii Development Tool (PR)
🔥6
⚡️ #yiisoftForm #yiisoftYiiBulma #yiisoftYiiBootstrap5 #yiisoftDemo
Закончили большой рефакторинг пакета Yii Form (PR):
• Явно выделили фабрику для создания полей, которая позволяет применять ко всем полям общую конфигурацию.
• Сделали хелпер
Адаптировали к этим изменениям демо веб-приложения (PR) и конфигурации в пакетах Yii Bulma (PR) и Yii Bootstrap 5 (PR).
Закончили большой рефакторинг пакета Yii Form (PR):
• Явно выделили фабрику для создания полей, которая позволяет применять ко всем полям общую конфигурацию.
• Сделали хелпер
Field
со статическими методами для создания полей форм и возможностью одновременно использовать в приложении несколько общих конфигураций для полей.Адаптировали к этим изменениям демо веб-приложения (PR) и конфигурации в пакетах Yii Bulma (PR) и Yii Bootstrap 5 (PR).
👍2
⚡️ #yiisoftYiiDebugViewer #yiisoftYiiBulma #yiisoftYiiCaptcha #yiisoftYiiBootstrap5
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Debug Viewer (PR)
- Yii Bulma (PR)
- Yii Captcha Widget (PR)
- Yii Bootstrap 5 (PR)
Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Debug Viewer (PR)
- Yii Bulma (PR)
- Yii Captcha Widget (PR)
- Yii Bootstrap 5 (PR)
👍2
⚡️ #yiisoftYiiBootstrap5
Несколько улучшений в Yii Bootstrap 5.
• В CI пакета добавили проверку транзитивных зависимостей и явно прописали найденные (PR).
• В CI пакета добавили Rector и применили предлагаемые изменения (PR).
Несколько улучшений в Yii Bootstrap 5.
• В CI пакета добавили проверку транзитивных зависимостей и явно прописали найденные (PR).
• В CI пакета добавили Rector и применили предлагаемые изменения (PR).
👍5
⚡️ #yiisoftForm #yiisoftYiiBootstrap5 #yiisoftYiiDataview
Подняли минимальную версию зависимости
- Yii Form (PR),
- Yii Bootstrap 5 (PR),
- Yii Data Widgets (PR).
Подняли минимальную версию зависимости
yiisoft/html
до ^3.0
и адаптировали к ней код в пакетах:- Yii Form (PR),
- Yii Bootstrap 5 (PR),
- Yii Data Widgets (PR).
👍3
#yiisoftYiiBootstrap5 #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Bootstrap 5 1.0.0
Первый стабильный релиз пакета с виджетами для Bootstrap 5:
• Accordion
• Alert
• Breadcrumbs
• Button
• Button Group
• Button Toolbar
• Carousel
• Collapse
• Dropdown
• Modal
• Nav
• NavBar
• Offcanvas
• Progress
• Progress Stack
• Toast
Пример виджета:
🎁 Yii Bootstrap 5 1.0.0
Первый стабильный релиз пакета с виджетами для Bootstrap 5:
• Accordion
• Alert
• Breadcrumbs
• Button
• Button Group
• Button Toolbar
• Carousel
• Collapse
• Dropdown
• Modal
• Nav
• NavBar
• Offcanvas
• Progress
• Progress Stack
• Toast
Пример виджета:
echo Carousel::widget()
->id('carouselExampleOnlyText')
->items(
CarouselItem::to(
Div::tag()
->addClass('bg-primary text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 1'),
P::tag()->content('This is the first slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-success text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 2'),
P::tag()->content('This is the second slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-danger text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 3'),
P::tag()->content('This is the third slide with text.'),
),
),
);
👍15🔥11👾1