BlazeComponent . extendComponent ( {
onCreated ( ) {
this . rulesCurrentTab = new ReactiveVar ( 'rulesList' ) ;
this . ruleName = new ReactiveVar ( '' ) ;
this . triggerVar = new ReactiveVar ( ) ;
this . ruleId = new ReactiveVar ( ) ;
} ,
setTrigger ( ) {
this . rulesCurrentTab . set ( 'trigger' ) ;
} ,
setRulesList ( ) {
this . rulesCurrentTab . set ( 'rulesList' ) ;
} ,
setAction ( ) {
this . rulesCurrentTab . set ( 'action' ) ;
} ,
setRuleDetails ( ) {
this . rulesCurrentTab . set ( 'ruleDetails' ) ;
} ,
events ( ) {
return [ {
'click .js-delete-rule' ( ) {
const rule = this . currentData ( ) ;
Rules . remove ( rule . _id ) ;
Actions . remove ( rule . actionId ) ;
Triggers . remove ( rule . triggerId ) ;
} ,
'click .js-open-card-title-popup' : Popup . open ( 'boardCardTitle' ) ,
'click .js-goto-trigger' ( event ) {
event . preventDefault ( ) ;
const ruleTitle = this . find ( '#ruleTitle' ) . value ;
if ( ruleTitle !== undefined && ruleTitle !== '' ) {
this . find ( '#ruleTitle' ) . value = '' ;
this . ruleName . set ( ruleTitle ) ;
this . setTrigger ( ) ;
}
} ,
'click .js-goto-action' ( event ) {
event . preventDefault ( ) ;
// Add user to the trigger
const username = $ ( event . currentTarget . offsetParent ) . find ( ".user-name" ) . val ( ) ;
let trigger = this . triggerVar . get ( ) ;
const user = Users . findOne ( { "username" : username } ) ;
if ( user != undefined ) {
trigger [ "userId" ] = user . _id ;
} else {
trigger [ "userId" ] = "*" ;
}
this . triggerVar . set ( trigger ) ;
this . setAction ( ) ;
} ,
'click .js-show-user-field' ( event ) {
event . preventDefault ( ) ;
console . log ( event ) ;
console . log ( event . currentTarget . offsetParent ) ;
console . log ( $ ( event . currentTarget . offsetParent ) ) ;
$ ( event . currentTarget . offsetParent ) . find ( ".user-details" ) . removeClass ( "hide-element" ) ;
} ,
'click .js-goto-rules' ( event ) {
event . preventDefault ( ) ;
this . setRulesList ( ) ;
} ,
'click .js-goback' ( event ) {
event . preventDefault ( ) ;
if ( this . rulesCurrentTab . get ( ) === 'trigger' || this . rulesCurrentTab . get ( ) === 'ruleDetails' ) {
this . setRulesList ( ) ;
}
if ( this . rulesCurrentTab . get ( ) === 'action' ) {
this . setTrigger ( ) ;
}
} ,
'click .js-goto-details' ( event ) {
event . preventDefault ( ) ;
const rule = this . currentData ( ) ;
this . ruleId . set ( rule . _id ) ;
this . setRuleDetails ( ) ;
} ,
} ] ;
} ,
} ) . register ( 'rulesMain' ) ;