#!/usr/bin/env node /* * advanced * */ var fs = require("fs"); var cui = require("../lib/cui"); cui.push({ title: "This is a contrived example to demonstrate a branching view tree. Pick a file:", type: "buttons", data: function (cb) { fs.readdir(process.cwd(), function (err, filenames) { cb(err, filenames); }); } }); cui.push({ title: "Pick an action:", type: "buttons", data: [ "Stat", "Rename" ], action: function (cb) { var last = cui.results.slice(-1)[0] if (last === "Stat") { statAction(); } else { cui.push(renameView); } cb(); } }); var statAction = function () { fs.stat(cui.results[0], function (err, data) { console.log(data || err); }); }; var renameView = { type: "fields", data: function (cb) { cb(null, "Type a new name for " + cui.results[0] + ": "); }, action: function () { fs.rename(cui.results[0], cui.results[2], function (err) { console.log((err) ? err : cui.results[0] + " successfully renamed as " + cui.results[2]); }); } };