in source/community/reactnative/src/models/model-factory.js [33:91]
static getElement(payload, parent, hostConfig) {
if (!payload) {
return undefined;
}
switch (payload.type) {
case ElementType.Image:
return new Models.ImageModel(payload, parent, hostConfig);
case ElementType.Media:
return new Models.MediaModel(payload, parent, hostConfig);
case ElementType.TextBlock:
return new Models.TextBlockModel(payload, parent, hostConfig);
case ElementType.RichTextBlock:
return new Models.RichTextBlockModel(payload, parent, hostConfig);
case ElementType.Column:
return new Models.ColumnModel(payload, parent, hostConfig);
case ElementType.ColumnSet:
return new Models.ColumnSetModel(payload, parent, hostConfig);
case ElementType.Container:
return new Models.ContainerModel(payload, parent, hostConfig);
case ElementType.FactSet:
return new Models.FactSetModel(payload, parent, hostConfig);
case ElementType.ImageSet:
return new Models.ImageSetModel(payload, parent, hostConfig);
case ElementType.TextInput:
return new Models.TextInputModel(payload, parent, hostConfig);
case ElementType.DateInput:
return new Models.DateInputModel(payload, parent, hostConfig);
case ElementType.TimeInput:
return new Models.TimeInputModel(payload, parent, hostConfig);
case ElementType.NumberInput:
return new Models.NumberInputModel(payload, parent, hostConfig);
case ElementType.ChoiceSetInput:
return new Models.ChoiceSetModel(payload, parent, hostConfig);
case ElementType.ToggleInput:
return new Models.ToggleInputModel(payload, parent, hostConfig);
case ElementType.AdaptiveCard:
return new Models.AdaptiveCardModel(payload, parent, hostConfig);
case ElementType.ActionOpenUrl:
return new Models.OpenUrlActionModel(payload, parent, hostConfig);
case ElementType.ActionSubmit:
return new Models.SubmitActionModel(payload, parent, hostConfig);
case ElementType.ActionExecute:
return new Models.ExecuteActionModel(payload, parent, hostConfig);
case ElementType.ActionShowCard:
return new Models.ShowCardActionModel(payload, parent, hostConfig);
case ElementType.ActionToggleVisibility:
return new Models.ToggleVisibilityActionModel(payload, parent, hostConfig);
case ElementType.ActionSet:
return new Models.ActionSetModel(payload, parent, hostConfig);
default:
//Handling registered custom components
const Element = Registry.getManager().getComponentOfType(payload.type);
if (Element) {
return new BaseModel(payload, parent, hostConfig);
} else {
return null;
}
}
}