Skip to content

Commit

Permalink
spinner: changed data list to support any DOM container not just <ul>
Browse files Browse the repository at this point in the history
  • Loading branch information
Ca-Phun Ung committed Aug 30, 2008
1 parent 7c33681 commit 66d90af
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 12 deletions.
19 changes: 12 additions & 7 deletions tests/visual/spinner.html
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -69,13 +69,6 @@
padding: 0; padding: 0;
} }


ul.ui-spinner-box {
height: 1.2em;
line-height: 1.2em;
margin: 0;
padding: 0;
}

.ui-spinner-up, .ui-spinner-up,
.ui-spinner-down { .ui-spinner-down {
width: 10%; width: 10%;
Expand Down Expand Up @@ -103,6 +96,18 @@
background: #FEFEFE; background: #FEFEFE;
} }


.ui-spinner-list {
height: 1.2em;
line-height: 1.2em;
margin: 0;
padding: 0;
}

.ui-spinner-listitem {
margin: 0;
padding: 0;
}

</style> </style>
</head> </head>


Expand Down
15 changes: 10 additions & 5 deletions ui/ui.spinner.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ $.widget('ui.spinner', {
} }


// data list: set contraints to object length and step size // data list: set contraints to object length and step size
if (this.element.is('ul')) { if (this.element.children().length > 1) {
this.element.addClass('ui-spinner-list');
$('>*', this.element).addClass('ui-spinner-listitem');
this.options.stepping = 1; this.options.stepping = 1;
this.options.min = 0; this.options.min = 0;
this.options.max = $('li', this.element).length-1; this.options.max = $('>*', this.element).length-1;
} }


//Initialize needed constants //Initialize needed constants
Expand Down Expand Up @@ -121,7 +123,7 @@ $.widget('ui.spinner', {
.end(); .end();


// data list: fix height of data list spinner // data list: fix height of data list spinner
if (this.element.is('ul')) { if (this.element.hasClass('ui-spinner-list')) {
this.element.parent().css('height', this.element.outerHeight()); this.element.parent().css('height', this.element.outerHeight());
} }


Expand Down Expand Up @@ -216,7 +218,7 @@ $.widget('ui.spinner', {
); );
}, },
_animate: function(d) { _animate: function(d) {
if (this.element.is('ul') && ((d == 'up' && this._getValue() <= this.options.max) || (d == 'down' && this._getValue() >= this.options.min)) ) { if (this.element.hasClass('ui-spinner-list') && ((d == 'up' && this._getValue() <= this.options.max) || (d == 'down' && this._getValue() >= this.options.min)) ) {
this.element.animate({marginTop: '-' + this._getValue() * this.element.outerHeight() }, { this.element.animate({marginTop: '-' + this._getValue() * this.element.outerHeight() }, {
duration: 'fast', duration: 'fast',
queue: false queue: false
Expand All @@ -243,14 +245,17 @@ $.widget('ui.spinner', {
this.element.unmousewheel(); this.element.unmousewheel();
} }
this.element this.element
.removeClass('ui-spinner-box') .removeClass('ui-spinner-box ui-spinner-list')
.removeAttr('disabled') .removeAttr('disabled')
.removeAttr('autocomplete') .removeAttr('autocomplete')
.removeData('spinner') .removeData('spinner')
.unbind('.spinner') .unbind('.spinner')
.siblings() .siblings()
.remove() .remove()
.end() .end()
.children()
.removeClass('ui-spinner-listitem')
.end()
.parent() .parent()
.removeClass('ui-spinner ui-spinner-disabled') .removeClass('ui-spinner ui-spinner-disabled')
.before(this.element.clone()) .before(this.element.clone())
Expand Down

0 comments on commit 66d90af

Please sign in to comment.