Add more FE hooks (#1772)

*  add FE hook for expressionEdit dialogVisibleChanged

*  update FE hook for expressionEdit dialogVisibleChanged

*  add FE hook for expressionEdit itemSelected

*  add FE hook for nodeSettings valueChanged

*  add FE hook for nodeSettings credentialSelected

* cleanup
This commit is contained in:
Ahsan Virani
2021-05-12 05:12:53 +02:00
committed by GitHub
parent b47de284f5
commit caa55a022b
2 changed files with 23 additions and 2 deletions

View File

@@ -30,7 +30,7 @@
<div class="editor-description">
Result
</div>
<expression-input :parameter="parameter" resolvedValue="true" rows="8" :value="value" :path="path"></expression-input>
<expression-input :parameter="parameter" resolvedValue="true" ref="expressionResult" rows="8" :value="value" :path="path"></expression-input>
</div>
</el-col>
@@ -52,7 +52,11 @@ import {
Workflow,
} from 'n8n-workflow';
export default Vue.extend({
import { externalHooks } from '@/components/mixins/externalHooks';
import mixins from 'vue-typed-mixins';
export default mixins(externalHooks).extend({
name: 'ExpressionEdit',
props: [
'dialogVisible',
@@ -81,7 +85,16 @@ export default Vue.extend({
},
itemSelected (eventData: IVariableItemSelected) {
// User inserted item from Expression Editor variable selector
(this.$refs.inputFieldExpression as any).itemSelected(eventData); // tslint:disable-line:no-any
this.$externalHooks().run('expressionEdit.itemSelected', { parameter: this.parameter, value: this.value, selectedItem: eventData });
},
},
watch: {
dialogVisible (newValue) {
const resolvedExpressionValue = this.$refs.expressionResult && (this.$refs.expressionResult as any).getValue() || undefined; // tslint:disable-line:no-any
this.$externalHooks().run('expressionEdit.dialogVisibleChanged', { dialogVisible: newValue, parameter: this.parameter, value: this.value, resolvedExpressionValue });
},
},
});