feat: support scopes for dynamic field entries

This commit is contained in:
Ali BARIN
2025-01-15 11:26:03 +00:00
parent 7130d8e934
commit 61624baa68
11 changed files with 167 additions and 52 deletions

View File

@@ -85,8 +85,8 @@ export default defineAction({
value: '{parameters.nodeName}',
},
{
name: 'parameters.attributes',
value: '{parameters.attributes}',
name: 'parameters.attributeKey',
value: '{fieldsEntry.key}',
},
],
},
@@ -112,10 +112,6 @@ export default defineAction({
name: 'key',
value: 'listNodeFields',
},
{
name: 'nodeIndex',
value: 0,
},
{
name: 'parameters.hasChildrenNodes',
value: '{parameters.hasChildrenNodes}',

View File

@@ -4,7 +4,7 @@ export default {
async run($) {
const nodeName = $.step.parameters.nodeName;
const attributeName = $.step.parameters.attributeName;
const attributeKey = $.step.parameters.attributeKey;
// Node: Conference
const conferenceMutedAttributeValues = [
@@ -92,17 +92,6 @@ export default {
},
];
const conferenceStayAloneAttributeValues = [
{
name: 'Yes',
value: true,
},
{
name: 'No',
value: false,
},
];
const conferenceJitterBufferAttributeValues = [
{
name: 'Off',
@@ -126,7 +115,6 @@ export default {
waitMethod: conferenceWaitMethodAttributeValues,
record: conferenceRecordAttributeValues,
trim: conferenceTrimAttributeValues,
stayAlone: conferenceStayAloneAttributeValues,
jitterBuffer: conferenceJitterBufferAttributeValues,
};
@@ -232,10 +220,10 @@ export default {
};
const allNodeAttributeValues = {
conference,
say,
sip,
stream,
Conference: conference,
Say: say,
Sip: sip,
Stream: stream,
};
if (!nodeName) return { data: [] };
@@ -244,7 +232,7 @@ export default {
if (!selectedNodeAttributes) return { data: [] };
const selectedNodeAttributeValues = selectedNodeAttributes[attributeName];
const selectedNodeAttributeValues = selectedNodeAttributes[attributeKey];
if (!selectedNodeAttributeValues) return { data: [] };

View File

@@ -65,16 +65,48 @@ export default {
{
label: 'Attribute name',
key: 'key',
type: 'string',
type: 'dropdown',
required: false,
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listVoiceXmlNodeAttributes',
},
{
name: 'parameters.nodeName',
value: '{outerFieldsEntry.nodeName}',
},
],
},
},
{
label: 'Attribute value',
key: 'value',
type: 'string',
type: 'dropdown',
required: false,
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listVoiceXmlNodeAttributeValues',
},
{
name: 'parameters.nodeName',
value: '{outerFieldsEntry.nodeName}',
},
{
name: 'parameters.attributeKey',
value: '{fieldsEntry.key}',
},
],
},
},
],
},