UNPKG

simplestyle

Version:

Simple Style Guide Tool based on Atomic Web Design

1,351 lines (932 loc) 40.4 kB
var jQuery = jQuery.noConflict(); var newsFeed = newsFeed || {}; var strabag = strabag || {}; (function ($) { 'use strict'; var searchIconSVG = "<svg class='icon icon-src' style='width: 19px; height: 18px;'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-search'></use></svg>"; var searchIconSVGBig = "<svg class='icon icon-src' style='width: 24px; height: 24px; margin-top: 3px'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-search'></use></svg>"; var searchIconDown = "<svg class='icon icon-dd' style='width: 12px; height: 8px; stroke-width: 5px;'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-chevron-down'></use></svg>"; var closeIcon = "<svg class='icon icon-close' style='width: 20px; height: 19px;'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-x2'></use></svg>"; var brgIcon = "<svg class='icon icon-arrow-up'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-menu'></use></svg>"; var srchIcon = "<svg class='icon icon-arrow-up'><use xlink:href='/_layouts/15/images/wpxp.strabag.design/icons.svg#icon-search'></use></svg>"; var footerLink = ".btn-up"; var btnBrgrMenu = ".menu-burger"; var btnSrchMenu = ".menu-search"; var btnSrchEdit = ".menu-edit" var ctnBrgrCnt = ".menu-burger-content"; var ctnBrgrSrch = ".menu-search-content"; var ctnBrgrOverlay = ".bgOverlay"; var active = 'active'; // Optimisation for minification var sideNav = '#sideNavBox'; var hide = 'hide'; var MAX_LOOP_TIME = 10; var resizeTimer; window.newsFeed = function ($) { var mfDiv = "#ms-newsfeedpartdiv", mfPivot = "#ms-microfeed-titleViewSelectorPivotParent", mfPivorContainer = ".ms-pivotControl-container", mfSelection = "a", mfOverFlow = ".ms-pivotControl-overflowSpan .ms-core-menu-link", mfOverFlowCore = ".ms-pivotControl-overflowSpan", mfMessage = ".ms-microfeed-message", mfReply = ".ms-microfeed-replyMessage", domEvent = "DOMSubtreeModified"; // redrawes news feed with custom styles var redrawFeed = function () { var threadingOfFeeds = function () { $('.ms-microfeed-thread').each(function () { var currentThread = $(this); var replyCount = currentThread.find(mfReply).length; var lastChild = currentThread.find(mfReply + ":last-child"); lastChild.addClass('custom-reply'); if (replyCount !== 0) { currentThread.addClass('custom-message'); } }); $(mfMessage).each(function () { var replyCount = $(this).find(mfReply); }); } var redrawCounter = 0; var redrawDelay = setInterval(function () { if (redrawCounter === MAX_LOOP_TIME) { clearInterval(redrawDelay); return; } else { redrawCounter += 1; } strabag.loadTranslation('@Startseite_Strabag2017_Newsfeed_moreConversations', '#ms-MoreThreadsButtonText', '<span class=conv-plus>+</div>'); $('#ms-MoreThreadsButtonLabel').on('click', function () { var threadNewFeedsCounter = 0; var threadNewFeeds = setInterval(function () { if (threadNewFeedsCounter === MAX_LOOP_TIME) { clearInterval(threadNewFeeds); } else { threadNewFeedsCounter += 1; } threadingOfFeeds(); }, 300); }); if ($('#ms-feeddiv').attr('style') === 'left: 0px; right: 0px;') { var mqMobile = window.matchMedia("(min-width: 0px) and (max-width: 480px)"); if (mqMobile.matches) { // $('#ms-feeddiv').appendTo('#ms-titlebararea'); } threadingOfFeeds(); var pivotCtn = $(mfPivorContainer); replacePivotLinks(pivotCtn); flyoutInject(); clearInterval(redrawDelay); } }, 100) } // Delay until drop down have been loaded var delayRedraw = function () { setTimeout(redrawFeed, 500) flyout(); } // flyout injection var flyoutInject = function () { var dotOverflow = $(mfDiv + ' .ms-pivotControl-overflowDot'); var click = dotOverflow.attr('onclick'); if (click === undefined) { return; } var newClick = click; if (click.indexOf('newsFeed.flyoutClick();') === -1) { newClick = click + 'newsFeed.flyoutClick();'; } $(mfDiv + ' .ms-pivotControl-overflowDot').attr('onclick', newClick); } // execute flyout Click event var flyoutClick = function () { var onclick = $('.ms-core-menu-item').attr('onmenuclick'); var newOnClick = onclick + 'newsFeed.waitBeforeRedraw();'; $('.ms-core-menu-item').attr('onmenuclick', newOnClick); } // register new flyout click events var flyout = function () { setTimeout(flyoutInject(), 500); } // register on flyout flyout(); // redraw current feed redrawFeed(); var waitBeforeRedraw = function () { var checkProgressCounter = 0; var checkProgress = setInterval(function () { if (checkProgressCounter === MAX_LOOP_TIME) { clearInterval(waitBeforeRedraw); return; } else { checkProgressCounter += 1; } var progress = $('#ms-progressSpan'); if (progress.hasClass('ms-visibilityHidden')) { redrawFeed(); var pivotCtn = $(mfPivorContainer); replacePivotLinks(pivotCtn); clearInterval(checkProgress); } }, 100) }; // Update Pivot links var replacePivotLinks = function (pivotElement) { var links = pivotElement.find('a'); links.each(function () { var onClick = $(this).attr('onclick'); if (onClick.indexOf('changeView') !== -1) { if (onClick.indexOf('.waitBeforeRedraw()') === -1) { onClick = onClick.replace('return false;', 'newsFeed.waitBeforeRedraw(); return false;'); $(this).attr('onclick', onClick); } } else { flyoutInject(); } }); } var checkFeedSwitchCounter = 0; var checkFeedSwitch = setInterval(function () { if ($(mfDiv + ' .ms-pivotControl-overflowDot').length) { flyoutInject(); clearInterval(checkFeedSwitch); } }, 100); var checkConstantlyCounter = 0; var checkConstantly = setInterval(function () { var pivotCtn = $(mfPivorContainer); replacePivotLinks(pivotCtn); checkConstantlyCounter += 1; if ($(mfDiv + ' .ms-pivotControl-overflowDot').length) { flyoutInject(); strabag.loadTranslation('@Startseite_Strabag2017_Newsfeed_moreConversations', '#ms-MoreThreadsButtonText', '<span class=conv-plus>+</div>'); } }, 10001); // Newsfeed will be refreshed every minute strabag.loadTranslationSet("$filter=startswith(Title,'@Startseite_Strabag2017_Newsfeed_WebpartTitle')").done(function (data) { var feedTitle = data.d.results[0]['LCID_' + _spPageContextInfo.currentLanguage]; $('#ms-microfeeddiv').parent().parent().find('.ms-webpart-titleText nobr span:first-child').text(feedTitle); }); return { flyoutClick: function () { flyoutClick(); }, redraw: function () { redrawFeed(); }, waitBeforeRedraw: function () { waitBeforeRedraw(); } } }; strabag.replaceOSSSearchIcon = function () { var ossReplaceCounter = 0; var replaceWait = setInterval(function () { if (ossReplaceCounter > MAX_LOOP_TIME) { clearInterval(replaceWait); } var searchLink = $('#ctl00_PlaceHolderMain_ctl00_csr_NavButton'); if (searchLink.length !== 0) { searchLink.html(searchIconDown).find('svg').css({ 'height': '16px', 'width': '16px' }); clearInterval(replaceWait); } ossReplaceCounter += 1; }, 300); }; // Replace all search icons as an SVG strabag.replaceSrchIcon = function () { var searchIcon = $('#ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_SearchLink'); var searchNavImage = $('.ms-srch-sb-navImg'); if (searchIcon.length !== 0) { searchIcon.css({ "padding": "0px" }) searchIcon.html(searchIconSVG); } if (searchNavImage.length !== 0) { $(searchNavImage[0]).parent().html(searchIconDown); } }; // Replace Search icons on Search center strabag.replaceSrchIconBig = function () { setTimeout(function () { var searchIcon = $('#ctl00_ctl41_g_b5be6518_a949_4e74_8bad_52c28f0a0458_csr_SearchLink'); var searchNavImage = $('.ms-srch-sb-navImg'); if (searchIcon.length !== 0) { searchIcon.html(searchIconSVGBig); } searchIcon = $(".ms-srch-sbLarge .ms-srch-sb-searchLink"); if (searchIcon.length !== 0) { searchIcon.html(searchIconSVGBig); } if (searchNavImage.length !== 0) { $(searchNavImage[0]).parent().html(searchIconDown); } }, 1000) }; // Add additional styles to search center strabag.setSearchCenterStyle = function () { var largeSearch = $(".ms-searchCenter"), largeSearchMain = $(".ms-searchCenter-result-main"), searchCenter = $("div[class^='ms-searchCenter']"), searchMenuTop = $(".menu-search"); if (searchCenter.length !== 0) { $(".strabag-sitetitle").css({ "display": "none" }) searchMenuTop.remove(); $("#s4-titlerow").removeAttr('style'); $("#s4-titlerow").attr("style", "display: block !important; visiblity: visible"); if (sideNavBox.length !== 0 && largeSearch.length !== 0) { $(sideNavBox).css({ "display": "none" }); $("#contentBox").css({ "width": "100%" }) } else { $(sideNavBox).css({ "display": "block" }); } var styles = $("style"); styles.each(function (index, el) { var current = $(this); var styleContent = current.text(); if (styleContent.indexOf("#s4-titlerow") !== -1) { $(this).remove(); } }); largeSearch.siblings('.ms-core-pageTitle').css('display', 'none'); largeSearch.siblings('.breadcrumb').css('display', 'none'); largeSearchMain.siblings('.breadcrumb').css('display', 'none'); } } // Hand workspace scroll up events strabag.scrollUp = function (event) { $("#s4-workspace").animate({ scrollTop: 0 }); }; // Handle all burger click events strabag.burgerEvent = function (event) { var menu = $(btnBrgrMenu), // request burger button menuContent = $(ctnBrgrCnt), // request burger content; overlay = $(ctnBrgrOverlay), // request burger content; btnSearch = $(btnSrchMenu), sideNavBox = $(sideNav), titleRow = $("#s4-titlerow"), suiteBar = $("#suiteBar"), ribbonRow = $("#s4-ribbonrow"); if (menu.length !== 0) { if (btnSearch.hasClass(active)) { strabag.searchEvent(); } // Burger is activated if (menu.hasClass(active)) { menu.removeClass(active); menuContent.removeClass(active); overlay.removeClass(active); overlay.removeAttr("style"); sideNavBox.removeClass(hide); menu.html(brgIcon); } else { var workspace = $('#s4-bodyContainer'); menu.addClass(active); menuContent.addClass(active); overlay.addClass(active); overlay.css({ height: workspace.height() - 10 - titleRow.outerHeight() - suiteBar.outerHeight() - ribbonRow.outerHeight() + 'px' }); sideNavBox.addClass(hide); menu.html(closeIcon); } } }; // Search event handling strabag.searchEvent = function (event) { var menu = $(btnSrchMenu); var menuContent = $(ctnBrgrSrch); // request burger content; var overlay = $(ctnBrgrOverlay); // request burger content; var btnBurger = $(btnBrgrMenu); var sideNavBox = $(sideNav); if (menu.length !== 0) { if (btnBurger.hasClass(active)) { strabag.burgerEvent(); } // check if active if (menu.hasClass(active)) { $('#SearchBox').animate({ 'max-height': '0px' }, 250, function () { menu.removeClass(active); menuContent.removeClass(active); overlay.removeClass(active); overlay.removeAttr("style"); sideNavBox.removeClass(hide); menu.html(srchIcon); }); } else { var workspace = $('#s4-workspace'); menu.addClass(active); menuContent.addClass(active); overlay.addClass(active); overlay.css({ height: workspace.height() + 'px' }); sideNavBox.addClass(hide); menu.html(closeIcon); $('#SearchBox').animate({ 'max-height': '65px' }, 250); } } }; // edit button on mobile devices strabag.editAvailable = function () { var mq = "screen and (min-width: 0px) and (max-width: 768px)"; if (window.matchMedia(mq).matches) { var ribbonAvailable = $('#RibbonContainer'); if (ribbonAvailable.length) { $('.menu-edit').css({ "display": "inline-block" }) var editMenu = localStorage.getItem('ribbonEdit'); if (editMenu === null) { localStorage.setItem('ribbonEdit', false); } } } // } } // Check if edit is enabled strabag.editEnabled = function () { var suiteBar = $("#suiteBar"); var ribbonRow = $("#s4-ribbonrow"); var ribbonEditActive = localStorage.getItem('ribbonEdit'); if (ribbonEditActive === "true") { suiteBar.css({ "display": "block" }); ribbonRow.css({ "display": "block" }); $('.menu-edit').addClass('active'); }; }; // Handle Edit event strabag.editEvent = function (event) { event.preventDefault(); var button = $(this); var suiteBar = $("#suiteBar"); var ribbonRow = $("#s4-ribbonrow"); var sideNavBox = $("#sideNavBox"); button.toggleClass('active'); if (suiteBar.length !== 0 && ribbonRow.length !== 0) { suiteBar.removeAttr("style"); ribbonRow.removeAttr("style"); if ($(this).hasClass('active')) { localStorage.setItem('ribbonEdit', true); suiteBar.css({ "display": "block" }); ribbonRow.css({ "display": "block" }); if (sideNavBox - length !== 0) { sideNavBox.css({ 'display': 'none' }) } } else { localStorage.setItem('ribbonEdit', false); suiteBar.removeAttr("style"); ribbonRow.removeAttr("style"); sideNavBox.css({ 'display': 'block' }) } } } // Add Burger Content to Responsive Drop Down strabag.burgerMenu = function () { var commHeader = $('#tdCommunitiesHeader'); var commAsMember = $('#tdMyCommunitiesAsMember'); var commAsOwner = $('#tdMyCommunitiesAsOwner'); var importantLinksHeader = $('#tdImportantLinksHeader'); var importantLinks = $('#tdImportantLinks'); if (commHeader.length !== 0) { $(ctnBrgrCnt).append(commHeader.html()); } // add communities as member if (commAsMember.length !== 0) { $(ctnBrgrCnt).append(commAsMember.html()); } else { } // add communities as owners if (commAsOwner.length !== 0) { $(ctnBrgrCnt).append(commAsOwner.html()); } else { } if (importantLinksHeader.length !== 0) { $(ctnBrgrCnt).append(importantLinksHeader.html()); } // add important links if (importantLinks.length !== 0) { $(ctnBrgrCnt).append(importantLinks.html()); } var allLinks = $(ctnBrgrCnt + ' a'); for (var i = 0; i < allLinks.length; i++) { var curLink = $(allLinks[i]); if (curLink.length !== 0) { var linkText = $(curLink[0]).text().trim(); if (linkText === "") { curLink.removeAttr('href'); } } } }; // Bind all required events to the user interface strabag.bindEvents = function () { $(btnBrgrMenu).bind('click', strabag.burgerEvent); $(footerLink).bind('click', strabag.scrollUp); $(btnSrchMenu).bind('click', strabag.searchEvent); $('#mdd .mdd-button').bind('click', strabag.fixMDDButton); }; // Mobile Quicklaunch strabag.mobileQuicklaunch = function () { var navigation = $("#sideNavBox"), navigationText = "Navigation", // Default string for navigaton searchCenter = $("div[class^='ms-searchCenter']"), // Check if user is currently in Navigation ossSearch = $('.ms-srch-siteSearchResults'); // Remove Search Class navigation.addClass("active"); if (searchCenter.length !== 0) { navigationText = "Filter" } if (ossSearch.length !== 0) { navigationText = "Filter" } console.log("QUICKLAUNCH"); /*if(navigation.length !== 0){ navigation.prepend("<div class='mobileQLDropDown'>Navigation</div>"); }*/ try { if ($("#sideNavBox .ms-core-navigation")[0].childElementCount > 0) { navigation.prepend("<div class='mobileQLDropDown'>" + navigationText + "</div>"); } else { navigation.css("display", "none"); } } catch (e) { navigation.css("display", "none"); } $('.mobileQLDropDown').bind('click', function () { if ($(this).hasClass('expanded')) { $(this).removeClass('expanded'); } else { $(this).addClass('expanded'); } var deltaNav = $('#DeltaPlaceHolderLeftNavBar'); if (deltaNav.hasClass('show')) { deltaNav.removeClass('show'); } else { deltaNav.addClass('show'); } }); }; // core mobile handiling strabag.mobile = function () { var mq = window.matchMedia("(min-width: 0px) and (max-width: 1024px)"); var mqMobile = window.matchMedia("(min-width: 0px) and (max-width: 480px)"); if (mq.matches) { strabag.mobileQuicklaunch(); strabag.mobileRibbon(); strabag.fixOverFlow(); $(btnSrchEdit).bind('click', strabag.editEvent); var microfeed = $('#ms-microfeeddiv'); if (microfeed.length !== 0) { var wpTitle = microfeed.parent().parent().find('.ms-webpart-chrome-title'); wpTitle.css({ 'display': 'none' }); } if ($('.ms-srch-siteSearchResults').length === 0 && $('.ms-searchCenter-result-main').length === 0) { var srchBox = $('#SearchBox'); $(ctnBrgrSrch).html(srchBox.clone()); srchBox.remove(); } else { $("#DeltaPlaceHolderPageTitleInTitleArea").css({ "display": "none" }) $('.menu-search').css({ "display": "none" }) } // Set a timeout... setTimeout(function () { // Hide the address bar! window.scrollTo(0, 1); }, 0); // strabag format refinement anywhere strabag.refinementAnywhere(); } if (mqMobile.matches) { // mobile conversation button strabag.mobileConversation(); } }; strabag.mobileRibbon = function () { var ribbonCheckCounter = 0; var showRibbon = setInterval(function () { if (ribbonCheckCounter >= MAX_LOOP_TIME) { clearInterval(showRibbon); return; } var ribbonContainer = $('#RibbonContainer'); var customFormEdit = $('.ms-formtable'); var generalListForm = $('#onetIDListForm'); // && (customFormEdit.length === 0 || generalListForm.length === 0) if (ribbonContainer.length !== null && ribbonContainer.hasClass('loaded') ) { var suiteBar = $("#suiteBar"); if (suiteBar.length !== 0) { suiteBar.css({ 'display': 'block' }) } var ribbonRow = $("#s4-ribbonrow"); if (ribbonRow.length !== 0) { ribbonRow.css({ 'display': 'block' }) } var sideNavBox = $("#sideNavBox"); if (sideNavBox - length !== 0) { sideNavBox.css({ 'display': 'none' }) } clearInterval(showRibbon); } ribbonCheckCounter += 1; }, 300); } strabag.mobileConversation = function () { var microBlogpart = $('.ms-microfeed-microblogpart'); // microBlogpart.appendTo("#ms-newsfeedpartdiv"); // Moved to top.... $('#ms-newsfeedpartdiv').prepend("<div class='button wpxp-startconv'><span class='wpxp-startconv-inner'><img src='/_layouts/15/images/wpxp.strabag.design/conversation-white.gif' class='wpxp-startconv-img'><div class='wpxp-startconv-text'></div></span></div>"); $('.wpxp-startconv').on('click', function () { $('#ms-microblogdiv').addClass('wpxp-showconversation'); $('#ms-microbloginputbox').focus(); var lblWidth = $('#ms-shareWithLabel .mui-lbl').width() + 14; $('#ms-mysitemenu-control_ms-shareWithTarget').css({ 'width': 'calc(100% - ' + lblWidth + 'px)', 'padding-left': '10px' }); $(this).css({ 'display': 'none' }) }) strabag.loadTranslation('@Startseite_Strabag2017_Newsfeed_startConversation', '.wpxp-startconv-text', ''); } // load translation for a specific label strabag.loadTranslation = function (label, replacementKey, additionalString, callback) { var url = '/_api/web/lists/getbytitle(\'strabag - Wörterbuch für Mehrsprachigkeit\')/'; var requestUrl = '/_api/web/lists/getbytitle(\'Wörterbuch für Mehrsprachigkeit\')/items', query = '?$filter=Title eq \'' + label + '\''; $.ajax({ type: "GET", url: requestUrl + query, contentType: "application/json;odata=verbose", headers: { "Accept": "application/json; odata=verbose" }, }).done(function (data, xhr) { if (data.d.results.length === 0) { console.log('No label named \'' + label + '\' can be found.'); return; } var newLabel = data.d.results[0]['LCID_' + _spPageContextInfo.currentLanguage]; if (newLabel !== undefined) { var replacementFor = $(replacementKey); if (replacementFor.length === 0) { console.log('No replacement element for label ' + label + ' and replacement ' + replacementKey + ' can be found'); return; } $(replacementKey).text(''); $(replacementKey).append("<span class='mui-lbl'>" + newLabel + "</span>"); $(replacementKey).append($(additionalString)); if (callback != undefined) { callback(); } } }).error(function (data, xhr) { console.log('Cannot find label ' + label); }) } strabag.loadTranslationSet = function (filter) { var url = '/_api/web/lists/getbytitle(\'strabag - Wörterbuch für Mehrsprachigkeit\')/'; var requestUrl = '/_api/web/lists/getbytitle(\'Wörterbuch für Mehrsprachigkeit\')/items', query = '?' + filter; return $.ajax({ type: "GET", url: requestUrl + query, contentType: "application/json;odata=verbose", headers: { "Accept": "application/json; odata=verbose" }, }); }; strabag.translationCache = (function () { var TRANSLATION_PREFIX = "translation_"; var currentStorageKey; var isCacheAvailable = function () { return typeof window.localStorage != "undefined"; } var queryTranslation = function (filter) { var url = '/_api/web/lists/getbytitle(\'strabag - Wörterbuch für Mehrsprachigkeit\')/'; var requestUrl = '/_api/web/lists/getbytitle(\'Wörterbuch für Mehrsprachigkeit\')/items', query = '?' + filter; console.log(requestUrl + query); return $.ajax({ type: "GET", url: requestUrl + query, contentType: "application/json;odata=verbose", headers: { "Accept": "application/json; odata=verbose" }, }); }; // validate cache for udpate // updates or sets the current cache var cacheData = function (data) { var cacheObject = { TTL: new Date(Date.now() + 1 * 24 * 60 * 60 * 1000).getTime(), content: [] } var itemCount = data.length; while (itemCount--) { var currentItem = data[itemCount]; if (typeof currentItem.Title !== "undefined") { var cacheItem = { label: currentItem.Title, lcid: [] } for (var key in currentItem) { if (key.startsWith('LCID')) { var lcid = key.split('_')[1]; cacheItem.lcid.push({ lcid: lcid, label: currentItem[key] }) } } cacheObject.content.push(cacheItem); } } console.log(currentStorageKey); localStorage.setItem(TRANSLATION_PREFIX + currentStorageKey, JSON.stringify(cacheObject)); console.log(localStorage); } var loadTranslationSet = function (filter, storageKey) { currentStorageKey = storageKey; var cacheData = JSON.parse(localStorage.getItem(TRANSLATION_PREFIX + storageKey)); console.log(TRANSLATION_PREFIX + storageKey); if (cacheData) { console.log("Returning data from cache"); return cacheData; } queryTranslation(filter).done(function (data) { cacheData(data.d.results); return JSON.parse(localStorage.getItem(TRANSLATION_PREFIX + storageKey)); }).error(function (jxhr, b) { console.log(jxhr.responseJSON.error.message.value); }) return null; } console.log(isCacheAvailable()); return { getTranslation: function (filter, storageKey) { if (isCacheAvailable === false) { return; } return loadTranslationSet(filter, storageKey); } }; })(); // mmd button fixup strabag.fixMDDButton = function () { var mddButton = $('#mdd .mdd-button'); var firstMddButton = $(mddButton[0]).width(); $(mddButton[1]).css({ 'width': (firstMddButton + 15) + 'px' }); var header = $('#mdd-header-button').closest('tr').find("th"); if (header.length === 2) { $(header[0]).removeAttr('colspan'); $(header[0]).attr('colspan', 2); $(header[1]).removeAttr('colspan'); $(header[1]).attr('colspan', 2); } // Hide Recent $(".ms-core-listMenu-item:contains('Recent')").parent().hide(); $(".ms-core-listMenu-item:contains('Zuletzt verwendet')").parent().hide(); } // dotdotdot embedding general strabag.dotdotdot = function () { $('.ms-tileview-tile-titleTextMediumCollapsed').dotdotdot(); $('.ms-tileview-tile-descriptionMedium').dotdotdot(); $('.ms-comm-postMainContainer .ms-comm-postBody').dotdotdot(); } strabag.webTempCommunity = function () { var wikiContent = $('#ctl00_PlaceHolderMain_WikiField'); var listViewID = $('#MSOZoneCell_WebPartWPQ2'); if (listViewID.length !== 0) { listViewID.addClass('strabag-discussion') } wikiContent.addClass('community'); wikiContent.find('.ms-wikicontent').removeAttr('style'); wikiContent.find('#layoutsTable > tbody > tr > td:first-child') .removeAttr('style') .addClass('community-content'); wikiContent.find('.ms-wiki-columnSpacing') .removeAttr('style'); } strabag.webTempDocCenter = function () { $('#DeltaPlaceHolderMain > table').removeAttr('width'); $('#DeltaPlaceHolderMain > table').addClass('strabag-doccenter'); } strabag.webTempSTS = function () { $('#ctl00_PlaceHolderMain_WikiField').addClass('strabag-teamsite'); } strabag.webTempCustomCommunity = function () { var customClass = "strabag-customCommunity"; $(".ms-webpartPage-root").addClass(customClass); } strabag.fixUpTemplateStyles = function () { if (typeof _spPageContextInfo !== "undefined") { switch (_spPageContextInfo.webTemplate) { case "1": strabag.webTempCustomCommunity(); // strabag.webTempSTS(); break; case "7": strabag.webTempDocCenter(); break; case "62": strabag.webTempCommunity(); break; case "11001": strabag.webTempCustomCommunity(); } } }; strabag.fixOverFlow = function () { var listViews = $(".ms-listviewtable"); var calendar = $(".ms-acal-rootdiv"); var customListForm = $('.ms-formtable'); if (customListForm !== 0) { try { SP.SOD.registerSod("sp.ribbon.js", SP.Utilities.Utility.getLayoutsPageUrl("sp.ribbon.js")); SP.SOD.executeFunc("sp.ribbon.js", "SP.Ribbon.PageManger", function () { setTimeout(function () { var ribEye = SP.Ribbon.PageManager.get_instance().get_ribbon(); ribEye.selectTabById("Ribbon.Read"); $("#suitebar").css({ "display": "none" }); $("#ribbonRow").css({ "display": "none" }) }, 300); }); } catch (exception) { }; } if (listViews.length !== 0 || calendar.length !== 0) { $("#DeltaPlaceHolderMain").css( { 'overflow': 'auto' } ); } } strabag.iPhoneFix = function () { var deviceAgent = navigator.userAgent.toLowerCase(); var agentID = deviceAgent.match(/(iPad|iPhone|iPod)/i); if (agentID) { // var viewport = document.getElementsByName("viewport"); // console.log(viewport); // viewport[0].setAttribute("content", viewport[0].getAttribute("content")+", user-scaleable=0"); $('#s4-workspace').css('-webkit-overflow-scrolling', 'touch'); } } strabag.refinementAnywhere = function () { var contentBoxRefinement = $("#contentBox .ms-ref-ctrl"); contentBoxRefinement.addClass('ms-core-navigation'); contentBoxRefinement.parent().prepend("<div class='mobileQLDropDown'>Filter</div>").wrap("<div class='strabag-refinement'></div>"); $('#contentBox .mobileQLDropDown').bind('click', function () { if ($(this).hasClass('expanded')) { $(this).removeClass('expanded'); } else { $(this).addClass('expanded'); } var deltaNav = $('.ms-ref-ctrl'); if (deltaNav.hasClass('show')) { deltaNav.removeClass('show'); } else { deltaNav.addClass('show'); } }); }; // document doen main handler strabag.documentDone = function () { strabag.fixUpTemplateStyles(); // Bind all events strabag.bindEvents(); // FixUp Search Icons strabag.replaceSrchIcon(); // FixUp Search Big Icons strabag.replaceSrchIconBig(); // OSS Search Icon strabag.replaceOSSSearchIcon(); // launch burger menu filling strabag.burgerMenu(); // mobile strabag.mobile(); // // microfeed FixUp // strabag.microfeed(); // fix search center styles strabag.setSearchCenterStyle(); // Fix length of MDD Button strabag.fixMDDButton(); // dotdotdot configuration strabag.dotdotdot(); // edit menu available strabag.editAvailable(); // check if ribbon is currently enabled strabag.editEnabled(); // enables newsfeed branding if ($('#ms-microfeeddiv').length !== 0) { // ms-core-menu-box ms-core-defaultFont ms-shadow $('#ms-microfeeddiv').bind('click', '#ms-microfeed-microblogpart #ms-mysitemenu-control_ms-shareWithTarget', function () { var clickElement = $(this); var width = $(this).width(); var addWidth = setInterval(function () { var negativeWidth = $('#ms-microblogdiv').find('.mui-lbl'); var dropDownElement = $('#ms-microblogdiv').find('.ms-core-menu-box.ms-core-defaultFont.ms-shadow'); if (dropDownElement.length) { var widthCorrection = 30; $(dropDownElement[0]).width(width - negativeWidth.width() - widthCorrection); $(dropDownElement[0]).css({ 'max-width': width - negativeWidth.width() - widthCorrection, 'box-sizing': 'border-box', 'z-index': 1 }) clearInterval(addWidth); }; }, 300); }) $('.ms-menu-stdarw').html(''); var dropDownReplaceCounter = 0; var dropDownReplace = setInterval(function () { if (dropDownReplaceCounter === MAX_LOOP_TIME) { clearInterval(dropDownReplace); } else { dropDownReplaceCounter += 1; } if ($('#ms-mysitemenu-control_Link_ms-shareWithTarget').length) { clearInterval(dropDownReplace); var shareWithDD = document.getElementById('ms-mysitemenu-control_ms-shareWithTarget'); //var shareWithDD = $('#ms-mysitemenu-control_ms-shareWithTarget'); var shareWithLabel = $('#ms-shareWithLabel'); var firstDDEntry = $("#ms-mysitemenu-control_ms-shareWithTarget a:first-child").text(); var shareWithLabelText = shareWithLabel.text().toString().replace(firstDDEntry, ''); var shareWithDropDown = $("#ms-mysitemenu-control_ms-shareWithTarget").prepend("<span class='mui-label'>" + shareWithLabelText + "</span>"); shareWithLabel.html(shareWithDropDown); $('#ms-mysitemenu-menu_ms-shareWithTarget').parent().prepend(searchIconDown); var lblWidth = $('#ms-shareWithLabel .mui-lbl').width() + 6; $('#ms-mysitemenu-control_ms-shareWithTarget').css({ 'width': 'calc(100% - ' + lblWidth + 'px)' }); } }, 300) newsFeed = window.newsFeed(jQuery); } // make sure all SVG's are loaded' svg4everybody(); } // Checkn if browser was resized strabag.resizeDone = function () { clearTimeout(resizeTimer); resizeTimer = setTimeout(function () { strabag.documentDone(); }, 250); } // Fire up when document finished loading $(document).ready(function () { // TODO: Fix Search Resize Bigger strabag.documentDone(); strabag.iPhoneFix(); // $(window).on('resize', strabag.resizeDone); // $('#tdMyCommunitiesAsMember p a').dotdotdot(); // $('#tdMyCommunitiesAsOwner p a').dotdotdot(); }); // enable fix MMD button strabag.fixMDDButton(); }(jQuery));