/// <inheritdoc/>
        protected override void OnInit(EventArgs e)
        {
            var extensionPointManager = new ExtensionPointManager();

            var tabs  = (HtmlGenericControl)this.Parent.FindControl(this.TabControlId);
            var panel = this.Parent.FindControl(this.PanelControlId);

            foreach (var extension in extensionPointManager.GetEditPageTabExtensionPoints(this.Module, this.Group))
            {
                if (extension.Visible)
                {
                    var liElement = new HtmlGenericControl("li")
                    {
                        InnerHtml = "<a href=\"#" + extension.EditPageTabId + "\">" + extension.Text + "</a>",
                    };
                    liElement.Attributes.Add("class", extension.CssClass);
                    tabs.Controls.Add(liElement);

                    var container = new PanelTabExtensionControl {
                        PanelId = extension.EditPageTabId
                    };
                    var control = this.Page.LoadControl(extension.UserControlSrc);
                    control.ID = Path.GetFileNameWithoutExtension(extension.UserControlSrc);
                    container.Controls.Add(control);
                    panel.Controls.Add(container);
                }
            }
        }
        protected override void OnInit(EventArgs e)
        {
            var extensionPointManager = new ExtensionPointManager();
            
            var tabs = (HtmlGenericControl)Parent.FindControl(TabControlId);
            var panel = Parent.FindControl(PanelControlId);

            foreach (var extension in extensionPointManager.GetEditPageTabExtensionPoints(Module, Group))
            {
                if (extension.Visible)
                {
                    var liElement = new HtmlGenericControl("li")
                    {
                        InnerHtml = "<a href=\"#" + extension.EditPageTabId + "\">" + extension.Text + "</a>",
                    };
                    liElement.Attributes.Add("class", extension.CssClass);
                    tabs.Controls.Add(liElement);

                    var container = new PanelTabExtensionControl { PanelId = extension.EditPageTabId };
                    var control = Page.LoadControl(extension.UserControlSrc);
                    control.ID = Path.GetFileNameWithoutExtension(extension.UserControlSrc);
                    container.Controls.Add(control);
                    panel.Controls.Add(container);
                }
            }
        }
Пример #3
0
        protected override void OnInit(EventArgs e)
        {
            try
            {
                base.OnInit(e);

                jQuery.RequestDnnPluginsRegistration();

                var fileId = Convert.ToInt32(Request.Params["FileId"]);
                file = FileManager.Instance.GetFile(fileId, true);
                fileItem = controller.GetFile(fileId);
                folder = FolderManager.Instance.GetFolder(file.FolderId);

                SaveButton.Click += OnSaveClick;
                CancelButton.Click += OnCancelClick;

                if (FolderPermissionController.CanViewFolder((FolderInfo)folder))
                {
                    var mef = new ExtensionPointManager();
                    var preViewPanelExtension = mef.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "PreviewInfoPanelExtensionPoint");
                    previewPanelControl = Page.LoadControl(preViewPanelExtension.UserControlSrc);
                    PreviewPanelContainer.Controls.Add(previewPanelControl);

                    var fileFieldsExtension = mef.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "FileFieldsControlExtensionPoint");
                    fileFieldsControl = Page.LoadControl(fileFieldsExtension.UserControlSrc);
                    fileFieldsControl.ID = fileFieldsControl.GetType().BaseType.Name;
                    FileFieldsContainer.Controls.Add(fileFieldsControl);

                    PrepareFilePreviewInfoControl();
                    PrepareFileFieldsControl();

                    // Tab Extension Point
                    var tabContentControlsInstances = new List<PropertiesTabContentControl>();
                    foreach (var extension in mef.GetEditPageTabExtensionPoints("DigitalAssets", "FilePropertiesTab"))
                    {
                        if (FolderPermissionController.HasFolderPermission(folder.FolderPermissions, extension.Permission))
                        {
                            var liElement = new HtmlGenericControl("li") { InnerHtml = "<a href=\"#" + extension.EditPageTabId + "\">" + extension.Text + "</a>", };
                            liElement.Attributes.Add("class", extension.CssClass);
                            liElement.Attributes.Add("id", extension.EditPageTabId + "_tab");
                            Tabs.Controls.Add(liElement);

                            var container = new PanelTabExtensionControl { PanelId = extension.EditPageTabId };
                            var control = (PortalModuleBase)Page.LoadControl(extension.UserControlSrc);
                            control.ID = Path.GetFileNameWithoutExtension(extension.UserControlSrc);
                            control.ModuleConfiguration = ModuleConfiguration;
                            var contentControl = control as PropertiesTabContentControl;
                            if (contentControl != null)
                            {
                                contentControl.OnItemUpdated += OnItemUpdated;
                                tabContentControlsInstances.Add(contentControl);
                            }
                            container.Controls.Add(control);
                            TabsPanel.Controls.Add(container);
                        }
                    }
                    tabContentControls = tabContentControlsInstances.ToList();
                }
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }