Nutritious Pumpkin Meal

    we-plugin-menu

    3.0.1 • Public • Published

    We.js menu and links plugin

    Add menu features to your project

    Dependency Status

    Installation

    we i we-plugin-menu

    Menu class / prototype:

    // first create one menu
    var menu = new we.class.Menu({ 
      id: 'anOptionalId',
      class: 'your-menu-class',
      name: 'menuName',
      // access is check if menu is rendered with we-menu helper
      roles: ['authenticated'],
      // show this menu only for users with the permission:
      permission: 'can_do_something', // default: null
      // add active class in partent links if curent page?
      setParentLinkActiveClass: false // default false
    });
     
    // Then add links:
    // 
     
    // Add links for add multiple links
    menu.addLinks([
      {
          id: 'edit',
          text: '<i class="fa fa-edit"></i> '+req.__('menu.user.edit'),
          href: '/user/'+res.locals.user.id+'/edit',
          class: null,
          weight: 4,
          name: 'menu.user.edit'
      },
      {
          id: 'create',
          text: '<i class="fa fa-edit"></i> '+req.__('menu.user.create'),
          href: '/user/'+res.locals.user.id+'/criate',
          class: null,
          weight: 5,
          name: 'menu.user.create'
      },  
    );
     
    // or add one linke
    menu.addLink({
      id: 'edit',
      text: '<i class="fa fa-edit"></i> '+req.__('menu.user.edit'),
      href: '/user/'+res.locals.user.id+'/edit',
      class: null,
      weight: 4,
      name: 'menu.user.edit'
    });
     

    For render your menu use:

    <!-- locals is res.locals object -->
    {{we-menu menu locals=this}}

    Hooks and events:

    Hooks and events avaible in this plugin

    EVENT we-plugin-menu:after:set:menu:class

    This event run in we.js bootstrap after load all plugins

    we.events.on('we-plugin-menu:after:set:menu:class'function (we){
      // your code here ...
    });
    HOOK we-plugin-menu:after:set:core:menus

    This hook run in load context step of request/response

    we.hooks.on('we-plugin-menu:after:set:core:menus'function (data, done){
      var req = data.req;
      var res = data.res;
     
      // your code here ...
     
      done();
    });

    How to install:

    In one we.js project:

    npm install we-plugin-menu --save

    NPM Info:

    NPM

    License

    Under the MIT license.

    Keywords

    Install

    npm i we-plugin-menu

    DownloadsWeekly Downloads

    6

    Version

    3.0.1

    License

    MIT

    Unpacked Size

    45.2 kB

    Total Files

    28

    Last publish

    Collaborators

    • albertosouza