4.0.0 • Published 6 years ago

ovh-angular-actions-menu v4.0.0

Weekly downloads
15
License
BSD-3-Clause
Repository
github
Last release
6 years ago

ovh-angular-actions-menu

githubbanner

Maintenance Chat on gitter Build Status

NPM

An actions menu gives the opportunity to group a set of actions available for a specific context under a single menu.

ovh-angular-actions-menu module follows the UX specification

Dependencies

Installation

Bower

bower install ovh-angular-actions-menu --save

NPM

npm install ovh-angular-actions-menu --save

Get the sources

    git clone https://github.com/ovh-ux/ovh-angular-actions-menu.git
    cd ovh-angular-actions-menu
    npm install
    bower install

You've developed a new cool feature? Fixed an annoying bug? We'd be happy to hear from you!

Have a look in CONTRIBUTING.md

Then inject actionsMenu module in your module declaration:

angular.module("myModule", [
    ...
    "ovh-angular-actions-menu",
    ...
]);

TODO

  • customizing page width ;
  • customizing open animation ;
  • actions with confirmation.

Documentation

For a full documentation of the module, launch:

# grunt ngdocs && grunt connect

Then go on http://localhost:9090.

Or simply follow the md version of documentation:

actionsMenu - directive

This is the main directive of the module. It's creating a popover with desired actions inside.

Arguments

ParamTypeDetails
ovh-angular-actions-menu-optionsObject[]A list of actions options that will be displayed into actionsMenu. See ActionsMenu factory and ActionsMenuItem factory for available options.
ovh-angular-actions-menu-popover-settingsObjectA list of options of the popover. For now only : class, placement, trigger and isOpen options are supported. Feel free to add others!!! See ui.bootstrap.popover for more informations.

Example

The following example will open an actions popover with 2 actions inside it:

In your controller:

angular.module("myManagerModule").controller("myTestController", function ($scope) {
    $scope.popoverSettings = {
        "popover-class": "my-custom-class",
        "popover-placement": "bottom-right"
    };

    $scope.actionsOptions = [{
        title: "My Beautiful title",
        icon: "filled-check",
        href: "http://www.google.be"
    }, {
        title: "My Other title",
        icon: "filled-error",
        state: "my-manager.state1"
    }];
});

And in your html view:

<actions-menu data-ovh-angular-actions-menu-options="actionsOptions"
              data-ovh-angular-actions-menu-popover-settings="popoverSettings">
    <i class="my-font my-font-actions"></i>
    Button actions
</actions-menu>

actionsMenuItem - directive

This directive represent an item into an actions menu.

This directive is included by its parent directive: actionsMenu, and should not be called offside of the module scope.

Arguments

ParamTypeDetails
ovh-angular-actions-menu-itemActionMenuItemAn instance of ActionMenuItem.
ovh-angular-actions-menu-item-on-clickFunctionA callback function called when the action menu item has been clicked.

ActionsMenu - object

Factory that describe an actions menu.

A new instance of ActionsMenu is created and used by the actionsMenu directive.

Dependencies

  • ActionsMenuItem

Related links

License

See https://github.com/ovh-ux/ovh-angular-actions-menu/blob/master/LICENSE

Arguments

ParamTypeDetails
optionsObjectOptions for creating a new ActionsMenu instance.
options.actionsMenuItemsArrayThe options of the items that will be added to the ActionsMenu instance.

Methods

addActionItem

Add an actions menu item into actions list.

Parameters
ParamTypeDetails
actionMenuItemOptionsObjectThe options for creating a new action menu item. See ActionsMenuItem factory for available options.
Returns
TypeDescription
ActionsMenuItemThe added actions menu item.

Example

   angular.module("myManagerApp").controller("MyTestCtrl", function (ActionsMenu) {
       var actionMenu = new ActionsMenu({
           actionsMenuItems: [{
               title: "My Beautiful title",
               icon: "filled-check",
               href: "http://www.google.be"
           }]
       });
   });

ActionsMenuItem - object

Factory that describe an item into an actions menu.

Arguments

ParamTypeDetails
optionsObjectOptions for creating a new ActionsMenuItem instance.
options.externalStringIs the link is an external link. In other words, will we be redirected offside of the manager ?
options.hrefStringThe href to be redirected if item is clicked. Has no effect if state option is defined or subItems option is defined.
options.iconStringThe icon class of the actions menu item icon.
options.stateStringThe state to be redirected when item is clicked. Has no effect if href option is defined or subItems option is defined.
options.stateParamsObjectThe params to pass to the state.
options.subActionsArraySub actions options to be added to the actions menu item. The options are the same of a first level item options. The actionsMenu directive only manage two levels of actions (only level one items with potentially sub actions).
options.targetStringThe target of the href anchor tag. This will be the target html attribute.
options.titleStringThe title of the actions menu item.

Methods

getFullSref

Get the full sref string that will be applied to item that have state defined.

Returns
TypeDescription
StringThe string representation of a state. For example: my.manager.state({param1:1, param2:2}).
addSubAction

Add a sub action item to current actions menu item instance.

Parameters
ParamTypeDetails
subActionOptionsObjectOptions for creating an actions menu sub item. See constructor options for more details.
Returns
TypeDescription
ActionsMenuItemThe new instance of actions menu item created.
hasSubActions

Check if the instance of actions menu item has sub actions defined.

Returns
TypeDescription
Booleantrue if item has subItems, false otherwise.

Example

   angular.module("myManagerApp").controller("MyTestCtrl", function (ActionsMenuItem) {
       var actionMenuItem = new ActionsMenuItem({
           title: "My Beautiful title",
           icon: "filled-check",
           href: "http://www.google.be"
       });
   });

actionsMenuProvider - provider

actionsMenuProvider allows developper to configure the path of the translation file.

Methods

setTranslationPath

Allows you to change the default location of the translation file of the module.

Parameters
ParamTypeDetails
pathStringThe new path of the translation file.
Returns
TypeDescription
StringThe new configured translation path.

Example

  angular.module("myManagerApp").config(function (actionsMenuProvider) {
       // set a new path for translations of the module
       actionsMenuProvider.setTranslationPath("/the/new/translation/path");
   });

actionsMenu - service

This service enable you to load translation file.

Methods

Load the translation file from the configured path.

Returns
TypeDescription
PromiseWhen the translation file is loaded.
4.0.0

6 years ago

3.2.0

6 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.0

7 years ago

2.0.0

7 years ago

1.0.11

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago