public void Build() { InitClientID.Value = this.ClientID; InitEnableEffects.Value = ((Master.DsiPage)Page).Url["Animate"].Exists ? "true" : "false"; int musicTypeK = Prefs.Current["MusicPref"].IsNull ? 1 : (int)Prefs.Current["MusicPref"]; EventPageStub data = new EventPageStub(ObjectType, ObjectK, TabType.Future, musicTypeK, 0, 0, null); EventSet es = Event.GetEventSetFromEventBoxKey(EventPageDetails.GetKeyStatic(data)); EventPageDetails firstPage = new EventPageDetails( this.ClientID, es, data, false); firstPage.Selected = true; firstPage.Events[0].Selected = true; EventIconsHolder.Controls.Clear(); EventIconsHolder.Controls.Add(new LiteralControl(firstPage.Html.ToHtml())); EventInfoHolderOuter.Controls.Clear(); EventInfoHolderOuter.Controls.Add(new LiteralControl(firstPage.Events[0].Html.ToHtmlInfo())); InitFirstPage.Value = firstPage.Serialize(); }
public EventPageStub GetEventPage(string key) { //int rndK = new Random().Next(190000); //Query q = new Query(); //q.QueryCondition = new And( // new Q(Event.Columns.Pic, QueryOperator.IsNotNull, null), // new Q(Event.Columns.Pic, QueryOperator.NotEqualTo, Guid.Empty), // new Q(Event.Columns.K, QueryOperator.GreaterThan, rndK), // new Q(Event.Columns.K, QueryOperator.LessThan, rndK + 1000) //); //q.OrderBy = new OrderBy(Event.Columns.UsrAttendCount, OrderBy.OrderDirection.Descending); //q.TopRecords = 8; //EventSet es = new EventSet(q); try { EventPageStub data = EventPageDetails.GetStubFromKey(key); int currentMusicPref = Prefs.Current["MusicPref"].Exists || Prefs.Current["MusicPref"].IsInt ? (int)Prefs.Current["MusicPref"] : 1; if (data.musicTypeK != currentMusicPref) Prefs.Current["MusicPref"] = data.musicTypeK; EventSet es = Event.GetEventSetFromEventBoxKey(key); data.requestedPageIndex = data.pageIndex; data.pageIndex = es.Paging.ReturnedPageIndex; EventPageDetails page = new EventPageDetails( "", es, data, false); return page.Data; } catch (Exception ex) { throw ex; } }
public EventPageHtml(EventPageDetails details) { Details = details; HolderClientID = Details.ParentClientID + "_EventPage_" + Details.GetKey() + "_Holder"; }
/// <summary> /// Anything that affects the DOM goes in here. /// </summary> void initialise() { jQuery.Window.Bind("hashchange", Application_Navigate); //Application.Navigate += new HistoryEventHandler(Application_Navigate); #region Initialisation variables ClientID = View.InitClientID.Value; EnableEffects = bool.Parse(View.InitEnableEffects.Value); #endregion #region JQuery handles EventInfoHolderOuterJ = View.EventInfoHolderOuterJ; #endregion View.EventIconsNavigationForwardHolderJ.Click(pageChangeForwardClick); View.EventIconsNavigationBackHolderJ.Click(pageChangeBackClick); View.MusicDropDownControl.View.DropDownJ.Change(musicChangeClick); View.PastEventsTabJ.Click(tabClickPast); View.FutureEventsTabJ.Click(tabClickFuture); View.TicketsTabJ.Click(tabClickTickets); #region Event data cache, and initialise first page from json data in the page EventPageCache = new Dictionary<object, object>(); EventPageStub firstPageData = ((EventPageStub[])Script.Eval(" [ " + View.InitFirstPage.Value + " ] "))[0]; EventPageDetails firstPage = new EventPageDetails(this, firstPageData, false); firstPage.Selected = true; firstPage.Html.InitialiseElements(true, false, false, true, true, false, true); for (int i = 0; i < firstPage.Events.Length; i++) { firstPage.Events[i].ChangeSelectedState(i == 0, false, ""); } CurrentlySelectedEvent = firstPage.Events[0]; #endregion EventPageCache[firstPage.GetKey()] = firstPage; #region Set initial page spec InitParentObjectType = firstPage.Data.parentObjectType; InitParentObjectK = firstPage.Data.parentObjectK; InitTabType = firstPage.Data.tabType; InitMusicTypeK = firstPage.Data.musicTypeK; InitPageIndex = firstPage.Data.pageIndex; #endregion #region Set initial and current page spec - this should be done by looking at the page hash state data... CurrentParentObjectType = InitParentObjectType; CurrentParentObjectK = InitParentObjectK; CurrentTabType = InitTabType; CurrentMusicTypeK = InitMusicTypeK; CurrentPageIndex = InitPageIndex; #endregion if (Misc.BrowserIsIE) { jQueryHistory.PushState(new Dictionary<object, object>()); //Application.AddHistoryPoint(new Dictionary<object, object>()); } }
void updatePage(EventPageDetails newPage) { string key = newPage.GetKey(); if (EventPageCache[key] != null) { EventPageDetails page = (EventPageDetails)EventPageCache[key]; if (page.HasIncompleteEventData) { if (page.Selected) newPage.Selected = true; bool selectedEventIsOnThisPage = false; for (int i = 0; i < 8; i++) { if (page.Events[i].Selected) { newPage.Events[i].Selected = true; CurrentlySelectedEvent = newPage.Events[i]; selectedEventIsOnThisPage = true; } } newPage.Html.InitialiseElements(true, false, false, true, false, false, true); // just initialise elements (from old html) newPage.Html.InitialiseElements(false, false, true, true, false, true, true); // now refresh new contents html if (selectedEventIsOnThisPage) { //if (EnableEffects) // PerformOrQueueAnimationTask(new Action[] { new Action(delegate() { CurrentlySelectedEvent.Html.ResizeInfoHolderAnimate(); }) }, "ResizeInfoHolderAnimate"); //else CurrentlySelectedEvent.Html.ResizeInfoHolderImmediate(); } } else return; } else { newPage.Html.InitialiseElements(true, true, false, true, true, false, true); } EventPageCache[key] = newPage; }
public void gotEventPage(object o, EventArgs e) { if (o != null) { EventPageStub stub = (EventPageStub)o; { EventPageDetails newPage = new EventPageDetails(this, stub, false); updatePage(newPage); } if (stub.requestedPageIndex != stub.pageIndex) { //find requested page and mark it as empty... EventPageStub requestedStub = new EventPageStub( stub.parentObjectType, stub.parentObjectK, stub.tabType, stub.musicTypeK, stub.requestedPageIndex, stub.requestedPageIndex, null); EventPageDetails requestedPage = new EventPageDetails(this, requestedStub, false); updatePage(requestedPage); } } }
void restorePageState(string key) { if (key == null) { EventPageDetails d = new EventPageDetails(this, new EventPageStub(InitParentObjectType, InitParentObjectK, InitTabType, InitMusicTypeK, InitPageIndex, InitPageIndex, null), false); key = d.GetKey(); } #region Get the event page to the right place if (CurrentEventPage.GetKey() == key) return; CurrentEventPage.ChangeSelectedState(false, false, ""); EventPageStub s = EventPageDetails.GetStubFromKey(key); CurrentParentObjectType = s.parentObjectType; CurrentParentObjectK = s.parentObjectK; CurrentMusicTypeK = s.musicTypeK; CurrentTabType = s.tabType; CurrentPageIndex = s.pageIndex; CurrentEventPage.ChangeSelectedState(true, false, ""); ChangeEventNow(CurrentEventPage.Events[0], false, ""); #endregion #region Set the music-type drop-down View.MusicDropDownControl.View.DropDown.Value = CurrentMusicTypeK.ToString(); #endregion #region Set the future / past events tabs updateTabsUI(); #endregion }