Your IP : 216.73.216.26


Current Path : /home2/wtmwscom/public_html/post/Track and Trace_files/
Upload File :
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();
});