Translate dynamically added admin content

v1.18.x
Peter Jaszkowiak 8 years ago committed by Julian Lam
parent 3cd6a8a94b
commit 4eca23174a

@ -1,7 +1,7 @@
"use strict";
/* global define, app, ajaxify, socket, templates, bootbox */
define('admin/extend/rewards', function () {
define('admin/extend/rewards', ['translator'], function (translator) {
var rewards = {};
@ -142,9 +142,11 @@ define('admin/extend/rewards', function () {
};
templates.parse('admin/extend/rewards', 'active', data, function (li) {
li = $(li);
ul.append(li);
li.find('select').val('');
translator.translate(li, function (li) {
li = $(li);
ul.append(li);
li.find('select').val('');
});
});
}

@ -69,15 +69,19 @@ define('admin/general/navigation', ['translator', 'iconSelect', 'jqueryui'], fun
data.index = (parseInt($('#enabled').children().last().attr('data-index'), 10) || 0) + 1;
templates.parse('admin/general/navigation', 'navigation', {navigation: [data]}, function (li) {
li = $(translator.unescape(li));
el.after(li);
el.remove();
translator.translate(li, function (li) {
li = $(translator.unescape(li));
el.after(li);
el.remove();
});
});
templates.parse('admin/general/navigation', 'enabled', {enabled: [data]}, function (li) {
li = $(translator.unescape(li));
$('#enabled').append(li);
componentHandler.upgradeDom();
translator.translate(li, function (li) {
li = $(translator.unescape(li));
$('#enabled').append(li);
componentHandler.upgradeDom();
});
});
}

@ -40,29 +40,31 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri
templates.parse('admin/partials/categories/create', {
categories: categories
}, function (html) {
function submit() {
var formData = modal.find('form').serializeObject();
formData.description = '';
formData.icon = 'fa-comments';
Categories.create(formData);
modal.modal('hide');
return false;
}
translator.translate(html, function (html) {
function submit() {
var formData = modal.find('form').serializeObject();
formData.description = '';
formData.icon = 'fa-comments';
Categories.create(formData);
modal.modal('hide');
return false;
}
var modal = bootbox.dialog({
title: 'Create a Category',
message: html,
buttons: {
save: {
label: 'Save',
className: 'btn-primary',
callback: submit
var modal = bootbox.dialog({
title: 'Create a Category',
message: html,
buttons: {
save: {
label: 'Save',
className: 'btn-primary',
callback: submit
}
}
}
});
});
modal.find('form').on('submit', submit);
modal.find('form').on('submit', submit);
});
});
});
};
@ -176,22 +178,24 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri
cid: parentId,
categories: categories
}, function (html) {
container.append(html);
translator.translate(html, function (html) {
container.append(html);
// Handle and children categories in this level have
for(var x = 0,numCategories = categories.length; x < numCategories; x++) {
renderList(categories[x].children, $('li[data-cid="' + categories[x].cid + '"]'), categories[x].cid);
}
// Handle and children categories in this level have
for(var x = 0,numCategories = categories.length; x < numCategories; x++) {
renderList(categories[x].children, $('li[data-cid="' + categories[x].cid + '"]'), categories[x].cid);
}
// Make list sortable
sortables[parentId] = Sortable.create($('ul[data-cid="' + parentId + '"]')[0], {
group: 'cross-categories',
animation: 150,
handle: '.icon',
dataIdAttr: 'data-cid',
ghostClass: "placeholder",
onAdd: itemDidAdd,
onEnd: itemDragDidEnd
// Make list sortable
sortables[parentId] = Sortable.create($('ul[data-cid="' + parentId + '"]')[0], {
group: 'cross-categories',
animation: 150,
handle: '.icon',
dataIdAttr: 'data-cid',
ghostClass: "placeholder",
onAdd: itemDidAdd,
onEnd: itemDragDidEnd
});
});
});
}

@ -5,8 +5,9 @@ define('admin/manage/category', [
'uploader',
'iconSelect',
'admin/modules/colorpicker',
'autocomplete'
], function (uploader, iconSelect, colorpicker, autocomplete) {
'autocomplete',
'translator'
], function (uploader, iconSelect, colorpicker, autocomplete, translator) {
var Category = {};
var modified_categories = {};
@ -232,8 +233,10 @@ define('admin/manage/category', [
templates.parse('admin/partials/categories/privileges', {
privileges: privileges
}, function (html) {
$('.privilege-table-container').html(html);
Category.exposeAssumedPrivileges();
translator.translate(html, function (html) {
$('.privilege-table-container').html(html);
Category.exposeAssumedPrivileges();
});
});
});
};
@ -289,33 +292,35 @@ define('admin/manage/category', [
templates.parse('partials/category_list', {
categories: categories
}, function (html) {
var modal = bootbox.dialog({
message: html,
title: 'Set Parent Category'
});
modal.find('li[data-cid]').on('click', function () {
var parentCid = $(this).attr('data-cid'),
payload = {};
payload[ajaxify.data.category.cid] = {
parentCid: parentCid
};
translator.translate(html, function (html) {
var modal = bootbox.dialog({
message: html,
title: 'Set Parent Category'
});
socket.emit('admin.categories.update', payload, function (err) {
if (err) {
return app.alertError(err.message);
}
var parent = categories.filter(function (category) {
return category && parseInt(category.cid, 10) === parseInt(parentCid, 10);
modal.find('li[data-cid]').on('click', function () {
var parentCid = $(this).attr('data-cid'),
payload = {};
payload[ajaxify.data.category.cid] = {
parentCid: parentCid
};
socket.emit('admin.categories.update', payload, function (err) {
if (err) {
return app.alertError(err.message);
}
var parent = categories.filter(function (category) {
return category && parseInt(category.cid, 10) === parseInt(parentCid, 10);
});
parent = parent[0];
modal.modal('hide');
$('button[data-action="removeParent"]').parent().removeClass('hide');
$('button[data-action="setParent"]').addClass('hide');
var buttonHtml = '<i class="fa ' + parent.icon + '"></i> ' + parent.name;
$('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide');
});
parent = parent[0];
modal.modal('hide');
$('button[data-action="removeParent"]').parent().removeClass('hide');
$('button[data-action="setParent"]').addClass('hide');
var buttonHtml = '<i class="fa ' + parent.icon + '"></i> ' + parent.name;
$('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide');
});
});
});
@ -407,26 +412,28 @@ define('admin/manage/category', [
templates.parse('admin/partials/categories/select-category', {
categories: categories
}, function (html) {
function submit() {
var formData = modal.find('form').serializeObject();
callback(formData['select-cid']);
modal.modal('hide');
return false;
}
translator.translate(html, function (html) {
function submit() {
var formData = modal.find('form').serializeObject();
callback(formData['select-cid']);
modal.modal('hide');
return false;
}
var modal = bootbox.dialog({
title: 'Select a Category',
message: html,
buttons: {
save: {
label: 'Copy',
className: 'btn-primary',
callback: submit
var modal = bootbox.dialog({
title: 'Select a Category',
message: html,
buttons: {
save: {
label: 'Copy',
className: 'btn-primary',
callback: submit
}
}
}
});
});
modal.find('form').on('submit', submit);
modal.find('form').on('submit', submit);
});
});
});
}

@ -102,8 +102,10 @@ define('admin/manage/groups', [
templates.parse('admin/manage/groups', 'groups', {
groups: groups
}, function (html) {
groupsEl.find('[data-groupname]').remove();
groupsEl.find('tr').after(html);
translator.translate(html, function (html) {
groupsEl.find('[data-groupname]').remove();
groupsEl.find('tr').after(html);
});
});
});
}

@ -1,7 +1,7 @@
'use strict';
/* globals $, app, socket, templates, define, bootbox */
define('admin/manage/ip-blacklist', [], function () {
define('admin/manage/ip-blacklist', ['translator'], function (translator) {
var Blacklist = {};
@ -34,7 +34,9 @@ define('admin/manage/ip-blacklist', [], function () {
}
templates.parse('admin/partials/blacklist-validate', data, function (html) {
bootbox.alert(html);
translator.translate(html, function (html) {
bootbox.alert(html);
});
});
});
});

@ -336,25 +336,25 @@ define('admin/manage/users', ['translator'], function (translator) {
}
templates.parse('admin/manage/users', 'users', data, function (html) {
html = $(html);
$('.users-table tr').not(':first').remove();
$('.users-table tr').first().after(html);
html.find('.timeago').timeago();
$('.fa-spinner').addClass('hidden');
if (data && data.users.length === 0) {
$('#user-notfound-notify').html('User not found!')
.removeClass('hide')
.addClass('label-danger')
.removeClass('label-success');
} else {
$('#user-notfound-notify').html(data.users.length + ' user' + (data.users.length > 1 ? 's' : '') + ' found! Search took ' + data.timing + ' ms.')
.removeClass('hide')
.addClass('label-success')
.removeClass('label-danger');
}
translator.translate(html, function (html) {
html = $(html);
$('.users-table tr').not(':first').remove();
$('.users-table tr').first().after(html);
html.find('.timeago').timeago();
$('.fa-spinner').addClass('hidden');
if (data && data.users.length === 0) {
$('#user-notfound-notify').html('User not found!')
.removeClass('hide')
.addClass('label-danger')
.removeClass('label-success');
} else {
$('#user-notfound-notify').html(data.users.length + ' user' + (data.users.length > 1 ? 's' : '') + ' found! Search took ' + data.timing + ' ms.')
.removeClass('hide')
.addClass('label-success')
.removeClass('label-danger');
}
});
});
});
}, 250);

Loading…
Cancel
Save