예제 #1
0
        public void HidePanel()
        {
            Visible = false;

            if (Editable && CurrentGroup != null)
            {
                if (ContainsTexts())
                {
                    SaveGroup();
                }
                else
                {
                    DeleteGroup();
                }
            }

            NameTextBox.Visible = false;

            isNewGroup = false;

            Editable = false;

            CurrentGroup    = null;
            CurrentListItem = null;
        }
예제 #2
0
        /// *************************** PUBLIC METHODS ******************************

        public void ShowPanel(CarbolistItem groupListItem, bool isNewGroup = false)
        {
            Visible = true;

            CurrentListItem = groupListItem;
            CurrentGroup    = groupListItem.Data as Group;

            NameLabel.Text          = NameTextBox.Text = CurrentGroup.Name;
            DescriptionTextBox.Text = CurrentGroup.Description;

            string memberList = "";

            foreach (User p in CurrentGroup.Users)
            {
                memberList += p.Name + Environment.NewLine;
            }

            MemberListLabel.Text = memberList;

            if (isNewGroup)
            {
                MemberTitleLabel.Visible = false;
            }
            else
            {
                MemberTitleLabel.Visible = true;

                if (MemberListLabel.Text == "")
                {
                    MemberListLabel.Text = "No Members Yet";
                }
            }

            this.isNewGroup = isNewGroup;
        }
예제 #3
0
        public void HidePanel()
        {
            Visible = false;

            if (Editable && CurrentMeeting != null)
            {
                if (ContainsTexts())
                {
                    SaveMeeting();
                }
                else
                {
                    DeleteMeeting();
                }
            }

            NameTextBox.Visible = false;

            isNewMeeting = false;

            Editable = false;

            CurrentMeeting  = null;
            CurrentListItem = null;
        }
예제 #4
0
        /// *************************** PUBLIC METHODS ******************************

        public void ShowPanel(CarbolistItem meetingListItem, bool isNewMeeting = false)
        {
            Visible = true;

            CurrentListItem = meetingListItem;
            CurrentMeeting  = meetingListItem.Data as Meeting;

            NameLabel.Text            = NameTextBox.Text = CurrentMeeting.Name;
            ParentGroupNameLabel.Text = $"Meeting of {CurrentMeeting.Group.Name}";
            DescriptionTextBox.Text   = CurrentMeeting.Description;

            this.isNewMeeting = isNewMeeting;
        }
예제 #5
0
        /// ******************************* EVENTS **********************************

        protected void OnGroupListSelect(CarbolistItem target)
        {
            if (target.Selected)             // user selected a group
            {
                if (target.Data == SelectedGroup)
                // user deselected a group, then selected the same group again
                {
                    MeetingList.DeselectItem();
                }
                else                 // user selected another group
                {
                    // refresh the meeting and post orders in the group that was selected before
                    UpdateMeetingOrders();
                    UpdatePostOrders();

                    // update selected group reference
                    SelectedGroup = target.Data as Group;

                    // hide post list
                    HidePostList();

                    // refresh meeting list items
                    MeetingList.RemoveAllItems();
                    MeetingList.AddItemsBy("Name", SelectedGroup.Meetings);

                    GroupPanel.HidePanel();
                }

                GroupPanel.ShowPanel(target);

                SelectedMeeting = null;
                SelectedPost    = null;

                ShowMeetingList();
                HideMeetingPanel();

                //tra.ce(SelectedGroup.Name, SelectedGroup.Description);
            }
            else             // user deselcted a group
            {
                UpdateMeetingOrders();
                UpdatePostOrders();

                HideMeetingList();
                HidePostList();

                GroupPanel.HidePanel();
            }
        }
예제 #6
0
        protected void OnPostListSelect(CarbolistItem target)
        {
            PostPanel.HidePanel();

            if (target.Selected)
            {
                SelectedPost = target.Data as Post;

                // show details of current selected post
                ShowPostPanel(target);
            }
            else
            {
                SelectedPost = null;

                HidePostPanel();
            }
        }
예제 #7
0
        /// *************************** PUBLIC METHODS ******************************

        public void ShowPanel(CarbolistItem postListItem, bool isNewPost = false)
        {
            Visible = true;

            CurrentListItem = postListItem;
            CurrentPost     = postListItem.Data as Post;

            TitleTextBox.Text   = CurrentPost.Title;
            ContentTextBox.Text = CurrentPost.Content;

            DateLabel.Text = CurrentPost.Date.ToLongDateString();

            AuthorLabel.Text = $"{CurrentPost.Meeting.Group.Name}: {CurrentPost.Meeting.Name}";

            this.isNewPost = isNewPost;

            // ###### TESTING AREA ######
        }
예제 #8
0
        protected void OnMeetingListSelect(CarbolistItem target)
        {
            //tra.ce(target.Name, target.Selected);

            if (target.Selected)             // user selected a meeting
            {
                if (target.Data == SelectedMeeting)
                // user deselected a meeting, then selected the same meeting again
                {
                    PostList.DeselectItem();
                }
                else
                {
                    // refresh post order in selected meeting
                    UpdatePostOrders();

                    SelectedMeeting = target.Data as Meeting;

                    // refresh post list items
                    PostList.RemoveAllItems();
                    PostList.AddItemsBy("Title", SelectedMeeting.Posts);

                    HideMeetingPanel();
                }

                ShowMeetingPanel(target);

                SelectedPost = null;

                ShowPostList();
                HidePostPanel();

                //tra.ce(SelectedMeeting.Name, SelectedMeeting.Description);
            }
            else
            {
                UpdatePostOrders();

                HidePostList();
                HideMeetingPanel();
            }
        }
예제 #9
0
        public void HidePanel()
        {
            Visible = false;

            if (Editable && CurrentPost != null)
            {
                if (ContainsTexts())
                {
                    SavePost();
                }
                else
                {
                    DeletePost();
                }
            }

            isNewPost = false;

            Editable = false;

            CurrentPost     = null;
            CurrentListItem = null;
        }
예제 #10
0
        public void ShowPostPanel(CarbolistItem listItem, bool isNew = false)
        {
            PostPanel.ShowPanel(listItem, isNew);

            MeetingPanel.Visible = false;
        }
예제 #11
0
        public void ShowMeetingPanel(CarbolistItem listItem, bool isNew = false)
        {
            MeetingPanel.ShowPanel(listItem, isNew);

            GroupPanel.Visible = false;
        }