first commit
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
(function () {
|
||||
TaxonomyTranslation.views.TermRowsView = Backbone.View.extend({
|
||||
|
||||
tagName: 'tbody',
|
||||
collection: TaxonomyTranslation.data.termRowsCollection,
|
||||
rowViews: [],
|
||||
start: 0,
|
||||
end: 10,
|
||||
count: -1,
|
||||
initialize: function (data, options) {
|
||||
var self = this;
|
||||
self.end = options.end;
|
||||
self.start = options.start;
|
||||
},
|
||||
getDisplayedRows: function () {
|
||||
var self = this;
|
||||
var displayedRows = self.collection;
|
||||
|
||||
if (!displayedRows) {
|
||||
self.count = -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TaxonomyTranslation.mainView.mode === 'sync') {
|
||||
displayedRows = displayedRows.filter(function (row) {
|
||||
"use strict";
|
||||
return row.unSyncFilter();
|
||||
});
|
||||
}
|
||||
|
||||
var parentFilter = TaxonomyTranslation.mainView.filterView.parent ? TaxonomyTranslation.mainView.filterView.parent : false;
|
||||
|
||||
if (parentFilter) {
|
||||
displayedRows = displayedRows.filter(function (row) {
|
||||
return row.parentOf(parentFilter);
|
||||
});
|
||||
}
|
||||
|
||||
var untranslatedFilter = TaxonomyTranslation.mainView.filterView.untranslated ? TaxonomyTranslation.mainView.filterView.untranslated : false;
|
||||
|
||||
if (untranslatedFilter) {
|
||||
displayedRows = displayedRows.filter(function (row) {
|
||||
return !row.allTermsTranslated();
|
||||
});
|
||||
}
|
||||
|
||||
var langFilter = TaxonomyTranslation.mainView.filterView.lang && TaxonomyTranslation.mainView.filterView.lang !== 'all' ? TaxonomyTranslation.mainView.filterView.lang : false;
|
||||
|
||||
if (langFilter && langFilter != 'all' && (untranslatedFilter || parentFilter)) {
|
||||
displayedRows = displayedRows.filter(function (row) {
|
||||
return !row.translatedIn(langFilter);
|
||||
});
|
||||
}
|
||||
|
||||
var searchFilter = false;
|
||||
|
||||
if (TaxonomyTranslation.mainView.filterView.search && TaxonomyTranslation.mainView.filterView.search !== '') {
|
||||
searchFilter = TaxonomyTranslation.mainView.filterView.search;
|
||||
}
|
||||
|
||||
if (searchFilter) {
|
||||
displayedRows = displayedRows.filter(function (row) {
|
||||
if (langFilter && langFilter !== 'all') {
|
||||
return row.matchesInLang(searchFilter, langFilter);
|
||||
} else {
|
||||
return row.matches(searchFilter);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
self.count = displayedRows.length;
|
||||
|
||||
return displayedRows;
|
||||
},
|
||||
getDisplayCount: function(){
|
||||
return this.count;
|
||||
},
|
||||
render: function () {
|
||||
|
||||
var self = this,
|
||||
output = document.createDocumentFragment(),
|
||||
displayedRows = self.getDisplayedRows();
|
||||
|
||||
self.rowViews = [];
|
||||
|
||||
if ( displayedRows && displayedRows.length > 0 ) {
|
||||
displayedRows = displayedRows.slice(self.start, self.end);
|
||||
|
||||
displayedRows.forEach(function (row) {
|
||||
var newView = new TaxonomyTranslation.views.TermRowView({model: row });
|
||||
self.rowViews.push(newView);
|
||||
output.appendChild(newView.render().el);
|
||||
newView.delegateEvents();
|
||||
|
||||
});
|
||||
self.$el.html(output);
|
||||
} else {
|
||||
var taxonomy = TaxonomyTranslation.classes.taxonomy.get("taxonomy"),
|
||||
taxonomyPluralLabel = TaxonomyTranslation.data.taxonomies[taxonomy].label,
|
||||
message = labels.noTermsFound.replace( '%taxonomy%', taxonomyPluralLabel );
|
||||
|
||||
self.$el.html(
|
||||
WPML_core[ 'templates/taxonomy-translation/no-terms-found.html' ] ({
|
||||
message: message
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
return self;
|
||||
|
||||
}
|
||||
});
|
||||
})(TaxonomyTranslation);
|
||||
Reference in New Issue
Block a user