Javascript Copy to Clipboard for Excel

I recently had a requirement to “export” data shown in a table on a web page to an Excel file.  In a normal situation I’d do something server-side to generate an Excel file with the necessary data, but unfortunately this situation was not a normal. The project I was working on did not have a server-side component – it was completely client-side code – so I couldn’t just create an Excel file.  The solution I came up with was to provide a way for the users to copy the required data to their clipboard and they could then paste it into an Excel document. Continue reading “Javascript Copy to Clipboard for Excel”

Javascript Bug in Mozilla Firefox

Mike BerrymanI recently ran into an issue with a javascript element appearing incorrectly in Firefox. If you don’t know, in javascript you’re able to define a function after the line number that you actually call it in the code. This is possible because the browser (whichever that browser may be) will parse through the javascript before running any of it. This is to ensure that syntax is valid, memory is properly allocated, and the browser properly understands the function you declare so it knows what to do when the function is called.

HOWEVER, if you have a function declaration within an if block, AND said declaration occurs after you try to use it, Firefox won’t understand the function and throw an error.

Continue reading “Javascript Bug in Mozilla Firefox”

Utilize flowjs as an Angular Directive

Mike BerrymanI’ve been working on an angular project that has a requirement to allow users to upload documents, pictures and videos to the site.  As a part of the upload process, after the user has selected their file, but before it’s actually uploaded to the server, the user needs to supply some metadata about the file.  Being a responsive, highly stylized site, the client didn’t want the standard input control with type=”file”. Instead they wanted the user to click an “Add file”-type button that would pop up the explorer window for the user to pick a file, and then once the file is picked, prompt the user for the required metadata before performing the actual upload.

Continue reading “Utilize flowjs as an Angular Directive”

​RESTful Web Service Authentication Changes

Mike BerrymanI was trying to alter the authentication schema being used by one of our mobile apps.  This app communicates via REST web service calls to the server over a secure connection, so we were initially passing username/password as plaintext to the server for authentication with no issues. Every call to the web services re-authenticated the user to make sure they were still allowed to access the requested resource.  The username/passwords were stored on the mobile device in a way that’s inaccessible to the user.

Continue reading “​RESTful Web Service Authentication Changes”

Fix for Footer Shift in jQuery Mobile Toolbar

Mike BerrymanI was using the jQuery Mobile toolbar widget for iOS to create a tablet log-in page. I was using the “always show” feature of the jQuery toolbar in order to keep it locked in place on the screen (which makes the header and footer visible no matter where I scroll on the page).

Continue reading “Fix for Footer Shift in jQuery Mobile Toolbar”

Creating a Google Docs Spreadsheet-like interface

misc2As you may know, a Google Docs Spreadsheet acts almost exactly like Microsoft Excel but is completely web-based. In addition, it automatically saves the changes to a cell once the user has exited the cell. So the features that I am going to demonstrate are:

  1. Creating the basic html table
  2. Highlighting editable cells when moused over
  3. Adding a textbox to make cells editable
  4. Making the textbox invisible
  5. Using JavaScript & jQuery to capture changes when edited
  6. Adding an MVC Action method to save the changes
  7. Report that the changes were saved

jQuery UI Dialogs & Sharepoint UI Dialogs

Mike BerrymanI was recently presented with a challenge that I was surprised is not more common (at least, if my google searches are to be believed).  Essentially, I had a situation where the client was using the Sharepoint UI Dialog to pop up a custom edit form for a list item, and in that dialog they wanted to pop up another dialog to show a list of documents the user could select from to attach to the list item they’re editing.  I opted to use jQuery UI to create this second dialog, which worked great…at first.  The snag came when it was revealed that the second dialog needed to be much, much larger than the originating dialog – meaning it could not live within the Sharepoint UI dialog.

Continue reading “jQuery UI Dialogs & Sharepoint UI Dialogs”