/*globals labels, TaxonomyTranslation, _, jQuery, WPML_core */
(function () {
TaxonomyTranslation.views.TermView = Backbone.View.extend({
tagName: 'span',
template: WPML_core[ "templates/taxonomy-translation/term-translated.html" ],
model: TaxonomyTranslation.models.Term,
popUpView: false,
needsCorrection: false,
events: {
"click .icl_tt_term_name": "openPopUpTerm"
},
initialize: function () {
var self = this;
self.listenTo(self.model, 'translationSaved', self.render);
self.listenTo(self.model, 'translationSaved', function () {
jQuery('#tax-apply').prop('disabled', false);
});
},
loadSyncData: function () {
"use strict";
var self = this;
var syncData = TaxonomyTranslation.data.syncData;
var ttid = self.model.get('term_taxonomy_id');
var parent = self.model.get('parent');
var found = false;
var needsCorrection = false;
var correctParentText = false;
var parentName = TaxonomyTranslation.classes.taxonomy.getTermName(parent);
_.each(syncData, function (correction) {
if (correction.translated_id == ttid) {
found = true;
var oldParent = '';
if (parent !== 0) {
oldParent = '-' + TaxonomyTranslation.classes.taxonomy.getTermName(parent) + '';
jQuery('.wpml-parent-removed').show();
}
var newParent = '';
if (correction.correct_parent !== 0) {
newParent = '+' + TaxonomyTranslation.classes.taxonomy.getTermName(correction.correct_parent) + '';
jQuery('.wpml-parent-added').show();
}
parentName = oldParent + ' ' + newParent;
needsCorrection = true;
}
});
if (needsCorrection === true) {
self.template = WPML_core[ 'templates/taxonomy-translation/term-not-synced.html' ];
} else {
self.template = WPML_core[ 'templates/taxonomy-translation/term-synced.html' ];
}
self.$el.html(
self.template({
trid: self.model.get("trid"),
lang: self.model.get("language_code"),
name: self.model.get("name"),
level: self.model.get("level"),
correctedLevel: self.model.get("level"),
correctParent: correctParentText,
parent: parentName
})
);
self.needsCorrection = needsCorrection;
return self;
},
render: function () {
var self = this;
self.needsCorrection = false;
if ( ! self.model.get( "name" ) ) {
self.template = WPML_core[ "templates/taxonomy-translation/term-not-translated.html" ];
} else if ( self.model.isOriginal() ) {
self.template = WPML_core[ "templates/taxonomy-translation/term-original-disabled.html" ];
} else {
self.template = WPML_core[ "templates/taxonomy-translation/term-translated.html" ];
}
var html = self.template({
trid: self.model.get("trid"),
lang: self.model.get("language_code"),
name: self.model.get("name"),
level: self.model.get("level"),
correctedLevel: self.model.get("level"),
langs: TaxonomyTranslation.data.activeLanguages
});
self.$el.html( html );
return self;
},
openPopUpTerm: function (e) {
var self = this;
e.preventDefault();
var trid = self.model.get("trid");
var lang = self.model.get("language_code");
if (trid && lang) {
if (TaxonomyTranslation.classes.termPopUpView && typeof TaxonomyTranslation.classes.termPopUpView !== 'undefined') {
TaxonomyTranslation.classes.termPopUpView.close();
}
if ( self.model.isOriginal() ) {
TaxonomyTranslation.classes.termPopUpView = new TaxonomyTranslation.views.OriginalTermPopUpView( { model: self.model } );
} else {
TaxonomyTranslation.classes.termPopUpView = new TaxonomyTranslation.views.TermPopUpView( { model: self.model } );
}
TaxonomyTranslation.classes.termPopUpView.open( trid, lang );
}
}
});
})(TaxonomyTranslation);