var SubscriptionCycleAutoSubscription = (function ($) { 'use strict'; var me = { isInitialized: false, selector: { newDialog: '#autosubscriptionnewdialog', editDialog: '.autosubscriptioneditdialog', deleteDialog: '.autosubscriptiondeletedialog', newEdit: '#autosubscriptionnewedit', delete: '#autosubscriptiondelete', articleInput: '#article', projectInput: '#project', pricecycleSelect: '#pricecycle', documenttypeSelect: '#documenttype', subscriptiongroupSelect: '#subscriptiongroup', positionInput: '#position', firstdatetypeSelect: '#firstdatetype', preventautodispatchCheck: '#preventautodispatch', autoemailconfirmationCheck: '#autoemailconfirmation', businessletterpatternInput: '#businessletterpattern', businessletterrow: '.businessletter', addpdf: '#addpdf', deleteid: '#autosubscriptiondeleteid', editid: '#autosubscriptioneditid', msg: '#autosubscriptionmsg', overviewTable: '#rechnungslaufautoabo', autosubscriptionform: '#autosubscriptionform' }, storage: { $dialog: null, $deleteDialog: null }, init: function () { if (me.isInitialized === true) { return; } me.storage.$dialog = $(me.selector.newEdit); me.storage.$deleteDialog = $(me.selector.delete); me.dialogInit(); me.deleteDialogInit(); me.registerEvents(); me.isInitialized = true; }, registerEvents: function () { $(me.selector.newDialog).on('click', function (event) { event.preventDefault(); me.dialogNewOpen(); }); $(me.selector.overviewTable).on('click', me.selector.editDialog, function (event) { event.preventDefault(); me.dialogEditOpen(this.id.replace('aae-', '')); }); $(me.selector.overviewTable).on('click', me.selector.deleteDialog, function (event) { event.preventDefault(); me.dialogDeleteOpen(this.id.replace('aad-', '')); }); $(me.selector.autoemailconfirmationCheck).on('click', function () { if (me.storage.$dialog.find(me.selector.autoemailconfirmationCheck).prop('checked')) { me.storage.$dialog.find(me.selector.businessletterrow).show(); } else { me.storage.$dialog.find(me.selector.businessletterrow).hide(); } }); }, deleteDialogInit: function () { me.storage.$deleteDialog.dialog({ modal: true, bgiframe: true, closeOnEscape: false, minWidth: 500, minHeight: 110, maxHeight: 200, autoOpen: false, open: function () {}, close: function () {} }); }, dialogInit: function () { me.storage.$dialog.dialog({ modal: true, bgiframe: true, closeOnEscape: false, minWidth: 650, minHeight: 450, maxHeight: 500, autoOpen: false, open: function () { $(me.selector.inputKey).trigger('focus'); }, close: function () { me.dialogReset(); }, buttons:{ ABBRECHEN: function() { me.dialogClose(); }, SPEICHERN: function() { $(me.selector.autosubscriptionform).submit(); } } }); }, dialogNewOpen: function () { me.dialogReset(); me.storage.$dialog.dialog('open'); }, dialogEditOpen: function (id) { me.dialogReset(); $.ajax({ url: 'index.php?module=rechnungslauf&action=autoabo&cmd=editdata', type: 'POST', dataType: 'json', data: { id: id }, success: function (data) { if (data.error) { me.storage.$dialog.find(me.selector.msg).text(data.error); } else { me.storage.$dialog.find(me.selector.editid).val(data.id); me.storage.$dialog.find(me.selector.articleInput).val(data.article_name); me.storage.$dialog.find(me.selector.projectInput).val(data.project_name); me.storage.$dialog.find(me.selector.pricecycleSelect).val(data.price_cycle); me.storage.$dialog.find(me.selector.documenttypeSelect).val(data.document_type); me.storage.$dialog.find(me.selector.subscriptiongroupSelect).val( data.subscription_group_id); me.storage.$dialog.find(me.selector.positionInput).val( data.position == 0 ? '' : data.position); me.storage.$dialog.find(me.selector.firstdatetypeSelect).val(data.first_date_type); me.storage.$dialog.find(me.selector.preventautodispatchCheck).prop('checked', data.prevent_auto_dispatch); me.storage.$dialog.find(me.selector.autoemailconfirmationCheck).prop('checked', data.auto_email_confirmation); me.storage.$dialog.find(me.selector.businessletterpatternInput).val( data.business_letter_pattern_id); me.storage.$dialog.find(me.selector.addpdf).prop('checked', data.add_pdf); if(data.auto_email_confirmation){ me.storage.$dialog.find(me.selector.businessletterrow).show(); } me.storage.$dialog.dialog('open'); } }, beforeSend: function () {} }); }, dialogDeleteOpen: function (id) { me.storage.$deleteDialog.find(me.selector.deleteid).val(id); me.storage.$deleteDialog.dialog('open'); }, dialogClose: function () { me.storage.$dialog.dialog('close'); }, dialogReset: function () { me.storage.$dialog.find(me.selector.editid).val(null); me.storage.$dialog.find(me.selector.articleInput).val(null); me.storage.$dialog.find(me.selector.projectInput).val(null); me.storage.$dialog.find(me.selector.pricecycleSelect).val('monatspreis'); me.storage.$dialog.find(me.selector.documenttypeSelect).val('auftrag'); me.storage.$dialog.find(me.selector.subscriptiongroupSelect).val(0); me.storage.$dialog.find(me.selector.positionInput).val(''); me.storage.$dialog.find(me.selector.firstdatetypeSelect).val('auftragsdatum'); me.storage.$dialog.find(me.selector.preventautodispatchCheck).prop('checked', false); me.storage.$dialog.find(me.selector.autoemailconfirmationCheck).prop('checked', false); me.storage.$dialog.find(me.selector.businessletterpatternInput).val(''); me.storage.$dialog.find(me.selector.addpdf).prop('checked', false); me.storage.$dialog.find(me.selector.businessletterrow).hide(); } }; return { init: me.init }; })(jQuery); $(document).ready(function () { SubscriptionCycleAutoSubscription.init(); });