2020-04-06 13:24:46 +02:00
|
|
|
import Vue from 'vue';
|
|
|
|
|
import Localization from 'zeroservices/localization';
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Localizes the given property and sets the inner-text of the node to its result
|
|
|
|
|
/// </summary>
|
2020-04-08 00:43:33 +02:00
|
|
|
Vue.directive('localize', (el, binding) =>
|
|
|
|
|
{
|
|
|
|
|
if (binding.value !== binding.oldValue)
|
2020-04-06 13:24:46 +02:00
|
|
|
{
|
2020-04-08 00:43:33 +02:00
|
|
|
const isObject = typeof binding.value === 'object';
|
|
|
|
|
let key = isObject ? binding.value.key : binding.value;
|
|
|
|
|
let options = isObject ? binding.value : null;
|
2020-04-06 13:24:46 +02:00
|
|
|
|
2020-04-08 00:43:33 +02:00
|
|
|
el.innerText = Localization.localize(key, options);
|
2020-04-06 13:24:46 +02:00
|
|
|
}
|
|
|
|
|
});
|