diff options
Diffstat (limited to 'view/js/mod_connedit.js')
-rw-r--r-- | view/js/mod_connedit.js | 98 |
1 files changed, 97 insertions, 1 deletions
diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js index 84fff5ed1..4739c490c 100644 --- a/view/js/mod_connedit.js +++ b/view/js/mod_connedit.js @@ -1,6 +1,7 @@ $(document).ready(function() { - $('form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); // Warn user about unsaved settings + // Warn member about unsaved settings + $('form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); if(typeof(after_following) !== 'undefined' && after_following) { if(typeof(connectDefaultShare) !== 'undefined') @@ -16,6 +17,80 @@ $(document).ready(function() { connectFullShare(); }); + + $('#id_permcat').change(function() { + $('.loading-role-rotator').spin(true); + var permName = $('#id_permcat').val(); + loadAbookRole(permName); + }); + + + + $(document).on('click', '.vcard-header, .vcard-cancel-btn', updateView); + $(document).on('click', '.add-field', doAdd); + $(document).on('click', '.remove-field', doRemove); + + function updateView() { + var id = $(this).data('id'); + var action = $(this).data('action'); + var header = $('#vcard-header-' + id); + var cancel = $('#vcard-cancel-' + id); + var addField = $('#vcard-add-field-' + id); + var info = $('#vcard-info-' + id); + var vcardPreview = $('#vcard-preview-' + id); + var fn = $('#vcard-fn-' + id); + + if(action === 'open') { + $(header).addClass('active'); + $(cancel).show(); + $(addField).show(); + $(info).show(); + $(fn).show(); + $(vcardPreview).hide(); + } + else { + $(header).removeClass('active'); + $(cancel).hide(); + $(addField).hide(); + $(info).hide(); + $(fn).hide(); + $(vcardPreview).show(); + } + } + + function doAdd() { + var what = $(this).data('add'); + var id = $(this).data('id'); + var element = '#template-form-' + what; + var where = '#abook-edit-form'; + + $(element + ' .remove-field').attr('data-id', id) + + if(what === 'vcard-adr') { + var adrCount = $(where + ' .form-' + what).length; + var attrName = 'adr[' + adrCount + '][]'; + $(element + ' input').attr('name', attrName); + } + + if(what === 'vcard-org' || what === 'vcard-title' || what === 'vcard-note') { + $(where + ' .add-' + what).hide() + } + + $(element).clone().removeAttr('id').appendTo(where + ' .form-' + what + '-wrapper'); + } + + function doRemove() { + var what = $(this).data('remove'); + var element = $(this).parents('div.form-' + what); + var where = '#abook_edit_form' + $(this).data('id'); + + if(what === 'vcard-org' || what === 'vcard-title' || what === 'vcard-note') { + $(where + ' .add-' + what).show() + } + + $(element).remove(); + } + }); function connectFullShare() { @@ -37,3 +112,24 @@ function connectFullShare() { $('#me_id_perms_republish').attr('checked','checked'); $('#me_id_perms_post_like').attr('checked','checked'); } + +function loadAbookRole(name) { + + if(! name) + name = 'default'; + + $('.abook-edit-me').each(function() { + if(! $(this).is(':disabled')) + $(this).removeAttr('checked'); + }); + + $.get('permcat/' + name, function(data) { + $(data.perms).each(function() { + if(this.value) + $('#me_id_perms_' + this.name).attr('checked','checked'); + }); + $('.loading-role-rotator').spin(false); + }); +} + + |