From: Vincent Vanwaelscappel Date: Mon, 20 Nov 2017 16:31:55 +0000 (+0100) Subject: wip #1799 @3.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=3dad63fad01358bb436de9cdb060691551d30ae3;p=fluidbook-html5.git wip #1799 @3.5 --- diff --git a/_seo.html b/_seo.html index b98e2fd1..f7fc9e88 100644 --- a/_seo.html +++ b/_seo.html @@ -11,6 +11,7 @@ + diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index f452db13..a19ac440 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -74,6 +74,11 @@ FluidbookLinks.prototype = { $(document).on('click touchend', '[data-action]', function () { var map = {'pdf': 'print', 'fullScreen': "fullscreen", 'locales': 'localesContainers'}; var action = $(this).data('action'); + if(action=='share'){ + // Let share class handle this + return true; + } + if (map[action]) { action = map[action]; } diff --git a/js/libs/fluidbook/fluidbook.share.js b/js/libs/fluidbook/fluidbook.share.js index 6f8f76aa..4b7477a4 100644 --- a/js/libs/fluidbook/fluidbook.share.js +++ b/js/libs/fluidbook/fluidbook.share.js @@ -4,36 +4,88 @@ function FluidbookShare(fluidbook) { var $this = this; $(document).on('click', '.share', function () { var f = 'send' + ucfirst($(this).data('service')); - $this[f](); + var url = $(this).data("url"); + if (url == undefined || url == null || url == 'undefined') { + url = ''; + } + $this[f](url); $(this).closest('.mview').find('.back').click(); return false; }); + + $(document).on('click touchend', '[data-action="share"]', function () { + $this.fluidbook.menu.openView("share", $(this).data('extra')); + return false; + }); } } FluidbookShare.prototype = { isEnabled: function () { - return this.fluidbook.datas.share && this.getShareURL() !== false; + return this.fluidbook.datas.share && this.getShareURL('') !== false; + }, + + getFluidbookURL: function () { + var l = window.location.toString(); + var e = l.split("#"); + return e[0]; }, - getShareURL: function () { - var res = false; - if (this.fluidbook.support.offline || this.fluidbook.datas.phonegap) { - if (this.fluidbook.datas.offlineLink != '' && this.fluidbook.datas.offlineLink != 'http://') { - res = this.fluidbook.datas.offlineLink; + getShareURL: function (url) { + + if (url == undefined || url == 'undefined' || url == null || url == false) { + url = ''; + } + if (url == '') { + var res = false; + if (this.fluidbook.support.offline || this.fluidbook.datas.phonegap) { + if (this.fluidbook.datas.offlineLink != '' && this.fluidbook.datas.offlineLink != 'http://') { + res = this.fluidbook.datas.offlineLink; + } + } else { + res = this.getFluidbookURL(); + } + return res; + } + + var e = url.split(':'); + console.log(e); + if (e.length == 1) { + return relativeToAbsoluteURL(url); + } else { + if (e[0] == 'http' || e[0] == 'https') { + return url + } else if (e[0] == 'article') { + console.log(e[1]); + return relativeToAbsoluteURL('./p/' + this.getSEOArticle(e[1]).url); } + } + }, + + getShareTitle: function (url) { + if (url == '') { + return this.fluidbook.datas.title; } else { - var l = window.location.toString(); - var e = l.split("#"); - res = e[0]; + var e = url.split(':'); + if (e[0] == 'article') { + return this.getSEOArticle(e[1]).title; + } } - return res; + return this.fluidbook.datas.title; + }, + + getSEOArticle: function (title) { + return this.fluidbook.datas.seoArticles[title]; }, - getShareLinks: function (hideLabels) { + getShareLinks: function (hideLabels, url) { var shareLinks = {}, shareHTML = ''; + if (url == undefined || url == 'undefined') { + url == ''; + } + hideLabels = hideLabels || false; if (this.fluidbook.datas.friend) { @@ -58,7 +110,7 @@ FluidbookShare.prototype = { // Generate links for (var shareType in shareLinks) { if (shareLinks.hasOwnProperty(shareType)) { // Ensure we don't get inherited properties - shareHTML += '