first commit

This commit is contained in:
2023-09-12 21:41:04 +02:00
commit 3361a7f053
13284 changed files with 2116755 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
/*globals _, TaxonomyTranslation, document, Backbone, jQuery */
(function () {
"use strict";
TaxonomyTranslation.views.TermRowView = Backbone.View.extend({
tagName: "tr",
model: TaxonomyTranslation.models.TermRow,
termViews: {},
className: '',
events: {
'click .js-copy-to-all-langs': 'copyToAllLangs'
},
initialize: function () {
var self = this;
self.listenTo(TaxonomyTranslation.classes.taxonomy, 'syncDataLoaded', self.maybeHide);
},
maybeHide: function () {
var self = this;
var visible = false;
var terms = self.model.get("terms");
_.each(TaxonomyTranslation.data.syncData, function (correction) {
_.each(terms, function (term) {
if (correction.translated_id == term.get("term_taxonomy_id")) {
visible = true;
}
});
});
if (visible) {
self.$el.show();
} else {
self.$el.hide();
}
},
render: function () {
var termsFragments = {};
var self = this;
var langs = TaxonomyTranslation.util.langCodes;
var terms = self.model.get("terms");
var originalTerm = null;
_.each(langs, function (lang) {
var term = terms[lang];
if (term === undefined) {
term = new TaxonomyTranslation.models.Term({language_code: lang, trid: self.model.get("trid")});
terms[lang] = term;
self.model.set("terms", terms, {silent: true});
}
if ( term.isOriginal() ) {
originalTerm = term;
}
var newView = new TaxonomyTranslation.views.TermView({model: term});
self.termViews[lang] = newView;
if (TaxonomyTranslation.mainView.mode === 'sync') {
termsFragments[lang] = newView.loadSyncData().el;
} else {
termsFragments[lang] = newView.render().el;
}
});
if ( originalTerm ) {
var newRowFragment = document.createDocumentFragment();
if ( TaxonomyTranslation.mainView.mode !== 'sync' ) {
var originalView = new TaxonomyTranslation.views.TermOriginalView({model: originalTerm });
newRowFragment.appendChild( originalView.render().el );
var newRowLangs = document.createElement( 'td' );
jQuery( newRowLangs ).addClass( 'wpml-col-languages' );
_.each(langs, function(lang){
newRowLangs.appendChild(termsFragments[lang]);
});
newRowFragment.appendChild( newRowLangs );
} else {
_.each(langs, function(lang){
var newRowTD = document.createElement( 'td' );
newRowTD.appendChild(termsFragments[lang]);
newRowFragment.appendChild( newRowTD );
});
}
self.$el.html(newRowFragment);
}
return self;
},
copyToAllLangs: function () {
var self = this;
TaxonomyTranslation.classes.copyAllPopUpView = new TaxonomyTranslation.views.CopyAllPopUpView( { model: self.model } );
TaxonomyTranslation.classes.copyAllPopUpView.open( );
}
});
}(TaxonomyTranslation));