first commit
This commit is contained in:
@@ -0,0 +1,211 @@
|
||||
/*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 = '<div id="tm-editor-learn-more" title="' + tmEditorStrings.title + '">' + tmEditorStrings.learnMore + '</div>';
|
||||
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 = ['<div id="tm-editor-learn-more"><span>',
|
||||
tmEditorStrings.warning,
|
||||
'</span><p><input type="checkbox" class="tm-editor-not-show-again"/>',
|
||||
tmEditorStrings.dontShowAgain,
|
||||
'</p></div>'].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');
|
||||
});
|
||||
Reference in New Issue
Block a user