Descripción general del servicio Angular Icon

    El servicio de iconos de Ignite UI for Angular permite a los desarrolladores agregar nuevos iconos de varias fuentes a sus interfaces de usuario.

    Introduction

    El servicio de iconos de Ignite UI for Angular proporciona varios métodos que permiten a los usuarios crear y administrar familias de iconos.

    El servicio de iconos se puede importar directamente desde el paquete Ignite UI for Angular.

    import { IgxIconComponent, IgxIconService } from 'igniteui-angular';
    
    
    @Component({
        selector: 'app-root',
        standalone: true,
        imports: [ IgxIconComponent ]
    })
    export class AppComponent implements OnInit {
        constructor(public iconService: IgxIconService) {}
    }
    

    Adding Icon Families

    De forma predeterminada, el servicio de iconos establece su familia predeterminada en material.

    La adición de nuevas familias de iconos se realiza mediante el setFamily método del servicio de iconos. Crea una entrada de familia con algunos metadatos que instruyen al componente sobre los igx-icon iconos que debe renderizar.

    Usemos un ejemplo práctico para explicar cómo funciona el setFamily método:

    /** 
    * The icon service associates a given family name (provided by the user) 
    * with a specific CSS class (as documented in the providing icon font) 
    * and corresponding icon name (documented in the icon font).
    * NOTE: Material is already the default family.
    */ 
    iconService.setFamily('material', { className: 'material-icons', type: 'liga' });
    iconService.setFamily('fa-solid', { className: 'fas', type: 'font', prefix: 'fa' });
    

    El ejemplo anterior crea dos familias de iconos: 'material' y 'fa-solid'. Sus tipos son diferentes, la material familia se registra como liga, mientras que la fa-solid familia se registra como font. La diferencia entre los dos es cómo el igx-icon componente los renderizaría. Por lo general, Font Awesome usa nombres de clase para especificar puntos de código a una familia de fuentes, por lo que establecemos su tipo en font. Cada vez que tengamos que confiar en puntos de código para representar iconos, debemos establecer el tipo en font. La familia Material Icons sigue siendo una familia de fuentes, sin embargo, la forma estándar de mostrar un icono es proporcionar un ligature nombre, en lugar de un nombre de clase que apunte a un punto de código específico. Por esa razón, necesitamos establecer el tipo en liga. Hay un tercer tipo svg de familia, que está reservado para las familias de iconos que estarán compuestas por SVG que se registran a través del servicio de iconos.

    Una vez registradas las dos familias de fuentes anteriores, ahora podemos consumir sus iconos de forma estandarizada a través del igx-icon componente:

    <igx-icon family="material" name="home"></igx-icon>
    <igx-icon family="fa-solid" name="car"></igx-icon>
    

    Es posible que haya notado que para la material familia usamos la ligadura name como nombre, mientras que en el caso de la fa-solid familia especificamos el className nombre for, que es fa-car pero elimine el fa-prefijo como se especificó cuando registramos la familia de iconos en el paso anterior.

    Adding SVG Icons

    El servicio de iconos Ignite UI for Angular nos permite asociar imágenes SVG con familias y darles nombres para que puedan incluirse a través del igx-icon componente de la misma manera que los iconos basados en fuentes. Los SVG deben resolverse a través de cadenas o a través de URI absoluto al recurso SVG.

    // Add a new 'material' icon called 'my-icon' from an SVG file
    iconService.addSvgIcon('my-icon', 'my-icon.svg', 'material');
    
    // Add a new 'fa-solid' icon called 'my-icon' from string 
    iconService.addSvgIconFromText('my-icon', '<svg>...</svg>', 'fa-solid');
    

    Más adelante en el marcado:

    <igx-icon family="material" name="my-icon"></igx-icon>
    <igx-icon family="fa-solid" name="my-icon"></igx-icon>
    

    Tenga en cuenta que estamos agregando íconos SVG personalizados a las familias de tipos liga y font. Esto es posible porque los addSvgIcon métodos y addSvgIconFromText registran los iconos como svg tipo implícitamente, lo que permite que el igx-icon componente represente correctamente el SVG.

    Meta Families

    El servicio de iconos de Ignite UI for Angular nos permite crear pseudo mapas familiares que combinan iconos añadidos mediante la configuración de una familia de iconos de fuentes o la adición de SVG bajo un paraguas común para que sea más fácil hacer referencia a ellos.

    // The `setIconRef` sets an icon reference in the icon map,
    // assuming material and fa-solid have been added as families,
    iconService.setIconRef('home', 'my-family', { family: 'material', name: 'home' });
    iconService.setIconRef('home-alt', 'my-family', { family: 'fa-solid', name: 'home' });
    iconService.setIconRef('car', 'my-family', { family: 'fa-solid', name: 'car' });
    

    Más adelante en el marcado:

    <igx-icon family="my-family" name="home"></igx-icon>
    <igx-icon family="my-family" name="home-alt"></igx-icon>
    <igx-icon family="my-family" name="car"></igx-icon>
    

    Icon Retrieval

    Es posible obtener un icono para un icono y determinado family con el fin de leer el icono type original, name, family, y className. name

    const { family, className, name, type } = iconService.getIcon('my-family', 'car');
    
    console.log(family); // -> 'fa-solid'
    console.log(className); // -> 'fas'
    console.log(name); // -> 'fa-car'
    console.log(type); // -> 'font'
    

    Internal Usage

    A partir de la versión 18.1.0 de Ignite UI for Angular, agregamos un nuevo setFamily método que nos permite crear nuevas familias de iconos en el servicio de iconos y asociarlos con clases, tipos e incluso prefijos CSS. Además, los iconos utilizados internamente ahora se declaran por referencia en una nueva default familia con nombres con alias (consulte la tabla a continuación).

    Alias Icono de objetivo Target Family
    add add material
    add_child agregar-niño imx-icons
    add_row fila de adición imx-icons
    arrow_back arrow_back material
    arrow_drop_down arrow_drop_up material
    arrow_forward flecha_adelante material
    arrow_next chevron_right material
    arrow_prev chevron_izquierda material
    case_sensitive case-sensitive imx-icons
    carousel_next flecha_adelante material
    carousel_prev arrow_back material
    chevron_left chevron_izquierda material
    chevron_right chevron_right material
    reloj access_time material
    cerrar cerca material
    colapso expand_less material
    confirmar controlar material
    date_range date_range material
    borrar delete material
    drag_indicator drag_indicator material
    editar editar material
    error error material
    expandir expand_more material
    expand_more expand_more material
    file_download file_download material
    filter_all Seleccionar-todo imx-icons
    filter_before es-antes imx-icons
    filter_contains Contiene imx-icons
    filter_does_not_contain no-contiene- imx-icons
    filter_empty está-vacío imx-icons
    filter_equal Iguales imx-icons
    filter_false es-falso imx-icons
    filter_greater_than mayor que imx-icons
    filter_greater_than_or_equal mayor o igual que imx-icons
    filter_in está-en imx-icons
    filter_last_month último mes imx-icons
    filter_last_year El año pasado imx-icons
    filter_less_than menos de imx-icons
    filter_less_than_or_equal menor o igual imx-icons
    filter_next_month El mes que viene imx-icons
    filter_next_year El año que viene imx-icons
    filter_not_empty no-vacío imx-icons
    filter_not_equal no igual imx-icons
    filter_not_null es-no-nulo imx-icons
    filter_null es-nulo imx-icons
    filter_starts_with comienza-con imx-icons
    filter_this_month este mes imx-icons
    filter_this_year Este año imx-icons
    filter_today Hoy imx-icons
    filter_true es-verdad imx-icons
    filter_yesterday Ayer imx-icons
    first_page primera página material
    group_work trabajo en equipo material
    esconder visibilidad_desactivada material
    import_export importación y exportación material
    input_collapse arrow_drop_up material
    input_clear claro material
    input_expand flecha_drop_abajo material
    jump_down Salto hacia abajo imx-icons
    jump_up Saltar imx-icons
    last_page última página material
    more_vert more_vert material
    próximo navigate_next material
    anclar pin a la izquierda imx-icons
    Prev navigate_before material
    actualizar actualizar material
    eliminar Cancelar material
    buscar buscar material
    seleccionado hecho material
    mostrar visibilidad material
    sort_asc flecha_hacia arriba material
    sort_desc flecha_hacia abajo material
    Funciones Funciones material
    table_rows table_rows material
    Hoy calendar_today material
    tree_collapse expand_more material
    tree_expand chevron_right material
    unfold_less desplegar_menos material
    unfold_more unfold_more material
    Desanclar desanclar a la izquierda imx-icons
    view_column view_column material

    Para aprovechar la ventaja de cambiar los iconos internos por referencia, en lugar de crear plantillas personalizadas, puede hacer lo siguiente para reemplazar los iconos de expandir/contraer en el combo y seleccionar componentes:

    iconService.setIconRef('input_expand', 'default', {
        name: 'arrow_downward',
        family: 'material',
    });
    
    iconService.setIconRef('input_collapse', 'default', {
        name: 'arrow_upward',
        family: 'material',
    });
    

    Esto establecerá los iconos de expansión y contracción en las arrow_downward ligaduras y arrow_upward, respectivamente, de la material familia de fuentes para todos los componentes combinados y seleccionados.

    A continuación, se muestra un desglose de todos los iconos utilizados por cada componente:

    Tira de acción

    Icono Descripción
    add_child Utilizado por el menú emergente.
    add_row Utilizado por el menú emergente.
    more_vert Utilizado por el menú emergente.

    Calendario

    Icono Descripción
    arrow_prev Utilizado por el encabezado para navegar entre meses/años.
    arrow_next Utilizado por el encabezado para navegar entre meses/años.
    Icono Descripción
    carousel_prev Se utiliza para navegar entre diapositivas.
    carousel_next Se utiliza para navegar entre diapositivas.

    Chip

    Icono Descripción
    seleccionado Se utiliza para indicar que se ha seleccionado una ficha.
    eliminar Se utiliza para el botón de eliminación.

    Combo (incl. Combo Simple)

    Icono Descripción
    case_sensitive Se utiliza para indicar y alternar el filtrado que distingue entre mayúsculas y minúsculas.
    input_clear Se utiliza para el botón de borrar.
    input_expand Se utiliza para el botón de alternancia cuando el menú combinado está colapsado.
    input_collapse Se utiliza para el botón de alternancia cuando se expande el menú combinado.

    Selector de fechas

    Icono Descripción
    Hoy Se utiliza para el botón de alternancia que activa el selector.
    input_clear Se utiliza para el botón de borrar.

    Selector de intervalo de fechas

    Icono Descripción
    date_range Se utiliza para el botón de alternancia que activa el selector.

    Panel de expansión

    Icono Descripción
    expandir Se utiliza para el botón de alternancia que desencadena el estado expandido.
    colapso Se utiliza para el botón de alternancia que desencadena el estado contraído.

    Red

    Icono Descripción
    add Se utiliza en el menú de filtro de Excel para agregar una entrada de filtro.
    arrow_back Se utiliza en varios elementos de la interfaz de usuario para mover una columna hacia atrás.
    arrow_drop_down Se utiliza en varios botones para indicar menús alternables.
    arrow_forward Se utiliza en varios elementos de la interfaz de usuario para mover una columna hacia adelante.
    Cancelar Se utiliza en varios elementos de la interfaz de usuario para cancelar operaciones.
    chevron_right Se utiliza para indicar menús expandibles, como en el filtrado de estilo de Excel.
    cerrar Se utiliza para cerrar un menú expandido.
    confirmar Se utiliza para confirmar una operación.
    drag_indicator Se utiliza para mostrar un controlador para indicar que se puede arrastrar un elemento.
    error Se utiliza en celdas editables para indicar la entrada de datos errónea.
    expand_more Utilizado por el menú de filtrado de Excel para indicar la adición de más filtros.
    file_dowload Utilizado por el exportador de filtros de Excel.
    filter_* Se utiliza para varios operandos de filtrado.
    group_work Utilizado por el área de colocación agrupar por.
    esconder Lo usan varios elementos de la interfaz de usuario para ocultar columnas.
    import_export Utilizado por el selector de datos de pivote para mover.
    input_clear Utilizado por los campos de entrada para borrar los datos de entrada.
    próximo Utilizado por el menú de filas de filtrado para navegar entre fichas.
    anclar Lo usan varios elementos de la interfaz de usuario para el anclaje de columnas.
    Prev Utilizado por el menú de filas de filtrado para navegar entre fichas.
    eliminar Utilizado por varios elementos de la interfaz de usuario como indicador de eliminación.
    actualizar Utilizado por el menú de la fila de filtrado para volver a cargar los filtros.
    seleccionado Utilizado por varios elementos de la interfaz de usuario para indicar la selección activa.
    mostrar Lo usan varios elementos de la interfaz de usuario para mostrar columnas.
    sort_asc Lo utilizan varios elementos de la interfaz de usuario para indicar la dirección de clasificación.
    sort_desc Lo utilizan varios elementos de la interfaz de usuario para indicar la dirección de clasificación.
    Funciones Utilizado por la cuadrícula pivotante y los selectores de datos.
    table_rows Utilizado por el selector de datos de la cuadrícula dinámica.
    tree_collapse Utilizado por la estructura en forma de árbol para mostrar menos detalles.
    tree_expand Utilizado por la estructura en forma de árbol para mostrar más detalles.
    Desanclar Lo usan varios elementos de la interfaz de usuario para el anclaje de columnas.
    unfold_less Utilizado por la cuadrícula jerárquica para contraer todas las filas.
    unfold_more Utilizado por la cuadrícula jerárquica para expandir todas las filas.
    view_column Utilizado por el selector de datos dinámicos.

    Grupo de entrada

    Icono Descripción
    input_clear Se utiliza para el botón de borrar.

    Paginador

    Icono Descripción
    first_page Utilizado por el botón utilizado para navegar a la primera página.
    last_page Utilizado por el botón utilizado para navegar a la última página.
    Prev Utilizado por el botón utilizado para navegar a la página anterior.
    próximo Utilizado por el botón utilizado para navegar a la página siguiente.

    Consultor de construcción

    Icono Descripción
    add Utilizado por el botón para agregar nuevas entradas de filtro.
    cerrar Utilizado por el botón que cierra el menú contextual.
    editar Utilizado por el botón para editar entradas de filtro.
    confirmar Utilizado por el botón para confirmar la adición de nuevas entradas de filtro.
    Desagrupar Utilizado por el botón para desagrupar las entradas de filtro.
    borrar Utilizado por el botón para eliminar entradas de filtro.
    filter_* Se utiliza para varios operandos de filtrado.

    Seleccionar

    Icono Descripción
    input_expand Se utiliza para el botón de alternancia cuando el menú de selección está contraído.
    input_collapse Se utiliza para el botón de alternancia cuando se expande el menú de selección.

    Pestañas

    Icono Descripción
    Prev Utilizado por el botón utilizado para navegar a la pestaña anterior.
    próximo Utilizado por el botón utilizado para navegar a la siguiente pestaña.

    Selector de tiempo

    Icono Descripción
    reloj Se utiliza para el botón de alternancia que activa el selector.

    Árbol

    Icono Descripción
    tree_expand Se utiliza para el botón de alternancia que activa el selector.
    tree_collapse Se utiliza para el botón de alternancia que activa el selector.

    API

    Aquí hay un resumen rápido de todos los métodos disponibles a través del servicio de iconos de Ignite UI for Angular.

    Add Family

    setFamily(name: string, meta: IconFamilyMeta): IgxIconService;
    

    Icon References

    Establecer SOLO si NO está ya presente el mapa de iconos:

    addIconRef(name: string, family: string, icon: IconMeta): void;
    

    Establezca una referencia de icono en el mapa de iconos (anulado si ya está presente):

    setIconRef(name: string, family: string, icon: IconMeta): void;
    

    Obtener una referencia de icono

    getIconRef(family: string, name: string): IconReference;
    

    SVG Icons

    De URI:

    addSvgIcon(name: string, url: string, family: string, stripMeta = false): void;
    

    De la cadena:

    addSvgIconFromText(name: string, iconText: string, family: string, stripMeta = false): void;
    

    API References

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.