Files
nhgooi.nl/resources/assets/js/functions/share.js
T
Mischa Spelt 7b9674110e feat: Add npm dependencies and update vendor paths
- Add package.json dependencies: jquery, jquery-ui, moment, daterangepicker, wavesurfer.js, air-datepicker
- Create scripts/setup-vendor.js to copy npm packages to public/assets/vendor
- Update view templates to use vendor paths instead of old /js/ or CDN URLs
- Clean up legacy commented-out scripts in master layout
2026-08-25 16:17:01 +02:00

61 lines
1.7 KiB
JavaScript
Vendored

(function ($) {
/**
* @param {object} _options
*/
$.fn.share = function (_options) {
var options = {
type: '',
types: {
facebook: {
url: 'https://www.facebook.com/sharer/sharer.php?u=',
textOption: false
},
twitter_x: {
url: 'https://twitter.com/share?url=',
textOption: 'text='
},
},
excerptClass: 'excerpt'
};
$.extend(options, _options);
this.click(function (e) {
e.preventDefault();
var type = options.types[options.type];
if (options.type == 'native' && navigator.share != undefined) {
var text = $('.' + options.excerptClass).text().trim();
if (text.length + location.href.length > 278) {
text = text.substring(0, 278 - (location.href.length + 3)) + '...';
}
var data = {
url: encodeURI(location.href),
text: text,
title: $('.page_title').text().trim()
};
navigator.share(data)
}
else if (type !== undefined) {
var extra = '';
if (type.textOption) {
var text = $('.' + options.excerptClass).text().trim();
if (text.length + location.href.length > 278) {
text = text.substring(0, 278 - (location.href.length + 3)) + '...';
}
extra = '&' + type.textOption + encodeURI(text);
}
window.open(type.url + encodeURI(location.href) + extra, "pop", "width=600, height=400, scrollbars=no");
} else {
console.error(options.type + ' is unknown');
}
});
};
}(jQuery));
$(function () {
$('[data-share]').each(function () {
$(this).share({type: $(this).data('share')});
});
});