utility methods

utility methods

by Shrikrishna Gupta

HTML

<script src="http://spjsfiles.com/SharePoint%20JavaScripts/spjs-utility/v1.257/spjs-utility.js"></script>

JavaScript

///
/// SharePoint helpers and general utility
///

var SuggestionUtility = SuggestionUtility || {
    alertUser: function(msg) {
        alert(msg + '. ' + EAMConfig.errorContactAdmin);
    },

    /* helper to create a GUID */
    createGUID: function() {
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
            var r = Math.random() * 16 | 0,
                v = c == 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    },

    ///
    /// Copy file from one document library to another
    ///
    copyFile: function(sourceUrl, destinationUrl, overwrite) {
        var deferredCopyFile = jQuery.Deferred();

        var listUrl =
            String.format("{0}_api/web/getfilebyserverrelativeurl('{1}')/copyto(strnewurl='{2}',boverwrite={3})", SuggestionUtility.getCurrentRelWebUrl(),
                SuggestionUtility.getCurrentRelWebUrl() + sourceUrl, SuggestionUtility.getCurrentRelWebUrl() + destinationUrl, overwrite);

        jQuery.ajax({
            url: listUrl,
            type: "POST",
            headers: {
                "accept": "application/json;odata=verbose",
                "content-type": "application/json;odata=verbose",
                "X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
            },
            success: function(data, textStatus, jqXHR) {
                deferredCopyFile.resolve();
            },
            error: function(jqXHR, textStatus, errorThrown) {
                var errorMsg = String.format('{0} {1} {2}', jqXHR.responseText, textStatus, errorThrown);
                SuggestionUtility.logMessage(sourceUrl, destinationUrl, 'EAMCommon.js:copyFile', errorMsg);
                deferredCopyFile.reject(errorThrown);
            }
        });

        return deferredCopyFile;
    },


    /*createDoclibraryFolder: function (docLibraryName, folderName) {
        var deferredCreateFolder = jQuery.Deferred();

        var listUrl =
           ...