public ElementRemovingContext(LayoutSavingContext stub)
 {
     Content         = stub.Content;
     RemovedElements = stub.RemovedElements;
     Updater         = stub.Updater;
     Elements        = stub.Elements;
 }
 public ElementSavingContext(Element element, LayoutSavingContext stub)
 {
     Element  = element;
     Content  = stub.Content;
     Updater  = stub.Updater;
     Elements = stub.Elements;
 }
Ejemplo n.º 3
0
 public ElementSavingContext(Element element, LayoutSavingContext stub)
 {
     Element = element;
     Content = stub.Content;
     Updater = stub.Updater;
     Elements = stub.Elements;
 }
Ejemplo n.º 4
0
        public void Removing(LayoutSavingContext context)
        {
            var elementInstances = context.RemovedElements.Flatten();

            InvokeDriver(elementInstances, (driver, elementInstance) => driver.Removing(new ElementRemovingContext(context)
            {
                Element = elementInstance
            }));
        }
Ejemplo n.º 5
0
        public void Saving(LayoutSavingContext context)
        {
            var elements = context.Elements.Flatten();

            InvokeDriver(elements, (driver, element) => driver.LayoutSaving(new ElementSavingContext(context)
            {
                Element = element
            }));
        }
Ejemplo n.º 6
0
        public void Removing(LayoutSavingContext context)
        {
            var elements = context.RemovedElements.Flatten().ToList();

            foreach (var element in elements)
            {
                var removingContext = new ElementRemovingContext(element, context.Elements, context.RemovedElements, context.Content);
                _elementEventHandler.Removing(removingContext);
                element.Descriptor.Removing(removingContext);
            }
        }
Ejemplo n.º 7
0
        public void Saving(LayoutSavingContext context)
        {
            var elements = context.Elements.Flatten();

            foreach (var element in elements)
            {
                var savingContext = new ElementSavingContext(element, context);
                _elementEventHandler.LayoutSaving(savingContext);
                element.Descriptor.LayoutSaving(savingContext);
            }
        }
        private void RemoveElements(RemoveContentContext context, LayoutPart part)
        {
            var elements      = _layoutManager.LoadElements(part).ToList();
            var savingContext = new LayoutSavingContext {
                Content         = part,
                Elements        = new List <Element>(),
                RemovedElements = elements
            };

            _elementManager.Removing(savingContext);
        }
Ejemplo n.º 9
0
        protected override DriverResult Editor(LayoutPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            return(ContentShape("Parts_Layout_Edit", () => {
                if (part.Id == 0 && String.IsNullOrWhiteSpace(part.LayoutData))
                {
                    var settings = part.TypePartDefinition.Settings.GetModel <LayoutTypePartSettings>();

                    // If the default layout setting is left empty, use the one from the service
                    if (String.IsNullOrWhiteSpace(settings.DefaultLayoutData))
                    {
                        var defaultData = _serializer.Serialize(_layoutManager.CreateDefaultLayout());
                        part.LayoutData = defaultData;
                    }
                    else
                    {
                        part.LayoutData = settings.DefaultLayoutData;
                    }
                }

                var viewModel = new LayoutPartViewModel {
                    LayoutEditor = _layoutEditorFactory.Create(part)
                };

                if (updater != null)
                {
                    updater.TryUpdateModel(viewModel, Prefix, null, new[] { "Part", "Templates" });
                    var describeContext = new DescribeElementsContext {
                        Content = part
                    };
                    var elementInstances = _mapper.ToLayoutModel(viewModel.LayoutEditor.Data, describeContext).ToArray();
                    var recycleBin = (RecycleBin)_mapper.ToLayoutModel(viewModel.LayoutEditor.RecycleBin, describeContext).SingleOrDefault();
                    var context = new LayoutSavingContext {
                        Content = part,
                        Updater = updater,
                        Elements = elementInstances,
                        RemovedElements = recycleBin != null ? recycleBin.Elements : Enumerable.Empty <Element>()
                    };

                    _elementManager.Saving(context);
                    _elementManager.Removing(context);

                    part.LayoutData = _serializer.Serialize(elementInstances);
                    part.TemplateId = viewModel.LayoutEditor.TemplateId;
                    part.SessionKey = viewModel.LayoutEditor.SessionKey;
                    viewModel.LayoutEditor.Data = _mapper.ToEditorModel(part.LayoutData, new DescribeElementsContext {
                        Content = part
                    }).ToJson();
                }

                return shapeHelper.EditorTemplate(TemplateName: "Parts.Layout", Model: viewModel, Prefix: Prefix);
            }));
        }
Ejemplo n.º 10
0
        protected override DriverResult Editor(LayoutPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            return(ContentShape("Parts_Layout_Edit", () => {
                if (part.Id == 0 && String.IsNullOrWhiteSpace(part.LayoutData))
                {
                    part.LayoutData = part.TypePartDefinition.Settings.GetModel <LayoutTypePartSettings>().DefaultLayoutData;
                }

                var viewModel = new LayoutPartViewModel {
                    LayoutEditor = _layoutEditorFactory.Create(part)
                };

                if (updater != null)
                {
                    updater.TryUpdateModel(viewModel, Prefix, null, new[] { "Part", "Templates" });
                    var describeContext = new DescribeElementsContext {
                        Content = part
                    };
                    var elementInstances = _mapper.ToLayoutModel(viewModel.LayoutEditor.Data, describeContext).ToArray();
                    var removedElementInstances = _serializer.Deserialize(viewModel.LayoutEditor.Trash, describeContext).ToArray();
                    var context = new LayoutSavingContext {
                        Content = part,
                        Updater = updater,
                        Elements = elementInstances,
                        RemovedElements = removedElementInstances
                    };

                    _elementManager.Saving(context);
                    _elementManager.Removing(context);

                    part.LayoutData = _serializer.Serialize(elementInstances);
                    part.TemplateId = viewModel.LayoutEditor.TemplateId;
                    part.SessionKey = viewModel.LayoutEditor.SessionKey;
                    viewModel.LayoutEditor.Data = _mapper.ToEditorModel(part.LayoutData, new DescribeElementsContext {
                        Content = part
                    }).ToJson();
                }

                return shapeHelper.EditorTemplate(TemplateName: "Parts.Layout", Model: viewModel, Prefix: Prefix);
            }));
        }
 public ElementSavingContext(LayoutSavingContext stub) {
     Content = stub.Content;
     Updater = stub.Updater;
     Elements = stub.Elements;
 }
Ejemplo n.º 12
0
 public ElementSavingContext(LayoutSavingContext stub)
 {
     Content  = stub.Content;
     Updater  = stub.Updater;
     Elements = stub.Elements;
 }
 public ElementRemovingContext(LayoutSavingContext stub) {
     Content = stub.Content;
     RemovedElements = stub.RemovedElements;
     Updater = stub.Updater;
     Elements = stub.Elements;
 }