Changeset 358274
- Timestamp:
- 03/10/2011 02:25:15 PM (15 years ago)
- Location:
- drop-zone/trunk
- Files:
-
- 3 edited
-
drop-zone.js (modified) (3 diffs)
-
drop-zone.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
drop-zone/trunk/drop-zone.js
r354491 r358274 1 var addEvent = (function(){ 2 return function (el, type, fn) { 3 if (el && el.nodeName || el === window) { 4 el.addEventListener(type, fn, false); 5 } else if (el && el.length) { 6 for (var i = 0; i < el.length; i++) { 7 addEvent(el[i], type, fn); 8 } 9 } 10 }; 11 })(); 1 DropZone = { 2 droppable:function(elements){ 12 3 13 DropZone = { 14 activeChanges:[], 15 droppable:function(elements) { 16 jQuery(elements).each(function(){ 17 jQuery(this).removeAttr('data-new'); 18 }); 19 addEvent(elements, 'dragover', function (e) { 20 if (e.preventDefault) e.preventDefault(); // allows us to drop 21 jQuery(this).addClass('over'); 22 return false; 4 jQuery(elements).bind('dragover',function(e){ 5 if (e.preventDefault) e.preventDefault(); 6 jQuery(this).addClass('over'); 23 7 }); 24 addEvent(elements, 'dragstart', function (e){8 jQuery(elements).bind('dragstart',function(e){ 25 9 jQuery('#dragged').attr('id', ''); 26 10 jQuery(this).attr('id', 'dragged'); 27 11 }); 28 addEvent(elements, 'dragleave', function (){12 jQuery(elements).bind('dragleave',function(e){ 29 13 jQuery(this).removeClass('over'); 30 14 }); 31 addEvent(elements, 'drop', function (e){15 jQuery(elements).bind('drop',function(e){ 32 16 if (e.stopPropagation) e.stopPropagation(); 33 17 jQuery('#dragged').attr('id', ''); 34 DropZone.setArticleFromUrl(e. dataTransfer.getData('Text'), this);18 DropZone.setArticleFromUrl(e.originalEvent.dataTransfer.getData('Text'), this); 35 19 jQuery('#dragged').attr('id', ''); 36 return false;37 20 }); 38 21 }, 39 22 trash:function(elements) { 40 addEvent(elements, 'dragover', function (e){23 jQuery(elements).bind('dragover',function(e){ 41 24 if (e.preventDefault) e.preventDefault(); // allows us to drop 42 25 return false; 43 26 }); 44 addEvent(elements, 'drop', function (e){27 jQuery(elements).bind('drop',function(e){ 45 28 if (e.preventDefault) e.preventDefault(); // stops redirecting 46 29 var dragged = document.getElementById('dragged'); 47 30 if (dragged !== null) { 48 31 jQuery('#dragged').attr('id', ''); 49 if (dragged.getAttribute('data-removable') == 'true') {32 if (dragged.getAttribute('data-removable') == 'true'){ 50 33 DropZone.removeElement(dragged); 51 34 } … … 68 51 fetchElement:function(infoBlock, mainElement) { 69 52 jQuery.get(DropZoneFront.ajaxurl, { action : 'drop-zone-submit', nonce : DropZoneFront.nonce, infoBlock: infoBlock }, function(data) { 70 var targets = jQuery('[data-position=' + infoBlock.position + '][data-index="' + infoBlock.index + '"]'); 71 data=jQuery(data).attr('data-new','true'); 72 if (mainElement.getAttribute('data-position') == 'fake') { 73 var el = jQuery('div[data-position=fake][data-addable=true]'); 74 el.before(data); 75 } else { 76 jQuery(mainElement).before(data.addClass(infoBlock.first_last)); 77 if (!(mainElement.getAttribute('data-addable') == 'true') || 78 (mainElement.getAttribute('data-removable') == 'true' && mainElement.getAttribute('data-index') == -1)) { 79 jQuery(targets).remove(); 80 } else if (mainElement.getAttribute('data-removable')) { 81 jQuery(mainElement).remove(); 82 } 83 } 84 var elements = document.querySelectorAll('[data-position=' + infoBlock.position + '][data-index="' + infoBlock.index + '"][data-droppable=true][data-new=true]'); 85 DropZone.droppable(elements); 53 var html=jQuery(data); 54 DropZone.droppable(html); 55 jQuery(mainElement).before(html).remove(); 86 56 }); 87 57 }, … … 89 59 var block = DropZone.getDataBlockFromElement(element); 90 60 block.url = url; 91 if (!(element.getAttribute('data-addable') == 'true')) {92 DropZone.activeChanges[block.position + '-' + block.index] = block;93 }94 61 DropZone.fetchElement(block, element); 95 62 } 96 63 }; 97 addEvent(document, 'DOMContentLoaded', function(){64 jQuery(document).ready(function(){ 98 65 DropZone.droppable(document.querySelectorAll("[data-droppable=true]")); 99 66 DropZone.trash(document.querySelector('body')); 100 document.defaultAction = false;101 67 }); -
drop-zone/trunk/drop-zone.php
r358169 r358274 4 4 Plugin URI: http://www.fosseus.se 5 5 Description: Drag drop frontend widget 6 Author: Johannes Fosseus 7 Version: 1. 2.16 Author: Johannes Fosseus, Peo Bondesson (scripting) 7 Version: 1.3 8 8 */ 9 9 -
drop-zone/trunk/readme.txt
r358182 r358274 22 22 == Changelog == 23 23 24 = 1.3 = 25 * Major js scripting cleanup by Peo Bondesson 26 24 27 = 1.2.1 = 25 28 * Minor bugfix
Note: See TracChangeset
for help on using the changeset viewer.