Browse Source

修正图片顺序及拖拽

lipengtao 6 years ago
parent
commit
dabdf6f8d1
2 changed files with 64 additions and 3 deletions
  1. 63 2
      js/ueditor/dialogs/image/image.js
  2. 1 1
      js/ueditor/ueditor.config.js

+ 63 - 2
js/ueditor/dialogs/image/image.js

@ -399,10 +399,61 @@
399 399
            });
400 400

401 401
            setState('pedding');
402

402
            $('.filelist').on('dragstart','li', function(ev){
403
				ev.originalEvent.dataTransfer.setData("Text",ev.currentTarget.id);
404
            })
405
             $('.filelist').on('drop','li', function(ev){
406
             	var currendId = ev.currentTarget.id;
407
             	var moveId = ev.originalEvent.dataTransfer.getData("Text");
408
             	var arr = [];
409
             	var $s = $('.filelist').children();
410
             	for(var i = 0; i < $s.length-1; i++) {
411
             		arr.push($s[i].id)
412
             	}
413
             	var currendIndex = arr.indexOf(currendId);
414
             	var moveIndex = arr.indexOf(moveId)
415
             	var chang1 = $('#'+ currendId);
416
             	var chang2 = $('#'+ moveId);
417
             	
418
             	if(moveIndex == 0 && currendIndex == $s.length-2) {
419
             		$('#'+moveId).insertBefore($('#filePickerBlock'));
420
             		$('.filelist').prepend($('#'+currendId))
421
             	}
422
             	if(moveIndex == $s.length-2 && currendIndex == 0) {
423
             		 $('#'+currendId).insertBefore($('#filePickerBlock'));
424
             		 $('.filelist').prepend($('#'+moveId))
425
             	}
426
             	if(moveIndex == 0 && currendIndex < $s.length-2) {
427
             		$('.filelist').prepend($('#'+currendId))
428
             		$('#'+moveId).insertBefore($('#'+arr[currendIndex+1]));
429
             	}
430
             	if(moveIndex < $s.length-2 && currendIndex ==0) {
431
             		$('.filelist').prepend($('#'+moveId))
432
             		$('#'+currendId).insertBefore($('#'+arr[moveIndex+1]));
433
             	}
434
             	if(moveIndex == $s.length-2 && 0 < currendIndex < $s.length-2) {
435
             		$('#'+currendId).insertBefore($('#filePickerBlock'));
436
             		$('#'+moveId).insertAfter($('#'+arr[currendIndex-1]));
437
             	}
438
             	if(currendIndex == $s.length-2 && 0 < moveIndex < $s.length-2) {
439
             		$('#'+moveId).insertBefore($('#filePickerBlock'));
440
             		$('#'+currendId).insertAfter($('#'+arr[moveIndex-1]));
441
             	}
442
             	if(0 < currendIndex < $s.length-2 && 0 < moveIndex < $s.length-2 && moveIndex < currendIndex) {
443
             		$('#'+moveId).insertBefore($('#'+arr[currendIndex+1]));
444
             		$('#'+currendId).insertAfter($('#'+arr[moveIndex-1]));
445
             	}
446
             	if(0 < currendIndex < $s.length-2 && 0 < moveIndex < $s.length-2 && moveIndex > currendIndex) {
447
             		$('#'+moveId).insertAfter($('#'+arr[currendIndex-1]));
448
             		$('#'+currendId).insertBefore($('#'+arr[moveIndex+1]));
449
             	}
450
            })
451
             $('.filelist').on('dragover','li', function(ev){
452
             	ev.preventDefault()
453
            })
403 454
            // 当有文件添加进来时执行,负责view的创建
404 455
            function addFile(file) {
405
                var $li = $('<li id="' + file.id + '">' +
456
                var $li = $('<li id="' + file.id + '" draggable="true">' +
406 457
                        '<p class="title">' + file.name + '</p>' +
407 458
                        '<p class="imgWrap"></p>' +
408 459
                        '<p class="progress"><span></span></p>' +
@ -716,11 +767,17 @@
716 767
            });
717 768

718 769
            uploader.on('uploadSuccess', function (file, ret) {
770
            	var $s = $('.filelist').children();
771
            	var arr = []
772
             	for(var i = 0; i < $s.length-1; i++) {
773
             		arr.push($s[i].id)
774
             	}
719 775
                var $file = $('#' + file.id);
720 776
                try {
721 777
                    var responseText = (ret._raw || ret),
722 778
                        json = utils.str2json(responseText);
723 779
                    if (json.state == 'SUCCESS') {
780
                    	json.index = arr.indexOf(file.id);
724 781
                        _this.imageList.push(json);
725 782
                        $file.append('<span class="success"></span>');
726 783
                    } else {
@ -773,6 +830,10 @@
773 830
            var i, data, list = [],
774 831
                align = getAlign(),
775 832
                prefix = editor.getOpt('imageUrlPrefix');
833
                this.imageList.sort(function(x, y) {
834
	                if(x.index <= y.index) return -1;
835
	                return 1;
836
            	});
776 837
            for (i = 0; i < this.imageList.length; i++) {
777 838
                data = this.imageList[i];
778 839
                list.push({

+ 1 - 1
js/ueditor/ueditor.config.js

@ -40,7 +40,7 @@
40 40
            'insertorderedlist', 'insertunorderedlist', '|',
41 41
            'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|',
42 42
            'spechars', '|',
43
           	'superscript', 'subscript','|','link','simpleupload','insertimage'
43
           	'superscript', 'subscript','|','link','simpleupload','insertimage','formatmatch',
44 44
        ]]
45 45
        
46 46
        /*, toolbars: [[