mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
webui: plugin API
new `extend` module should serve as a stable API for plugin authors. It should expose the most commonly used global calls. https://fedorahosted.org/freeipa/ticket/4345 Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
This commit is contained in:
parent
6f5e80b0ce
commit
6e43d01266
@ -98,10 +98,11 @@
|
||||
"IPA.serial_associator",
|
||||
"IPA.bulk_associator",
|
||||
"IPA.association_config",
|
||||
"spec_util",
|
||||
"_base.debug",
|
||||
"_base.Spec_mod",
|
||||
"datetime",
|
||||
"extend",
|
||||
"spec_util",
|
||||
"util"
|
||||
]
|
||||
}
|
||||
|
60
install/ui/src/freeipa/extend.js
Normal file
60
install/ui/src/freeipa/extend.js
Normal file
@ -0,0 +1,60 @@
|
||||
/* Authors:
|
||||
* Petr Vobornik <pvoborni@redhat.com>
|
||||
*
|
||||
* Copyright (C) 2014 Red Hat
|
||||
* see file 'COPYING' for use and warranty information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
define([
|
||||
'dojo/_base/lang',
|
||||
'./jquery',
|
||||
'./phases',
|
||||
'./app_container',
|
||||
'exports'
|
||||
],function(lang, $, phases, app, extend) {
|
||||
|
||||
/**
|
||||
* Extension interface
|
||||
*
|
||||
* This class provides interface for plugins and tries to hide underlying functionality
|
||||
*
|
||||
* @class extend
|
||||
* @singleton
|
||||
*/
|
||||
lang.mixin(extend, {
|
||||
/**
|
||||
* Adds element to utility section
|
||||
*
|
||||
* This method doesn't do any correction. Expended root node type to add is
|
||||
* by default `<li>`.
|
||||
*
|
||||
* Preferred phase: any after `init`
|
||||
*
|
||||
* @param {HTMLElement|jQuery} element Element to add to utility section
|
||||
* @return {HTMLElement} Utility node
|
||||
*/
|
||||
add_menu_utility: function(element) {
|
||||
|
||||
// Should we check if we are in good stage or atleast report that app doesn't exist yet?
|
||||
|
||||
var $utility = $(app.app.app_widget.nav_util_tool_node);
|
||||
$utility.prepend(element);
|
||||
return $utility.eq(0);
|
||||
}
|
||||
});
|
||||
|
||||
return extend;
|
||||
});
|
@ -115,7 +115,7 @@ var profile = (function(){
|
||||
|
||||
layers: {
|
||||
"freeipa/app": {
|
||||
include: ["freeipa/app"]
|
||||
include: ["freeipa/app", "freeipa/extend"]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user