Skip to content

Commit

Permalink
House cleaning...
Browse files Browse the repository at this point in the history
See change log for more details.
  • Loading branch information
pyvirus committed Aug 5, 2012
1 parent f690b18 commit c054172
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 18 deletions.
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,30 @@
## v0.1.0
#### August 4, 2012

* Updated min file:
* YUI Compressor 2.4.2 with `nomunge`, `preserveAllSemi`, `disableOpt` options.
* Changed a few things in CSS.
* Browser tests (see below).
* Tweaked JS logic.

##### Browser tests:

* MAC Snow Leopard:
* Firefox 14.0.x, Safari 5.1.x, Opera 12.00, Chrome 20.0.x
* PC Vista:
* Firefox 3.6.x, Firefox 14.0.x, Chrome 20.0.x, Safari 5.1.x, Opera 12.00
* IE 9.0.x, IE 8.0.x, IE 7.0.x
* PC XP:
* IE 6.0.x (TBD)
* iPhone 4:
* Safari 4.3 (simulated), Safari 5.1.1, Chrome 19.0.x, Opera Mini 7.0.x
* iPhone:
* Safari 4.3 (simulated)
* iPad:
* Safari 4.3 (simulated), Safari 5.1.1

#### August 3, 2012

* Initial public release.

---
4 changes: 2 additions & 2 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@

.js .myList { display: none; visibility: hidden; }

@media only screen and (min-width: 1400px) {
@media only screen and (min-width: 1000px) {

.ha-select { display: none; visibility: hidden; }
.harmonia-select { display: none; visibility: hidden; }
.js .myList { display: block; visibility: visible; }

}
Expand Down
83 changes: 67 additions & 16 deletions harmonia/jquery.harmonia-0.1.0.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
var constants = {

NS : 'harmonia', // Namespace identifier.
PREFIX : 'ha', // Class prefix.
C : ((typeof(console) !== 'undefined') ? true : false) // Check if the javascript console is available.

}, // constants
Expand Down Expand Up @@ -73,9 +72,9 @@
// Local variable(s):
//----------------------------------

var $this = $(this), // Target object.
data = $this.data(constants.NS), // Namespace instance data.
options = $.extend({}, $.fn[constants.NS].defaults, opts); // Merge defaults and options.
var $this = $(this), // Target object.
data = $this.data(constants.NS), // Namespace instance data.
options = $.extend({}, settings.external, $.fn[constants.NS].defaults, opts); // Merge settings, defaults and options.

//----------------------------------
// Initialize data:
Expand Down Expand Up @@ -132,6 +131,12 @@

if ($hrefs.length) {

//----------------------------------
// Root menu CSS class:
//----------------------------------

$this.addClass(settings.internal.initClass);

//----------------------------------
// Default `<select>` `<option>`?
//----------------------------------
Expand Down Expand Up @@ -188,7 +193,7 @@
// Callback:
//----------------------------------

options.onChange.call($$); // @TODO: Is this the best spot for this?
options.onChange.call($this, $$); // @TODO: Is this the best spot for this?

//----------------------------------
// Get link value:
Expand Down Expand Up @@ -289,6 +294,12 @@

var options = data.options;

//----------------------------------
// Remove root menu CSS class:
//----------------------------------

$$.removeClass(settings.internal.initClass);

//----------------------------------
// Remove generated HTML:
//----------------------------------
Expand Down Expand Up @@ -431,6 +442,12 @@

}

//----------------------------------
// Callback:
//----------------------------------

data.options.onAddOption.call(this, $return);

//----------------------------------
// Return `<option>` or nothing:
//----------------------------------
Expand Down Expand Up @@ -501,25 +518,59 @@
//--------------------------------------------------------------------------

/**
* Default public settings.
* Settings object.
*
* @type { object }
*/

var settings = {}; // Initialize config object.

//----------------------------------
/**
* Private settings.
*
* @type { object }
*/

$.fn[constants.NS].defaults = {
settings.internal = {

initClass : constants.NS + '-js-enabled' // Target menu.

currentPage : false, // Select the current page?
defaultOption : 'Choose...', // Default option for `<select>`.
openTab : false, // Open link in new tab? Default is current window.
selectClass : constants.PREFIX + '-select', // Class name for `<select>`.
selectId : false, // ID name for `<select>`.
}; // settings.internal

//----------------------------------

/**
* Public settings.
*
* @type { object }
*/

settings.external = {

currentPage : false, // Select the current page?
defaultOption : 'Choose...', // Default option for `<select>`.
openTab : false, // Open link in new tab? Default is current window.
selectClass : constants.NS + '-select', // Class name for `<select>`.
selectId : false, // ID name for `<select>`.

// Callbacks:

onInit : function() {}, // After plugin data initialized.
onAfterInit : function() {}, // After plugin initialization.
onChange : function() {} // Called when `<select>` changes.
onInit : function() {}, // After plugin data initialized.
onAfterInit : function() {}, // After plugin initialization.
onAddOption : function() {}, // Called when a new option has been added.
onChange : function() {} // Called when `<select>` changes.

}; // defaults
}; // settings.external

//----------------------------------

/**
* Assign defaults to external.
*
* @type { object }
*/

$.fn[constants.NS].defaults = settings.external; // rgne.ws/Mxifnq

})(jQuery);
1 change: 1 addition & 0 deletions harmonia/jquery.harmonia-0.1.0.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit c054172

Please sign in to comment.