Changelog

What's new, doc?

4.0 2013-02-28

Compatibility

We’ve removed some patching code that was added as part of the 3.0 release. Simplicity no longer patches the autoFocus option of jquery.ui.autocomplete, if you wish to retain this behavior you need to manually include the js/lib/jquery.ui.autocomplete.autofocus.fix.js file from the previous release in your page.

The simplicityLoadJs and simplicityGoogleMapLoader widgets have been removed. The loadMap method has been removed from the Bing, MapQuest, Nokia and Yahoo map widgets. If you were previously calling these methods, you must now manually place the vendor specific script tag on the page.

Global functions have been consolidated into the $.simplicity namespace.

old

new

$.simplicityEquiv

$.simplicity.equiv

$.simplicityProxy

$.simplicity.proxy

$.simplicityAjaxHelper

$.simplicity.ajaxHelper

$.simplicityGeoFn.degreesToRadians

$.simplicity.degreesToRadians

$.simplicityGeoFn.radiansToDegrees

$.simplicity.radiansToDegrees

$.simplicityGeoFn.distanceRadians

$.simplicity.haversineDistanceRadians

$.simplicityGeoFn.distanceMiles

$.simplicity.haversineDistanceMiles

$.simplicityGeoFn.distanceKm

$.simplicity.haversineDistanceKm

$.simplicitySelectSlider uses the new .ui-simplicity-select-slider css class instead of .ui-simplicity-slider to avoid possible conflicts with $.simplicitySlider.

CSS classes that Simplicity uses have been renamed if they do not start with ui-simplicity. The full list of renamed classes is as follows:

old

new

path-container

ui-simplicity-fancy-facets-path-container

selected-container

ui-simplicity-fancy-facets-selected-container

available-container

ui-simplicity-fancy-facets-available-container

overflow-container

ui-simplicity-fancy-facets-overflow-container

overflow-flyout

ui-simplicity-fancy-facets-overflow-flyout

overflow-opener

ui-simplicity-fancy-facets-overflow-opener

overflow-closer

ui-simplicity-fancy-facets-overflow-closer

overflow-contains-selected

ui-simplicity-fancy-facets-overflow-contains-selected

options

ui-simplicity-fancy-select-options

option

ui-simplicity-fancy-select-option

option-checkbox

ui-simplicity-fancy-select-checkbox

option-radio

ui-simplicity-fancy-select-radio

count

ui-simplicity-fancy-select-count

label

ui-simplicity-fancy-select-label or ui-simplicity-select-slider-label

tick

ui-simplicity-select-slider-tick

position

ui-simplicity-select-slider-position

first

ui-simplicity-select-slider-position-first

last

ui-simplicity-select-slider-position-last

scale

ui-simplicity-select-slider-scale

tooltip

ui-simplicity-select-slider-tooltip

tooltip-content

ui-simplicity-select-slider-tooltip-content

tooltip-pointer-down

ui-simplicity-select-slider-tooltip-pointer-down

tooltip-pointer-down-inner

ui-simplicity-select-slider-tooltip-pointer-down-inner

Removes backwards compatible shims for the following methods:

$.simplicityHaversineRadiusMiles

$.simplicityHaversineRadiusKm

$.simplicityHaversineDistanceRadians

$.simplicityHaversineDistanceMiles

$.simplicityHaversineDistanceKm

Replaces the markerType option of $.simplicityGoogleMapResults with markerCallback.

Changes the default Google Maps marker back to the standard google.maps.Marker instead of using the custom $.simplicityGoogleMarker class. You can now control this by overriding the markerCallback option of $.simplicityGoogleMarker. To switch over to the $.simplicityGoogleMarker you’d write:

Improves $.ui.simplicityFacetedInput to support <label><input/>My Label</label> as well as the original <label for="example">My Label</label><input id="example"/>.

3.2 2012-10-15

Compatibility

You no longer need to include the external library jquery.pagination-2.1.js as the simplicityPagination widget now implements equivalent functionality directly.

The default behavior of simplicityInputs when bound to a non-input element has changed. To obtain the previous behavior set the handleChildChange option to false. This will only affect you if you’ve grouped multiple inputs and take explicit action to trigger a change event on their contained simplicityInputs. An example would be a custom geocoder binding that doesn’t use our sample setup JavaScript. Concretely, you would need to change this option to false if you have code that looks like this:

Improves change event handling in simplicityInputs when bound to a non-input element. This allows you to bind a single simplicityInputs widget to a collection of radio buttons or checkboxes for a more efficient setup.

3.1 2012-08-14

Compatibility

simplicityGoogleMapBoundsTracker no longer considers a bounds change during drag unless you set the idleWhileDragging option to true.

Fixes to simplicityMapShapeCreator and simplicityMapeShapeCreatorUi to make them easier to use.

3.0 2012-07-19

Improvements

Adds geocoding and polygon drawing support to the map widgets. The new widgets are simplicityGoogleMapShapeCreator, simplicityMapQuestMapShapeCreator, simplicityBingMapShapeCreator, simplicityNokiaMapShapeCreator and simplicityMapShapeCreatorUi.

Conditionally applies autoFocus patch to ui.autocomplete, for versions before 1.9 of jQuery UI.

Adds simplicitySearchSearching event to simplicityDiscoverySearch.

Passes window into the anonymous functions that define simplicityHistory, simplicityPagination and simplicityGoogleMapLoader, making sure we use the value of window at declare time instead of runtime which makes the widget noConflict safe.

Enhances simplicityPagination to allow for jQuery selector .scrollTop() support when page changes.

Fixes invalid guard in simplicityPagination where the option search was used instead of searchElement.

2.9.1 2012-06-22

Compatibility

Fixes bug in previous 2.9 release that would caues a JavaScript error if google maps wasn’t available before simplicity.

Improves $.simplicityGoogleMarker and removes the need for the Google Maps API to exist before it is declared.

2.9 2012-06-22

Compatibility

The simplicityHaversine* functions have moved to $.simplicityGeoFn, a shim is in place to call the new variants but any references in your code should be updated to use the new location of these functions.

Improvements

Consolidates the simplicityHaversine* functions into a new namespace $.simplicityGeoFn and adds some extra geographic utility functions to be used by the polygon widget.

Enhances simplicityDiscoverySearch to optionally request and deliver query profile responses from the engine. Adds three new widget events that enable customers to manipulate the $.ajax parameter options, its success and error methods.

Adds support for radio buttons to simplicityFancySelect.

2.8 2012-04-12

Improvements

Enhances simplicityFancyFacets to pass through formatting templates for simplicityFancySelects.

Enhances simplicityHistory to use #!, making navigation and resets more user-friendly.

2.7 2012-02-07

Improvements

2.6 2011-12-16

Improvements

Introduces simplicityAjaxHelpher that adds support for cancelling inflight Ajax requests for simplicityDiscoverySearch.

2.5 2011-10-24

Compatibility

Replaces the positionSelector option of simplicityFlyout with position that uses standard jQuery UI position options.

Renames the missingText option to missingCount for simplicityFacetCount.

The simplicityFacetCounts and simplicityResultSet events from simplicityDiscoverySearch are no longer enabled by default. They have been deprecated and will be removed in a future release. If you wish to use them in the meantime, set the triggerFacetCountEvent or triggerResultSetEvent option of simplicityDiscoverySearch to true.

The resultSet field has been removed from the from the simplicitySearchResponse event (triggered by simplicityDiscoverySearch). If you wish to use this data then use the simplicityDiscoverySearchItemEnumerator over the response object.

Improvements

Introduces simplicityFancyFacets a more complex combination of simplicifyFancyFacet widgets with support for displaying only some of the available options and making the rest available in a flyout.

Introduces simplicityFacetedSelect a widget to dynamically populate the option elements of a select input based on the search response.

Introduces simplicitySelectSlider, a single handled slider that maps to a select input. Includes options to display tick marks, labels and a tooltip.

Improves simplicityFlyout to better use ui-helper-accessible-hidden and make use of jQuery UI position.

Adds search counters to simplicityDiscoverySearch which are exposed by the searchStats and queryStats methods.

Special cases single selection from a select input to not be an array when converted to a state value in simplicityToState.

Adds dynamic option injection logic to simplicityFromState to add placeholder options to select inputs if they are missing.

Fixes bug in simplicityToState for multi-select enabled select inputs that contain a default value. Now that empty value is not injected into the state value.

Improves error handling of ajax queries.

Adds index counts to the row created by simplicityDiscoverySearchItemEnumerator making it easier for customers to include result set positional information using their callbacks: index0, index1, resultsIndex0 (position in result set).

Adds applyClass option to simplicityPagination which allows you to specify which classes are applied to the pagination elements, e.g. ui-corner-all. Also applies ui-priority-primary to the “current” elements, uses ui-state-disabled for disabled Next/Prev links and ui-state-active to the currently displayed page span.

Introduces simplicityProxy and simplicityWidget. The simplicityWidget widget is the new base class of all other widgets, allowing us to apply more simple event handling support across the board.

Fixes logic error in mapOptions handling of simplicityMapQuestMap._initWhenAvailable. Now the defaultMapOptions are respected.

Removes resultSet data usage from the widget set. Adds global helper function simplicityDiscoverySearchItemEnumerator to enumerate the searchResponse and use a callback method to process the data.

Adds support for facets API with backwards support for drillDown. Moves drillDown and resultSet response objects to top-level objects and deprecates simplicityFacetCounts and simplicityResultSet events.

Converts number to String in simplicityPagination to avoid false state change events when reading the page number from the simplicity state which generally uses strings for the values.

2.4 2011-07-25

Improvements

Adds JSONP support to simplicityDiscoverySearch and an example of how to use it.

You will need to instantiate a different set of simplicity mapping widgets, configure them slightly differently, and update any jQuery event handlers related to the map events. The event names are slightly different due to the namespacing offered by jQuery’s _trigger() method. The semantics of some events were modified to better support the new feature set. The bottom line is that if you are using jQuery to bind to simplicity{vendor}map{event} events, you will need to adjust the names of the events to match the new widget names and double check that your event handler still works with the updated API.

We strongly suggest that you review the generated JavaScript documentation for full details, and that you explore the tutorial pages to see the new mapping widgets in action.

Here is a simple example of the simplicityGoogleMap widget being migrated from release 2.2 to release 2.3. Note that all the options are optional. Here’s an example just using the widget defaults.

With the new smaller widgets, you can see that you can easily choose which behaviors and features to add to your simplicity map.

Note that the new widget simplicity{vendor}BoundsTracker will update the search based upon the maps current bounds. As a user pans and zooms, the search criteria are updated.

The simplicity{vendor}MapBoundsCoordinator widget allows the results and criteria mapping widgets to update the map bounds in a coordinated manner.

Here is an overview showing the mapping of the 2.2 event names to the 2.3 event names. We recommend that you refer to the JavaScript documentation or source code to fully understand the event contracts.

old

new

simplicitygooglemapcreate

simplicitygooglemapcreate

simplicitygooglemapmarker

simplicitygooglemapresultsmarker

simplicitygooglemapbounds

simplicitygooglemapboundcoordinatorcalculatebounds

simplicitygooglemapboundstrackerbounds

simplicitygooglemapboundsshapes

simplicitygooglemapboundstrackerboundsshapes

simplicitygooglemapcriteriaplacemark

Improvements

Fixes bug in geocode widgets, they need to skip bbox normalization if it is missing in from the upstream vendor response.