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/Makefile.am | 2 +- install/ui/associate.js | 1094 -------------------------------- install/ui/association.js | 1094 ++++++++++++++++++++++++++++++++ install/ui/index.html | 2 +- install/ui/jsl.conf | 2 +- install/ui/test/aci_tests.html | 2 +- install/ui/test/all_tests.html | 2 +- install/ui/test/association_tests.html | 2 +- install/ui/test/association_tests.js | 2 +- install/ui/test/entity_tests.html | 2 +- 10 files changed, 1102 insertions(+), 1102 deletions(-) delete mode 100644 install/ui/associate.js create mode 100644 install/ui/association.js (limited to 'install') diff --git a/install/ui/Makefile.am b/install/ui/Makefile.am index 3db1427b..dedc43db 100644 --- a/install/ui/Makefile.am +++ b/install/ui/Makefile.am @@ -10,7 +10,7 @@ appdir = $(IPA_DATA_DIR)/ui app_DATA = \ aci.js \ add.js \ - associate.js \ + association.js \ automount.js \ background-center.png \ background-left.png \ 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 + * + * 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 - + diff --git a/install/ui/jsl.conf b/install/ui/jsl.conf index e7d09ec0..06fdb600 100644 --- a/install/ui/jsl.conf +++ b/install/ui/jsl.conf @@ -132,7 +132,7 @@ +process search.js +process details.js +process add.js -+process associate.js ++process association.js +process entity.js +process navigation.js +process rule.js diff --git a/install/ui/test/aci_tests.html b/install/ui/test/aci_tests.html index be035c41..4b024ec1 100755 --- a/install/ui/test/aci_tests.html +++ b/install/ui/test/aci_tests.html @@ -18,7 +18,7 @@ - + diff --git a/install/ui/test/all_tests.html b/install/ui/test/all_tests.html index be0bf3ea..7af7e02b 100644 --- a/install/ui/test/all_tests.html +++ b/install/ui/test/all_tests.html @@ -15,7 +15,7 @@ - + diff --git a/install/ui/test/association_tests.html b/install/ui/test/association_tests.html index e9e3650b..a25e417a 100644 --- a/install/ui/test/association_tests.html +++ b/install/ui/test/association_tests.html @@ -12,7 +12,7 @@ - + diff --git a/install/ui/test/association_tests.js b/install/ui/test/association_tests.js index bad8d1a8..7eea1fc9 100644 --- a/install/ui/test/association_tests.js +++ b/install/ui/test/association_tests.js @@ -18,7 +18,7 @@ * along with this program. If not, see . */ -module('associate'); +module('association'); test("Testing serial_associator().", function() { diff --git a/install/ui/test/entity_tests.html b/install/ui/test/entity_tests.html index 8b41f8fe..bd48db20 100644 --- a/install/ui/test/entity_tests.html +++ b/install/ui/test/entity_tests.html @@ -13,7 +13,7 @@ - + -- cgit