1 $(document).ready(function(){
2 handleNewWallItemBodies();
4 var mutationObserver = new MutationObserver(function(mutations) {
5 handleNewWallItemBodies();
7 mutationObserver.observe($("#content")[0], { attributes: false, characterData: false, childList: true, subtree: true, attributeOldValue: false, characterDataOldValue: false });
10 function handleNewWallItemBodies() {
11 $('.wall-item-body:not(.showmore-done)').each(function(i, el) {
12 $(el).addClass('showmore-done');
13 if ($(el).has('button.content-filter-button').length > 0) {
14 $(el).removeClass('limitable');
18 var itemId = $(el).attr('id');
19 addHeightToggleHandler(itemId);
20 var limited = processHeightLimit(itemId);
23 var mutationObserver = new MutationObserver(function(mutations) {
24 var limited = processHeightLimit(itemId);
26 mutationObserver.disconnect()
29 mutationObserver.observe(el, { attributes: true, characterData: true, childList: true, subtree: true, attributeOldValue: true, characterDataOldValue: true });
31 $(el).imagesLoaded().then(function(){
32 processHeightLimit(itemId);
38 function addHeightToggleHandler(id) {
39 var itemIdSel = "#" + id;
40 var itemId = parseInt(id.replace("wall-item-body-", ""));
41 $(itemIdSel).data("item-id", itemId);
42 var wrapperId = "wall-item-body-wrapper-" + itemId;
43 var wrapperIdSel = "#" + wrapperId;
44 var toggleId = "wall-item-body-toggle-" + itemId;
45 var toggleIdSel = "#" + toggleId;
47 $(itemIdSel).wrap('<div id="' + wrapperId + '" class="wall-item-body-wrapper"></div>');
48 $(wrapperIdSel).append('<div class="wall-item-body-toggle" data-item-id="' + itemId + '" id="' + toggleId + '" ><a href="javascript:void(0)" class="wall-item-body-toggle-text">Show more ...</a></div>');
50 $(toggleIdSel).show();
51 $(toggleIdSel).click(function(el) {
52 $(itemIdSel).toggleClass("limit-height");
54 $(itemIdSel).removeClass("limitable");
58 function processHeightLimit(id) {
61 if (!$(idSel).hasClass("limitable")) {
65 var itemId = $(idSel).data("item-id");
66 var toggleSelector = "#wall-item-body-toggle-" + itemId;
67 if ($(idSel).height() < 250) {
68 $(idSel).removeClass("limit-height");
69 $(toggleSelector).hide();
72 $(idSel).addClass("limit-height");
73 $(toggleSelector).show();