sharethis-angular
Version:
ShareThis Share Buttons for Angular apps/sites. Empower your online audience to share and amplify your content on social networks such as Facebook, WhatsApp, Linkedin, Twitter and many more. Includes four types of share buttons - Inline Share Buttons, Sti
46 lines • 6.19 kB
JavaScript
export default function (component, product) {
// load config
let config = component.config || { enabled: true };
config = JSON.parse(JSON.stringify(config));
// load buttons
const _onShareThisLoaded = window.onShareThisLoaded;
let onload = () => {
if (!onload.complete) {
if (!config.id) {
const id = 'sharethis-' + Date.now();
config.id = id;
}
if (component.buttons) {
component.buttons.id = config.id;
window.__sharethis__.load(product, config);
}
if (_onShareThisLoaded) {
_onShareThisLoaded();
}
onload.complete = true;
}
};
window.onShareThisLoaded = onload;
// load sharethis.js
if (document.getElementById('sharethis-js')) {
if (window.__sharethis__) {
window.onShareThisLoaded();
}
}
else {
const script = document.createElement('script');
script.setAttribute('id', 'sharethis-js');
const params = {
property: config.property || '',
product: product,
source: 'angularjs',
};
const query = Object.entries(params)
.map(([key, value]) => key + '=' + value)
.join('&');
script.src = 'https://platform-api.sharethis.com/js/sharethis.js?' + query;
script.async = true;
document.body.appendChild(script);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJldGhpcy1hbmd1bGFyL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QkEsTUFBTSxDQUFDLE9BQU8sV0FBVyxTQUFvQixFQUFFLE9BQWU7SUFDNUQsY0FBYztJQUNkLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkQsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTVDLGVBQWU7SUFDZixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUVwRCxJQUFJLE1BQU0sR0FBUSxHQUFHLEVBQUU7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxFQUFFLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDaEI7WUFDRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM1QztZQUNELElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLGtCQUFrQixFQUFFLENBQUM7YUFDdEI7WUFDRCxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFFbEMsb0JBQW9CO0lBQ3BCLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUMzQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDeEIsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7S0FDRjtTQUFNO1FBQ0wsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRztZQUNiLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUU7WUFDL0IsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2FBQ2pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQzthQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLENBQUMsR0FBRyxHQUFHLHFEQUFxRCxHQUFHLEtBQUssQ0FBQztRQUMzRSxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmxpbmVGb2xsb3dCdXR0b25zQ29uZmlnLFxuICBJbmxpbmVSZWFjdGlvbkJ1dHRvbnNDb25maWcsXG4gIElubGluZVNoYXJlQnV0dG9uc0NvbmZpZyxcbiAgU3RpY2t5U2hhcmVCdXR0b25zQ29uZmlnLFxufSBmcm9tICcuL3R5cGVzJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBvblNoYXJlVGhpc0xvYWRlZDogKCkgPT4gdm9pZDtcbiAgICBfX3NoYXJldGhpc19fOiBhbnk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbXBvbmVudCB7XG4gIGNvbmZpZzogKFxuICAgIHwgU3RpY2t5U2hhcmVCdXR0b25zQ29uZmlnXG4gICAgfCBJbmxpbmVGb2xsb3dCdXR0b25zQ29uZmlnXG4gICAgfCBJbmxpbmVSZWFjdGlvbkJ1dHRvbnNDb25maWdcbiAgICB8IElubGluZVNoYXJlQnV0dG9uc0NvbmZpZ1xuICApICYgeyBpZD86IHN0cmluZzsgcHJvcGVydHk/OiBzdHJpbmcgfTtcbiAgYnV0dG9uczogSFRNTEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChjb21wb25lbnQ6IENvbXBvbmVudCwgcHJvZHVjdDogc3RyaW5nKSB7XG4gIC8vIGxvYWQgY29uZmlnXG4gIGxldCBjb25maWcgPSBjb21wb25lbnQuY29uZmlnIHx8IHsgZW5hYmxlZDogdHJ1ZSB9O1xuICBjb25maWcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbmZpZykpO1xuXG4gIC8vIGxvYWQgYnV0dG9uc1xuICBjb25zdCBfb25TaGFyZVRoaXNMb2FkZWQgPSB3aW5kb3cub25TaGFyZVRoaXNMb2FkZWQ7XG5cbiAgbGV0IG9ubG9hZDogYW55ID0gKCkgPT4ge1xuICAgIGlmICghb25sb2FkLmNvbXBsZXRlKSB7XG4gICAgICBpZiAoIWNvbmZpZy5pZCkge1xuICAgICAgICBjb25zdCBpZCA9ICdzaGFyZXRoaXMtJyArIERhdGUubm93KCk7XG4gICAgICAgIGNvbmZpZy5pZCA9IGlkO1xuICAgICAgfVxuICAgICAgaWYgKGNvbXBvbmVudC5idXR0b25zKSB7XG4gICAgICAgIGNvbXBvbmVudC5idXR0b25zLmlkID0gY29uZmlnLmlkO1xuICAgICAgICB3aW5kb3cuX19zaGFyZXRoaXNfXy5sb2FkKHByb2R1Y3QsIGNvbmZpZyk7XG4gICAgICB9XG4gICAgICBpZiAoX29uU2hhcmVUaGlzTG9hZGVkKSB7XG4gICAgICAgIF9vblNoYXJlVGhpc0xvYWRlZCgpO1xuICAgICAgfVxuICAgICAgb25sb2FkLmNvbXBsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH07XG5cbiAgd2luZG93Lm9uU2hhcmVUaGlzTG9hZGVkID0gb25sb2FkO1xuXG4gIC8vIGxvYWQgc2hhcmV0aGlzLmpzXG4gIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hhcmV0aGlzLWpzJykpIHtcbiAgICBpZiAod2luZG93Ll9fc2hhcmV0aGlzX18pIHtcbiAgICAgIHdpbmRvdy5vblNoYXJlVGhpc0xvYWRlZCgpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdpZCcsICdzaGFyZXRoaXMtanMnKTtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBwcm9wZXJ0eTogY29uZmlnLnByb3BlcnR5IHx8ICcnLFxuICAgICAgcHJvZHVjdDogcHJvZHVjdCxcbiAgICAgIHNvdXJjZTogJ2FuZ3VsYXJqcycsXG4gICAgfTtcbiAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5lbnRyaWVzKHBhcmFtcylcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ga2V5ICsgJz0nICsgdmFsdWUpXG4gICAgICAuam9pbignJicpO1xuICAgIHNjcmlwdC5zcmMgPSAnaHR0cHM6Ly9wbGF0Zm9ybS1hcGkuc2hhcmV0aGlzLmNvbS9qcy9zaGFyZXRoaXMuanM/JyArIHF1ZXJ5O1xuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG59XG4iXX0=