all files / lib/features/popup-menu/ PopupMenuProvider.js

66.67% Statements 4/6
100% Branches 0/0
0% Functions 0/4
66.67% Lines 4/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74                                                                                                                                           
/**
 * A basic provider that may be extended to provide entries for the popup menu.
 *
 * Extensions should implement the methods getEntries and register. Optionally
 * the method getHeaderEntries can be implemented.
 */
export default function PopupMenuProvider(popupMenu) {
  this._popupMenu = popupMenu;
 
  this.register();
}
 
PopupMenuProvider.$inject = [ 'popupMenu' ];
 
 
/**
 * This method should implement the creation of a list of entry objects.
 *
 * @param {djs.model.Base} element
 *
 * The following example contains one entry which alerts the id of the current selected
 * element, when clicking on the entry.
 *
 * @example
 * PopupMenuProvider.getEntries = function(element) {
 *   var entries = [{
 *     id: 'alert',
 *     label: 'Alert element ID',
 *     className: 'alert',
 *     action: function () {
 *       alert(element.id);
 *     }
 *   }];
 *
 *  return entries;
 *}
 */
PopupMenuProvider.getEntries = function(element) {};
 
 
/**
 * This method should implement the creation of a list of header entry objects.
 *
 * @param  {djs.model.Base} element
 *
 * The following example contains one button as header entry which alerts a string
 * when clicking on it.
 *
 * @example
 * PopupMenuProvider.getHeaderEntries = function(element) {
 *   var headerEntries = [{
 *     id: 'my-button',
 *     className: 'icon-button',
 *     title: 'My button',
 *     active: true,
 *     action: function() {
 *       alert('Button has been clicked');
 *     }
 *   }];
 *
 *   return headerEntries;
 * };
 */
PopupMenuProvider.getHeaderEntries = function(element) {};
 
/**
 * This method should implement the registration in the popup menu using an id.
 *
 * @example
 * PopupMenuProvider.register = function() {
 *   this._popupMenu.registerProvider('my-provider-id', this);
 * }
 */
PopupMenuProvider.register = function() {};