UNPKG

file-prompt

Version:

An interactive prompt for selecting files from a directory.

1 lines 2.97 kB
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0});var _component=require("./component"),_component2=_interopRequireDefault(_component),_bind_methods=require("./util/bind_methods"),_bind_methods2=_interopRequireDefault(_bind_methods),_labeledStreamSplicer=require("labeled-stream-splicer"),_labeledStreamSplicer2=_interopRequireDefault(_labeledStreamSplicer),_actions=require("./actions"),Page=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return(0,_bind_methods2["default"])(r,"errorHandler","reprompt","route","showPrompt"),r}return _inherits(t,e),_createClass(t,[{key:"getDefaultProps",value:function(){return{stdin:process.stdin,stdout:process.stdout}}},{key:"getInitialState",value:function(){return{selected:[]}}},{key:"createPipeline",value:function(){var e=this.workflow(),t=[],r=function(e){return e.on("error",function(e){return console.error(e.stack||e.message||e)})};return Object.keys(e).forEach(function(n){t.push(n,[r(e[n])])}),_labeledStreamSplicer2["default"].obj(t)}},{key:"displayError",value:function(e){this.props.stdout.write(e)}},{key:"dispatch",value:function(e){return this.props.store.dispatch(e)}},{key:"getBasedir",value:function(){return this.props.base||this.select("config.base")}},{key:"getGlob",value:function(){return this.props.glob||this.select("glob")}},{key:"navigate",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.dispatch((0,_actions.navigate)(e,t))}},{key:"reprompt",value:function(){this.pipeline=this.createPipeline(),this.renderComponent(),t.display(this),this.emit("reprompt")}},{key:"select",value:function(e){var t=this.props.store.getState();return e.split(".").map(function(e){t=t[e]}),t}},{key:"render",value:function(){var e=[];return this.renderIntro&&e.push(this.renderIntro()),this.renderMenu&&e.push(this.renderMenu()),this.renderPrompt&&e.push(this.renderPrompt()),e}}]),t}(_component2["default"]);exports["default"]=Page;