From 1aa50242db4bd962c4bbf68e7f8eb8c003bbde9a Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期三, 29 五月 2024 17:43:12 +0800 Subject: [PATCH] 日历不可用事件界面产线筛选 --- _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonHeader_OnClick.def | 16 +++ _Main/BL/Type_LibCal_SubscriberEventColumn/Method_FilterByDatePeriod.qbl | 19 +++ _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorEndTime_OnChanged.def | 16 +++ _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def | 6 _Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl | 4 _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def | 21 ++++ _Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl | 8 _Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl | 10 +- _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def | 35 +++++++ _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def | 3 _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def | 2 _Main/BL/Type_LibCal_SubscriberEventRow/Method_FilterBySubscriberAndEventType.qbl | 17 +++ _Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Period.qbl | 7 + _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def | 3 _Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw | 57 +++++++++++ _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def | 2 _Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl | 10 +- _Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorStartTime_OnChanged.def | 16 +++ _Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl | 10 + 21 files changed, 240 insertions(+), 26 deletions(-) diff --git a/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Period.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Period.qbl new file mode 100644 index 0000000..20255d7 --- /dev/null +++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Period.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Period +{ + #keys: '3[415136.0.703300314][415136.0.703300313][415136.0.703300315]' + ValueType: Date +} diff --git a/_Main/BL/Type_LibCal_SubscriberEventColumn/Method_FilterByDatePeriod.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Method_FilterByDatePeriod.qbl new file mode 100644 index 0000000..ae7bf3d --- /dev/null +++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Method_FilterByDatePeriod.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +Method FilterByDatePeriod ( + Date start, + Date end +) declarative remote as Boolean +{ + TextBody: + [* + // 鐢勫叞楦� May-29-2024 (created) + value := false; + info( this.Index(), this.Period(), start, end ); + if( this.Index() < 2 ){ + value := true; + } + + return value; + *] +} diff --git a/_Main/BL/Type_LibCal_SubscriberEventRow/Method_FilterBySubscriberAndEventType.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/Method_FilterBySubscriberAndEventType.qbl new file mode 100644 index 0000000..10b43b0 --- /dev/null +++ b/_Main/BL/Type_LibCal_SubscriberEventRow/Method_FilterBySubscriberAndEventType.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method FilterBySubscriberAndEventType ( + LibCal_Calendars subscribers +) declarative remote as Boolean +{ + TextBody: + [* + // 鐢勫叞楦� May-29-2024 (created) + value := false; + if( exists( subscribers, Elements, e, e.CalendarID() = this.Subscriber() ) ){ + value := true; + } + + return value; + *] +} diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl index f6cf52f..c60a7d7 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl @@ -14,14 +14,14 @@ time := startTime.Format( 'M/D/Y' ); column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time ); if( isnull( column ) ){ - column := table.LibCal_SubscriberEventColumn( relnew, Name := time ); + column := table.LibCal_SubscriberEventColumn( relnew, Name := time, Period := startTime.Date() ); } duration := startTime.StartOfNextDay() - startTime; if( startTime.StartOfNextDay() > endtime ){ duration := endtime - startTime; } - info( startTime, column.Name(), duration.AsQUILL(), duration.HoursAsReal() ); + // info( startTime, column.Name(), duration.AsQUILL(), duration.HoursAsReal() ); cell := column.LibCal_SubscriberEventCell( relnew, Value := [String]duration.HoursAsReal() ); row.LibCal_SubscriberEventCell( relinsert, cell ); } diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl index 987faba..8010e2b 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl @@ -10,14 +10,14 @@ TextBody: [* // 鐢勫叞楦� May-29-2024 (created) - for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfMonth() ){ - time := startTime.Format( 'M/D/Y' ); + for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextMonth() ){ + time := startTime; if( starttime = startTime ){ - time := startTime.StartOfMonth().Format( 'M/D/Y' ); + time := startTime.StartOfMonth(); } - column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time ); + column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time.Format( 'M/D/Y' ) ); if( isnull( column ) ){ - column := table.LibCal_SubscriberEventColumn( relnew, Name := time ); + column := table.LibCal_SubscriberEventColumn( relnew, Name := time.Format( 'M/D/Y' ), Period := time.Date() ); } duration := startTime.StartOfNextMonth() - startTime; diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl index 58fb472..61af153 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl @@ -22,15 +22,17 @@ traverse( subscribers, Elements, subscriber ){ // info( '------------------------', subscriber.CalendarID(), subscriber.CalendarType() ); // traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation ){ - traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory().Name() = 'Unavailable' ){ + traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory() = category ){ // info( '------------------------', participation.Event().Subject(), '------', participation.Event().EventCategory().Name() ); event := participation.Event(); row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() and row.Event() = event.Subject() and row.EventType() = event.EventType() ); if( isnull( row ) ){ row := this.LibCal_SubscriberEventRow( relnew, RowNr := rownr, Subscriber := subscriber.CalendarID(), Event := event.Subject(), EventType := event.EventType() ); - subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); - row.LibCal_SubscriberEventCell( relinsert, subscribercell ); + if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) = 1 ){ + subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); + row.LibCal_SubscriberEventCell( relinsert, subscribercell ); + } eventcell := eventcolumn.LibCal_SubscriberEventCell( relnew, Value := row.Event() ); row.LibCal_SubscriberEventCell( relinsert, eventcell ); @@ -39,7 +41,7 @@ endTime := participation.EndDate().DateTime( timezone ).AddAsPeriod( timezone, event.EndTimeOfDay() ); startTime := participation.StartDate().DateTime( timezone ).AddAsPeriod( timezone, event.StartTimeOfDay() ); - // info( participation.StartDate().DateTime( timezone ).AddAsPeriod( timezone, event.StartTimeOfDay() ), endTime ); + // info( this.ID(), startTime, endTime ); if( this.ID() = 'Day' ){ this.InitializeDay( this, row, startTime, endTime ); }else if( this.ID() = 'Week' ){ diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl index ada804b..d1da787 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl @@ -11,20 +11,20 @@ [* // 鐢勫叞楦� May-29-2024 (created) for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextWeek() ){ - time := startTime.Format( 'M/D/Y' ); + time := startTime; if( starttime = startTime ){ - time := startTime.StartOfWeek().Format( 'M/D/Y' ); + time := startTime.StartOfWeek(); } - column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time ); + column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time.Format( 'M/D/Y' ) ); if( isnull( column ) ){ - column := table.LibCal_SubscriberEventColumn( relnew, Name := time ); + column := table.LibCal_SubscriberEventColumn( relnew, Name := time.Format( 'M/D/Y' ), Period := time.Date() ); } duration := startTime.StartOfNextWeek() - startTime; if( startTime.StartOfNextWeek() > endtime ){ duration := endtime - startTime; } - info( startTime, column.Name(), duration.AsQUILL(), duration.HoursAsReal() ); + // info( startTime, column.Name(), duration.AsQUILL(), duration.HoursAsReal() ); cell := column.LibCal_SubscriberEventCell( relnew, Value := [String]duration.HoursAsReal() ); row.LibCal_SubscriberEventCell( relinsert, cell ); } diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl index d5761f6..bbeff88 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl @@ -2,7 +2,8 @@ #parent: #root StaticMethod InitializeTable ( LibCal_Calendars subscribers, - LibCal_Calendar owner + LibCal_Calendar owner, + LibCal_EventCategory category ) { TextBody: @@ -13,10 +14,9 @@ owner.LibCal_SubscriberEventTable( relnew, ID := 'Week', Name := 'Week' ); owner.LibCal_SubscriberEventTable( relnew, ID := 'Month', Name := 'Month' ); } - category_i := selectobject( owner,CalendarRegistry.EventCategory, category, category.Name() = 'Unavaliable' ); - info('-----------------------------', owner.LibCal_SubscriberEventTable( relsize ), subscribers.Size(), isnull( category_i ) ); + info('-----------------------------', owner.LibCal_SubscriberEventTable( relsize ), subscribers.Size(), isnull( category ) ); traverse( owner, LibCal_SubscriberEventTable, table ){ - table.InitializeTable( subscribers, category_i ); + table.InitializeTable( subscribers, category ); } *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def index 315c1ec..4a8f9f1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def @@ -45,6 +45,8 @@ Properties: [ DataType: 'LibCal_SubscriberEventTable' + FilterArguments: 'subscribers:dhSubscribers' + FixedFilter: 'object.FilterBySubscriberAndEventType( subscribers )' Source: 'dhTable' Taborder: 0 Transformation: 'LibCal_SubscriberEventRow' @@ -71,6 +73,7 @@ Properties: [ DataType: 'LibCal_SubscriberEventTable' + FilterArguments: 'starttime:dhStartDate;endtime:dhEndDate' Source: 'dhTable' Taborder: 0 Transformation: 'LibCal_SubscriberEventColumn' diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def index d4f8734..46c190a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def @@ -12,6 +12,6 @@ [ FixedSize: true Orientation: 'horizontal' - Taborder: 0 + Taborder: 2 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def index bf94026..907d686 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def @@ -7,6 +7,41 @@ [ #child: PanelCalendarSearchList #child: PanelCalendarUnavailableEventSearchList + Component dhCalendar + { + #keys: '[415136.0.701850574]' + BaseType: 'WebDataHolder' + Databinding: 'LibCal_Calendar' + Children: + [ + Component deCalendar + { + #keys: '[415136.0.701850618]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'LibCal_CalendarRegistry' + Source: 'LibCal_GlobalState.dhGlobalCalendarRegistry' + Taborder: 0 + Transformation: 'CommonCalendar' + ] + } + ] + Properties: + [ + Taborder: 0 + ] + } + Component dhCategory + { + #keys: '[415136.0.701811642]' + BaseType: 'WebDataHolder' + Databinding: 'LibCal_EventCategory' + Properties: + [ + Taborder: 1 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def index d2d3188..eedf788 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def @@ -10,6 +10,6 @@ ] Properties: [ - Taborder: 1 + Taborder: 3 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def index 34f400d..72e7e87 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def @@ -21,10 +21,31 @@ BaseType: 'WebDateSelector' Properties: [ + Date: 9999-12-31 Label: 'End time' Taborder: 1 ] } + Component dhStartDate id:dhStartDate_529 + { + #keys: '[415136.0.701820404]' + BaseType: 'WebDataHolder' + Databinding: 'Date' + Properties: + [ + Taborder: 2 + ] + } + Component dhEndDate id:dhEndDate_480 + { + #keys: '[415136.0.701820426]' + BaseType: 'WebDataHolder' + Databinding: 'Date' + Properties: + [ + Taborder: 3 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def index e05da75..cdc74a7 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def @@ -7,6 +7,7 @@ [* owner_i := LibCal_GlobalState.dhGlobalCalendarRegistry().Data().CommonCalendar(); category_i := selectobject( owner_i,CalendarRegistry.EventCategory, category, category.Name() = 'Unavaliable' ); + dhCategory.Data(category_i); sEvent := owner_i.Event( relshadow, EventID := [String]Key::NextPersistentKey(), @@ -32,5 +33,7 @@ } dhPotentialSubscribers.Data( &potentialSubscribers ); + + lstSubscribers.CheckAll(); *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorEndTime_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorEndTime_OnChanged.def new file mode 100644 index 0000000..4e64dd2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorEndTime_OnChanged.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelDate/DateSelectorEndTime_819 +Response OnChanged () id:Response_PanelDate_DateSelectorEndTime_OnChanged +{ + #keys: '[415136.0.701820524]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + QuillAction + { + Body: + [* + dhEndDate.Data(this.Date()); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorStartTime_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorStartTime_OnChanged.def new file mode 100644 index 0000000..d99c1d8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorStartTime_OnChanged.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelDate/DateSelectorStartTime_806 +Response OnChanged () id:Response_PanelDate_DateSelectorStartTime_OnChanged +{ + #keys: '[415136.0.701820445]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' + QuillAction + { + Body: + [* + dhStartDate.Data(this.Date()); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonHeader_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonHeader_OnClick.def new file mode 100644 index 0000000..d5d9e0a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonHeader_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelExport/ButtonHeader_763 +Response OnClick () id:Response_PanelExport_ButtonHeader_OnClick +{ + #keys: '[415136.0.676930317]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + info( '--------------------------------', dhStartDate.Data(), dhEndDate.Data() ) + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def index 6268e8a..e275403 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def @@ -9,7 +9,7 @@ { Body: [* - LibCal_SubscriberEventTable::InitializeTable( dhPotentialSubscribers.Data(), LibCal_GlobalState.dhGlobalCalendarRegistry().Data().CommonCalendar() ); + LibCal_SubscriberEventTable::InitializeTable( dhPotentialSubscribers.Data(), dhCalendar.Data(), dhCategory.Data() ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def index ecc9001..833c721 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def @@ -10,9 +10,11 @@ Body: [* owner_i := LibCal_GlobalState.dhGlobalCalendarRegistry().Data().CommonCalendar(); + if( owner_i.LibCal_SubscriberEventTable( relsize ) < 1 ){ + LibCal_SubscriberEventTable::InitializeTable( dhPotentialSubscribers.Data(), dhCalendar.Data(), dhCategory.Data() ); + } table := selectobject( owner_i, LibCal_SubscriberEventTable, table, table.ID() = this.BoundValue() ); - info( isnull( owner_i ), isnull( table ), this.BoundValue() ); - info( '------------------------', owner_i.CalendarID(), table.Name() ); + dhTable.Data( table ); *] GroupServerCalls: false diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def index 24264e2..363759b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def @@ -12,7 +12,7 @@ Body: [* subscribers := checkeditems.Copy(); - + subscribers.Sort( attribute( LibCal_Calendar, CalendarID ), true ); dhSubscribers.Data( &subscribers ); *] GroupServerCalls: false diff --git a/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw index b87868f..6391363 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw @@ -59,10 +59,67 @@ { sizeRatio: 1 } + FormCalendarUnavailableEvent_PanelDate + { + sizeRatio: 1 + } + FormCalendarUnavailableEvent_PanelPeriods + { + sizeRatio: 1 + } + FormCalendarUnavailableEvent_PanelExport + { + sizeRatio: 1 + } FormCalendarUnavailableEvent_PanelList { sizeRatio: 1 } + FormCalendarUnavailableEvent_MatrixEditorTable + { + gridColor: '#c4c4c4' + totalHeaderWidth: 37 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 238 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormCalendarUnavailableEvent.MatrixEditorTable' + state + { + cells + { + attributes + { + attribute_Value + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Value' + } + } + } + columns + { + sorting + { + criteria: "datamember:'Index'" + } + } + rows + { + sorting + { + criteria: "datamember:'RowNr'" + } + } + } + } + } } } } -- Gitblit v1.9.3