You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/SiprpWebFichasClinicas/WebContent/static/html/app/services/Settings.js

74 lines
2.1 KiB

evoapp.factory('settings', function($rootScope) {
var me = this;
me.settings = {
//globals.settings.dateFormat: dd-MM-yyyy | yyyy-MM-dd
dateFormat: 'yyyy-MM-dd',
//globals.settings.dateTimeFormat
dateTimeFormat: 'yyyy-MM-dd HH:mm:ss',
//globals.settings.timeFormat
timeFormat: 'H:i',
regex: {
Email: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
//YYYY-MM-DD: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/
//DD-MM-YYYY: /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/
Date: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/
}
};
var apply = function(userSession){
angular.forEach(userSession.Settings, function (setting) {
var value = null, settingName = setting.SettingName;
if(setting.IntValue != null)
{
value = setting.IntValue;
}
else if(setting.StringValue != null)
{
value = setting.StringValue;
}
else if(setting.DateTimeValue != null)
{
value = moment(setting.DateTimeValue).toDate();
}
else if(setting.BinaryValue != null)
{
value = setting.BinaryValue;
}
else if(setting.BoolValue != null)
{
value = setting.BoolValue;
}
var properties = settingName.split('.');
if(properties.length > 1)
{
if(!me.settings.hasOwnProperty(properties[0])){
me.settings[properties[0]] = {};
}
me.settings[properties[0]][properties[1]] = value;
}
else
{
me.settings[settingName] = value;
}
});
};
return {
apply: apply,
settings: me.settings
};
});