From 724dd997447c84c6eb3893fe40fb2c5a78d4efd7 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Tue, 14 Jun 2011 00:02:54 -0500 Subject: Renamed associate.js to association.js. --- install/ui/associate.js | 1094 ----------------------------------------------- 1 file changed, 1094 deletions(-) delete mode 100644 install/ui/associate.js (limited to 'install/ui/associate.js') diff --git a/install/ui/associate.js b/install/ui/associate.js deleted file mode 100644 index 2115e0fe..00000000 --- a/install/ui/associate.js +++ /dev/null @@ -1,1094 +0,0 @@ -/*jsl:import ipa.js */ - -/* Authors: - * Adam Young - * - * Copyright (C) 2010 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 . -*/ - -/* REQUIRES: ipa.js */ -/* CURRENTLY ALSO REQUIRES search.js, because it reuses it's code to create - * the AssociationList elements; IT NEEDS IT'S OWN CODE! */ - -IPA.associator = function (spec) { - - spec = spec || {}; - - var that = {}; - - that.entity_name = spec.entity_name; - that.pkey = spec.pkey; - - that.other_entity = spec.other_entity; - that.values = spec.values; - - that.method = spec.method; - - that.on_success = spec.on_success; - that.on_error = spec.on_error; - - that.execute = function() { - }; - - return that; -}; - - -/** -*This associator is built for the case where each association requires a separate rpc -*/ -IPA.serial_associator = function(spec) { - - spec = spec || {}; - - var that = IPA.associator(spec); - - that.execute = function() { - - if (!that.values || !that.values.length) { - that.on_success(); - return; - } - - var value = that.values.shift(); - if (!value) { - that.on_success(); - return; - } - - var args = [value]; - var options = {}; - options[that.entity_name] = that.pkey; - - var command = IPA.command({ - entity: that.other_entity, - method: that.method, - args: args, - options: options, - on_success: that.execute, - on_error: that.on_error - }); - - //alert(JSON.stringify(command.to_json())); - - command.execute(); - }; - - return that; -}; - -/** -*This associator is for the common case where all the asociations can be sent -in a single rpc -*/ -IPA.bulk_associator = function(spec) { - - spec = spec || {}; - - var that = IPA.associator(spec); - - that.execute = function() { - - if (!that.values || !that.values.length) { - that.on_success(); - return; - } - - var value = that.values.shift(); - if (!value) { - that.on_success(); - return; - } - - while (that.values.length > 0) { - value += ',' + that.values.shift(); - } - - var args = [that.pkey]; - var options = { 'all': true }; - options[that.other_entity] = value; - - var command = IPA.command({ - entity: that.entity_name, - method: that.method, - args: args, - options: options, - on_success: that.on_success, - on_error: that.on_error - }); - - //alert(JSON.stringify(command.to_json())); - - command.execute(); - }; - - return that; -}; - -/** - * This dialog is used for adding associations between two entities. - */ -IPA.association_adder_dialog = function (spec) { - - spec = spec || {}; - - var that = IPA.adder_dialog(spec); - - that.entity_name = spec.entity_name; - that.pkey = spec.pkey; - that.other_entity = spec.other_entity; - that.attribute_member = spec.attribute_member; - - that.init = function() { - if (!that.columns.length) { - var pkey_name = IPA.metadata.objects[that.other_entity].primary_key; - that.create_column({ - name: pkey_name, - label: IPA.metadata.objects[that.other_entity].label, - primary_key: true, - width: '200px' - }); - } - - /* FIXME: event not firing? */ - $('input[name=hidememb]', that.container).click(that.search); - - that.adder_dialog_init(); - }; - - that.search = function() { - function on_success(data, text_status, xhr) { - var results = data.result; - that.clear_available_values(); - - var pkey_attr = IPA.metadata.objects[that.entity_name].primary_key; - - for (var i=0; i', { - 'href': '#'+value, - 'html': value, - 'click': function (value) { - return function() { - IPA.nav.show_page(other_entity, 'default', value); - return false; - }; - }(value) - }).appendTo(container); -}; - - -IPA.association_table_widget = function (spec) { - - spec = spec || {}; - - var that = IPA.table_widget(spec); - - that.other_entity = spec.other_entity; - that.attribute_member = spec.attribute_member; - - that.associator = spec.associator || IPA.bulk_associator; - that.add_method = spec.add_method || 'add_member'; - that.remove_method = spec.remove_method || 'remove_member'; - - that.adder_columns = $.ordered_map(); - - that.get_adder_column = function(name) { - return that.adder_columns.get(name); - }; - - that.add_adder_column = function(column) { - that.adder_columns.put(column.name, column); - }; - - that.create_adder_column = function(spec) { - var column = IPA.column(spec); - that.add_adder_column(column); - return column; - }; - - that.super_create_column = that.create_column; - - that.create_column = function(spec){ - if (spec.link_entity){ - spec.setup = IPA.association_pkey_setup; - } - return that.super_create_column(spec); - }; - /*this is duplicated in the facet... should be unified*/ - var i; - if (spec.columns){ - for (i = 0; i < spec.columns.length; i+= 1){ - that.create_column(spec.columns[i]); - } - } - if (spec.adder_columns){ - for (i = 0; i < spec.adder_columns.length; i+= 1){ - that.create_adder_column(spec.adder_columns[i]); - } - } - - that.create = function(container) { - - var column; - - // create a column if none defined - if (!that.columns.length) { - that.create_column({ - 'name': that.name, - 'label': IPA.metadata.objects[that.other_entity].label, - 'primary_key': true - }); - } - - var columns = that.columns.values; - for (var i=0; i', { - 'type': 'button', - 'name': 'remove', - 'value': IPA.messages.buttons.remove - }).appendTo(buttons); - - $('', { - 'type': 'button', - 'name': 'add', - 'value': IPA.messages.buttons.add - }).appendTo(buttons); - }; - - that.setup = function(container) { - - that.table_setup(container); - - var entity = IPA.get_entity(that.entity_name); - var facet_name = IPA.current_facet(entity); - var facet = entity.get_facet(facet_name); - - var button = $('input[name=remove]', container); - button.replaceWith(IPA.action_button({ - 'label': button.val(), - 'icon': 'ui-icon-trash', - 'click': function() { - if ($(this).hasClass('action-button-disabled')) { - return false; - } - - if (facet.is_dirty()) { - var dialog = IPA.dirty_dialog({ - facet: facet - }); - - dialog.callback = function() { - that.show_remove_dialog(); - }; - - dialog.init(); - dialog.open(that.container); - - } else { - that.show_remove_dialog(); - } - - return false; - } - })); - - button = $('input[name=add]', container); - button.replaceWith(IPA.action_button({ - 'label': button.val(), - 'icon': 'ui-icon-plus', - 'click': function() { - if ($(this).hasClass('action-button-disabled')) { - return false; - } - - if (facet.is_dirty()) { - var dialog = IPA.dirty_dialog({ - facet: facet - }); - - dialog.callback = function() { - that.show_add_dialog(); - }; - - dialog.init(); - dialog.open(that.container); - - } else { - that.show_add_dialog(); - } - - return false; - } - })); - }; - - that.set_enabled = function(enabled) { - that.table_set_enabled(enabled); - if (enabled) { - $('.action-button', that.table).removeClass('action-button-disabled'); - } else { - $('.action-button', that.table).addClass('action-button-disabled'); - } - }; - - that.get_records = function(on_success, on_error) { - - var length = that.values.length; - if (!length) return; - - if (length > 100) { - length = 100; - } - - var batch = IPA.batch_command({ - 'name': that.entity_name+'_'+that.name, - 'on_success': on_success, - 'on_error': on_error - }); - - for (var i=0; i', { - 'href': '#'+value, - 'html': value, - 'click': function (value) { - return function() { - IPA.nav.show_page(that.other_entity, 'default', value); - return false; - }; - }(value) - }).appendTo(container); - }; - } - - for (i=0; i total ? total : end; - - var summary = 'Showing '+start+' to '+end+' of '+total+' entries.'; - that.table.summary.text(summary); - - var list = pkeys.slice(start-1, end); - - var columns = that.table.columns.values; - if (columns.length == 1) { // show pkey only - var name = columns[0].name; - that.table.empty(); - for (var i=0; i