示例#1
0
app.get(ASSET_ROUTE, bodyParser.json(), function(req, res, next) {
    var dirName:string = req.url.replace(/(^\/assets\/)/, "");
    if (!dirName) {
        next(); // 404 if the dirname is not set
        return;
    }

    recursive(ASSET_DIR + dirName, function (err, files) {
        var fileJson = {
            assets: []
        };

        if (files) files.forEach((filePath:string) => {
            var strippedPath:string = filePath.substr(filePath.indexOf(dirName));
            var name:string = strippedPath.substr(strippedPath.lastIndexOf("/") + 1);
            name = name.substr(0, name.lastIndexOf("."));

            fileJson.assets.push(
                {
                    name: name,
                    path: strippedPath
                }
            );
        });

        res.send(fileJson);
        res.end();
    });
});
示例#2
0
function loadFiles(dirpath: string) {
    recursive(dirpath, (err, files) => {
        let itemsToShow: string[] = [];
        files.forEach(file => {
            let ext = path.extname(file).toLowerCase();
            switch (selectionType.toLowerCase()) {
                case 'sprite':
                    if (['.jpg', '.jpeg', '.png', '.gif'].indexOf(ext) > -1) {
                        itemsToShow.push(file);
                    }
                    break;
            }
        });

        showFiles(itemsToShow);
        filter.addEventListener('keyup', event => {
            if (event.keyCode != 13 && event.keyCode != 38 && event.keyCode != 40) {
                showFiles(itemsToShow, filter.value);
            }
            let items = itemList.querySelectorAll('a.list-item') as NodeListOf<HTMLAnchorElement>;
            let selected = itemList.querySelector('.list-item.selected') as HTMLAnchorElement;
            let offset: number = -1;
            if (selected != null) {
                offset = parseInt(selected.getAttribute('data-offset'));
            }

            let next = offset + 1;
            let prev = offset - 1;
            next = next > items.length - 1 ? 0 : next;
            prev = prev < 0 ? items.length - 1 : prev;

            // Enter
            if (event.keyCode == 13) {
                let selected = itemList.querySelector('.list-item.selected') as HTMLAnchorElement;
                okay(selected.getAttribute('data-value'));
            }
            // Up
            if (event.keyCode == 38) {
                event.preventDefault();
                if (selected != null) {
                    selected.classList.remove('selected');
                }
                let newItem = itemList.querySelector(`.list-item[data-offset="${prev}"]`) as HTMLAnchorElement;
                newItem.classList.add('selected');
            }
            // Down
            if (event.keyCode == 40) {
                event.preventDefault();
                if (selected != null) {
                    selected.classList.remove('selected');
                }
                let newItem = itemList.querySelector(`.list-item[data-offset="${next}"]`) as HTMLAnchorElement;
                newItem.classList.add('selected');
            }
        });
    });
}
示例#3
0
  var promise = new Promise(function(resolve, reject) {
    recursive(__dirname  ,function (err:any, files:any) {

      for(var fileIndex = files.length-1 ; fileIndex >= 0 ; fileIndex--){
        var file = files[fileIndex];
        if( (file.indexOf(".") !== 0) && (file.indexOf("index.js") == -1) && (file !== "index.js") && file.slice(file.indexOf("."), file.length) === ".js"){
            //todo replace all recurisivly
            var newFile = file.replace(__dirname,".").replace("\\","/").replace("\\","/");
            var split = newFile.split("/");
            split[split.length -1] = capitalizeFirstLetter(split[split.length -1]);
            newFile = split.join("/");
            var model = require(newFile);
            if("associate" in model){

              model.associate();
            }
          }
        }
        sequelize.sync({ force: false }).then(function(){
          resolve();
        });
      })
  });
示例#4
0
app.get('/', function (req, res) {
    console.log(GET + "/views/index.html");

    var scriptList = [];

    // Get all js files.
    recursive(SCRIPT_DIR, function (err, files) {
        files.forEach((filePath:string) => {
            if (filePath.indexOf(".map") < 0) {
                var path:string = filePath.substr(filePath.indexOf('js'));
                scriptList.push(
                    {
                        scriptPath: path
                    }
                );
            }
        });

        res.render("index.html", {
            scripts: scriptList
        });
    });
});