ifthenelse-8.x-1.x-dev-no-core/modules/contrib/if_then_else/src/core/Nodes/Actions/SetMessageAction/SetMessageAction.js
modules/contrib/if_then_else/src/core/Nodes/Actions/SetMessageAction/SetMessageAction.js
//Vuejs control for action node of making fields required. var VueSetMessageActionControl = { props: ['emitter', 'ikey', 'getData', 'putData'], components: { Multiselect: window.VueMultiselect.default }, template: ` <div class="fields-container"> <div class="form-fields-selection" > <label for="one">Severity</label> <multiselect v-model="selected_options" :show-labels="false" :options="options" :multiple="false" placeholder="Severity" @input="updateSelected" label="label" track-by="name"></multiselect> </div> </div>`, data() { return { type: drupalSettings.if_then_else.nodes.set_message_action.type, class: drupalSettings.if_then_else.nodes.set_message_action.class, name: drupalSettings.if_then_else.nodes.set_message_action.name, options: [], severity_options: [], selected_options: [], value : {name: 0, label: 'status'} } }, methods: { update() { //This is called to reprocess the retejs editor this.emitter.trigger('process'); }, updateSelected() { //Updating reactive variable of Vue to reflect changes on frontend this.putData('selected_options', this.selected_options); this.emitter.trigger('process'); } }, mounted() { //initialize variable for data this.putData('type',drupalSettings.if_then_else.nodes.set_message_action.type); this.putData('class',drupalSettings.if_then_else.nodes.set_message_action.class); this.putData('name', drupalSettings.if_then_else.nodes.set_message_action.name); //setting values of selected fields when rule edit page loads. //Setting values of retejs condition nodes when editing rule page loads var get_selected_options = this.getData('selected_options'); if(typeof get_selected_options != 'undefined'){ this.selected_options = this.getData('selected_options'); } else { this.selected_options = this.value; this.putData('selected_options', this.selected_options); } }, created() { if(drupalSettings.if_then_else.nodes.set_message_action.severity_options){ //Fetching values of fields when editing rule page loads for (let option in drupalSettings.if_then_else.nodes.set_message_action.severity_options) { this.options.push({ name: option, label: drupalSettings.if_then_else.nodes.set_message_action.severity_options[option] }); } } } }; class SetMessageActionControl extends Rete.Control { constructor(emitter, key) { super(key); this.component = VueSetMessageActionControl; this.props = { emitter, ikey: key }; } //setting list value of fields. Used when changing entity or bundle value in condition node. setOptions(options) { this.vueContext.options = options; } }