{"version":3,"file":"re_hashtag_anonymous_initialiser.28123be817ac55b34b90.js","mappings":"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","sources":["webpack:///./Common/re_share_widget_control.js","webpack:///./Hashtag/re_hashtag_anonymous_initialiser.js","webpack:///./Templates/Common/re_share_widget_compiled.js","webpack:///./Templates/Common/re_share_widget_template.html","webpack:///external \"jQuery\""],"sourcesContent":["define(['jquery', 'moduleUtilities', 'generalUtilities', 'shareWidgetCompiled'], function shareWidgetControl(\r\n\t$,\r\n\tmoduleUtilities,\r\n\tgeneralUtilities,\r\n\tshareWidgetCompiled\r\n) {\r\n\t'use strict';\r\n\t/**\r\n\t * re_share_widget_control\r\n\t * @exports shareWidgetControl\r\n\t * @author John Allan\r\n\t */\r\n\t//#region set up\r\n\r\n\tvar module, selectors, elements, values;\r\n\r\n\tmodule = {};\r\n\t/** @module */\r\n\tmodule.private = {};\r\n\tmodule.properties = {};\r\n\tselectors = {\r\n\t\tbody: 'body',\r\n\t\tshareButton: '.js-share',\r\n\t\tshareButtonEtAl: '.js-share, .js-share *',\r\n\t\tshareWidget: '.js-sharewidget, .js-sharewidget *',\r\n\t\tshareWidgetPosition: '.js-sharewidget-position',\r\n\t\tshareWidgetContent: '.js-sharewidget-content',\r\n\t\tshareAllListingsCheckbox: '.js-share-all-listings-checkbox'\r\n\t};\r\n\telements = {};\r\n\tvalues = {\r\n\t\toffset: 15 // must be the same as offset defined in _sharewidget.scss\r\n\t};\r\n\r\n\t//#endregion\r\n\r\n\t//#region utilities\r\n\r\n\t/**\r\n\t * Determines if a string a valid URL\r\n\t * @param {string} url string to test\r\n\t * @return {boolean}\r\n\t */\r\n\t// TODO move to general utilities\r\n\tmodule.private.isURL = function isURL(url) {\r\n\t\tvar regexp;\r\n\t\tregexp = /(?:(?:https?):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[\\/?#]\\S*)?/i; // jshint ignore:line\r\n\t\treturn regexp.test(url);\r\n\t};\r\n\r\n\t/**\r\n\t * Retrieve the data from the DOM e.g. href, contentType\r\n\t * @param {object} el DOM element of anchor which was clicked\r\n\t * @return {object}\r\n\t */\r\n\tmodule.private.getContentData = function getContentData(el) {\r\n\t\tvar data;\r\n\t\r\n\t\tdata = {};\r\n\t\tdata.href = el.getAttribute('href');\r\n\t\tdata.type = el.getAttribute('data-share-type');\r\n\t\tdata.subType = el.getAttribute('data-share-subtype');\r\n\t\tdata.sharePage = el.getAttribute('data-share-page');\r\n\t\tdata.sharePageOverride = el.getAttribute('data-share-page-override');\r\n\t\tdata.showpermalink = el.getAttribute('data-showpermalink') !== \"false\";\r\n\t\t// available if we want to customize the share message in the future\r\n\t\t// author = el.getAttribute('data-share-author');\r\n\t\tdata.facebookAppId = generalUtilities.prop(window, 'RESAAS.Environment.FacebookAppId');\r\n\t\tdata.applicationUrl = generalUtilities.prop(window, 'RESAAS.Environment.ApplicationUrl');\r\n\r\n\t\t// if the href is not a url assume we are sharing the page\r\n\t\tif (!module.private.isURL(data.href)) {\r\n\t\t\tdata.href = window.location.href;\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t};\r\n\r\n\t/**\r\n\t * Build the viewmodel used to render the template.\r\n\t * @param {object} data Content data extracted from the DOM\r\n\t * @return {object}\r\n\t */\r\n\tmodule.private.getViewModel = function getViewModel(data) {\r\n\t\tvar d, config, shareAllText, href, username;\r\n\t\td = $.extend({}, data);\r\n\t\tif (d.sharePageInput) {\r\n\t\t\thref = window.location.href;\r\n\t\t\tif (d.sharePageOverride) {\r\n\t\t\t\thref = d.sharePageOverride;\r\n\t\t\t}\r\n\t\t\td.encodedHref = encodeURIComponent(href);\r\n\t\t} else {\r\n\t\t\thref = d.href\r\n\t\t\td.encodedHref = encodeURIComponent(href);\r\n\t\t}\r\n\r\n\t\tconfig = {\r\n\t\t\tfacebook: {\r\n\t\t\t\thref: generalUtilities.stringFormat(\r\n\t\t\t\t\t'https://www.facebook.com/dialog/share?href={0}&app_id={1}&display=page&redirect_uri=https%3A%2F%2Fwww.facebook.com',\r\n\t\t\t\t\td.encodedHref,\r\n\t\t\t\t\td.facebookAppId\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\ttwitter: {\r\n\t\t\t\thref: generalUtilities.stringFormat('https://twitter.com/intent/tweet?url={0}', d.encodedHref)\r\n\t\t\t},\r\n\t\t\tlinkedin: {\r\n\t\t\t\thref: generalUtilities.stringFormat(\r\n\t\t\t\t\t'https://www.linkedin.com/shareArticle?url={0}&mini=true&source=RESAAS',\r\n\t\t\t\t\td.encodedHref\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tpinterest: {\r\n\t\t\t\thref: generalUtilities.stringFormat('http://pinterest.com/pin/create/button/?url={0}', d.encodedHref)\r\n\t\t\t},\r\n\t\t\temail: {\r\n\t\t\t\thref: generalUtilities.stringFormat('mailto:?body={0}', d.encodedHref)\r\n\t\t\t},\r\n\t\t\tinbox: {\r\n\t\t\t\thref: generalUtilities.stringFormat('{0}/inbox?Message={1}', d.applicationUrl, href, d.encodedHref)\r\n\t\t\t},\r\n\t\t\tpermalink:\r\n\t\t\t\td.href === window.location.href || !d.showpermalink\r\n\t\t\t\t\t? false\r\n\t\t\t\t\t: {\r\n\t\t\t\t\t\t\thref: d.href,\r\n\t\t\t\t\t\t\texternal: d.href.indexOf(d.applicationUrl) === -1\r\n\t\t\t\t\t },\r\n\t\t\tcontent: d\r\n\t\t};\r\n\r\n\t\tswitch (data.type) {\r\n\t\t\tcase 'post':\r\n\t\t\t\tconfig.pinterest = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'privatepost':\r\n\t\t\t\tconfig.facebook = false;\r\n\t\t\t\tconfig.twitter = false;\r\n\t\t\t\tconfig.linkedin = false;\r\n\t\t\t\tconfig.pinterest = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'publiclead':\r\n\t\t\t\tconfig.pinterest = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'privatelead':\r\n\t\t\tcase 'privatelisting':\r\n\t\t\t\tconfig.facebook = false;\r\n\t\t\t\tconfig.twitter = false;\r\n\t\t\t\tconfig.linkedin = false;\r\n\t\t\t\tconfig.pinterest = false;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tusername = document.querySelector('.user-profile-details span[itemprop=\"name\"]');\r\n\t\tif (d.sharePage) {\r\n\t\t\tif (username) {\r\n\t\t\t\tshareAllText = generalUtilities.stringFormat(window.RESAAS.Localization.Listings.USER_SHARE_ALL_LISTINGS_TEXT, username.innerHTML)\r\n\t\t\t} else {\r\n\t\t\t\tshareAllText = window.RESAAS.Localization.Listings.SHARE_ALL_MY_LISTINGS_TEXT;\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconfig.shareAllUsersListingsText = shareAllText;\r\n\t\tconfig.sharePageInput = d.sharePageInput;\r\n\t\tconfig.sharePage = d.sharePage;\r\n\r\n\t\treturn config;\r\n\t};\r\n\r\n\t/**\r\n\t * Determine which position in this order top, right, left, bottom is ideal\r\n\t * @param {object} origin Element to which the content position is relative\r\n\t * @param {object} el Element which is being positioned\r\n\t * @param {object} [viewport=window] Viewport which might cut off the content if not positioned correctly\r\n\t * @return {object}\r\n\t */\r\n\tmodule.private.getIdealPosition = function getIdealPosition(origin, el, viewport) {\r\n\t\tvar originRect, elRect, w, top, bottom, left, right, ideal;\r\n\r\n\t\tw = viewport || window;\r\n\t\toriginRect = origin.getBoundingClientRect();\r\n\t\telRect = el.getBoundingClientRect();\r\n\r\n\t\ttop = {\r\n\t\t\ttop: originRect.top - values.offset - elRect.height >= 0,\r\n\t\t\tbottom: originRect.top - values.offset <= w.innerHeight,\r\n\t\t\tleft: originRect.left - (elRect.width - originRect.width) / 2 >= 0,\r\n\t\t\tright: originRect.right + (elRect.width - originRect.width) / 2 <= w.innerWidth\r\n\t\t};\r\n\r\n\t\tbottom = {\r\n\t\t\ttop: originRect.bottom + values.offset >= 0,\r\n\t\t\tbottom: originRect.bottom + values.offset + elRect.height <= w.innerHeight,\r\n\t\t\tleft: originRect.left - (elRect.width - originRect.width) / 2 >= 0,\r\n\t\t\tright: originRect.right + (elRect.width - originRect.width) / 2 <= w.innerWidth\r\n\t\t};\r\n\r\n\t\tright = {\r\n\t\t\ttop: originRect.top - (elRect.height - originRect.height) / 2 >= 0,\r\n\t\t\tbottom: originRect.bottom + (elRect.height - originRect.height) / 2 <= w.innerHeight,\r\n\t\t\tleft: originRect.right + values.offset >= 0,\r\n\t\t\tright: originRect.right + values.offset + elRect.width <= w.innerWidth\r\n\t\t};\r\n\r\n\t\tleft = {\r\n\t\t\ttop: originRect.top - (elRect.height - originRect.height) / 2 >= 0,\r\n\t\t\tbottom: originRect.bottom + (elRect.height - originRect.height) / 2 <= w.innerHeight,\r\n\t\t\tleft: originRect.left - values.offset - elRect.width >= 0,\r\n\t\t\tright: originRect.left - values.offset <= w.innerWidth\r\n\t\t};\r\n\r\n\t\tif (top.top && top.right && top.bottom && top.left) {\r\n\t\t\tideal = 'top';\r\n\t\t} else if (right.top && right.right && right.bottom && right.left) {\r\n\t\t\tideal = 'right';\r\n\t\t} else if (left.top && left.right && left.bottom && left.left) {\r\n\t\t\tideal = 'left';\r\n\t\t} else if (bottom.top && bottom.right && bottom.bottom && bottom.left) {\r\n\t\t\tideal = 'bottom';\r\n\t\t} else {\r\n\t\t\t// TODO Assuming this for the mobile case\r\n\t\t\t// Could be improved by include the potential vertically scroll in calculations\r\n\t\t\t// e.g. if no direction is ideal but left is only cut off by the bottom and use can scroll\r\n\t\t\t// then left is the ideal\r\n\t\t\tideal = 'left';\r\n\t\t}\r\n\r\n\t\treturn ideal;\r\n\t};\r\n\r\n\t//#endregion\r\n\r\n\t//#region dom event handlers\r\n\t/**\r\n\t * Handle click on
, opens a share widget or closes them all\r\n\t * @param {object} e Click event\r\n\t */\r\n\tmodule.private.handleBodyClick = function handleClick(e) {\r\n\t\tvar contentData,\r\n\t\t\tanchor;\r\n\r\n\t\tif (!e.target.matches(selectors.shareWidget)) {\r\n\t\t\t$(selectors.shareWidget).remove();\r\n\t\t}\r\n\r\n\t\tif (e.target.matches(selectors.shareButtonEtAl)) {\r\n\t\t\te.preventDefault();\r\n\t\r\n\t\t\t// TODO polyfill for Element.prototype.closest would mean no jQuery here\r\n\t\t\tanchor = $(e.target).closest(selectors.shareButton)[0];\r\n\t\t\tcontentData = module.private.getContentData(anchor);\r\n\r\n\t\t\t// render share widget\r\n\t\t\tmodule.private.renderShareWidget(contentData, anchor)\r\n\t\t}\r\n\r\n\t};\r\n\r\n\tmodule.private.renderShareWidget = function renderShareWidget(contentData, anchor) {\r\n\t\tvar html,\r\n\t\t\tviewModel,\r\n\t\t\tidealPosition,\r\n\t\t\tidealPositionClass,\r\n\t\t\twidgetParent,\r\n\t\t\twidgetPosition,\r\n\t\t\twidgetContent,\r\n\t\t\tshareAllListingsCheckbox;\r\n\r\n\t\tviewModel = module.private.getViewModel(contentData);\r\n\t\thtml = shareWidgetCompiled(viewModel);\r\n\r\n\t\tanchor.insertAdjacentHTML('afterend', html);\r\n\t\twidgetParent = anchor.parentElement;\r\n\t\twidgetPosition = anchor.nextElementSibling.querySelector(selectors.shareWidgetPosition);\r\n\t\twidgetContent = anchor.nextElementSibling.querySelector(selectors.shareWidgetContent);\r\n\r\n\t\tidealPosition = module.private.getIdealPosition(widgetParent, widgetContent);\r\n\t\tidealPositionClass = ['re-sharewidget-position-', idealPosition].join('');\r\n\r\n\t\twidgetPosition.classList.add(idealPositionClass);\r\n\t\tshareAllListingsCheckbox = document.querySelector(selectors.shareAllListingsCheckbox);\r\n\t\tif (shareAllListingsCheckbox) {\r\n\t\t\tshareAllListingsCheckbox.addEventListener('change', function handleChange(event){ module.private.handleSharePageCheckboxClick(event, contentData, anchor) })\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.private.handleSharePageCheckboxClick = function handleSharePageCheckboxClick(e, contentData, anchor) {\r\n\t\tvar shareWidget, data;\r\n\t\tshareWidget = document.querySelector(selectors.shareWidget)\r\n\t\tdata = Object.assign({}, contentData);\r\n\r\n\t\tif (e.target.checked) {\r\n\t\t\tdata.sharePageInput = true;\r\n\t\t} else {\r\n\t\t\tdata.sharePageInput = false;\r\n\t\t}\r\n\r\n\t\tif (shareWidget) {\r\n\t\t\t$(selectors.shareWidget).remove();\r\n\t\t}\r\n\r\n\t\tmodule.private.renderShareWidget(data, anchor);\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t/**\r\n\t * Initiates the module, creates a guid and binds dom events.\r\n\t */\r\n\tmodule.private.init = function init() {\r\n\t\t// module config\r\n\t\tmodule.properties.guid = generalUtilities.uuid();\r\n\r\n\t\t// polyfill matches()\r\n\t\tif (!Element.prototype.matches) {\r\n\t\t\tElement.prototype.matches = Element.prototype.msMatchesSelector;\r\n\t\t}\r\n\r\n\t\t// dom event bindings\r\n\t\tdocument.body.addEventListener('click', module.private.handleBodyClick);\r\n\t};\r\n\r\n\t//#region external event bindings\r\n\r\n\tmodule.private.init();\r\n\r\n\t//#endregion\r\n\r\n\t// expose API\r\n\treturn module;\r\n});\r\n","/**\r\n * re_hashtag_anonymous_initialiser\r\n * @module hashtagAnonymousInitialiser\r\n * @author Steffi au\r\n */\r\n\r\ndefine([\r\n\t'shareWidgetControl'\r\n],\r\n\tfunction () {\r\n\t\t'use strict';\r\n\t}\r\n);","define(['Handlebars', 'text!shareWidgetTemplate'],\r\n\r\n\tfunction (Handlebars, shareWidgetTemplate) {\r\n\t\t'use strict';\r\n\r\n\t\treturn Handlebars.compile(shareWidgetTemplate);\r\n\t}\r\n\r\n);","module.exports = \" \"","module.exports = jQuery;"],"names":["$","moduleUtilities","generalUtilities","shareWidgetCompiled","module","selectors","values","private","properties","body","shareButton","shareButtonEtAl","shareWidget","shareWidgetPosition","shareWidgetContent","shareAllListingsCheckbox","offset","isURL","url","test","getContentData","el","data","href","getAttribute","type","subType","sharePage","sharePageOverride","showpermalink","facebookAppId","prop","window","applicationUrl","location","getViewModel","d","config","shareAllText","username","extend","sharePageInput","encodedHref","encodeURIComponent","facebook","stringFormat","twitter","linkedin","pinterest","email","inbox","permalink","external","indexOf","content","document","querySelector","RESAAS","Localization","Listings","USER_SHARE_ALL_LISTINGS_TEXT","innerHTML","SHARE_ALL_MY_LISTINGS_TEXT","shareAllUsersListingsText","getIdealPosition","origin","viewport","originRect","elRect","w","top","bottom","left","right","getBoundingClientRect","height","innerHeight","width","innerWidth","handleBodyClick","e","contentData","anchor","target","matches","remove","preventDefault","closest","renderShareWidget","html","viewModel","idealPositionClass","widgetParent","widgetPosition","widgetContent","insertAdjacentHTML","parentElement","nextElementSibling","join","classList","add","addEventListener","event","handleSharePageCheckboxClick","Object","assign","checked","init","guid","uuid","Element","prototype","msMatchesSelector","Handlebars","shareWidgetTemplate","compile","exports","jQuery"],"sourceRoot":""}