Myservice.factory('dateintercepter', function () {
return {
request: function (config) {
return config;
},
requestError: function (config) {
return config;
},
response: function (res) {
if (typeof (res.data) == "object") {
if (res.data) {
if (res.data.length) {
angular.forEach(res.data, function (val, key) {
if (typeof (val) == "object") {
if (val) {
if (val.length) {
angular.forEach(val, function (val1, key1) {
for (var prop in val1) {
dateUTC.checkNested(prop, val1);
}
})
}
else {
for (var prop in val) {
dateUTC.checkNested(prop, val);
}
}
}
}
})
}
else {
for (var prop in res.data) {
dateUTC.checkNested(prop, res.data);
}
}
}
}
return res;
},
responseError: function (res) {
return res;
},
}
});
appModule.config(['$httpProvider', function ( $httpProvider) {
$httpProvider.interceptors.push('dateintercepter');
}]);
//Namespace
var dateUTC = {};
dateUTC.checkNested = function (prop, val1) {
//check for string
if (typeof (val1[prop]) == "string") {
if (isNaN(val1[prop])) {
if (dateUTC.checkISOdate(val1[prop])) {
val1[prop] = moment(moment.utc(val1[prop]).toDate()).format();
}
}
}
//check for object
if (typeof (val1[prop]) == "object") {
//start loop for array
for (var prp in val1[prop]) {
if (typeof (val1[prop][prp]) == "string") {
if (dateUTC.checkISOdate(val1[prop][prp])) {
val1[prop][prp] = moment(moment.utc(val1[prop][prp]).toDate()).format();
}
}
if (typeof (val1[prop][prp]) == "object") {
//start loop for nested object
for (var pr in val1[prop][prp]) {
if (typeof (val1[prop][prp][pr]) == "string") {
if (isNaN(val1[prop][prp][pr])) {
if (dateUTC.checkISOdate(val1[prop][prp][pr])) {
val1[prop][prp][pr] = moment(moment.utc(val1[prop][prp][pr]).toDate()).format();
}
}
}
if (typeof (val1[prop][prp][pr]) == "object") {
for (var p in val1[prop][prp][pr]) {
dateUTC.checkNested(p, val1[prop][prp][pr]);
}
}
}
}
}
}
};
dateUTC.checkISOdate = function (date) {
if (moment(date, "YYYY-MM-DDTHH:mm:ss.SSS", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss.SS", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss.S", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss", true).isValid()) {
return true;
}
return false;
}
return {
request: function (config) {
return config;
},
requestError: function (config) {
return config;
},
response: function (res) {
if (typeof (res.data) == "object") {
if (res.data) {
if (res.data.length) {
angular.forEach(res.data, function (val, key) {
if (typeof (val) == "object") {
if (val) {
if (val.length) {
angular.forEach(val, function (val1, key1) {
for (var prop in val1) {
dateUTC.checkNested(prop, val1);
}
})
}
else {
for (var prop in val) {
dateUTC.checkNested(prop, val);
}
}
}
}
})
}
else {
for (var prop in res.data) {
dateUTC.checkNested(prop, res.data);
}
}
}
}
return res;
},
responseError: function (res) {
return res;
},
}
});
appModule.config(['$httpProvider', function ( $httpProvider) {
$httpProvider.interceptors.push('dateintercepter');
}]);
//Namespace
var dateUTC = {};
dateUTC.checkNested = function (prop, val1) {
//check for string
if (typeof (val1[prop]) == "string") {
if (isNaN(val1[prop])) {
if (dateUTC.checkISOdate(val1[prop])) {
val1[prop] = moment(moment.utc(val1[prop]).toDate()).format();
}
}
}
//check for object
if (typeof (val1[prop]) == "object") {
//start loop for array
for (var prp in val1[prop]) {
if (typeof (val1[prop][prp]) == "string") {
if (dateUTC.checkISOdate(val1[prop][prp])) {
val1[prop][prp] = moment(moment.utc(val1[prop][prp]).toDate()).format();
}
}
if (typeof (val1[prop][prp]) == "object") {
//start loop for nested object
for (var pr in val1[prop][prp]) {
if (typeof (val1[prop][prp][pr]) == "string") {
if (isNaN(val1[prop][prp][pr])) {
if (dateUTC.checkISOdate(val1[prop][prp][pr])) {
val1[prop][prp][pr] = moment(moment.utc(val1[prop][prp][pr]).toDate()).format();
}
}
}
if (typeof (val1[prop][prp][pr]) == "object") {
for (var p in val1[prop][prp][pr]) {
dateUTC.checkNested(p, val1[prop][prp][pr]);
}
}
}
}
}
}
};
dateUTC.checkISOdate = function (date) {
if (moment(date, "YYYY-MM-DDTHH:mm:ss.SSS", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss.SS", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss.S", true).isValid()
|| moment(date, "YYYY-MM-DDTHH:mm:ss", true).isValid()) {
return true;
}
return false;
}
No comments:
Post a Comment