| [ Index ] |
PHP Cross Reference of Drupal 6 (yi-drupal) |
[Summary view] [Print] [Text view]
1 // $Id: flickr.js,v 1.1.2.3.2.2 2008/11/21 23:25:30 jeffcd Exp $ 2 3 function yui_editor_flickr() { 4 for (var e in YAHOO.Drupal.editors) { 5 var myEditor = YAHOO.Drupal.editors[e].editor; 6 var config = YAHOO.Drupal.editors[e].config; 7 8 if (config.flickr == 1) { 9 var gutter = null; 10 myEditor.on('toolbarLoaded', function() { 11 gutter = new YAHOO.gutter(); 12 var flickrConfig = { 13 type: 'push', 14 label: 'Insert Flickr Image', 15 value: 'flickr' 16 } 17 18 myEditor.toolbar.addButtonToGroup(flickrConfig, 'plugins'); 19 20 myEditor.toolbar.on('flickrClick', function(ev) { 21 myEditor._focusWindow(); 22 if (ev && ev.img) { 23 var html = '<a href="' + ev.url + '"><img src="' + ev.img + '" title="' + ev.title + '"></a>'; 24 myEditor.execCommand('inserthtml', html); 25 } 26 27 gutter.toggle(); 28 }); 29 gutter.createGutter(); 30 }); 31 32 YAHOO.util.Event.onAvailable('flickr_search', function() { 33 YAHOO.util.Event.on('flickr_results', 'click', function(ev) { 34 var tar = YAHOO.util.Event.getTarget(ev); 35 if (tar.tagName.toLowerCase() == 'img') { 36 if (tar.getAttribute('fullimage', 2)) { 37 var img = tar.getAttribute('fullimage', 2), 38 title = tar.getAttribute('fulltitle'), 39 owner = tar.getAttribute('fullowner'), 40 url = tar.getAttribute('fullurl'); 41 myEditor.toolbar.fireEvent('flickrClick', { 42 type: 'flickrClick', 43 img: img, 44 title: title, 45 owner: owner, 46 url: url 47 }); 48 } 49 } 50 }); 51 52 oACDS = new YAHOO.widget.DS_XHR("", 53 ["photo", "title", "id", "owner", "secret", "server"]); 54 oACDS.scriptQueryParam = "tags"; 55 oACDS.responseType = YAHOO.widget.DS_XHR.TYPE_XML; 56 oACDS.maxCacheEntries = 0; 57 oACDS.scriptQueryAppend = "q=yui_editor/flickr" + '&flickr_api_key=' + config.flickr_api_key; 58 59 oAutoComp = new YAHOO.widget.AutoComplete('flickr_search','flickr_results', oACDS); 60 oAutoComp.autoHighlight = false; 61 oAutoComp.alwaysShowContainer = true; 62 oAutoComp.formatResult = function(oResultItem, sQuery) { 63 var sTitle = oResultItem[0]; 64 var sId = oResultItem[1]; 65 var sOwner = oResultItem[2]; 66 var sSecret = oResultItem[3]; 67 var sServer = oResultItem[4]; 68 var urlPart = 'http:/'+'/static.flickr.com/' + sServer + '/' + sId + '_' + sSecret; 69 var sUrl = urlPart + '_s.jpg'; 70 var lUrl = urlPart + '_m.jpg'; 71 var fUrl = 'http:/'+'/www.flickr.com/photos/' + sOwner + '/' + sId; 72 var sMarkup = '<img src="' + sUrl + '" fullimage="' + lUrl + '" fulltitle="' + sTitle + '" fullid="' + 73 sOwner + '" fullurl="' + fUrl + '" class="yui-ac-flickrImg" title="Click to add this image to the editor"><br>'; 74 75 return (sMarkup); 76 }; 77 }); 78 } 79 80 (function() { 81 var Dom = YAHOO.util.Dom, 82 Event = YAHOO.util.Event; 83 84 YAHOO.gutter = function() { 85 return { 86 status: false, 87 gutter: null, 88 createGutter: function() { 89 this.gutter = new YAHOO.widget.Overlay('gutter1', { 90 height: '425px', 91 width: '300px', 92 context: [ 93 myEditor.get('element'), 94 'tl', 95 'tr' 96 ], 97 position: 'absolute', 98 visible: false 99 }); 100 this.gutter.hideEvent.subscribe(function() { 101 myEditor.toolbar.deselectButton('flickr'); 102 Dom.setStyle('gutter1', 'visibility', 'visible'); 103 var anim = new YAHOO.util.Anim('gutter1', { 104 width: { 105 from: 300, 106 to: 0 107 }, 108 opacity: { 109 from: 1, 110 to: 0 111 } 112 }, 1); 113 anim.onComplete.subscribe(function() { 114 Dom.setStyle('gutter1', 'visibility', 'hidden'); 115 }); 116 anim.animate(); 117 }, this, true); 118 this.gutter.showEvent.subscribe(function() { 119 myEditor.toolbar.selectButton('flickr'); 120 Dom.setStyle(this.gutter.element, 'width', '0px'); 121 var anim = new YAHOO.util.Anim('gutter1', { 122 width: { 123 from: 0, 124 to: 300 125 }, 126 opacity: { 127 from: 0, 128 to: 1 129 } 130 }, 1); 131 anim.animate(); 132 }, this, true); 133 134 var warn = ''; 135 if (myEditor.browser.webkit || myEditor.browser.opera) { 136 warn = myEditor.STR_IMAGE_COPY; 137 } 138 this.gutter.setBody('<h2>Flickr Image Search</h2><label for="flikr_search">Tag:</label>' + 139 '<input type="text" value="" id="flickr_search"> <div id="flickr_results">' + 140 '<p>Enter flickr tags into the box above, separated by commas. Be patient.<p></div>' + warn); 141 this.gutter.render(document.body); 142 }, 143 open: function() { 144 Dom.get('flickr_search').value = ''; 145 this.gutter.show(); 146 this.status = true; 147 }, 148 close: function() { 149 this.gutter.hide(); 150 this.status = false; 151 }, 152 toggle: function() { 153 if (this.status) { 154 this.close(); 155 } 156 else { 157 this.open(); 158 } 159 } 160 } 161 } 162 }) 163 (); 164 } 165 } 166 YAHOO.Drupal.yui_editor_load.subscribe(yui_editor_flickr);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Jul 9 18:01:44 2012 | Cross-referenced by PHPXref 0.7 |