-rw-r--r-- | content/photoset-props.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/content/photoset-props.js b/content/photoset-props.js new file mode 100644 index 0000000..43dc1b9 --- a/dev/null +++ b/content/photoset-props.js @@ -0,0 +1,81 @@ + +var psetprops = { + fireflix: null, + photoset: null, + pripic: null, + + settitle: null, setdesc: null, + primarypic: null, + photos: new Array(), + init: function() { + this.fireflix = window.arguments[0]; + this.photoset = window.arguments[1]; + this.settitle = document.getElementById('set_title'); + this.settitle.value = this.photoset.title; + this.setdesc = document.getElementById('set_desc'); + this.setdesc.value = this.photoset.description; + this.primarypic = document.getElementById('primary_picture'); + this.primarypic.src = + this.fireflix.flickr.get_image_url( this.photoset, 't' ); + this.primarypic.hidden = false; + this.picslist = document.getElementById('primary_picture_list'); + + var _this = this; + this.fireflix.flickr.api_call( + { + method: 'flickr.photosets.getPhotos', + auth_token: 'default', + photoset_id: this.photoset.id + }, function(xr) { + var x = xr.responseXML; + var xp = x.evaluate( + '/rsp/photoset/photo', x, null, + XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); + _this.picslist.removeAllItems(); _this.photos= new Array(); + var n; while(n=xp.iterateNext()) { + _this.photos.push( + { + id: n.getAttribute('id'), + secret: n.getAttribute('secret'), + server: n.getAttribute('server') + } + ); + var ni = _this.picslist.appendItem( + n.getAttribute('title'), _this.photos.length-1 + ); + ni.setAttribute('command','cmd_select_picture'); + if(n.getAttribute('isprimary')==1) { + _this.picslist.selectedItem = ni; + _this.pripic = _this.photos[_this.photos.length-1]; + } + } + _this.picslist.hidden = false; + }, function() { } + ); + }, + on_select_picture: function(ev) { + var epic = ev.explicitOriginalTarget; + this.picslist.selectedItem = epic; + var pic = this.photos[this.picslist.selectedItem.value]; + this.pripic = pic; + this.primarypic.src = + this.fireflix.flickr.get_photo_url( + pic.server, + pic.id, + pic.secret, + 't' + ); + }, + on_accept: function() { + this.photoset.title = + document.getElementById('set_title').value; + this.photoset.description = + document.getElementById('set_desc').value; + this.photoset.server = this.pripic.server; + this.photoset.primary = this.pripic.id; + this.photoset.secret = this.pripic.secret; + this.photoset.dirty = true; + return; + } +}; + |