Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Angular #2

Open
fifiuro opened this issue Aug 23, 2023 · 1 comment
Open

Angular #2

fifiuro opened this issue Aug 23, 2023 · 1 comment
Labels
question Further information is requested

Comments

@fifiuro
Copy link

fifiuro commented Aug 23, 2023

Consulta se puede implementar el Menú Editor en Angular

@davicotico
Copy link
Owner

Sí, funciona correctamente. Puedes seguir los siguientes pasos:

  1. Primero instalas en tu proyecto la biblioteca desde NPM
npm install @davicotico/menu-editor
  1. Se debe incluir un elemento div en el template html del componente en el cual se mostrará el editor de menú.
<div id="myEditor"></div>
  1. Importar la clase MenuEditor en el archivo typescript del componente
import { MenuEditor } from '@davicotico/menu-editor';
  1. Al inicializar el componente (en el evento/hook OnInit ) tiene que crearse una instancia de la clase MenuEditor y a partir de ahí setear los datos y eventos que correspondan para finalmente ejecutar el método mount().
export class AppComponent implements OnInit {

  menu!: MenuEditor;

  constructor() {

  }

  ngOnInit(): void {
    this.menu = new MenuEditor('myEditor');
    const datos =  [
      {
      "text": "Home",
      "href": "/home",
      "tooltip": "Go to home page",
      "icon": "fa-solid fa-house",
      "children": []
      },
      {
      "text": "About Us",
      "href": "/about",
      "tooltip": "Learn more about our company",
      "icon": "fa-solid fa-address-card",
      "children": []
      },
      {
      "text": "Services",
      "href": "/services",
      "tooltip": "Discover the services we offer",
      "icon": "fa-solid fa-gear",
      "children": [
        {
        "text": "Service 1",
        "href": "/services/1",
        "tooltip": "Details for Service 1",
        "icon": "cog",
        "children": []
        },
        {
        "text": "Service 2",
        "href": "/services/2",
        "tooltip": "Details for Service 2",
        "icon": "cog",
        "children": []
        }
      ]
      }
    ];
    this.menu.setArray(datos);
    this.menu.mount();
  }
}
  1. Es importante incluir el archivo de estilos styles.min.css, sin embargo, acabo de ver que existe un bug en el paquete NPM y por eso (por ahora) tendrás que copiar el archivo desde el repositorio (está en dist/styles.min.css) y llevarlo a tu proyecto (puede ser a src/assets). En tu archivo src/index.html puedes incluirlo de esta forma:
<link href="./assets/styles.min.css" rel="stylesheet">

@davicotico davicotico added the question Further information is requested label Sep 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants