diff --git a/modules/ui_icons_library/src/Controller/IconsetsController.php b/modules/ui_icons_library/src/Controller/IconsetsController.php new file mode 100644 index 0000000..143e871 --- /dev/null +++ b/modules/ui_icons_library/src/Controller/IconsetsController.php @@ -0,0 +1,70 @@ +getIconsets(); + foreach ($iconsets as $iconset_id => $label) { + $iconset = \Drupal::service('strategy.manager.iconset')->getInstance($iconset_id); + $icons = $iconset->getIcons(); + $icons = array_slice($icons, 0, static::OVERVIEW_SLICE); + $build[] = [ + '#type' => 'html_tag', + '#tag' => 'h2', + '#value' => $label, + ]; + foreach ($icons as $icon_id => $icon) { + $build[] = $iconset->build($icon_id); + } + $build[] = [ + '#type' => 'html_tag', + '#tag' => 'p', + 0 => [ + '#type' => 'link', + '#title' => $this->t("View more"), + '#url' => Url::fromRoute('ui_icons.single', ["iconset_id" => $iconset_id]), + ] + ]; + } + return $build; + } + + + /** + * Display icons. + * + * @return array + * Return render array. + */ + public function single(string $iconset_id) + { + $build = []; + $iconset = \Drupal::service('strategy.manager.iconset')->getInstance($iconset_id); + $icons = $iconset->getIcons(); + foreach ($icons as $icon_id => $icon) { + $build[] = $iconset->build($icon_id); + } + return $build; + } + +} diff --git a/modules/ui_icons_library/ui_icons_library.info.yml b/modules/ui_icons_library/ui_icons_library.info.yml new file mode 100644 index 0000000..f989583 --- /dev/null +++ b/modules/ui_icons_library/ui_icons_library.info.yml @@ -0,0 +1,8 @@ +name: Iconset Library +type: module +description: 'A sous module of UI Icons to display icons library' +core_version_requirement: ^9 || ^10 +package: Custom +dependencies: + - iconset:iconset + - ui_icons:ui_icons diff --git a/modules/ui_icons_library/ui_icons_library.routing.yml b/modules/ui_icons_library/ui_icons_library.routing.yml new file mode 100644 index 0000000..6d937a2 --- /dev/null +++ b/modules/ui_icons_library/ui_icons_library.routing.yml @@ -0,0 +1,24 @@ +#ui_suite.index: +# path: '/admin/appearance/ui-libraries' +# defaults: +# _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' +# _title: 'UI libraries' +# requirements: +# _permission: 'access content' + +ui_icons.overview: + path: '/icons' + defaults: + _controller: '\Drupal\ui_icons_library\Controller\IconsetsController::overview' + _title: 'Iconsets library' + requirements: + _permission: 'access content' + +ui_icons.single: + path: '/icons/{iconset_id}' + defaults: + _controller: '\Drupal\ui_icons_library\Controller\IconsetsController::single' + _title: 'Iconset details' + requirements: + _permission: 'access content' + diff --git a/src/Controller/IconDisplayController.php b/src/Controller/IconDisplayController.php deleted file mode 100644 index 44258ab..0000000 --- a/src/Controller/IconDisplayController.php +++ /dev/null @@ -1,39 +0,0 @@ -getIconsets(); - foreach ($iconsets as $iconset_id=>$label) { - $iconset = \Drupal::service('strategy.manager.iconset')->getInstance($iconset_id); - $icons = $iconset->getIcons(); - $build[] = [ - '#type' => 'html_tag', - '#tag' => 'h2', - '#value' => $label, -]; - foreach ($icons as $icon_id => $icon) { - $build[] = $iconset->build($icon_id); - } -} - return $build; - } - -} diff --git a/src/Controller/IconsetsController.php b/src/Controller/IconsetsController.php new file mode 100644 index 0000000..e69de29 diff --git a/src/Plugin/IconHandler/CustomIconHandler.php b/src/Plugin/IconHandler/CustomIconHandler.php deleted file mode 100644 index b3d9bbc..0000000 --- a/src/Plugin/IconHandler/CustomIconHandler.php +++ /dev/null @@ -1 +0,0 @@ -