102 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						|
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
function uploadList() {
 | 
						|
    if (packages.length == 0) {
 | 
						|
        app.dialog.alert("Your list doesn't have anything to send.", "Empty List");
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    app.dialog.preloader("Uploading...");
 | 
						|
    var uploadlistdialogopen = true;
 | 
						|
    $.ajax({
 | 
						|
        url: SETTINGS.sharelistapi,
 | 
						|
        dataType: 'json',
 | 
						|
        method: 'post',
 | 
						|
        data: {
 | 
						|
            packages: JSON.stringify(packages)
 | 
						|
        },
 | 
						|
        timeout: 15 * 1000,
 | 
						|
        success: function (resp) {
 | 
						|
            if (uploadlistdialogopen) {
 | 
						|
                app.dialog.close();
 | 
						|
                uploadlistdialogopen = false;
 | 
						|
            }
 | 
						|
            if (resp.status == "OK") {
 | 
						|
                JsBarcode("#listidbarcode", resp.uuid, {
 | 
						|
                    format: "code128",
 | 
						|
                    ean128: false,
 | 
						|
                    width: 2,
 | 
						|
                    height: 40
 | 
						|
                });
 | 
						|
                $("#listidbarcodeli").css("display", "");
 | 
						|
                appendActivityLog("Shared List", countPackages() + " items sent", "", "fas fa-file-upload");
 | 
						|
            } else {
 | 
						|
                app.dialog.alert(resp.message, "Error");
 | 
						|
            }
 | 
						|
        },
 | 
						|
        error: function (jqXHR, status, errorThrown) {
 | 
						|
            if (uploadlistdialogopen) {
 | 
						|
                app.dialog.close();
 | 
						|
                uploadlistdialogopen = false;
 | 
						|
            }
 | 
						|
            app.dialog.alert("There was a network or server issue while uploading the list.  Please try again.", "Error");
 | 
						|
        }
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
function downloadItemList(code) {
 | 
						|
    if (typeof code == "undefined") {
 | 
						|
        code = $("#getlistidbox").val();
 | 
						|
    }
 | 
						|
    if (code.match(/^[a-f0-9]{10}$/i)) {
 | 
						|
        app.dialog.preloader("Downloading...");
 | 
						|
        var downloadlistdialogopen = true;
 | 
						|
        $.ajax({
 | 
						|
            url: SETTINGS.sharelistapi,
 | 
						|
            dataType: 'json',
 | 
						|
            method: 'get',
 | 
						|
            data: {
 | 
						|
                uuid: code
 | 
						|
            },
 | 
						|
            timeout: 15 * 1000,
 | 
						|
            success: function (resp) {
 | 
						|
                if (downloadlistdialogopen) {
 | 
						|
                    app.dialog.close();
 | 
						|
                    downloadlistdialogopen = false;
 | 
						|
                }
 | 
						|
                if (resp.status == "OK") {
 | 
						|
                    var skipped = importPackageList(resp.packages);
 | 
						|
                    if (skipped > 0) {
 | 
						|
                        app.dialog.alert("List imported and merged with the existing one. " + skipped + " items already existed locally and were skipped. Verify their delivery status manually.", "Import Complete");
 | 
						|
                    } else {
 | 
						|
                    app.dialog.alert("List imported and merged with the existing one.", "Import Complete");
 | 
						|
                }
 | 
						|
                } else {
 | 
						|
                    app.dialog.alert(resp.message, "Error");
 | 
						|
                }
 | 
						|
            },
 | 
						|
            error: function (jqXHR, status, errorThrown) {
 | 
						|
                if (downloadlistdialogopen) {
 | 
						|
                    app.dialog.close();
 | 
						|
                    downloadlistdialogopen = false;
 | 
						|
                }
 | 
						|
                app.dialog.alert("There was a network or server issue while downloading the list.  Please try again.", "Error");
 | 
						|
            }
 | 
						|
        });
 | 
						|
    } else {
 | 
						|
        app.dialog.alert("That's not a valid list ID.", "Error");
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function scanListIDBarcode() {
 | 
						|
    scanBarcode(function (code) {
 | 
						|
        playSound("scan");
 | 
						|
        downloadItemList(code);
 | 
						|
    }, function (error) {
 | 
						|
        app.dialog.alert(error, "Error");
 | 
						|
    });
 | 
						|
} |