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"; "use strict";
/* global define, app, ajaxify, socket, templates, bootbox */ /* global define, app, ajaxify, socket, templates, bootbox */
define('admin/extend/rewards', function () { define('admin/extend/rewards', ['translator'], function (translator) {
var rewards = {}; var rewards = {};
@ -142,9 +142,11 @@ define('admin/extend/rewards', function () {
}; };
templates.parse('admin/extend/rewards', 'active', data, function (li) { templates.parse('admin/extend/rewards', 'active', data, function (li) {
li = $(li); translator.translate(li, function (li) {
ul.append(li); li = $(li);
li.find('select').val(''); 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; data.index = (parseInt($('#enabled').children().last().attr('data-index'), 10) || 0) + 1;
templates.parse('admin/general/navigation', 'navigation', {navigation: [data]}, function (li) { templates.parse('admin/general/navigation', 'navigation', {navigation: [data]}, function (li) {
li = $(translator.unescape(li)); translator.translate(li, function (li) {
el.after(li); li = $(translator.unescape(li));
el.remove(); el.after(li);
el.remove();
});
}); });
templates.parse('admin/general/navigation', 'enabled', {enabled: [data]}, function (li) { templates.parse('admin/general/navigation', 'enabled', {enabled: [data]}, function (li) {
li = $(translator.unescape(li)); translator.translate(li, function (li) {
$('#enabled').append(li); li = $(translator.unescape(li));
componentHandler.upgradeDom(); $('#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', { templates.parse('admin/partials/categories/create', {
categories: categories categories: categories
}, function (html) { }, function (html) {
function submit() { translator.translate(html, function (html) {
var formData = modal.find('form').serializeObject(); function submit() {
formData.description = ''; var formData = modal.find('form').serializeObject();
formData.icon = 'fa-comments'; formData.description = '';
formData.icon = 'fa-comments';
Categories.create(formData);
modal.modal('hide'); Categories.create(formData);
return false; modal.modal('hide');
} return false;
}
var modal = bootbox.dialog({ var modal = bootbox.dialog({
title: 'Create a Category', title: 'Create a Category',
message: html, message: html,
buttons: { buttons: {
save: { save: {
label: 'Save', label: 'Save',
className: 'btn-primary', className: 'btn-primary',
callback: submit 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, cid: parentId,
categories: categories categories: categories
}, function (html) { }, function (html) {
container.append(html); translator.translate(html, function (html) {
container.append(html);
// Handle and children categories in this level have // Handle and children categories in this level have
for(var x = 0,numCategories = categories.length; x < numCategories; x++) { for(var x = 0,numCategories = categories.length; x < numCategories; x++) {
renderList(categories[x].children, $('li[data-cid="' + categories[x].cid + '"]'), categories[x].cid); renderList(categories[x].children, $('li[data-cid="' + categories[x].cid + '"]'), categories[x].cid);
} }
// Make list sortable // Make list sortable
sortables[parentId] = Sortable.create($('ul[data-cid="' + parentId + '"]')[0], { sortables[parentId] = Sortable.create($('ul[data-cid="' + parentId + '"]')[0], {
group: 'cross-categories', group: 'cross-categories',
animation: 150, animation: 150,
handle: '.icon', handle: '.icon',
dataIdAttr: 'data-cid', dataIdAttr: 'data-cid',
ghostClass: "placeholder", ghostClass: "placeholder",
onAdd: itemDidAdd, onAdd: itemDidAdd,
onEnd: itemDragDidEnd onEnd: itemDragDidEnd
});
}); });
}); });
} }

@ -5,8 +5,9 @@ define('admin/manage/category', [
'uploader', 'uploader',
'iconSelect', 'iconSelect',
'admin/modules/colorpicker', 'admin/modules/colorpicker',
'autocomplete' 'autocomplete',
], function (uploader, iconSelect, colorpicker, autocomplete) { 'translator'
], function (uploader, iconSelect, colorpicker, autocomplete, translator) {
var Category = {}; var Category = {};
var modified_categories = {}; var modified_categories = {};
@ -232,8 +233,10 @@ define('admin/manage/category', [
templates.parse('admin/partials/categories/privileges', { templates.parse('admin/partials/categories/privileges', {
privileges: privileges privileges: privileges
}, function (html) { }, function (html) {
$('.privilege-table-container').html(html); translator.translate(html, function (html) {
Category.exposeAssumedPrivileges(); $('.privilege-table-container').html(html);
Category.exposeAssumedPrivileges();
});
}); });
}); });
}; };
@ -289,33 +292,35 @@ define('admin/manage/category', [
templates.parse('partials/category_list', { templates.parse('partials/category_list', {
categories: categories categories: categories
}, function (html) { }, function (html) {
var modal = bootbox.dialog({ translator.translate(html, function (html) {
message: html, var modal = bootbox.dialog({
title: 'Set Parent Category' 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
};
socket.emit('admin.categories.update', payload, function (err) { modal.find('li[data-cid]').on('click', function () {
if (err) { var parentCid = $(this).attr('data-cid'),
return app.alertError(err.message); payload = {};
}
var parent = categories.filter(function (category) { payload[ajaxify.data.category.cid] = {
return category && parseInt(category.cid, 10) === parseInt(parentCid, 10); 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', { templates.parse('admin/partials/categories/select-category', {
categories: categories categories: categories
}, function (html) { }, function (html) {
function submit() { translator.translate(html, function (html) {
var formData = modal.find('form').serializeObject(); function submit() {
callback(formData['select-cid']); var formData = modal.find('form').serializeObject();
modal.modal('hide'); callback(formData['select-cid']);
return false; modal.modal('hide');
} return false;
}
var modal = bootbox.dialog({ var modal = bootbox.dialog({
title: 'Select a Category', title: 'Select a Category',
message: html, message: html,
buttons: { buttons: {
save: { save: {
label: 'Copy', label: 'Copy',
className: 'btn-primary', className: 'btn-primary',
callback: submit 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', { templates.parse('admin/manage/groups', 'groups', {
groups: groups groups: groups
}, function (html) { }, function (html) {
groupsEl.find('[data-groupname]').remove(); translator.translate(html, function (html) {
groupsEl.find('tr').after(html); groupsEl.find('[data-groupname]').remove();
groupsEl.find('tr').after(html);
});
}); });
}); });
} }

@ -1,7 +1,7 @@
'use strict'; 'use strict';
/* globals $, app, socket, templates, define, bootbox */ /* globals $, app, socket, templates, define, bootbox */
define('admin/manage/ip-blacklist', [], function () { define('admin/manage/ip-blacklist', ['translator'], function (translator) {
var Blacklist = {}; var Blacklist = {};
@ -34,7 +34,9 @@ define('admin/manage/ip-blacklist', [], function () {
} }
templates.parse('admin/partials/blacklist-validate', data, function (html) { 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) { templates.parse('admin/manage/users', 'users', data, function (html) {
html = $(html); translator.translate(html, function (html) {
$('.users-table tr').not(':first').remove(); html = $(html);
$('.users-table tr').first().after(html); $('.users-table tr').not(':first').remove();
html.find('.timeago').timeago(); $('.users-table tr').first().after(html);
$('.fa-spinner').addClass('hidden'); html.find('.timeago').timeago();
$('.fa-spinner').addClass('hidden');
if (data && data.users.length === 0) {
$('#user-notfound-notify').html('User not found!') if (data && data.users.length === 0) {
.removeClass('hide') $('#user-notfound-notify').html('User not found!')
.addClass('label-danger') .removeClass('hide')
.removeClass('label-success'); .addClass('label-danger')
} else { .removeClass('label-success');
$('#user-notfound-notify').html(data.users.length + ' user' + (data.users.length > 1 ? 's' : '') + ' found! Search took ' + data.timing + ' ms.') } else {
.removeClass('hide') $('#user-notfound-notify').html(data.users.length + ' user' + (data.users.length > 1 ? 's' : '') + ' found! Search took ' + data.timing + ' ms.')
.addClass('label-success') .removeClass('hide')
.removeClass('label-danger'); .addClass('label-success')
} .removeClass('label-danger');
}
});
}); });
}); });
}, 250); }, 250);

Loading…
Cancel
Save