| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /**
- * 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 or update of a map of entry objects.
- *
- * @param {djs.model.Base} element
- *
- * The following example shows how to replace any entries returned
- * by previous providers with one entry which alerts the id of the current selected
- * element, when clicking on the entry.
- *
- * @example
- * PopupMenuProvider.getPopupMenuEntries = function(element) {
- * return function(entries) {
- * return {
- * alert: {
- * label: 'Alert element ID',
- * className: 'alert',
- * action: function () {
- * alert(element.id);
- * }
- * }
- * };
- * };
- */
- PopupMenuProvider.getPopupMenuEntries = function(element) {};
- /**
- * @deprecated
- * 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() {};
|