/src/uploader/docs/partials/uploader-dd-source.mustache
https://bitbucket.org/Quartermain/yui3 · Mustache · 155 lines · 139 code · 16 blank · 0 comment · 10 complexity · 57777eb2e9e4b826e87a88de30e218a8 MD5 · raw file
- <style>
- #filelist {
- margin-top: 15px;
- }
- #uploadFilesButtonContainer, #selectFilesButtonContainer, #overallProgress {
- display: inline-block;
- }
- #overallProgress {
- float: right;
- }
- .yellowBackground {
- background: #F2E699;
- }
- </style>
- <div id="exampleContainer">
- <div id="uploaderContainer">
- <div id="selectFilesButtonContainer">
- </div>
- <div id="uploadFilesButtonContainer">
- <button type="button" id="uploadFilesButton"
- class="yui3-button" style="width:250px; height:35px;">Upload Files</button>
- </div>
- <div id="overallProgress">
- </div>
- </div>
- <div id="filelist">
- <table id="filenames">
- <thead>
- <tr><th>File name</th><th>File size</th><th>Percent uploaded</th></tr>
- <tr id="nofiles">
- <td colspan="3" id="ddmessage">
- <strong>No files selected.</strong>
- </td>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <script>
- YUI({filter:"raw"}).use("uploader", function(Y) {
- Y.one("#overallProgress").set("text", "Uploader type: " + Y.Uploader.TYPE);
- if (Y.Uploader.TYPE != "none" && !Y.UA.ios) {
- var uploader = new Y.Uploader({width: "250px",
- height: "35px",
- multipleFiles: true,
- swfURL: "{{yuiBuildUrl}}/uploader/assets/flashuploader.swf?t=" + Math.random(),
- uploadURL: "http://www.yswfblog.com/upload/simpleupload.php",
- simLimit: 2,
- withCredentials: false
- });
- var uploadDone = false;
- if (Y.Uploader.TYPE == "html5") {
- uploader.set("dragAndDropArea", "body");
- Y.one("#ddmessage").setHTML("<strong>Drag and drop files here.</strong>");
- uploader.on(["dragenter", "dragover"], function (event) {
- var ddmessage = Y.one("#ddmessage");
- if (ddmessage) {
- ddmessage.setHTML("<strong>Files detected, drop them here!</strong>");
- ddmessage.addClass("yellowBackground");
- }
- });
-
- uploader.on(["dragleave", "drop"], function (event) {
- var ddmessage = Y.one("#ddmessage");
- if (ddmessage) {
- ddmessage.setHTML("<strong>Drag and drop files here.</strong>");
- ddmessage.removeClass("yellowBackground");
- }
- });
- }
- uploader.render("#selectFilesButtonContainer");
- uploader.after("fileselect", function (event) {
- var fileList = event.fileList;
- var fileTable = Y.one("#filenames tbody");
- if (fileList.length > 0 && Y.one("#nofiles")) {
- Y.one("#nofiles").remove();
- }
- if (uploadDone) {
- uploadDone = false;
- fileTable.setHTML("");
- }
-
- Y.each(fileList, function (fileInstance) {
- fileTable.append("<tr id='" + fileInstance.get("id") + "_row" + "'>" +
- "<td class='filename'>" + fileInstance.get("name") + "</td>" +
- "<td class='filesize'>" + fileInstance.get("size") + "</td>" +
- "<td class='percentdone'>Hasn't started yet</td>");
- });
- });
- uploader.on("uploadprogress", function (event) {
- var fileRow = Y.one("#" + event.file.get("id") + "_row");
- fileRow.one(".percentdone").set("text", event.percentLoaded + "%");
- });
- uploader.on("uploadstart", function (event) {
- uploader.set("enabled", false);
- Y.one("#uploadFilesButton").addClass("yui3-button-disabled");
- Y.one("#uploadFilesButton").detach("click");
- });
- uploader.on("uploadcomplete", function (event) {
- var fileRow = Y.one("#" + event.file.get("id") + "_row");
- fileRow.one(".percentdone").set("text", "Finished!");
- });
- uploader.on("totaluploadprogress", function (event) {
- Y.one("#overallProgress").setHTML("Total uploaded: <strong>" +
- event.percentLoaded + "%" +
- "</strong>");
- });
- uploader.on("alluploadscomplete", function (event) {
- uploader.set("enabled", true);
- uploader.set("fileList", []);
- Y.one("#uploadFilesButton").removeClass("yui3-button-disabled");
- Y.one("#uploadFilesButton").on("click", function () {
- if (!uploadDone && uploader.get("fileList").length > 0) {
- uploader.uploadAll();
- }
- });
- Y.one("#overallProgress").set("text", "Uploads complete!");
- uploadDone = true;
- });
- Y.one("#uploadFilesButton").on("click", function () {
- if (!uploadDone && uploader.get("fileList").length > 0) {
- uploader.uploadAll();
- }
- });
- }
- else {
- Y.one("#uploaderContainer").set("text", "We are sorry, but to use the uploader, you either need a browser that support HTML5 or have the Flash player installed on your computer.");
- }
- });
- </script>