Пример #1
0
        private async Task GenerateTargetCanvasControlsAsync(IWeb targetWeb, IPage targetPage, MappingProviderOutput mappingOutput, Guid taskId)
        {
            // Prepare global tokens
            var globalTokens = await PrepareGlobalTokensAsync(targetWeb).ConfigureAwait(false);

            // Get the list of components available in the current site
            var componentsToAdd = await GetClientSideComponentsAsync(targetPage).ConfigureAwait(false);

            int sectionOrder = 0;

            foreach (var section in mappingOutput.TargetPage.Sections)
            {
                section.Order = sectionOrder;
                targetPage.AddSection(section.CanvasTemplate, sectionOrder);
                var targetSection = targetPage.Sections[sectionOrder];
                sectionOrder++;

                int columnOrder  = 0;
                int controlOrder = 0;
                foreach (var column in section.Columns)
                {
                    var targetColumn = targetSection.Columns[columnOrder];
                    columnOrder++;
                    controlOrder++;

                    foreach (var control in column.Controls)
                    {
                        GenerateTargetCanvasControl(targetPage, componentsToAdd, controlOrder, targetColumn, control, globalTokens, taskId);
                    }
                }
            }
        }