ifthenelse-8.x-1.x-dev-no-core/modules/contrib/if_then_else/src/core/Nodes/Events/InitEvent/InitEvent.js
modules/contrib/if_then_else/src/core/Nodes/Events/InitEvent/InitEvent.js
//Vuejs control for action node of making fields required.
var VueInitEventControl = {
props: ['emitter', 'ikey', 'getData', 'putData'],
components: {
Multiselect: window.VueMultiselect.default
},
template: `
<div class="fields-container">
<div class="label">Match Condition</div>
<div class="radio">
<input type="radio" :id="radio1_uid" value="other" v-model="form_selection" @change="formSelectionChanged">
<label :for="radio1_uid">Enter specific page path</label>
</div>
<div class="form-fields-selection" v-if="form_selection === 'other'">
<label class="typo__label">Path To Match With</label>
<input type="text" v-model='valueText' @blur="valueTextChanged" placeholder="Enter path" />
</div>
<div class="radio">
<input type="radio" :id="radio2_uid" value="all" v-model="form_selection" @change="formSelectionChanged">
<label :for="radio2_uid">All Pages</label>
</div>
</div>`,
data() {
return {
type: drupalSettings.if_then_else.nodes.init_event.type,
class: drupalSettings.if_then_else.nodes.init_event.class,
name: drupalSettings.if_then_else.nodes.init_event.name,
valueText: '',
form_selection: 'other',
radio1_uid: '',
radio2_uid: '',
}
},
methods: {
update() {
//This is called to reprocess the retejs editor
this.emitter.trigger('process');
},
valueTextChanged() {
this.putData('valueText', this.valueText);
editor.trigger('process');
},
formSelectionChanged() {
this.putData('form_selection', this.form_selection);
editor.trigger('process');
},
},
mounted() {
//initialize variable for data
this.putData('type', drupalSettings.if_then_else.nodes.init_event.type);
this.putData('class', drupalSettings.if_then_else.nodes.init_event.class);
this.putData('name', drupalSettings.if_then_else.nodes.init_event.name);
this.valueText = this.getData('valueText');
this.form_selection = this.getData('form_selection');
},
created() {
this.radio1_uid = _.uniqueId('radio_');
this.radio2_uid = _.uniqueId('radio_');
}
};
class InitEventControl extends Rete.Control {
constructor(emitter, key) {
super(key);
this.component = VueInitEventControl;
this.props = {
emitter,
ikey: key
};
}
}
