summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/ipa.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-04-03 15:12:42 +0200
committerPetr Vobornik <pvoborni@redhat.com>2013-05-06 16:22:21 +0200
commit13e34216eb8b2015042b1fcc6af5efd7cd962c58 (patch)
treed470f23a4024ba5256edadffe6a9f0f8b670381c /install/ui/src/freeipa/ipa.js
parent1b90b3b65ea214a3a09922f6b9c1de304e5257da (diff)
downloadfreeipa-13e34216eb8b2015042b1fcc6af5efd7cd962c58.tar.gz
freeipa-13e34216eb8b2015042b1fcc6af5efd7cd962c58.tar.xz
freeipa-13e34216eb8b2015042b1fcc6af5efd7cd962c58.zip
Metadata and text providers
https://fedorahosted.org/freeipa/ticket/3235
Diffstat (limited to 'install/ui/src/freeipa/ipa.js')
-rw-r--r--install/ui/src/freeipa/ipa.js60
1 files changed, 7 insertions, 53 deletions
diff --git a/install/ui/src/freeipa/ipa.js b/install/ui/src/freeipa/ipa.js
index 7097aae8d..9cc12475b 100644
--- a/install/ui/src/freeipa/ipa.js
+++ b/install/ui/src/freeipa/ipa.js
@@ -22,7 +22,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-define(['./jquery', './json2'], function($, JSON) {
+define(['./jquery', './json2','./_base/i18n', './_base/metadata_provider'], function($, JSON, i18n, metadata_provider) {
var IPA = function() {
@@ -42,6 +42,7 @@ var IPA = function() {
};
that.metadata = {};
+ metadata_provider.source = that.metadata;
that.messages = {};
that.whoami = {};
@@ -111,6 +112,7 @@ var IPA = function() {
method: 'i18n_messages',
on_success: function(data, text_status, xhr) {
that.messages = data.texts;
+ i18n.source = that.messages;
}
}));
@@ -1268,71 +1270,23 @@ IPA.default_factory = function(spec) {
/* helper function used to retrieve information about an attribute */
IPA.get_entity_param = function(entity_name, name) {
- var metadata = IPA.metadata.objects[entity_name];
- if (!metadata) {
- return null;
- }
-
- var params = metadata.takes_params;
- if (!params) {
- return null;
- }
-
- for (var i=0; i<params.length; i++) {
- if (params[i].name === name) {
- return params[i];
- }
- }
-
- return null;
+ return metadata_provider.get(['@mo-param', entity_name, name].join(':'));
};
IPA.get_command_arg = function(command_name, arg_name) {
- var metadata = IPA.metadata.commands[command_name];
- if (!metadata) {
- return null;
- }
-
- var args = metadata.takes_args;
- if (!args) {
- return null;
- }
-
- for (var i=0; i<args.length; i++) {
- if (args[i].name === arg_name) {
- return args[i];
- }
- }
-
- return null;
+ return metadata_provider.get(['@mc-arg', command_name, arg_name].join(':'));
};
IPA.get_command_option = function(command_name, option_name) {
- var metadata = IPA.metadata.commands[command_name];
- if (!metadata) {
- return null;
- }
-
- var options = metadata.takes_options;
- if (!options) {
- return null;
- }
-
- for (var i=0; i<options.length; i++) {
- if (options[i].name === option_name) {
- return options[i];
- }
- }
-
- return null;
+ return metadata_provider.get(['@mc-opt', command_name, option_name].join(':'));
};
/* helper function used to retrieve attr name with members of type `member` */
IPA.get_member_attribute = function(obj_name, member) {
- var obj = IPA.metadata.objects[obj_name];
+ var obj = metadata_provider.get('@mo:'+obj_name);
if (!obj) {
return null;
}