summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-08-31 22:37:03 +0200
committerJules Laplace <julescarbon@gmail.com>2020-08-31 22:37:03 +0200
commitd22d51a1ae49680015326857360eb699f31efced (patch)
tree43ac5007de26848f516b37b863daeb77f86d97d2 /StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js
parenta81d20bc18d002623fc24cdcea8df7eed6d85bc9 (diff)
NO MORE ANDROID BUILD
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js')
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js226
1 files changed, 0 insertions, 226 deletions
diff --git a/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js b/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js
deleted file mode 100755
index d3b15f77..00000000
--- a/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js
+++ /dev/null
@@ -1,226 +0,0 @@
-var HubView = ScrollableView.extend({
-
- el: "#hub",
- template: $("#hub .template").html(),
-
- events: {
- "click .content-share": "share",
- "click .store": "store_link",
- "click .gallery-left": "gallery_left",
- "click .gallery-right": "gallery_right",
- "click .play": "play_video",
- },
-
- initialize: function(){
- this.$content = this.$(".content")
- this.$loader = this.$(".loader")
- this.scroller = ScrollFactory('#hub', app.iscroll_options)
- HubLoader.init(this)
- },
-
- show: function(){
- this.deferScrollToTop()
- app.footer.hide()
- document.body.className = "hub"
- HubLoader.isNeeded()
- if (! this.populated) {
- this.populate( BACKUP_DB.hub )
- }
- },
-
- galleries: {},
- populated: false,
- populate: function(data){
- // sort posts by date, reversed
- this.populated = true
- this.data = data.map(function(s){
- return [ +moment(s.date), s ]
- }).sort(function(a,b){
- return a[0] > b[0] ? -1 : a[0] == b[0] ? 0 : 1
- }).map(function(pair){
- // console.log(pair[1])
- return pair[1]
- })
- this.$loader.hide()
- this.$content.empty()
- this.galleries = {}
- HubLoader.add(this.data)
-
- this.deferScrollToTop()
- },
-
- append: function(row){
- // id date subtitle body link store image[uri caption]
- // console.log(row)
- // console.log(moment(row.date))
- var t = this.template.replace(/{{id}}/g, row.id)
- .replace(/{{date}}/, moment(row.date).format("MM.DD.YYYY"))
- .replace(/{{title}}/, row.title)
- .replace(/{{subtitle}}/, row.subtitle)
- .replace(/{{cleantitle}}/, stonewash(row.title))
- .replace(/{{cleansubtitle}}/, stonewash(row.subtitle))
- .replace(/{{link}}/, row.link)
- .replace(/{{body}}/, row.body.replace(/\n/g, "<br>"))
- var $t = $(t)
- if (row.store != "true") {
- $t.find(".store").remove()
- }
- this.$content.append($t)
-
- if (row.image && row.image.length > 1) {
- // image gallery
- var $gallery = $(".gallery-" + row.id)
- row.image.forEach(function(img){
- var el = document.createElement("div")
- el.style.backgroundImage = "url(" + img.uri + ")"
- el.setAttribute('aria-label', img.caption)
- el.className = "item"
- $gallery.append(el)
- })
- var gallery = this.galleries[row.id] = new Flickity( ".gallery-" + row.id, {
- selector: '.item',
- cellAlign: 'center',
- autoPlay: false,
- freeScroll: false,
- wrapAround: true,
- imagesLoaded: true,
- prevNextButtons: false,
- pageDots: false,
- contain: true,
- draggable: true,
- })
- gallery.on('staticClick', function(e){
- var url = gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
- app.fullscreenViewer.show(url, url)
- })
- $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Image gallery, use the arrows to scroll.")
- if (accessibility.voiceOver) {
- $(".gallery-target-" + row.id).attr('aria-label', stonewash(row.title) + ". Image gallery, use the arrows to scroll.")
- $(".gallery-target-" + row.id).click(function(e){
- e && e.preventDefault()
- var url = gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
- app.fullscreenViewer.show(url, url)
- })
- }
- }
- else {
- // single image
- var el = document.createElement(accessibility.voiceOver ? "a" : "div")
- if (row.image && row.image.length) {
- el.style.backgroundImage = "url(" + row.image[0].uri + ")"
- }
- el.className = "item"
- $(".gallery-" + row.id).append(el)
- $(".gallery-" + row.id).data("row", row)
- // video, append play button
- if (row.link.match(/youtube|youtu.be|vimeo/)) {
- var play = document.createElement("div")
- play.className = "play"
- $(".gallery-" + row.id).append(play)
- $(".gallery-" + row.id).addClass("gallery-video-post")
- $(".gallery-" + row.id).attr('role', 'link')
- $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Tap to watch the video on Youtube")
- // $(".gallery-target-" + row.id).attr('aria-label', stonewash(row.title) + ". Tap to watch the video on Youtube")
- if (! row.image) {
- var url = row.link
- var ytid = (url.match(/v=([-_a-zA-Z0-9]{11})/i) || url.match(/youtu.be\/([-_a-zA-Z0-9]{11})/i) || url.match(/embed\/([-_a-zA-Z0-9]{11})/i))[1].split('&')[0];
- e.style.backgroundImage = "url(https://i.ytimg.com/vi/" + ytid + "/maxresdefault.jpg"
- }
- // $(".gallery-target-" + row.id).click(function(e){
- // e && e.preventDefault()
- // window.open(row.link, '_system')
- // })
- $(".gallery-target-" + row.id).remove()
- } else {
- $(el).click(function(e){
- e && e.preventDefault()
- app.fullscreenViewer.show(row.image[0].uri)
- })
- $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Main image")
- $(".gallery-target-" + row.id).attr('aria-label', stonewash(row.title) + ". Main image.")
- $(".gallery-target-" + row.id).click(function(e){
- e && e.preventDefault()
- app.fullscreenViewer.show(row.image[0].uri)
- })
- }
- $t.find(".gallery-left").remove()
- $t.find(".gallery-right").remove()
- }
- },
-
- store_link: function(){
- app.router.go("store")
- },
-
- play_video: function(e){
- var row = $(e.currentTarget).closest('.gallery-video-post').data("row")
- window.open(row.link, '_system')
- },
-
- gallery_left: function(e){
- var id = $(e.currentTarget).closest(".hub_item").data('id')
- this.galleries[id].previous()
- },
-
- gallery_right: function(e){
- var id = $(e.currentTarget).closest(".hub_item").data('id')
- this.galleries[id].next()
- },
-
- share: function(e){
- var title = $(e.currentTarget).parent().find(".title").text()
- console.log("share", title)
- if (window.plugins && window.plugins.socialsharing) {
- window.plugins.socialsharing.share(title, null, null, "http://deeplink.me/www.stoneisland.com/hub" )
- }
- },
-
-})
-
-var HubLoader = (function(){
- var queue, view, item, loader
- var count = 0
- var HubLoader = {}
- var loader
- var needed = false
- var loading = false
- HubLoader.init = function(v){
- view = v
- }
- HubLoader.add = function(items){
- queue = items
- HubLoader.load()
- }
- HubLoader.load = function(){
- if (!queue) return
- item = queue.shift()
- count++
- if (! item || loading) return
- loading = true
- if (item.image && item.image.length) {
- loader = new Loader (HubLoader.build)
- images = item.image.map(function(img){
- return img.uri.replace("http:", "https:")
- }).filter(function(img){
- return img.uri
- })
- loader.preloadImages(images, true)
- }
- else {
- HubLoader.build()
- }
- }
- HubLoader.isNeeded = function(){
- needed = true
- if (!loading) HubLoader.load()
- }
- HubLoader.build = function(){
- view.append(item)
- view.scroller.refresh()
- loading = false
- if (count > 3 && ! needed) return
- // if (count === 10) return
- setTimeout(HubLoader.load, count < 10 ? 1000 : 5000)
- }
- return HubLoader
-})()