/*jshint browser:true, devel:true */ /*global _, jQuery, ajaxurl, icl_ajx_url, icl_ajxloaderimg, wpActiveEditor, tinyMCE, tinymce, iclSaveForm, tmEditorStrings, WPML_TM.editorFooterView, WPML_TM.editorHeaderView, WpmlTmEditorMainView, WpmlTranslationEditorTemplates, WpmlTemplateCompiler */ var WPML_TM = WPML_TM || {}; "use strict"; var tmEditor = { dontShowAgain: false, copyLinks: {}, copyLinkViews: [], footerView: {}, model: {}, view: {}, update_copy_link_visibility: function () { var self = tmEditor; self.copyLinks.each(function () { var type = this.id.replace(/^icl_tm_copy_link_/, ''); var content = self.get_content_for_copy_field(type); if (content && content.trim() !== "") { jQuery(this).closest('span').hide(); } else { jQuery(this).closest('span').show(); } }); if (self.copyLinks.filter(':visible').length === 1) { self.copyLinks.closest('span').hide(); } else { self.copyLinks.find('#icl_tm_copy_link_icl_all_fields').closest('span').show(); } }, findInputFieldForCheckBox: function (cbName) { var fieldName = cbName.replace(/finished/, 'data'); var inputField = jQuery('[name="' + fieldName + '"]'); if (inputField.length === 0) { inputField = false; } return inputField; }, find_custom_editor: function (field_type) { var custom_editor = false; var editors; if (typeof tinyMCE !== 'undefined' && (editors = tinyMCE.editors) !== undefined) { jQuery.each( editors, function () { var item = this; if (("field-wpcf-" + field_type).toLowerCase() === item.id.toLowerCase() || field_type.toLowerCase() === item.id.toLowerCase()) { custom_editor = item; } } ); } return custom_editor; }, get_content_for_copy_field: function (field_type) { var editor = this.find_custom_editor(field_type); return editor !== false ? editor.getContent() : jQuery('#' + field_type).val(); }, icl_populate_field: function (field_type, content) { var custom_editor = tmEditor.find_custom_editor(field_type); if (custom_editor !== false && !custom_editor.isHidden() && custom_editor.getContent().trim() === "") { custom_editor.insertContent(content); } else { custom_editor = jQuery('#' + field_type); if ('undefined' !== typeof custom_editor && 'undefined' !== typeof custom_editor.val()) { custom_editor.val(custom_editor.val().trim() !== "" ? custom_editor.val() : content); } } } }; jQuery(function () { var wpml_diff_toggle = jQuery('.wpml_diff_toggle'); wpml_diff_toggle.closest('.wpml_diff_wrapper').find('.wpml_diff').hide(); wpml_diff_toggle.on('click', function (e) { e.preventDefault(); jQuery(this).closest('.wpml_diff_wrapper').find('.wpml_diff').slideToggle(); return false; }); jQuery('.tm-learn-more').on('click', function (e) { e.preventDefault(); var popUpHtml = '
' + tmEditorStrings.learnMore + '
'; jQuery(popUpHtml).dialog(); }); var icl_tm_editor = jQuery('#icl_tm_editor'); icl_tm_editor.find('.handlediv').click(function () { if (jQuery(this).parent().hasClass('closed')) { jQuery(this).parent().removeClass('closed'); } else { jQuery(this).parent().addClass('closed'); } }); jQuery('.icl_tm_finished').change(function () { jQuery(this).parent().parent().find('.icl_tm_error').hide(); var field = jQuery(this).attr('name').replace(/finished/, 'data'); var data; var datatemp = ''; if (field === 'fields[body][data]') { try { datatemp = tinyMCE.get('body').getContent(); } catch (err) { } data = jQuery('*[name="' + field + '"]').val() + datatemp; } else if (jQuery(this).hasClass('icl_tmf_multiple')) { data = 1; jQuery('[name*="' + field + '"]').each(function () { data = data * jQuery(this).val().length; }); } else { try { datatemp = tinyMCE.get(field.replace('fields[', '').replace('][data]', '')).getContent(); } catch (err) { } data = jQuery('[name="' + field + '"]*').val() + datatemp; data = jQuery('[name="' + field.toLowerCase() + '"]*').val() + datatemp; } if (jQuery(this).prop('checked') && !data) { jQuery(this).closest('.icl_tm_error').show(); jQuery(this).prop('checked', false); } }); jQuery('.icl_tmf_term').on('click', function (e) { var box = jQuery(this); var inputField = tmEditor.findInputFieldForCheckBox(box.attr('name')); if (box.prop('checked')) { box.prop('checked', true); } else { if (tmEditor.dontShowAgain === true) { inputField.attr('disabled', false); } else { var popUpHtml = ['
', tmEditorStrings.warning, '

', tmEditorStrings.dontShowAgain, '

'].join(''); jQuery(popUpHtml).dialog( { width: 'auto', buttons: [ { text: "Ok", click: function () { jQuery(this).dialog("close"); if (inputField) { inputField.attr('disabled', false); box.prop('checked', false); if (jQuery(this).find('.tm-editor-not-show-again').prop('checked')) { jQuery(this).dialog("destroy"); tmEditor.dontShowAgain = true; } } } }, { text: "Cancel", click: function () { jQuery(this).dialog("close"); box.prop('checked', true); } } ] }); } } }); var job_id = jQuery('[name="job_id"]').val(); tmEditor.model = new WPML_TM.editorJob( { job_id: job_id, nonce: tmEditorStrings.contentNonce, is_dirty: false } ); tmEditor.copyLinks = jQuery('.icl_tm_copy_link'); tmEditor.view = new WPML_TM.editorMainView({ el: jQuery('.icl-translation-editor'), model: tmEditor.model }); tmEditor.view.render(); icl_tm_editor.submit(function () { return false; }); tmEditor.update_copy_link_visibility(); jQuery(window).trigger('customEvent'); });