/// <summary>
        /// Groups the model controller finished.
        /// </summary>
        /// <param name="sender">The sender.</param>
        public virtual void GroupModelControllerFinished(UPGroupModelController sender)
        {
            var newPage = this.InstantiatePage();
            var oldPage = this.Page;

            newPage.LabelText = oldPage.LabelText;
            this.DrawWholePage(newPage);
            this.TopLevelElement = newPage;
            this.PageLoadingFinished();

            if (sender?.Group != null)
            {
                sender.Group.ConfiguredPostionOfGroup = sender.RootTabIndex;

                //this.InformAboutDidChangeTopLevelElement(oldPage, newPage, null, UPChangeHints.ChangeHintsWithHint(Constants.GroupPageChangeHint));
                this.InformAboutDidChangeTopLevelElement(oldPage, newPage, new List <IIdentifier> {
                    sender.Group.Identifier
                }, UPChangeHints.ChangeHintsWithHint(Constants.GroupAddedToPageHint));
            }
            else if (sender != null && sender.Group == null && oldPage.Groups.Count > sender.RootTabIndex)
            {
                var idenifier = oldPage.Groups[sender.RootTabIndex].Identifier;
                this.InformAboutDidChangeTopLevelElement(oldPage, newPage, new List <IIdentifier> {
                    idenifier
                }, UPChangeHints.ChangeHintsWithHint(Constants.GroupAddedToPageHint));
            }
        }
        /// <summary>
        /// Builds the page.
        /// </summary>
        public override void BuildPage()
        {
            string layoutName = this.ViewReference.ContextValueForKey("LayoutName");
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;
            WebConfigLayout         layout      = configStore.WebConfigLayoutByName(layoutName);

            if (layout == null)
            {
                return;
            }

            MDetailPage page = new MDetailPage(StringIdentifier.IdentifierWithStringId("Configuration"));

            page.LabelText       = LocalizedString.TextTabOverview;
            page.Invalid         = true;
            this.TopLevelElement = page;
            int tabCount = layout.TabCount;

            for (int i = 0; i < tabCount; i++)
            {
                UPGroupModelController groupModelController = UPGroupModelController.SettingsGroupModelController(layout, i);
                if (groupModelController != null)
                {
                    this.GroupModelControllerArray.Add(groupModelController);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Groups the model controller finished.
        /// </summary>
        /// <param name="sender">The sender.</param>
        public override void GroupModelControllerFinished(UPGroupModelController sender)
        {
            if (sender.ControllerState == GroupModelControllerState.Error)
            {
                this.portfolioGroup = null;
            }

            this.InformAboutDidChangeTopLevelElement(this.Page, this.Page, null, null);
        }
        private void ProcessFormRow(FormRow formRow, ref int index, ref int itemId)
        {
            var items = formRow.Items;
            var count = items.Count;

            if (count <= 0)
            {
                return;
            }

            var formItem = items[0];
            var basisIdentifierAsString = $"Group_{itemId++}";
            var groupIdentifier         = StringIdentifier.IdentifierWithStringId($"{basisIdentifierAsString}_0");
            var groupModelController    = UPGroupModelController.GroupModelController(formItem, groupIdentifier, this);

            if (groupModelController == null)
            {
                return;
            }

            groupModelController.ExplicitLabel = formItem.Label;
            groupModelController.RootTabIndex  = index;
            if (count > 1)
            {
                var currentModelController = groupModelController;
                for (var indexFormRow = 1; indexFormRow < count; indexFormRow++)
                {
                    var alternateItem            = items[indexFormRow];
                    var alternateModelController = UPGroupModelController.GroupModelController(alternateItem, StringIdentifier.IdentifierWithStringId($"{0}_{indexFormRow }"), this);
                    if (alternateModelController != null)
                    {
                        alternateModelController.RootTabIndex  = index;
                        alternateModelController.ExplicitLabel = alternateItem.Label;
                        currentModelController.AlternateGroupModelController = alternateModelController;
                        currentModelController = alternateModelController;
                    }
                }
            }

            this.AddGroupController(groupModelController);
            index++;
            if (!string.IsNullOrWhiteSpace(formItem.ValueName))
            {
                if (this.namedGroupController != null)
                {
                    this.namedGroupController[formItem.ValueName] = groupModelController;
                }
                else
                {
                    this.namedGroupController = new Dictionary <string, UPGroupModelController>
                    {
                        [formItem.ValueName] = groupModelController
                    };
                }
            }
        }
        /// <summary>
        /// Adds the group controller.
        /// </summary>
        /// <param name="groupModelController">The group model controller.</param>
        public virtual void AddGroupController(UPGroupModelController groupModelController)
        {
            this.GroupModelControllerArray.Add(groupModelController);
            if (string.IsNullOrEmpty(groupModelController.ValueName))
            {
                return;
            }

            var value = groupModelController.Value ?? string.Empty;

            this.ValueDictionary.SetObjectForKey(value, $"${groupModelController.ValueName}");
        }
コード例 #6
0
        private void ProcessDetailsControl(IConfigurationUnitStore configStore)
        {
            this.detailsControl = configStore.FieldControlByNameFromGroup("Details", this.ExpandConfig?.FieldGroupName);

            if (this.ExpandConfig == null)
            {
                this.ExpandConfig = configStore.ExpandByName(this.configName);
            }

            int tabCount = this.detailsControl?.NumberOfTabs ?? 0;

            this.ClearGroupControllers();

            for (int i = 0; i < tabCount; i++)
            {
                var groupModelController =
                    UPGroupModelController.DetailsGroupModelController(this.detailsControl, i, this);
                if (groupModelController != null)
                {
                    this.GroupModelControllerArray.Add(groupModelController);
                }
            }
        }
        /// <summary>
        /// Datas the name of from value.
        /// </summary>
        /// <param name="valueName">Name of the value.</param>
        /// <returns></returns>
        public Dictionary <string, object> DataFromValueName(string valueName)
        {
            UPGroupModelController groupModelController = this.namedGroupController[valueName];

            return(groupModelController.CurrentData);
        }