discord-client/webpack/lib/content-controller.js

93 lines
1.7 KiB
JavaScript
Raw Normal View History

export default class ContentController{
2018-03-22 13:57:03 +00:00
/* (1) Construct default attributes
*
---------------------------------------------------------*/
constructor(){}
2018-03-22 13:57:03 +00:00
/* (2) Channel bindings
*
---------------------------------------------------------*/
get cid(){ return gs.get.channel.current; }
get cbuf(){ return gs.get.channel.buffer; }
2018-03-22 13:57:03 +00:00
/* (3) Room ID binding
2018-03-22 13:57:03 +00:00
*
---------------------------------------------------------*/
get rid(){ return gs.get.room.text.current; }
/* (4) Room buffer binding
*
---------------------------------------------------------*/
get rbuf(){
/* (1) Ignore: if no rooms empty */
if( this.cbuf.room == null || this.cbuf.room.length === 0 )
return {};
/* (2) Search for current room */
for( let r of this.cbuf.room ){
// Return if room found //
if( r.rid === this.rid )
return r;
}
/* (3) If nothing found */
return {};
}
get messages(){ return this.rbuf.messages; }
get members(){ return this.rbuf.members; }
/* (5) User getter
*
* @user_id<int> User id
*
* @return user<array> User data
*
---------------------------------------------------------*/
user(user_id=null){
/* (1) Error: if invalid user_id */
if( isNaN(user_id) )
return {};
/* (2) Error: unknown user */
if( this.cbuf.users == null || this.cbuf.users.length < 1 )
return {};
/* (3) return user data */
for( let u of this.cbuf.users )
if( u.uid === user_id )
return u;
/* (4) Error */
return {};
}
/* (6) Textarea auto_grow
*
* @e<Event> Textarea event
*
---------------------------------------------------------*/
auto_grow(e){
setTimeout(() => {
e.target.style.height = '0';
e.target.style.height = `calc( ${e.target.scrollHeight}px )`;
}, 1);
}
2018-03-22 13:57:03 +00:00
}