UMass Lowell Dept. of Computer Science

91.461 GUI Programming I

Fall 2015 Semester, Section 201

Prof. Jesse M. Heines

Assignment No. 8

Using the jQuery UI Slider and Tab Widgets

Date Due:  Thursday, November 19, 2015


Contents     Top


What This Assignment Is About     Top

This assignment introduces you to the jQuery User Interface (UI) library.  The purpose of doing this is to explore yet another JavaScript libary to see its similarities and differences as compared to the library that we have already looked at: the jQuery Validator plugin.  The more of these libraries you look at, the better understanding you will have about how they are built.  And the better you understand that, the better you will be able to construct an industry-standard library yourself.

This assignment will look at two jQuery UI components: the slider and the tabbed interface.  You could use the HTML5 slider, and I know that some of you have already programmed your own tabbed interface for previous assignments, either from scratch or using a different JavaScript library.  However for this assignment you must use the components in the jQuery UI library.

I have stored two chapters of Dan Wellman’s book on the jQuery UI library for you to read and use as reference material for this assignment.  These chapters are not from the latest edition -- they reference version 1.8 of the jQuery UI library, not version 1.10 as in Wellman’s latest book -- but they will suffice for this assignment. 

The latest version of the jQuery UI library is actually 1.11.4.  You should use this version, which is downloadable from http://jqueryui.com/download.  And of course, you can also reference one of the JQuery UI CDNs if you’d prefer.  Here are some of the CDN links available.  Note that the library requires both JavaScript and CSS files.


What You Are To Do     Top

  1. Read the two chapters for which PDF files are provided above.
     
  2. Begin your development by copying the files for your previous assignment to a new files (or a new directory) so that you can modify them without destroying your previous work.  Do not remove the jQuery Validation plugin code!  This assignment is an extension of the previous one.  Everything that you did in the previous assignment is still useful for this one.
     
  3. Modify your page to do two things.  These tasks are the crux of this assignment.
     
    1. Add jQuery UI sliders for each of your text input fields.  Manipulating a slider should change the value in the corresponding text input field dynamically.  That is, moving the slider should instantly change the text input field value.  Likewise, typing into the text input field should change the value indicated by the slider.
    2. Note:  This is known as “two-way binding” between two form fields or two widgets, which is often accomplished using other JavaScript libraries such as AngularJS.  But for this assignment, you are to implement the two-way binding yourself.

      In addition, your table should update dynamically when either the slider is changed or a new text value is entered.

    3. The second major modification is to implement a jQuery UI tabbed interface.  Each time you create a new table, display it in a new tab and label that tab with the four parameters used to create it. Thus, you should have a single tab in which you enter parameters, and individual tabs for each table that gets generated.  Think about how you want to implement this on your page, as you may not want to have the tabs in the standard location or format.

    Provide a way to delete individual tabs and then provide a way to delete multiple tabs at the same time.  This will take a little thinking to decide the best design for implementing this functionality.  You might put the deletion controls on your data entry page, or you might put them on a separate “layout editing” page.  There are many valid ways to do this.  The ultimate design decision is up to you.

  4. Test your page thoroughly.  Try to anticipate all the errors that a user might make, whether intentional or unintentional.  Make sure that you handle each possibility. 
     
  5. Have a friend run your application and try to “break” it.  Plug any “holes” that your friend finds in your application and/or its validation scheme.


Submitting Your Assignment for Grading     Top

As always, submit your assignment using the Assignment Submission Form.  This form will lead you through providing all the information we need to evaluate your work, confirming that it is correct, and then e-mailing that information to our teaching assistant and me with a copy to yourself.  Be sure to select 91.461 Assignment No. 8: Using the jQuery UI Slider and Tab Widgets from the assignment drop-down list on that form.

Important Note:  If you do not receive an e-mail in your CS account within a few minutes confirming that your assignment has been submitted, something has gone wrong.  Try submitting again or contact me.


How You Will Be Graded     Top

This assignment will be graded on a 20-point system with points awarded as follows.  Please note that the lists of features provided below are not meant to be exhaustive.  They are merely representative of the types of things we are looking for in each grading category.  As always, 20% of your grade is for documentation.

Criteria  (numbers in parentheses are the points that can be earned for that bullet item) Possible
Points

Program Integrity / Design

  • (4) page exhibits two-way binding between each slider and its corresponding text field
  • (4) table updates dynamically when either the slider is changed or a new text value is entered
  • (4) page implements the jQuery UI tabbed interface
  • (2) individual tabs can be deleted
  • (2) multiple tabs can be deleted simultaneously

16

Source Code Documentation and Formatting

  • user name and pertinent contact information appear in all source files
  • all files contain adequate explanatory documentation that is meaningful and does not merely echo code
  • all files are properly indented and formatted with adequate white space for readability
  • any sources used are cited in comments embedded within code

4




This is document http://jesseheines.com:8080/~heines/91.461/91.461-2015-16f/461-assn/UsingThejQueryUISliderAndTab-v01.jsp.  It was last modified on Friday, August 26, 2022 at 4:09 PM.
Copyright © 2022 by Jesse M. Heines.  All rights reserved.  May be freely copied or excerpted for educational purposes with credit to the author.