Skip to content
Snippets Groups Projects
Commit eca5c1f4 authored by David Galeano's avatar David Galeano
Browse files

Resolve #3495277 "Add a link"

parent 26a5f44e
No related branches found
No related tags found
1 merge request!26Resolve #3495277 "Add a link"
Pipeline #384829 passed with warnings
......@@ -2,6 +2,6 @@ name: 'Iconify Icons Provider'
type: module
description: 'Iconify Icons provider to allow definition of Icons from Iconify.'
package: User interface
core_version_requirement: ^10.3 || ^11
core_version_requirement: ^11
dependencies:
- iconify_icons:iconify_icons
......@@ -22,6 +22,10 @@ function iconify_icons_provider_icon_pack_alter(array &$icon_pack_definitions):
$collections = $config->get('collections');
if (empty($collections)) {
return;
}
// Iterate through each collection and create a corresponding icon pack.
foreach ($collections as $collection) {
// Generate a machine name for the icon pack based on the collection name.
......@@ -133,11 +137,42 @@ function _iconify_icons_provider_build_icon_template(): string {
* is enabled.
*/
function iconify_icons_provider_form_field_config_edit_form_alter(&$form, FormStateInterface $form_state, $form_id): void {
if (\Drupal::moduleHandler()->moduleExists('ui_icons_field')) {
$settings = $form['settings'] ?? [];
if (!\Drupal::moduleHandler()->moduleExists('ui_icons_field')) {
return;
}
if ($settings && array_key_exists('allowed_icon_pack', $settings)) {
$form['settings']['allowed_icon_pack']['#description'] .= '<br /><a href="' . Url::fromRoute('iconify_icons_provider.settings', [], ['absolute' => TRUE])->toString() . '">' . t('Add Iconify Icons Packs') . '</a>';
}
$settings = $form['settings'] ?? [];
if ($settings && array_key_exists('allowed_icon_pack', $settings)) {
$form['settings']['allowed_icon_pack']['#description'] .= _iconify_icons_provider_get_iconify_icons_pack_link();
}
}
/**
* Implements hook_form_FORM_ID_alter().
*
* Add a link to the Iconify Icons Packs configuration page if ui_icons_text
* is enabled.
*/
function iconify_icons_provider_form_alter(&$form, FormStateInterface $form_state, $form_id): void {
if (!\Drupal::moduleHandler()->moduleExists('ui_icons_text')) {
return;
}
$icon_embed = $form['filters']['settings']['icon_embed'] ?? [];
if (isset($icon_embed['allowed_icon_pack'])) {
$form['filters']['settings']['icon_embed']['allowed_icon_pack']['#description'] .= _iconify_icons_provider_get_iconify_icons_pack_link();
}
}
/**
* Helper method to get the link to the Iconify Icons Packs configuration page.
*
* @return string
* The link to the Iconify Icons Packs configuration page.
*/
function _iconify_icons_provider_get_iconify_icons_pack_link(): string {
$url = Url::fromRoute('iconify_icons_provider.settings', [], ['absolute' => TRUE])->toString();
return '<br /><a target="_blank" href="' . $url . '">' . t('Add Iconify Icons Packs') . '</a>';
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment