mirror of https://gitee.com/karson/fastadmin.git
新增上传组件图片相册预览模式
parent
92e722c674
commit
9d92273bcd
|
|
@ -29,7 +29,7 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
|
||||||
}
|
}
|
||||||
var url = Config.upload.fullmode ? (data.fullurl ? data.fullurl : Fast.api.cdnurl(data.url)) : data.url;
|
var url = Config.upload.fullmode ? (data.fullurl ? data.fullurl : Fast.api.cdnurl(data.url)) : data.url;
|
||||||
urlArr.push(url);
|
urlArr.push(url);
|
||||||
inputObj.val(urlArr.join(",")).trigger("change").trigger("validate");
|
inputObj.val(urlArr.join(",")).trigger("change", [data]).trigger("validate");
|
||||||
}
|
}
|
||||||
//如果有回调函数
|
//如果有回调函数
|
||||||
var onDomUploadSuccess = $(button).data("upload-success");
|
var onDomUploadSuccess = $(button).data("upload-success");
|
||||||
|
|
@ -348,7 +348,7 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
|
||||||
textarea.val(JSON.stringify(result));
|
textarea.val(JSON.stringify(result));
|
||||||
};
|
};
|
||||||
if (preview_id && input_id) {
|
if (preview_id && input_id) {
|
||||||
$(document.body).on("keyup change", "#" + input_id, function (e) {
|
$(document.body).on("keyup change", "#" + input_id, function (e, data) {
|
||||||
var inputStr = $("#" + input_id).val();
|
var inputStr = $("#" + input_id).val();
|
||||||
var inputArr = inputStr.split(/\,/);
|
var inputArr = inputStr.split(/\,/);
|
||||||
var previewObj = $("#" + preview_id);
|
var previewObj = $("#" + preview_id);
|
||||||
|
|
@ -370,8 +370,9 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
|
||||||
var fullurl = typeof btnData.cdnurl !== 'undefined' ? Fast.api.cdnurl(j, btnData.cdnurl) : Fast.api.cdnurl(j);
|
var fullurl = typeof btnData.cdnurl !== 'undefined' ? Fast.api.cdnurl(j, btnData.cdnurl) : Fast.api.cdnurl(j);
|
||||||
j = Config.upload.fullmode ? fullurl : j;
|
j = Config.upload.fullmode ? fullurl : j;
|
||||||
var value = (json && typeof json[i] !== 'undefined' ? json[i] : null);
|
var value = (json && typeof json[i] !== 'undefined' ? json[i] : null);
|
||||||
var data = {url: j, fullurl: fullurl, data: btnData, key: i, index: i, value: value, row: value, suffix: suffix};
|
// 只有最后一项才是透传的附件相关信息
|
||||||
var html = tpl ? Template(tpl, data) : Template.render(Upload.config.previewtpl, data);
|
var renderData = $.extend(true, data && typeof inputArr[i + 1] === 'undefined' ? data : {}, {url: j, fullurl: fullurl, data: btnData, key: i, index: i, value: value, row: value, suffix: suffix});
|
||||||
|
var html = tpl ? Template(tpl, renderData) : Template.render(Upload.config.previewtpl, renderData);
|
||||||
previewObj.append(html);
|
previewObj.append(html);
|
||||||
});
|
});
|
||||||
refresh(previewObj.data("name"));
|
refresh(previewObj.data("name"));
|
||||||
|
|
@ -379,25 +380,40 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
|
||||||
$("#" + input_id).trigger("change");
|
$("#" + input_id).trigger("change");
|
||||||
}
|
}
|
||||||
if (preview_id) {
|
if (preview_id) {
|
||||||
|
var previewObj = $("#" + preview_id);
|
||||||
|
var mode = previewObj.data("mode") ? previewObj.data("mode") : "blank";
|
||||||
|
// 如果是相册预览模式
|
||||||
|
if (mode === 'photo') {
|
||||||
|
previewObj.on('click', "a.thumbnail", function () {
|
||||||
|
var photoData = [];
|
||||||
|
$("[data-url]", previewObj).each(function (i, j) {
|
||||||
|
photoData.push({"src": $(j).attr("href")});
|
||||||
|
});
|
||||||
|
Layer.photos({
|
||||||
|
photos: {start: previewObj.find("a.thumbnail").index(this), data: photoData}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
//监听文本框改变事件
|
//监听文本框改变事件
|
||||||
$("#" + preview_id).on('change keyup', "input,textarea,select", function () {
|
previewObj.on('change keyup', "input,textarea,select", function () {
|
||||||
refresh($(this).closest("ul").data("name"));
|
refresh($(this).closest("ul").data("name"));
|
||||||
});
|
});
|
||||||
// 监听事件
|
// 监听事件
|
||||||
$(document.body).on("fa.preview.change", "#" + preview_id, function () {
|
$(document.body).on("fa.preview.change", "#" + preview_id, function () {
|
||||||
var urlArr = [];
|
var urlArr = [];
|
||||||
$("#" + preview_id + " [data-url]").each(function (i, j) {
|
$("[data-url]", previewObj).each(function (i, j) {
|
||||||
urlArr.push($(this).data("url"));
|
urlArr.push($(this).data("url"));
|
||||||
});
|
});
|
||||||
if (input_id) {
|
if (input_id) {
|
||||||
$("#" + input_id).val(urlArr.join(","));
|
$("#" + input_id).val(urlArr.join(","));
|
||||||
}
|
}
|
||||||
refresh($("#" + preview_id).data("name"));
|
refresh(previewObj.data("name"));
|
||||||
});
|
});
|
||||||
// 移除按钮事件
|
// 移除按钮事件
|
||||||
$(document.body).on("click", "#" + preview_id + " .btn-trash", function () {
|
$(document.body).on("click", "#" + preview_id + " .btn-trash", function () {
|
||||||
$(this).closest("li").remove();
|
$(this).closest("li").remove();
|
||||||
$("#" + preview_id).trigger("fa.preview.change");
|
previewObj.trigger("fa.preview.change");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (input_id) {
|
if (input_id) {
|
||||||
|
|
@ -444,7 +460,7 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
|
||||||
var index = Layer.msg(__('Uploading'), {offset: 't', time: 0});
|
var index = Layer.msg(__('Uploading'), {offset: 't', time: 0});
|
||||||
var id = "dropzone-" + Dropzone.uuidv4();
|
var id = "dropzone-" + Dropzone.uuidv4();
|
||||||
var button = $('<button type="button" id="' + id + '" class="btn btn-danger hidden faupload" />');
|
var button = $('<button type="button" id="' + id + '" class="btn btn-danger hidden faupload" />');
|
||||||
if(options && typeof options === 'object'){
|
if (options && typeof options === 'object') {
|
||||||
button.data(options);
|
button.data(options);
|
||||||
}
|
}
|
||||||
button.appendTo("body");
|
button.appendTo("body");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue