Skip to content

Commit 4672246

Browse files
committed
simplify api of options item builder
1 parent a73e938 commit 4672246

File tree

3 files changed

+40
-20
lines changed

3 files changed

+40
-20
lines changed

public/jquery.selectric.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* /,'
1010
* /'
1111
*
12-
* Selectric ϟ v1.11.0 (Sep 23 2016) - http://lcdsantos.github.io/jQuery-Selectric/
12+
* Selectric ϟ v1.11.0 (Sep 24 2016) - http://lcdsantos.github.io/jQuery-Selectric/
1313
*
1414
* Copyright (c) 2016 Leonardo Santos; MIT License
1515
*
@@ -542,23 +542,33 @@
542542
/**
543543
* Generate every option markup
544544
*
545-
* @param {number} i - Index of current item
546-
* @param {object} elm - Current item
545+
* @param {number} index - Index of current item
546+
* @param {object} itemData - Current item
547547
* @return {string} HTML for the option
548548
*/
549-
getItemMarkup: function(i, elm) {
549+
getItemMarkup: function(index, itemData) {
550550
var _this = this;
551551
var itemBuilder = _this.options.optionsItemBuilder;
552+
// limit access to item data to provide a simple interface
553+
// to most relevant options.
554+
var filteredItemData = {
555+
value: itemData.value,
556+
text : itemData.text,
557+
slug : itemData.slug,
558+
index: itemData.index
559+
};
552560

553561
return _this.utils.format('<li data-index="{1}" class="{2}">{3}</li>',
554-
i,
562+
index,
555563
_this.utils.arrayToClassname([
556-
elm.className,
557-
i === _this.items.length - 1 ? 'last' : '',
558-
elm.disabled ? 'disabled' : '',
559-
elm.selected ? 'selected' : ''
564+
itemData.className,
565+
index === _this.items.length - 1 ? 'last' : '',
566+
itemData.disabled ? 'disabled' : '',
567+
itemData.selected ? 'selected' : ''
560568
]),
561-
$.isFunction(itemBuilder) ? itemBuilder(elm, elm.element, i) : _this.utils.format(itemBuilder, elm)
569+
$.isFunction(itemBuilder)
570+
? _this.utils.format(itemBuilder(itemData), itemData)
571+
: _this.utils.format(itemBuilder, filteredItemData)
562572
);
563573
},
564574

0 commit comments

Comments
 (0)