//Attach global juery ajaxerror $(window).ready(function () { $(document).ajaxError(function (e, jqxhr, settings, exception) { showError("Ajax Error - " + exception.toString(), jqxhr.responseText); }); }); //Hides the error window function hideError() { $('#mask').hide(); $('#errorWindow').hide(); } //Shows the error window. function showError(strTitle, strMessage) { //avoid showing an empty ajax message if ((strTitle == "Ajax Error - ") && (strMessage == "")) { return; } var mask = $('#mask'); if (mask.length == 0) { mask = $('<div id="mask" class="windowMask"></div>'); $("body").prepend(mask); } //Get the screen height and width var maskHeight = $(document).height(); var maskWidth = $(window).width(); //Set height and width to mask to fill up the whole screen mask.css({ 'width': maskWidth, 'height': maskHeight }); //transition effect mask.fadeIn(1000); mask.fadeTo("slow", 0.8); //Get the window height and width var winH = $(window).height(); var winW = $(window).width(); var errorWindow = $('#errorWindow'); if (errorWindow.length == 0) { errorWindow = $('<div id="errorWindow" class="windowError"></div>'); $("body").prepend(errorWindow); } errorWindow.html('<div class="windowHeader">' + strTitle + '</div><div class="windowClose" onclick="hideError();">Close</div>' + '<div class="windowContent">' + strMessage + '</div>'); //Set the popup window to center $(errorWindow).css('top', winH / 2 - $(errorWindow).height() / 2); $(errorWindow).css('left', winW / 2 - $(errorWindow).width() / 2); //transition effect $(errorWindow).fadeIn(2000); }
Thursday, July 7, 2011
jQuery general ajax error
Over the years I've collected many code snippets to make programming easier, here's a small one that handles general ajax errors and shows them in a window, you'll need to design your own CSS for this to show properly.
Monday, July 4, 2011
Timesheet
One of the drawbacks of having flexible work hours is when forgetting to punch in when you enter the office. later during the week when you try to remember when did you arrive could be hard and I prefer to offload it from myself.
I don't know about you, but usually the first thing I do when I enter the office and go to my seat and unlock the computer and the last thing is locking the computer.
My solution? write an application that logs these events.
So, what can we learn from that application?
SessionSwitch event which passes SessionSwitchReason that can tell you what happened, if the station was locked, unlocked, remote desktop connected, disconnected which was enough for me, I wanted the application to log whenever I lock the station since I don't usually shutdown the computer at the end of the day and i wanted it to log whenever I connect remotely in the morning so if I work from home that day, I can get that logged too.
We can get the currently logged in username with WindowsIdentity.GetCurrent()
Invoking methods asynchronously with MethodInvoker
Accelerating LINQ to objects queries with PLINQ's AsParallel
Interlocked.CompareExchange as a simple way of checking if a method is already executing.
Final thoughts -
I wrote the initial application a long time ago, but I've recently overhauled the the whole application so it will be more presentable, there are still some logical problems, such as the daily calculations and weekly calculations sometimes show incorrect data and there are some extreme situations when something is not logged consistently it will show wrong numbers, but this is good enough for me and not worth spending more time, I'm mostly using the logging function, the calculations are just for getting a rough number.
This is a toy for myself, I just thought to share it, if you need any kind of reliability or tracking, this toy is not for you.
Tags:
Subscribe to:
Posts (Atom)