Closed BranoMatan closed 8 years ago
Hi @BranoMatan! Think it may be a good idea add extend method. Hope this enhance jquery compatibility
related issue: #9
thanks for your feedback!
Thank you very much for the fast reply. Apparently, adding the extend method wasn't the last problem I faced when implementing the dotdotdot library into my code. There are several more jQuery's method required for that, and also there is a problem when using jqlite's html method with dotdotdot. Anyway, instead of bothering you again, I wrote my own dotdotdot function that can be implemented with jqlite:
function dotdotdot(containersToDotdotdot) {
function dotdotdotContainers(containers) {
for (var i = 0; i < containers.length; i++) {
var cntnr = $jq(containers[i]);
cntnr.html('<span>' + cntnr.html().replace(/ /g,'</span> <span>') + '</span>');
var words = Array.prototype.slice.call(cntnr.find("span"), 0).reverse();
var lastw = null;
for (var j = 0; j < words.length; j++) {
var w = $jq(words[j]);
var wbot = w.height() + w.offset().top;
var wleft = w.offset().left;
var wright = wleft + w.width();
if (wbot <= (cntnr.offset().top + cntnr.height()) && wleft >= (cntnr.offset().left) && wright <= (cntnr.offset().left + cntnr.width())) {
lastw = words.length - j - 1;
break;
}
}
cntnr.html(lastw === null || lastw === (words.length - 1) ? cntnr.text() : (cntnr.text().split(' ').slice(0, lastw).join(' ') + '...'));
}
}
if (containersToDotdotdot instanceof Array) {
for (var i = 0; i < containersToDotdotdot.length; i++) {
dotdotdotContainers($jq(containersToDotdotdot[i]));
}
} else {
dotdotdotContainers($jq(containersToDotdotdot));
}
}
As you can see, the input for dotdotdot can be an array of classes/ids or a single class/id. Hope other users could benefit from that. Thanks again!!
Ey @BranoMatan! awesome solution!!
Maybe you can create a VanillaJS plugin than can be wrapped into a jQuery/jqlite plugin (see jq-plugin).
In any case I'll merge extend method, Is a small function and It may be usefull.
Thanks a lot for your feedback and contribution!!
Good job @BranoMatan !
ey @BranoMatan ! I'm going to use your code in a proyect of mine, thanks again!!
@jgermade I'm glad you found this code useful, enjoy! :)
Hi @jgermade, I want to use dotdotdot library with your fantastic library, and it seems that the only thing missing is support for extend method in jqlite. Is it possible to add it?