Example #1
0
        private Field InstantiateField(XField xField, Page page)
        {
            View view = page.GetView();

            Progress?.Report($"Adding field: {view.Name}/{page.Name}/{xField.Name}");
            Field field = xField.Instantiate(page);

            if (context.FieldNameGenerator.Exists(field.Name))
            {
                field.Name = context.FieldNameGenerator.MakeUnique(field.Name);
                Progress?.Report($"Renamed field: {field.Name}");
            }
            MapSourceTableName(field as TableBasedDropDownField);
            MapRelatedViewId(field as RelatedViewField);
            field.SaveToDb();
            context.FieldIdMap[xField.FieldId] = field.Id;
            return(field);
        }