| Current Path : /home2/wtmwscom/public_html/post/Track and Trace_files/ |
| Current File : /home2/wtmwscom/public_html/post/Track and Trace_files/MultiLingual.js |
define("MultiLingual.controller$AddTranslations", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$AddTranslations.SetRightToLeftJS", "MultiLingual.controller$AddTranslations.AddTranslationJS", "MultiLingual.controller$GetLocaleResources", "MultiLingual.controller$InitializeGlobals", "MultiLingual.model$TranslationList", "MultiLingual.model$LocaleTranslationList"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_AddTranslations_SetRightToLeftJS, MultiLingual_controller_AddTranslations_AddTranslationJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.addTranslations$Action = function (localeTranslationsIn, callContext) {
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.AddTranslations$vars"))());
vars.value.localeTranslationsInLocal = localeTranslationsIn.clone();
var getLocaleResourcesVar = new OS.DataTypes.VariableHolder();
return OS.Flow.executeAsyncFlow(function () {
// Execute Action: InitializeGlobals
return MultiLingualController.default.initializeGlobals$Action(callContext).then(function () {
// Foreach LocaleTranslations
callContext.iterationContext.registerIterationStart(vars.value.localeTranslationsInLocal);
}).then(function () {
try {var localeTranslationsIterator = callContext.iterationContext.getIterator(vars.value.localeTranslationsInLocal);
var localeTranslationsIndex = 0;
while (((localeTranslationsIndex < vars.value.localeTranslationsInLocal.length))) {
localeTranslationsIterator.currentRowNumber = localeTranslationsIndex;
// Execute Action: GetLocaleResources
getLocaleResourcesVar.value = MultiLingualController.default.getLocaleResources$Action(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).localeAttr, true, callContext);
controller.safeExecuteJSNode(MultiLingual_controller_AddTranslations_SetRightToLeftJS, "SetRightToLeft", "AddTranslations", {
LocaleObj: OS.DataConversion.JSNodeParamConverter.to(getLocaleResourcesVar.value.localeResourcesOut, OS.Types.Object),
IsRightToLeft: OS.DataConversion.JSNodeParamConverter.to(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).isRightToLeftAttr, OS.Types.Boolean)
}, function ($parameters) {
}, {}, {});
// Foreach LocaleTranslations.Current.Translations
callContext.iterationContext.registerIterationStart(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr);
try {var translationsIterator = callContext.iterationContext.getIterator(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr);
var translationsIndex = 0;
while (((translationsIndex < vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr.length))) {
translationsIterator.currentRowNumber = translationsIndex;
controller.safeExecuteJSNode(MultiLingual_controller_AddTranslations_AddTranslationJS, "AddTranslation", "AddTranslations", {
LocaleResources: OS.DataConversion.JSNodeParamConverter.to(getLocaleResourcesVar.value.localeResourcesOut, OS.Types.Object),
Key: OS.DataConversion.JSNodeParamConverter.to(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr.getItem(translationsIndex.valueOf()).keyAttr, OS.Types.Text),
Value: OS.DataConversion.JSNodeParamConverter.to(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr.getItem(translationsIndex.valueOf()).valueAttr, OS.Types.Text)
}, function ($parameters) {
}, {}, {});
translationsIndex++;
}
} finally {
callContext.iterationContext.registerIterationEnd(vars.value.localeTranslationsInLocal.getItem(localeTranslationsIndex.valueOf()).translationsAttr);
}
localeTranslationsIndex++;
}
} finally {
callContext.iterationContext.registerIterationEnd(vars.value.localeTranslationsInLocal);
}
});
}).then(function () {
return ;
});
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.AddTranslations$vars", [{
name: "LocaleTranslations",
attrName: "localeTranslationsInLocal",
mandatory: true,
dataType: OS.Types.RecordList,
defaultValue: function () {
return new MultiLingualModel.LocaleTranslationList();
},
complexType: MultiLingualModel.LocaleTranslationList
}]);
MultiLingualController.default.clientActionProxies.addTranslations$Action = function (localeTranslationsIn) {
localeTranslationsIn = (localeTranslationsIn === undefined) ? new MultiLingualModel.LocaleTranslationList() : localeTranslationsIn;
return controller.executeActionInsideJSNode(MultiLingualController.default.addTranslations$Action.bind(controller, localeTranslationsIn), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {};
});
};
});
define("MultiLingual.controller$AddTranslations.SetRightToLeftJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
$parameters.LocaleObj.isRightToLeft = $parameters.IsRightToLeft;
};
});
define("MultiLingual.controller$AddTranslations.AddTranslationJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
$parameters.LocaleResources.translations[$parameters.Key] = $parameters.Value;
};
});
define("MultiLingual.controller$AddTranslationsFromResource", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$AddTranslationsFromResource.LoadResourceJS", "MultiLingual.controller$InitializeGlobals", "MultiLingual.controller$GetLocaleResources"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_AddTranslationsFromResource_LoadResourceJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.addTranslationsFromResource$Action = function (resourceUrlIn, callContext) {
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.AddTranslationsFromResource$vars"))());
vars.value.resourceUrlInLocal = resourceUrlIn;
return OS.Flow.executeAsyncFlow(function () {
// Execute Action: InitializeGlobals
return MultiLingualController.default.initializeGlobals$Action(callContext).then(function () {
return controller.safeExecuteAsyncJSNode(MultiLingual_controller_AddTranslationsFromResource_LoadResourceJS, "LoadResource", "AddTranslationsFromResource", {
ResourceUrl: OS.DataConversion.JSNodeParamConverter.to(vars.value.resourceUrlInLocal, OS.Types.Text)
}, function ($parameters) {
}, {
GetLocaleResources: MultiLingualController.default.clientActionProxies.getLocaleResources$Action
}, {});
});
}).then(function () {
return ;
});
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.AddTranslationsFromResource$vars", [{
name: "ResourceUrl",
attrName: "resourceUrlInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.clientActionProxies.addTranslationsFromResource$Action = function (resourceUrlIn) {
resourceUrlIn = (resourceUrlIn === undefined) ? "" : resourceUrlIn;
return controller.executeActionInsideJSNode(MultiLingualController.default.addTranslationsFromResource$Action.bind(controller, OS.DataConversion.JSNodeParamConverter.from(resourceUrlIn, OS.Types.Text)), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {};
});
};
});
define("MultiLingual.controller$AddTranslationsFromResource.LoadResourceJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
return new Promise(function ($resolve, $reject) {
var xhr = new XMLHttpRequest();
xhr.overrideMimeType('text/json; charset=utf-8');
xhr.open('get', $parameters.ResourceUrl, true);
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
try {
var resources = JSON.parse(xhr.responseText);
for (var i = 0; i < resources.length; i++) {
var resource = resources[i];
var localeResources = $actions.GetLocaleResources(resource.locale, true).LocaleResources;
// merge resources
localeResources.isRightToLeft = resource.isRightToLeft;
for (var key in resource.translations) {
var translation = resource.translations[key];
if (translation) {
translation = translation.replace("\\r\\n", "\r\n");
}
localeResources.translations[key] = translation;
}
}
$resolve();
} catch (e) {
$reject(e);
}
} else {
$reject();
}
};
xhr.send();
});
};
});
define("MultiLingual.controller$GetLocale", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$GetLocale.GetLocaleJS"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_GetLocale_GetLocaleJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.getLocale$Action = function (callContext) {
callContext = controller.callContext(callContext);
var getLocaleJSResult = new OS.DataTypes.VariableHolder();
var outVars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.GetLocale$outVars"))());
getLocaleJSResult.value = controller.safeExecuteJSNode(MultiLingual_controller_GetLocale_GetLocaleJS, "GetLocale", "GetLocale", {
Locale: OS.DataConversion.JSNodeParamConverter.to("", OS.Types.Text)
}, function ($parameters) {
var jsNodeResult = new (controller.constructor.getVariableGroupType("MultiLingual.GetLocale$getLocaleJSResult"))();
jsNodeResult.localeOut = OS.DataConversion.JSNodeParamConverter.from($parameters.Locale, OS.Types.Text);
return jsNodeResult;
}, {}, {});
// Locale = GetLocale.Locale
outVars.value.localeOut = getLocaleJSResult.value.localeOut;
return outVars.value;
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetLocale$getLocaleJSResult", [{
name: "Locale",
attrName: "localeOut",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetLocale$outVars", [{
name: "Locale",
attrName: "localeOut",
mandatory: false,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.clientActionProxies.getLocale$Action = function () {
return controller.executeActionInsideJSNode(MultiLingualController.default.getLocale$Action.bind(controller), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {
Locale: OS.DataConversion.JSNodeParamConverter.to(actionResults.localeOut, OS.Types.Text)
};
});
};
});
define("MultiLingual.controller$GetLocale.GetLocaleJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
if (window.osMultiLang) {
$parameters.Locale = window.osMultiLang.currentLocale;
} else {
$parameters.Locale = "";
}
};
});
define("MultiLingual.controller$GetLocaleResources", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$GetLocaleResources.GetLocaleResourcesJS"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_GetLocaleResources_GetLocaleResourcesJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.getLocaleResources$Action = function (localeIn, createIfNeededIn, callContext) {
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.GetLocaleResources$vars"))());
vars.value.localeInLocal = localeIn;
vars.value.createIfNeededInLocal = createIfNeededIn;
var getLocaleResourcesJSResult = new OS.DataTypes.VariableHolder();
var outVars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.GetLocaleResources$outVars"))());
getLocaleResourcesJSResult.value = controller.safeExecuteJSNode(MultiLingual_controller_GetLocaleResources_GetLocaleResourcesJS, "GetLocaleResources", "GetLocaleResources", {
Locale: OS.DataConversion.JSNodeParamConverter.to(vars.value.localeInLocal, OS.Types.Text),
CreateIfNeeded: OS.DataConversion.JSNodeParamConverter.to(vars.value.createIfNeededInLocal, OS.Types.Boolean),
LocaleResources: OS.DataConversion.JSNodeParamConverter.to(null, OS.Types.Object)
}, function ($parameters) {
var jsNodeResult = new (controller.constructor.getVariableGroupType("MultiLingual.GetLocaleResources$getLocaleResourcesJSResult"))();
jsNodeResult.localeResourcesOut = OS.DataConversion.JSNodeParamConverter.from($parameters.LocaleResources, OS.Types.Object);
return jsNodeResult;
}, {}, {});
// LocaleResources = GetLocaleResources.LocaleResources
outVars.value.localeResourcesOut = getLocaleResourcesJSResult.value.localeResourcesOut;
return outVars.value;
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetLocaleResources$vars", [{
name: "Locale",
attrName: "localeInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}, {
name: "CreateIfNeeded",
attrName: "createIfNeededInLocal",
mandatory: true,
dataType: OS.Types.Boolean,
defaultValue: function () {
return false;
}
}]);
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetLocaleResources$getLocaleResourcesJSResult", [{
name: "LocaleResources",
attrName: "localeResourcesOut",
mandatory: true,
dataType: OS.Types.Object,
defaultValue: function () {
return null;
}
}]);
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetLocaleResources$outVars", [{
name: "LocaleResources",
attrName: "localeResourcesOut",
mandatory: false,
dataType: OS.Types.Object,
defaultValue: function () {
return null;
}
}]);
MultiLingualController.default.clientActionProxies.getLocaleResources$Action = function (localeIn, createIfNeededIn) {
localeIn = (localeIn === undefined) ? "" : localeIn;
createIfNeededIn = (createIfNeededIn === undefined) ? false : createIfNeededIn;
return controller.executeActionInsideJSNode(MultiLingualController.default.getLocaleResources$Action.bind(controller, OS.DataConversion.JSNodeParamConverter.from(localeIn, OS.Types.Text), OS.DataConversion.JSNodeParamConverter.from(createIfNeededIn, OS.Types.Boolean)), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {
LocaleResources: OS.DataConversion.JSNodeParamConverter.to(actionResults.localeResourcesOut, OS.Types.Object)
};
});
};
});
define("MultiLingual.controller$GetLocaleResources.GetLocaleResourcesJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
$parameters.LocaleResources = window.osMultiLang.resources[$parameters.Locale];
if (!$parameters.LocaleResources && $parameters.CreateIfNeeded) {
$parameters.LocaleResources = {
isRightToLeft: false,
translations: {}
};
window.osMultiLang.resources[$parameters.Locale] = $parameters.LocaleResources;
}
};
});
define("MultiLingual.controller$GetTranslation", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$GetTranslation.GetTranslationJS"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_GetTranslation_GetTranslationJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.getTranslation$Action = function (keyIn, defaultValueIn, callContext) {
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.GetTranslation$vars"))());
vars.value.keyInLocal = keyIn;
vars.value.defaultValueInLocal = defaultValueIn;
var getTranslationJSResult = new OS.DataTypes.VariableHolder();
var outVars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.GetTranslation$outVars"))());
getTranslationJSResult.value = controller.safeExecuteJSNode(MultiLingual_controller_GetTranslation_GetTranslationJS, "GetTranslation", "GetTranslation", {
DefaultValue: OS.DataConversion.JSNodeParamConverter.to(vars.value.defaultValueInLocal, OS.Types.Text),
Key: OS.DataConversion.JSNodeParamConverter.to(vars.value.keyInLocal, OS.Types.Text),
Translation: OS.DataConversion.JSNodeParamConverter.to("", OS.Types.Text)
}, function ($parameters) {
var jsNodeResult = new (controller.constructor.getVariableGroupType("MultiLingual.GetTranslation$getTranslationJSResult"))();
jsNodeResult.translationOut = OS.DataConversion.JSNodeParamConverter.from($parameters.Translation, OS.Types.Text);
return jsNodeResult;
}, {}, {});
// Translation = GetTranslation.Translation
outVars.value.translationOut = getTranslationJSResult.value.translationOut;
return outVars.value;
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetTranslation$vars", [{
name: "Key",
attrName: "keyInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}, {
name: "DefaultValue",
attrName: "defaultValueInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetTranslation$getTranslationJSResult", [{
name: "Translation",
attrName: "translationOut",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.GetTranslation$outVars", [{
name: "Translation",
attrName: "translationOut",
mandatory: false,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}]);
MultiLingualController.default.clientActionProxies.getTranslation$Action = function (keyIn, defaultValueIn) {
keyIn = (keyIn === undefined) ? "" : keyIn;
defaultValueIn = (defaultValueIn === undefined) ? "" : defaultValueIn;
return controller.executeActionInsideJSNode(MultiLingualController.default.getTranslation$Action.bind(controller, OS.DataConversion.JSNodeParamConverter.from(keyIn, OS.Types.Text), OS.DataConversion.JSNodeParamConverter.from(defaultValueIn, OS.Types.Text)), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {
Translation: OS.DataConversion.JSNodeParamConverter.to(actionResults.translationOut, OS.Types.Text)
};
});
};
});
define("MultiLingual.controller$GetTranslation.GetTranslationJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
var translation;
if (window.osMultiLang) {
if (window.osMultiLang.currentLocaleResources) {
translation = window.osMultiLang.currentLocaleResources.translations[$parameters.Key];
}
if (!translation && window.osMultiLang.currentLocaleParentResources) {
translation = window.osMultiLang.currentLocaleParentResources.translations[$parameters.Key];
}
}
if (!translation) {
translation = $parameters.DefaultValue;
}
$parameters.Translation = translation;
};
});
define("MultiLingual.controller$InitializeGlobals", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$InitializeGlobals.InitializeJS", "MultiLingual.controller$GetTranslation"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_InitializeGlobals_InitializeJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.initializeGlobals$Action = function (callContext) {
callContext = controller.callContext(callContext);
return OS.Flow.executeAsyncFlow(function () {
return controller.safeExecuteAsyncJSNode(MultiLingual_controller_InitializeGlobals_InitializeJS, "Initialize", "InitializeGlobals", {
ESpaceName: OS.DataConversion.JSNodeParamConverter.to(OS.BuiltinFunctions.getEntryEspaceName(), OS.Types.Text)
}, function ($parameters) {
}, {
GetTranslation: MultiLingualController.default.clientActionProxies.getTranslation$Action
}, {});
}).then(function () {
return ;
});
};
var controller = MultiLingualController.default;
MultiLingualController.default.clientActionProxies.initializeGlobals$Action = function () {
return controller.executeActionInsideJSNode(MultiLingualController.default.initializeGlobals$Action.bind(controller), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {};
});
};
});
define("MultiLingual.controller$InitializeGlobals.InitializeJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
return new Promise(function ($resolve, $reject) {
if (!window.osMultiLang) {
// setup global objects
window.osMultiLang = {
currentLocale: "",
currentLocaleResources: undefined,
currentLocaleParentResources: undefined,
resources: {},
defaultValidationMessages: {}
};
// replace Text.render method to translate the text
require(["OutSystems/ReactWidgets/Text", "react"], function (Text, React) {
Text.Text.prototype.render = function () {
var attributes = {
className: this.props.style
};
this.fillWithBuiltinProperties(attributes);
// get translation
var text = this.props.text;
if (this.props.extendedProperties) {
var key = this.props.extendedProperties["data-trans"];
if (key) {
var translation = $actions.GetTranslation(key, text.join("\n")).Translation;
text = translation.split("\n");
}
}
var _a;
return (_a = React.DOM).span.apply(_a, [attributes].concat(text));
};
// store default validation messages
require([$parameters.ESpaceName + ".languageResources"], function (MessageResources) {
for (var name in MessageResources.messages) {
window.osMultiLang.defaultValidationMessages[name] = MessageResources.messages[name];
}
$resolve();
}, function(e) {
$reject(e);
});
}, function(e) {
$reject(e);
});
} else {
$resolve();
}
});
};
});
define("MultiLingual.controller$SetLocale", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$SetLocale.SetLocaleJS", "MultiLingual.controller$InitializeGlobals", "MultiLingual.controller$TranslateValidationMessages", "MultiLingual.controller$GetLocaleResources"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_SetLocale_SetLocaleJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.setLocale$Action = function (localeIn, callContext) {
callContext = controller.callContext(callContext);
var vars = new OS.DataTypes.VariableHolder(new (controller.constructor.getVariableGroupType("MultiLingual.SetLocale$vars"))());
vars.value.localeInLocal = localeIn;
return OS.Flow.executeAsyncFlow(function () {
// Execute Action: InitializeGlobals
return MultiLingualController.default.initializeGlobals$Action(callContext).then(function () {
// SeparatorIndex = Index
vars.value.separatorIndexVar = OS.BuiltinFunctions.index(vars.value.localeInLocal, "-", 0, false, false);
}).then(function () {
if((((vars.value.separatorIndexVar) !== (-1)))) {
// ParentLocale = Substr
vars.value.parentLocaleVar = OS.BuiltinFunctions.substr(vars.value.localeInLocal, 0, vars.value.separatorIndexVar);
}
controller.safeExecuteJSNode(MultiLingual_controller_SetLocale_SetLocaleJS, "SetLocale", "SetLocale", {
Locale: OS.DataConversion.JSNodeParamConverter.to(vars.value.localeInLocal, OS.Types.Text),
ParentLocale: OS.DataConversion.JSNodeParamConverter.to(vars.value.parentLocaleVar, OS.Types.Text)
}, function ($parameters) {
}, {
GetLocaleResources: MultiLingualController.default.clientActionProxies.getLocaleResources$Action
}, {});
// Execute Action: TranslateValidationMessages
return MultiLingualController.default.translateValidationMessages$Action(callContext);
});
}).then(function () {
return ;
});
};
var controller = MultiLingualController.default;
MultiLingualController.default.constructor.registerVariableGroupType("MultiLingual.SetLocale$vars", [{
name: "Locale",
attrName: "localeInLocal",
mandatory: true,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}, {
name: "ParentLocale",
attrName: "parentLocaleVar",
mandatory: false,
dataType: OS.Types.Text,
defaultValue: function () {
return "";
}
}, {
name: "SeparatorIndex",
attrName: "separatorIndexVar",
mandatory: false,
dataType: OS.Types.Integer,
defaultValue: function () {
return 0;
}
}]);
MultiLingualController.default.clientActionProxies.setLocale$Action = function (localeIn) {
localeIn = (localeIn === undefined) ? "" : localeIn;
return controller.executeActionInsideJSNode(MultiLingualController.default.setLocale$Action.bind(controller, OS.DataConversion.JSNodeParamConverter.from(localeIn, OS.Types.Text)), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {};
});
};
});
define("MultiLingual.controller$SetLocale.SetLocaleJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
window.osMultiLang.currentLocale = $parameters.Locale;
window.osMultiLang.currentLocaleResources = $actions.GetLocaleResources($parameters.Locale, false).LocaleResources;
if ($parameters.ParentLocale) {
window.osMultiLang.currentLocaleParentResources = $actions.GetLocaleResources($parameters.ParentLocale, false).LocaleResources;
} else {
window.osMultiLang.currentLocaleParentResources = undefined;
}
if (window.osMultiLang.currentLocaleResources && window.osMultiLang.currentLocaleResources.isRightToLeft) {
document.body.classList.add("is-rtl");
document.body.classList.remove("is-ltr");
} else {
document.body.classList.add("is-ltr");
document.body.classList.remove("is-rtl");
}
};
});
define("MultiLingual.controller$TranslateValidationMessages", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model", "MultiLingual.controller", "MultiLingual.controller$TranslateValidationMessages.TranslateJS", "MultiLingual.controller$GetTranslation"], function (exports, OutSystems, MultiLingualModel, MultiLingualController, MultiLingual_controller_TranslateValidationMessages_TranslateJS) {
var OS = OutSystems.Internal;
MultiLingualController.default.translateValidationMessages$Action = function (callContext) {
callContext = controller.callContext(callContext);
return OS.Flow.executeAsyncFlow(function () {
return controller.safeExecuteAsyncJSNode(MultiLingual_controller_TranslateValidationMessages_TranslateJS, "Translate", "TranslateValidationMessages", {
ESpaceName: OS.DataConversion.JSNodeParamConverter.to(OS.BuiltinFunctions.getEntryEspaceName(), OS.Types.Text)
}, function ($parameters) {
}, {
GetTranslation: MultiLingualController.default.clientActionProxies.getTranslation$Action
}, {});
}).then(function () {
return ;
});
};
var controller = MultiLingualController.default;
MultiLingualController.default.clientActionProxies.translateValidationMessages$Action = function () {
return controller.executeActionInsideJSNode(MultiLingualController.default.translateValidationMessages$Action.bind(controller), OS.Controller.BaseViewController.activeScreen ? OS.Controller.BaseViewController.activeScreen.callContext() : undefined, function (actionResults) {
return {};
});
};
});
define("MultiLingual.controller$TranslateValidationMessages.TranslateJS", [], function () {
return function ($parameters, $actions, $roles, $public) {
return new Promise(function ($resolve, $reject) {
require([$parameters.ESpaceName + ".languageResources"], function (MessageResources) {
for (var name in MessageResources.messages) {
MessageResources.setMessage(name, $actions.GetTranslation(name, window.osMultiLang.defaultValidationMessages[name]).Translation);
}
$resolve();
}, function(e) {
$reject(e);
});
});
};
});
define("MultiLingual.controller", ["exports", "OutSystems/ClientRuntime/Main", "MultiLingual.model"], function (exports, OutSystems, MultiLingualModel) {
var OS = OutSystems.Internal;
var MultiLingualController = exports;
var Controller = (function (_super) {
__extends(Controller, _super);
function Controller() {
_super.apply(this, arguments);
}
Controller.prototype.clientActionProxies = {};
Controller.prototype.roles = {};
Controller.prototype.defaultTimeout = 10;
Controller.prototype.getDefaultTimeout = function () {
return MultiLingualController.default.defaultTimeout;
};
return Controller;
})(OS.Controller.BaseModuleController);
MultiLingualController.default = new Controller();
});