Skip to content

Scoot.folder() Reference

EdZeglen edited this page Dec 30, 2016 · 1 revision

#Scoot.folder()

Introduction

The Scoot.folder() object provides standard methods for working with and accessing local folder. For reference throughout this document a valid folderspec is a complete path including the ending forward slash (\).

Exists

Scoot.folder().exists(folderspec)

Scoot.folder().exists() returns a Boolean on whether or not the folderspec exists.

####Sample Use

var folderspec = "c:\\users\\[username]\\pdfdocuments\\";
if (Scoot.folder().exists(folderspec)) {
    ...
}

ParentFolder

Scoot.folder().parentfolder(folderspec)

Scoot.folder().parentfolder() returns the parent folder of the folderspec provided.

####Sample Use

var folderspec = "c:\\users\\[username]\\pdfdocuments\\";
var parentfolder = Scoot.folder().parentfolder(folderspec); // = c:\\users\\[username]\\

ScriptFolder

Scoot.folder().scriptfolder()

Scoot.folder().scriptfolder() returns the folder the .HTA file was started from.

ParentOf

Scoot.folder().parentof(thisfolderSpec)

Scoot.folder().parentof() ...run a test to determine if this is the same as parentfolder().

Browse

Scoot.folder().browse(startinfolder, dialogtitle)

Scoot.folder().browse() opens a folder browse dialog for the user to select a folder. if the startinfolder is a valid folderspec the dialogs root is that folder. The dialogtitle is the title for the digalog.

Open

Scoot.folder().open(folderspec, into)

Scoot.folder().open() loads all subfolders for the folderspec into the into array. The into array may be a javascript array or a Knock Out observableArray. Each subfolder object in the array will have a name and a spec property.

####Sample Use

var self = this;
self.subfolders = ko.observableArray([]);
self.folderspec = "c:\\users\\[myusername]\\pdfdocuments\\";

Scoot.folder().open(folderspec, self.subfolders);

var subfolder1name = self.subfolders()[0].name;
alert(subfolder1name);

var subfolder1spec = self.subfolders()[0].spec;
alert(subfolder1spec);

Create

Scoot.folder().create(folderspec)

Scoot.folder().create() Creates a folder based on the folderspec. If the folderspec already exists the user is alerted.

Delete

Scoot.folder().delete(folderspec)

Scoot.folder().delete() deletes the folderspec provided if it exists. If the folderspec does not exist the user is alerted. No warning is given prior to delete. It is up to the programmer to prompt the user prior to a delete if they so wish.

####Sample Use

var myfolder = "c:\\users\\[myusername]\\oldpdfdocuments\\";
var ans = window.confirm('Are you sure you want to delete the '+myfolder+' folder?');
if (ans) {
    Scoot.folder().delete(myfolder);
}
    

Files

Scoot.folder().files(folderspec, into)

Scoot.folder().files() loads file objects from the folderspec into the into array. The into array may be a javascript array or a Knock Out observableArray. Each file object in the array will have a name, a spec, a foldername, size, and an mdate (last modified date) property. The mdate and size properties may need to be formatted using an external function not provided.

####Sample Use

<div class="row" >
        
    <div class="form-group">

        <div class="col-sm-12">

            <table class="table table-responsive table-bordered">
                <thead>
                    <tr>
                        <th style="width:25%;">Folder</th>
                        <th style="width:35%;">Name</th>
                        <th style="width:25%;">M. Date</th>
                        <th style="width:25%;">Size</th>
                    </tr>
                </thead>
                <tbody data-bind="foreach: files">
                    <tr>
                        <td><span data-bind="text: foldername"></span></td>
                        <td><span data-bind="text: name"></span></td>
                        <td nowrap><span data-bind="text: mdate"></span></td>
                        <td nowrap><span data-bind="text: formatSize(size) "></span></td>
                                
                    </tr>
                </tbody>
                        
            </table>

                    
        </div>

    </div>
                    
</div>
function formatSize(n) {
    var o = n / 1000;
    return (o.toLocaleString('en-US', { minimumFractionDigits: 0 }));
}

var ViewModel = function (oPage){

    var self = this;

    self.page = oPage;
    self.files = ko.observableArray([]);
    self.folderspec = "c:\\users\\[myusername]\\pdfdocuments\\";

    self.Init = function () {
        Scoot.folder().files(folderspec, self.files);
    }
}

function BindToPage() {
    var vm = new ViewModel(objPage);
    ko.applyBindings(vm);
    vm.Init();
}

$(document).ready(function () {
    objPage.load(BindToPage);
});