2015-06-28 22:42:48 +00:00
'use strict' ;
2016-03-27 20:29:00 +00:00
Object . defineProperty ( exports , "__esModule" , {
2015-06-28 22:42:48 +00:00
value : true
} ) ;
2016-03-27 20:29:00 +00:00
var _createClass = function ( ) { function defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } } return function ( Constructor , protoProps , staticProps ) { if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) defineProperties ( Constructor , staticProps ) ; return Constructor ; } ; } ( ) ;
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
var _Base2 = require ( './Base' ) ;
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
var _Base3 = _interopRequireDefault ( _Base2 ) ;
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { default : obj } ; }
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
function _possibleConstructorReturn ( self , call ) { if ( ! self ) { throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; } return call && ( typeof call === "object" || typeof call === "function" ) ? call : self ; }
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
function _inherits ( subClass , superClass ) { if ( typeof superClass !== "function" && superClass !== null ) { throw new TypeError ( "Super expression must either be null or a function, not " + typeof superClass ) ; } subClass . prototype = Object . create ( superClass && superClass . prototype , { constructor : { value : subClass , enumerable : false , writable : true , configurable : true } } ) ; if ( superClass ) Object . setPrototypeOf ? Object . setPrototypeOf ( subClass , superClass ) : subClass . _ _proto _ _ = superClass ; }
2015-06-28 22:42:48 +00:00
/ * *
* Keyboard class , used to configure keyboards for messages .
* You should pass your instance of this class to message . keyboard ( ) method
* /
2016-03-27 20:29:00 +00:00
var Keyboard = function ( _Base ) {
_inherits ( Keyboard , _Base ) ;
2015-06-28 22:42:48 +00:00
/ * *
* Create a new keyboard
* @ param { object } properties Keyboard properties , as defined by Telegram API
* See ReplyKeyboardMarkup , ReplyKeyboardHide ,
* ForceReply
* /
function Keyboard ( ) {
2016-03-27 20:29:00 +00:00
var properties = arguments . length <= 0 || arguments [ 0 ] === undefined ? { } : arguments [ 0 ] ;
2015-06-28 22:42:48 +00:00
_classCallCheck ( this , Keyboard ) ;
2016-03-27 20:29:00 +00:00
var _this = _possibleConstructorReturn ( this , Object . getPrototypeOf ( Keyboard ) . call ( this ) ) ;
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
_this . properties = properties ;
return _this ;
2015-06-28 22:42:48 +00:00
}
2016-03-27 20:29:00 +00:00
/ * *
* Set the keyboard property of reply _markup
* @ param { array } keys An array of arrays , with the format of
* Column Column
* Row [ [ 'TopLeft' , 'TopRight' ] ,
* Row [ 'BottomLeft' , 'BottomRight' ] ]
* @ return { object } returns the keyboard object
* /
2015-06-28 22:42:48 +00:00
_createClass ( Keyboard , [ {
key : 'keys' ,
value : function keys ( _keys ) {
this . properties . keyboard = _keys ;
this . properties . hide _keyboard = false ;
return this ;
}
/ * *
* Set force _keyboard property of reply _markup
* @ param { boolean } enable value of force _keyboard , defaults to true
* @ return { object } returns the keyboard object
* /
2016-03-27 20:29:00 +00:00
} , {
key : 'force' ,
2015-06-28 22:42:48 +00:00
value : function force ( ) {
2016-03-27 20:29:00 +00:00
var enable = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
2015-06-28 22:42:48 +00:00
this . properties . force _keyboard = enable ;
return this ;
}
/ * *
* Set resize _keyboard property of reply _markup
* @ param { boolean } enable value of resize _keyboard , defaults to true
* @ return { object } returns the keyboard object
* /
2016-03-27 20:29:00 +00:00
} , {
key : 'resize' ,
2015-06-28 22:42:48 +00:00
value : function resize ( ) {
2016-03-27 20:29:00 +00:00
var enable = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
2015-06-28 22:42:48 +00:00
this . properties . resize _keyboard = enable ;
return this ;
}
/ * *
* Set force _keyboard property of reply _markup
* @ param { boolean } enable value of force _keyboard , defaults to true
* @ return { object } returns the keyboard object
* /
2016-03-27 20:29:00 +00:00
} , {
key : 'oneTime' ,
2015-06-28 22:42:48 +00:00
value : function oneTime ( ) {
2016-03-27 20:29:00 +00:00
var enable = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
2015-06-28 22:42:48 +00:00
this . properties . one _time _keyboard = enable ;
return this ;
}
/ * *
* Set selective property of reply _markup
* @ param { boolean } enable value of force _keyboard , defaults to true
* @ return { object } returns the keyboard object
* /
2016-03-27 20:29:00 +00:00
} , {
key : 'selective' ,
2015-06-28 22:42:48 +00:00
value : function selective ( ) {
2016-03-27 20:29:00 +00:00
var enable = arguments . length <= 0 || arguments [ 0 ] === undefined ? true : arguments [ 0 ] ;
2015-06-28 22:42:48 +00:00
this . properties . selective = enable ;
return this ;
}
/ * *
* Set hide _keyboard property of reply _markup to true
* @ return { object } returns the keyboard object
* /
2016-03-27 20:29:00 +00:00
} , {
key : 'hide' ,
2015-06-28 22:42:48 +00:00
value : function hide ( ) {
this . properties = {
hide _keyboard : true
} ;
return this ;
}
} ] ) ;
return Keyboard ;
2016-03-27 20:29:00 +00:00
} ( _Base3 . default ) ;
2015-06-28 22:42:48 +00:00
2016-03-27 20:29:00 +00:00
exports . default = Keyboard ;
2015-06-28 22:42:48 +00:00
module . exports = exports [ 'default' ] ;