uploader-dd-source.mustache revision 76438e9b6959cc0bd7e35fb9cf5a11c87a37f744
0N/A<style>
2362N/A#filelist {
0N/A margin-top: 15px;
0N/A}
0N/A
0N/A#uploadFilesButtonContainer, #selectFilesButtonContainer, #overallProgress {
2362N/A display: inline-block;
0N/A}
2362N/A
0N/A#overallProgress {
0N/A float: right;
0N/A}
0N/A
0N/A.yellowBackground {
0N/A background: #F2E699;
0N/A}
0N/A</style>
0N/A
0N/A<div id="exampleContainer">
0N/A<div id="uploaderContainer">
2362N/A <div id="selectFilesButtonContainer">
2362N/A </div>
2362N/A <div id="uploadFilesButtonContainer">
0N/A <button type="button" id="uploadFilesButton"
0N/A class="yui3-button" style="width:250px; height:25px;">Upload Files</button>
0N/A </div>
0N/A <div id="overallProgress">
0N/A </div>
0N/A</div>
0N/A
0N/A<div id="filelist">
0N/A <table id="filenames">
0N/A <thead>
0N/A <tr><th>File name</th><th>File size</th><th>Percent uploaded</th></tr>
0N/A <tr id="nofiles">
0N/A <td colspan="3" id="ddmessage">
0N/A <strong>No files selected.</strong>
0N/A </td>
0N/A </tr>
0N/A </thead>
0N/A <tbody>
0N/A </tbody>
0N/A </table>
0N/A</div>
0N/A</div>
0N/A
0N/A<script>
0N/A
0N/AYUI({filter:"raw"}).use("uploader", function(Y) {
0N/AY.one("#overallProgress").set("text", "Uploader type: " + Y.Uploader.TYPE);
0N/A if (Y.Uploader.TYPE != "none" && !Y.UA.ios) {
0N/A var uploader = new Y.Uploader({width: "250px",
0N/A height: "25px",
0N/A multipleFiles: true,
0N/A swfURL: "../build/uploader/assets/flashuploader.swf?t=" + Math.random(),
0N/A uploadURL: "http://www.yswfblog.com/upload/simpleupload.php",
0N/A simLimit: 2
0N/A });
0N/A var uploadDone = false;
0N/A
0N/A if (Y.Uploader.TYPE == "html5") {
0N/A uploader.set("dragAndDropArea", "body");
0N/A
0N/A Y.one("#ddmessage").setContent("<strong>Drag and drop files here.</strong>");
0N/A
0N/A uploader.on(["dragenter", "dragover"], function (event) {
0N/A var ddmessage = Y.one("#ddmessage");
0N/A if (ddmessage) {
0N/A ddmessage.setContent("<strong>Files detected, drop them here!</strong>");
0N/A ddmessage.addClass("yellowBackground");
0N/A }
0N/A });
0N/A
0N/A uploader.on(["dragleave", "drop"], function (event) {
0N/A var ddmessage = Y.one("#ddmessage");
0N/A if (ddmessage) {
0N/A ddmessage.setContent("<strong>Drag and drop files here.</strong>");
0N/A ddmessage.removeClass("yellowBackground");
0N/A }
0N/A });
0N/A }
0N/A
0N/A uploader.render("#selectFilesButtonContainer");
0N/A
0N/A uploader.after("fileselect", function (event) {
0N/A
0N/A var fileList = event.fileList;
0N/A var fileTable = Y.one("#filenames tbody");
0N/A if (fileList.length > 0 && Y.one("#nofiles")) {
0N/A Y.one("#nofiles").remove();
0N/A }
0N/A
0N/A if (uploadDone) {
0N/A uploadDone = false;
0N/A fileTable.setContent("");
0N/A }
0N/A
0N/A Y.each(fileList, function (fileInstance) {
0N/A fileTable.append("<tr id='" + fileInstance.get("id") + "_row" + "'>" +
0N/A "<td class='filename'>" + fileInstance.get("name") + "</td>" +
0N/A "<td class='filesize'>" + fileInstance.get("size") + "</td>" +
0N/A "<td class='percentdone'>Hasn't started yet</td>");
0N/A });
0N/A });
0N/A
0N/A uploader.on("uploadprogress", function (event) {
0N/A var fileRow = Y.one("#" + event.file.get("id") + "_row");
0N/A fileRow.one(".percentdone").set("text", event.percentLoaded + "%");
0N/A });
0N/A
0N/A uploader.on("uploadstart", function (event) {
0N/A uploader.set("enabled", false);
0N/A Y.one("#uploadFilesButton").addClass("yui3-button-disabled");
0N/A Y.one("#uploadFilesButton").detach("click");
0N/A });
0N/A
0N/A uploader.on("uploadcomplete", function (event) {
0N/A var fileRow = Y.one("#" + event.file.get("id") + "_row");
0N/A fileRow.one(".percentdone").set("text", "Finished!");
0N/A });
0N/A
0N/A uploader.on("totaluploadprogress", function (event) {
0N/A Y.one("#overallProgress").setContent("Total uploaded: <strong>" +
0N/A event.percentLoaded + "%" +
0N/A "</strong>");
0N/A
0N/A if (event.bytesLoaded == event.bytesTotal) {
0N/A uploadDone = true;
0N/A uploader.set("enabled", true);
0N/A uploader.set("fileList", []);
0N/A Y.one("#uploadFilesButton").removeClass("yui3-button-disabled");
0N/A Y.one("#uploadFilesButton").on("click", function () {
0N/A uploader.uploadAll();
0N/A });
0N/A Y.one("#overallProgress").set("text", "Uploads complete!");
0N/A // Workaround for bug 2531948
0N/A uploader.queue = null;
0N/A }
0N/A });
0N/A
0N/A Y.one("#uploadFilesButton").on("click", function () {
0N/A uploader.uploadAll();
0N/A });
0N/A }
0N/A else {
0N/A Y.one("#uploaderContainer").set("text", "We are sorry, but the uploader technology is not supported" +
0N/A " on this platform.");
0N/A }
0N/A
0N/A
0N/A});
0N/A
0N/A</script>