From 6fa6f627b1706561e0d11b44be45dbc35bba5d41 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期三, 29 五月 2024 19:44:12 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_LibCal_SubscriberEventRow/_ROOT_Type_LibCal_SubscriberEventRow.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorEndTime_OnChanged.def | 16
_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_Name.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def | 56 ++
_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_ID.qbl | 8
_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl | 22 +
_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl | 32 +
_Main/BL/Relations/Relation_LibCal_Calendar_LibCal_SubscriberEventTable_LibCal_SubscriberEventT.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixeditorContextMenuTable.def | 10
_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_EventType.qbl | 8
_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_RowName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_mnDelete_OnClick.def | 26 +
_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Subscriber.qbl | 8
_Main/BL/Type_LibCal_SubscriberEventColumn/Method_FilterByDatePeriod.qbl | 19
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def | 22 +
_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventColumn_LibCal_Sub.qbl | 26 +
_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl | 29 +
_Main/BL/Type_LibCal_Calendar/_ROOT_Type_LibCal_Calendar.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelPeriods.def | 29 +
_Main/BL/Type_LibCal_SubscriberEventCell/Attribute_Value.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def | 100 ++++
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_OnCreated.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def | 16
_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventColumn_LibCal_Subs.qbl | 26 +
_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Period.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def | 5
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_pnlSubscribers#549.def | 49 ++
_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw | 140 ++++++
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEventSearchList.def | 2
_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Index.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixEditorActionBarPageTable.def | 10
_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl | 32 +
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelList.def | 15
_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Name.qbl | 8
_Main/BL/Type_LibCal_SubscriberEventColumn/Function_CalcIndex.qbl | 13
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelExport.def | 35 +
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnSelectionChanged.def | 32 +
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_lstSubscribers.def | 61 ++
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarUnavailableEvent.def | 35 +
_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_RowNr.qbl | 8
_Main/BL/Type_LibCal_SubscriberEventCell/_ROOT_Type_LibCal_SubscriberEventCell.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_ListList.def | 2
_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventRow_LibCal_Subscri.qbl | 23 +
_Main/BL/Type_LibCal_SubscriberEventRow/Method_FilterBySubscriberAndEventType.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuCapacities_MenuCapacitiesUnavailableEvent_O.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def | 39 +
_Main/BL/Type_LibCal_SubscriberEventColumn/_ROOT_Type_LibCal_SubscriberEventColumn.qbl | 10
_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Event.qbl | 8
_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventRow_LibCal_Subscr.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonHeader_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_cmSubscribers.def | 24 +
/dev/null | 10
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarEventTypes.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelHeader.def | 7
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_abpListSubscribers.def | 10
_Main/BL/Type_LibCal_SubscriberEventTable/_ROOT_Type_LibCal_SubscriberEventTable.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelDate_DateSelectorStartTime_OnChanged.def | 16
_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl | 56 ++
59 files changed, 1,295 insertions(+), 14 deletions(-)
diff --git a/_Main/BL/Relations/Relation_LibCal_Calendar_LibCal_SubscriberEventTable_LibCal_SubscriberEventT.qbl b/_Main/BL/Relations/Relation_LibCal_Calendar_LibCal_SubscriberEventTable_LibCal_SubscriberEventT.qbl
new file mode 100644
index 0000000..6331a56
--- /dev/null
+++ b/_Main/BL/Relations/Relation_LibCal_Calendar_LibCal_SubscriberEventTable_LibCal_SubscriberEventT.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation LibCal_Calendar_LibCal_SubscriberEventTable_LibCal_SubscriberEventTable_LibCal_Calendar
+{
+ #keys: '1[415136.0.671975041]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide LibCal_SubscriberEventTable
+ {
+ #keys: '3[415136.0.671975043][415136.0.671975042][415136.0.671975044]'
+ Cardinality: '1toN'
+ ObjectDefinition: LibCal_Calendar
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide LibCal_Calendar
+ {
+ #keys: '3[415136.0.671975046][415136.0.671975045][415136.0.671975047]'
+ Cardinality: '0to1'
+ ObjectDefinition: LibCal_SubscriberEventTable
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventColumn_LibCal_Subs.qbl b/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventColumn_LibCal_Subs.qbl
new file mode 100644
index 0000000..8d66f99
--- /dev/null
+++ b/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventColumn_LibCal_Subs.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+Relation LibCal_SubscriberEventCell_LibCal_SubscriberEventColumn_LibCal_SubscriberEventColumn_LibCal_SubscriberEventCell
+{
+ #keys: '1[415136.0.671975141]'
+ ProceduralSequenceRelationStrategy
+ {
+ #keys: '13[0.0.0][415136.0.671975193][415136.0.671975187][415136.0.671975194][415136.0.671975188][415136.0.671975195][415136.0.671975189][415136.0.671975196][415136.0.671975190][415136.0.671975197][415136.0.671975191][415136.0.671975198][415136.0.671975192]'
+ SequenceElementSuffix: 'CellInColumn'
+ SequenceSuffix: 'CellInColumn'
+ }
+ RelationSide.LeftSide LibCal_SubscriberEventColumn
+ {
+ #keys: '3[415136.0.671975143][415136.0.671975142][415136.0.671975144]'
+ Cardinality: '0to1'
+ ObjectDefinition: LibCal_SubscriberEventCell
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide LibCal_SubscriberEventCell
+ {
+ #keys: '3[415136.0.671975146][415136.0.671975145][415136.0.671975147]'
+ Cardinality: '1toN'
+ ObjectDefinition: LibCal_SubscriberEventColumn
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventRow_LibCal_Subscri.qbl b/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventRow_LibCal_Subscri.qbl
new file mode 100644
index 0000000..567256c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_LibCal_SubscriberEventCell_LibCal_SubscriberEventRow_LibCal_Subscri.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation LibCal_SubscriberEventCell_LibCal_SubscriberEventRow_LibCal_SubscriberEventRow_LibCal_SubscriberEventCell
+{
+ #keys: '1[415136.0.671975174]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide LibCal_SubscriberEventRow
+ {
+ #keys: '3[415136.0.671975176][415136.0.671975175][415136.0.671975177]'
+ Cardinality: '0to1'
+ ObjectDefinition: LibCal_SubscriberEventCell
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide LibCal_SubscriberEventCell
+ {
+ #keys: '3[415136.0.671975179][415136.0.671975178][415136.0.671975180]'
+ Cardinality: '1toN'
+ ObjectDefinition: LibCal_SubscriberEventRow
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventColumn_LibCal_Sub.qbl b/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventColumn_LibCal_Sub.qbl
new file mode 100644
index 0000000..8626761
--- /dev/null
+++ b/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventColumn_LibCal_Sub.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+Relation LibCal_SubscriberEventTable_LibCal_SubscriberEventColumn_LibCal_SubscriberEventColumn_LibCal_SubscriberEventTable
+{
+ #keys: '1[415136.0.671975067]'
+ ProceduralSequenceRelationStrategy
+ {
+ #keys: '13[0.0.0][415136.0.671975160][415136.0.671975154][415136.0.671975161][415136.0.671975155][415136.0.671975162][415136.0.671975156][415136.0.671975163][415136.0.671975157][415136.0.671975164][415136.0.671975158][415136.0.671975165][415136.0.671975159]'
+ SequenceElementSuffix: 'Column'
+ SequenceSuffix: 'Column'
+ }
+ RelationSide.LeftSide LibCal_SubscriberEventColumn
+ {
+ #keys: '3[415136.0.671975069][415136.0.671975068][415136.0.671975070]'
+ Cardinality: '1toN'
+ ObjectDefinition: LibCal_SubscriberEventTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide LibCal_SubscriberEventTable
+ {
+ #keys: '3[415136.0.671975072][415136.0.671975071][415136.0.671975073]'
+ Cardinality: '0to1'
+ ObjectDefinition: LibCal_SubscriberEventColumn
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventRow_LibCal_Subscr.qbl b/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventRow_LibCal_Subscr.qbl
new file mode 100644
index 0000000..aa1813b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_LibCal_SubscriberEventTable_LibCal_SubscriberEventRow_LibCal_Subscr.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation LibCal_SubscriberEventTable_LibCal_SubscriberEventRow_LibCal_SubscriberEventRow_LibCal_SubscriberEventTable
+{
+ #keys: '1[415136.0.671975080]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide LibCal_SubscriberEventRow
+ {
+ #keys: '3[415136.0.671975082][415136.0.671975081][415136.0.671975083]'
+ Cardinality: '1toN'
+ ObjectDefinition: LibCal_SubscriberEventTable
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide LibCal_SubscriberEventTable
+ {
+ #keys: '3[415136.0.671975085][415136.0.671975084][415136.0.671975086]'
+ Cardinality: '0to1'
+ ObjectDefinition: LibCal_SubscriberEventRow
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_LibCal_Calendar/_ROOT_Type_LibCal_Calendar.qbl b/_Main/BL/Type_LibCal_Calendar/_ROOT_Type_LibCal_Calendar.qbl
new file mode 100644
index 0000000..9954fa6
--- /dev/null
+++ b/_Main/BL/Type_LibCal_Calendar/_ROOT_Type_LibCal_Calendar.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type LibCal_Calendar #extension
+{
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventCell/Attribute_Value.qbl b/_Main/BL/Type_LibCal_SubscriberEventCell/Attribute_Value.qbl
new file mode 100644
index 0000000..52c06e3
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventCell/Attribute_Value.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Value
+{
+ #keys: '3[415136.0.671975132][415136.0.671975131][415136.0.671975133]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventCell/_ROOT_Type_LibCal_SubscriberEventCell.qbl b/_Main/BL/Type_LibCal_SubscriberEventCell/_ROOT_Type_LibCal_SubscriberEventCell.qbl
new file mode 100644
index 0000000..eb5f4a1
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventCell/_ROOT_Type_LibCal_SubscriberEventCell.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type LibCal_SubscriberEventCell
+{
+ #keys: '5[415136.0.671975128][415136.0.671975126][0.0.0][415136.0.671975127][415136.0.671975129]'
+ BaseType: Object
+ Description: '鏃ュ巻涓嶅彲鐢ㄤ簨浠惰〃鐨勫崟鍏冩牸'
+ StructuredName: 'LibCal_SubscriberEventCells'
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Index.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Index.qbl
new file mode 100644
index 0000000..9f9b90f
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Index.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Index
+{
+ #keys: '3[415136.0.671975104][415136.0.671975103][415136.0.671975105]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Name.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Name.qbl
new file mode 100644
index 0000000..cc1f250
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_Name.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[415136.0.671975094][415136.0.671975093][415136.0.671975095]'
+ Description: '鍚嶇О'
+ ValueType: String
+}
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/Attribute_RowName.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_RowName.qbl
new file mode 100644
index 0000000..18f8e87
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Attribute_RowName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowName
+{
+ #keys: '3[415136.0.674522587][415136.0.674522586][415136.0.674522588]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventColumn/Function_CalcIndex.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/Function_CalcIndex.qbl
new file mode 100644
index 0000000..3c88455
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/Function_CalcIndex.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIndex
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-28-2024 (created)
+
+ value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 )
+
+ this.Index( value );
+ *]
+}
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_SubscriberEventColumn/_ROOT_Type_LibCal_SubscriberEventColumn.qbl b/_Main/BL/Type_LibCal_SubscriberEventColumn/_ROOT_Type_LibCal_SubscriberEventColumn.qbl
new file mode 100644
index 0000000..8e692f1
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventColumn/_ROOT_Type_LibCal_SubscriberEventColumn.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type LibCal_SubscriberEventColumn
+{
+ #keys: '5[415136.0.671975059][415136.0.671975057][0.0.0][415136.0.671975058][415136.0.671975060]'
+ BaseType: Object
+ Description: '鏃ュ巻涓嶅彲鐢ㄤ簨浠惰〃鐨勫垪'
+ StructuredName: 'LibCal_SubscriberEventColumns'
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Event.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Event.qbl
new file mode 100644
index 0000000..40c3b95
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Event.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Event
+{
+ #keys: '3[415136.0.675350014][415136.0.675350013][415136.0.675350015]'
+ Description: '浜嬩欢'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_EventType.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_EventType.qbl
new file mode 100644
index 0000000..3352d3d
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_EventType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EventType
+{
+ #keys: '3[415136.0.675350024][415136.0.675350023][415136.0.675350025]'
+ Description: '浜嬩欢绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_RowNr.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_RowNr.qbl
new file mode 100644
index 0000000..d1182a6
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_RowNr.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowNr
+{
+ #keys: '3[415136.0.671975114][415136.0.671975113][415136.0.671975115]'
+ IsReadOnly: true
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Subscriber.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Subscriber.qbl
new file mode 100644
index 0000000..ab40273
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventRow/Attribute_Subscriber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Subscriber
+{
+ #keys: '3[415136.0.671975222][415136.0.671975221][415136.0.671975223]'
+ Description: '浜х嚎'
+ ValueType: String
+}
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_SubscriberEventRow/_ROOT_Type_LibCal_SubscriberEventRow.qbl b/_Main/BL/Type_LibCal_SubscriberEventRow/_ROOT_Type_LibCal_SubscriberEventRow.qbl
new file mode 100644
index 0000000..f4dfaba
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventRow/_ROOT_Type_LibCal_SubscriberEventRow.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type LibCal_SubscriberEventRow
+{
+ #keys: '5[415136.0.671975064][415136.0.671975062][0.0.0][415136.0.671975063][415136.0.671975065]'
+ BaseType: Object
+ Description: '鏃ュ巻涓嶅彲鐢ㄤ簨浠惰〃鐨勮'
+ StructuredName: 'LibCal_SubscriberEventRows'
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_ID.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_ID.qbl
new file mode 100644
index 0000000..0d0a699
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[415136.0.671975032][415136.0.671975031][415136.0.671975033]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_Name.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_Name.qbl
new file mode 100644
index 0000000..b3a426f
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Attribute_Name.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[415136.0.671975022][415136.0.671975021][415136.0.671975023]'
+ Description: '鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl
new file mode 100644
index 0000000..c60a7d7
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeDay.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+Method InitializeDay (
+ LibCal_SubscriberEventTable table,
+ LibCal_SubscriberEventRow row,
+ DateTime starttime,
+ DateTime endtime
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-29-2024 (created)
+ for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextDay() ){
+ 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, Period := startTime.Date() );
+ }
+
+ duration := startTime.StartOfNextDay() - startTime;
+ if( startTime.StartOfNextDay() > endtime ){
+ duration := endtime - startTime;
+ }
+ // 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
new file mode 100644
index 0000000..8010e2b
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeMonth.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+Method InitializeMonth (
+ LibCal_SubscriberEventTable table,
+ LibCal_SubscriberEventRow row,
+ DateTime starttime,
+ DateTime endtime
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-29-2024 (created)
+ for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextMonth() ){
+ time := startTime;
+ if( starttime = startTime ){
+ time := startTime.StartOfMonth();
+ }
+ column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time.Format( 'M/D/Y' ) );
+ if( isnull( column ) ){
+ column := table.LibCal_SubscriberEventColumn( relnew, Name := time.Format( 'M/D/Y' ), Period := time.Date() );
+ }
+
+ duration := startTime.StartOfNextMonth() - startTime;
+ if( startTime.StartOfNextMonth() > endtime ){
+ duration := endtime - startTime;
+ }
+ // 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_InitializeTable.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl
new file mode 100644
index 0000000..61af153
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl
@@ -0,0 +1,56 @@
+Quintiq file version 2.0
+#parent: #root
+Method InitializeTable (
+ LibCal_Calendars subscribers,
+ LibCal_EventCategory category
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-28-2024 (created)
+ rownr := this.LibCal_SubscriberEventRow( relsize );
+ subscribercolumn := selectobject( this, LibCal_SubscriberEventColumn, column, column.RowName() = 'Line' );
+ if( isnull( subscribercolumn ) ){
+ subscribercolumn := this.LibCal_SubscriberEventColumn( relnew, RowName := 'Line' );
+ }
+ eventcolumn := selectobject( this, LibCal_SubscriberEventColumn, column, column.RowName() = 'Event' );
+ if( isnull( eventcolumn ) ){
+ eventcolumn := this.LibCal_SubscriberEventColumn( relnew, RowName := 'Event' );
+ }
+ timezone := this.LibCal_Calendar().GetTimeZone();
+
+ 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() = 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() );
+
+ 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 );
+ rownr := rownr + 1;
+ }
+
+ endTime := participation.EndDate().DateTime( timezone ).AddAsPeriod( timezone, event.EndTimeOfDay() );
+ startTime := participation.StartDate().DateTime( timezone ).AddAsPeriod( timezone, event.StartTimeOfDay() );
+ // info( this.ID(), startTime, endTime );
+ if( this.ID() = 'Day' ){
+ this.InitializeDay( this, row, startTime, endTime );
+ }else if( this.ID() = 'Week' ){
+ this.InitializeWeek( this, row, startTime, endTime );
+ }else{
+ this.InitializeMonth( this, row, startTime, endTime );
+ }
+
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl
new file mode 100644
index 0000000..d1da787
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeWeek.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+Method InitializeWeek (
+ LibCal_SubscriberEventTable table,
+ LibCal_SubscriberEventRow row,
+ DateTime starttime,
+ DateTime endtime
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-29-2024 (created)
+ for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextWeek() ){
+ time := startTime;
+ if( starttime = startTime ){
+ time := startTime.StartOfWeek();
+ }
+ column := selectobject( table, LibCal_SubscriberEventColumn, column, column.Name() = time.Format( 'M/D/Y' ) );
+ if( isnull( column ) ){
+ 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() );
+ 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
new file mode 100644
index 0000000..bbeff88
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/StaticMethod_InitializeTable.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializeTable (
+ LibCal_Calendars subscribers,
+ LibCal_Calendar owner,
+ LibCal_EventCategory category
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� May-28-2024 (created)
+ if( owner.LibCal_SubscriberEventTable( relsize ) < 1 ){
+ owner.LibCal_SubscriberEventTable( relnew, ID := 'Day', Name := 'Day' );
+ owner.LibCal_SubscriberEventTable( relnew, ID := 'Week', Name := 'Week' );
+ owner.LibCal_SubscriberEventTable( relnew, ID := 'Month', Name := 'Month' );
+ }
+ info('-----------------------------', owner.LibCal_SubscriberEventTable( relsize ), subscribers.Size(), isnull( category ) );
+ traverse( owner, LibCal_SubscriberEventTable, table ){
+ table.InitializeTable( subscribers, category );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/_ROOT_Type_LibCal_SubscriberEventTable.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/_ROOT_Type_LibCal_SubscriberEventTable.qbl
new file mode 100644
index 0000000..4a55c54
--- /dev/null
+++ b/_Main/BL/Type_LibCal_SubscriberEventTable/_ROOT_Type_LibCal_SubscriberEventTable.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type LibCal_SubscriberEventTable
+{
+ #keys: '5[415136.0.671975018][415136.0.671975016][0.0.0][415136.0.671975017][415136.0.671975019]'
+ BaseType: Object
+ Description: '鏃ュ巻涓嶅彲鐢ㄤ簨浠惰〃'
+ StructuredName: 'LibCal_SubscriberEventTables'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuCapacities_MenuCapacitiesUnavailableEvent_O.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuCapacities_MenuCapacitiesUnavailableEvent_O.def
new file mode 100644
index 0000000..b7ac572
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuCapacities_MenuCapacitiesUnavailableEvent_O.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ContextMenuCapacities/MenuCapacitiesUnavailableEvent
+Response OnClick () id:Response_MacroPlanner_ContextMenuCapacities_MenuCapacitiesUnavailableEvent_OnClick
+{
+ #keys: '[415136.0.667550585]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Calendar_unavailable_event_view", true);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def
new file mode 100644
index 0000000..4a8f9f1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_MatrixEditorTable.def
@@ -0,0 +1,100 @@
+Quintiq file version 2.0
+Component MatrixEditorTable
+{
+ #keys: '[415136.0.671350612]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorTableCell
+ {
+ #keys: '[415136.0.671350613]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractorTableCell
+ {
+ #keys: '[415136.0.671350614]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LibCal_SubscriberEventTable'
+ Source: 'dhTable'
+ Taborder: 0
+ Transformation: 'LibCal_SubscriberEventColumn.LibCal_SubscriberEventCell'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'Value'
+ Column: 'LibCal_SubscriberEventColumn'
+ Row: 'LibCal_SubscriberEventRow'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorTableRows
+ {
+ #keys: '[415136.0.671350617]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorTableRows
+ {
+ #keys: '[415136.0.671350618]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LibCal_SubscriberEventTable'
+ FilterArguments: 'subscribers:dhSubscribers'
+ FixedFilter: 'object.FilterBySubscriberAndEventType( subscribers )'
+ Source: 'dhTable'
+ Taborder: 0
+ Transformation: 'LibCal_SubscriberEventRow'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'RowNr'
+ SortCriteria: 'RowNr'
+ Taborder: 1
+ ]
+ }
+ Component MatrixEditorTableColumns
+ {
+ #keys: '[415136.0.671350621]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorTableColumns
+ {
+ #keys: '[415136.0.671350622]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LibCal_SubscriberEventTable'
+ FilterArguments: 'starttime:dhStartDate;endtime:dhEndDate'
+ Source: 'dhTable'
+ Taborder: 0
+ Transformation: 'LibCal_SubscriberEventColumn'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Name'
+ SortCriteria: 'Index'
+ Taborder: 2
+ ]
+ }
+ #child: matrixEditorActionBarPageTable
+ #child: matrixeditorContextMenuTable
+ ]
+ Properties:
+ [
+ Columns: 'MatrixEditorTableColumns'
+ ContextMenu: 'matrixeditorContextMenuTable'
+ Rows: 'MatrixEditorTableRows'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarEventTypes.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarEventTypes.def
index 506d63d..dfbdbdc 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarEventTypes.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarEventTypes.def
@@ -5,6 +5,8 @@
BaseType: 'WebPanel'
Properties:
[
+ FixedSize: true
+ MinimumColumns: 39
Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarLineList.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarLineList.def
deleted file mode 100644
index c7e0337..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarLineList.def
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component PanelCalendarLineList
-{
- #keys: '[415136.0.658772834]'
- BaseType: 'WebPanel'
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def
index bdaa56e..46c190a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelCalendarSearchList.def
@@ -5,12 +5,13 @@
BaseType: 'WebPanel'
Children:
[
- #child: PanelCalendarLineList
#child: PanelCalendarEventTypes
+ #child: pnlSubscribers_549
]
Properties:
[
+ 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
new file mode 100644
index 0000000..72e7e87
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelDate.def
@@ -0,0 +1,56 @@
+Quintiq file version 2.0
+Component PanelDate
+{
+ #keys: '[415136.0.668311160]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component DateSelectorStartTime id:DateSelectorStartTime_806
+ {
+ #keys: '[415136.0.668311203]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: 'Start time'
+ Taborder: 0
+ ]
+ }
+ Component DateSelectorEndTime id:DateSelectorEndTime_819
+ {
+ #keys: '[415136.0.668311223]'
+ 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:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelExport.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelExport.def
new file mode 100644
index 0000000..15a8928
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelExport.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component PanelExport
+{
+ #keys: '[415136.0.668311240]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonHeader id:ButtonHeader_763
+ {
+ #keys: '[415136.0.668311275]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Taborder: 0
+ ]
+ }
+ Component ButtonInitialize
+ {
+ #keys: '[415136.0.670072471]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ARROW_CIRCLE'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 2
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelHeader.def
index 862e4b3..8e47e62 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelHeader.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelHeader.def
@@ -3,8 +3,15 @@
{
#keys: '[415136.0.658772785]'
BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelPeriods
+ #child: PanelDate
+ #child: PanelExport
+ ]
Properties:
[
+ FixedSize: true
Orientation: 'horizontal'
Taborder: 0
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelList.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelList.def
index 45c2dd3..3a1f26f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelList.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelList.def
@@ -3,6 +3,21 @@
{
#keys: '[415136.0.658772810]'
BaseType: 'WebPanel'
+ Children:
+ [
+ #child: MatrixEditorTable
+ Component dhTable
+ {
+ #keys: '[415136.0.672310139]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'LibCal_SubscriberEventTable'
+ Properties:
+ [
+ Description: '琛�'
+ Taborder: 0
+ ]
+ }
+ ]
Properties:
[
Taborder: 1
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelPeriods.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelPeriods.def
new file mode 100644
index 0000000..2b876f1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_PanelPeriods.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+Component PanelPeriods
+{
+ #keys: '[415136.0.667550798]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component RadioButtonGroupUseForPlanning
+ {
+ #keys: '[415136.0.667550833]'
+ BaseType: 'WebRadioButtonGroup'
+ Properties:
+ [
+ BoundValue: 'Day'
+ ButtonLabels: 'Day;Week;Month'
+ ButtonValues: 'Day;Week;Month'
+ Orientation: 'horizontal'
+ Taborder: 0
+ Title: 'Periods'
+ Tooltip: '<html>Select if the periods are used for planning or merely for visualization.<br>The planning periods define the granularity at which planning is done.<br>In case of overlapping planning periods, the smallest ones are used.<br>The planning periods are shown in the period overview in blue.</html>'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_abpListSubscribers.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_abpListSubscribers.def
new file mode 100644
index 0000000..255f2ff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_abpListSubscribers.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component abpListSubscribers
+{
+ #keys: '[415136.0.666211731]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 2
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_cmSubscribers.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_cmSubscribers.def
new file mode 100644
index 0000000..d4f0c9a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_cmSubscribers.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component cmSubscribers
+{
+ #keys: '[415136.0.666211729]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mnDelete
+ {
+ #keys: '[415136.0.666211730]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 3
+ Title: 'Delete'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_lstSubscribers.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_lstSubscribers.def
new file mode 100644
index 0000000..9c401e7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_lstSubscribers.def
@@ -0,0 +1,61 @@
+Quintiq file version 2.0
+Component lstSubscribers
+{
+ #keys: '[415136.0.666211726]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component deSubscribers
+ {
+ #keys: '[415136.0.666211727]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[LibCal_Calendar]'
+ Source: 'dhPotentialSubscribers'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ Component dslSubscribers
+ {
+ #keys: '[415136.0.666211728]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: cmSubscribers
+ ]
+ Properties:
+ [
+ Columns: 'CalendarID'
+ ContextMenu: 'cmSubscribers'
+ SortCriteria: 'CalendarID'
+ Taborder: 1
+ ]
+ }
+ #child: abpListSubscribers
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 3
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_lstSubscribers_WebMenu_OnClick
+ {
+ #keys: '[415136.0.666211718]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[3739.0.1873455]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixEditorActionBarPageTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixEditorActionBarPageTable.def
new file mode 100644
index 0000000..ff511d4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixEditorActionBarPageTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageTable
+{
+ #keys: '[415136.0.671350625]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixeditorContextMenuTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixeditorContextMenuTable.def
new file mode 100644
index 0000000..bf8934c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_matrixeditorContextMenuTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuTable
+{
+ #keys: '[415136.0.671350628]'
+ BaseType: 'matrixeditorContextMenu'
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_pnlSubscribers\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_pnlSubscribers\043549.def"
new file mode 100644
index 0000000..03eddc3
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Component_pnlSubscribers\043549.def"
@@ -0,0 +1,49 @@
+Quintiq file version 2.0
+Component pnlSubscribers id:pnlSubscribers_549
+{
+ #keys: '[415136.0.666211724]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component dhPotentialSubscribers
+ {
+ #keys: '[415136.0.666211725]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[LibCal_Calendar]*'
+ Properties:
+ [
+ Taborder: 0
+ ]
+ }
+ #child: lstSubscribers
+ Component lblIsInitialized
+ {
+ #keys: '[415136.0.666211733]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Taborder: 2
+ Text: 'false'
+ Visible: false
+ ]
+ }
+ Component dhSubscribers
+ {
+ #keys: '[415136.0.666211734]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[LibCal_Calendar]*'
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ MinimumColumns: 39
+ Taborder: 0
+ Title: 'Subscribers'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def
new file mode 100644
index 0000000..cdc74a7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Method_InitializeSubscribers.def
@@ -0,0 +1,39 @@
+Quintiq file version 2.0
+#parent: #root
+Method InitializeSubscribers () id:Method_FormCalendarUnavailableEvent_InitializeSubscribers
+{
+ #keys: '[415136.0.666291565]'
+ Body:
+ [*
+ 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(),
+ // StartTimeOfDay := start_i.TimeOfDay( timezone ),
+ // EndTimeOfDay := end_i .TimeOfDay( timezone ),
+ EventCategory := category_i,
+ IsDefault := false );
+
+ sLeadPart := owner_i.Participation( relshadow, LibCal_LeadingParticipation,
+ ParticipationID := [String]Key::NextPersistentKey()
+ // ,StartDate := start_i.Date( timezone ),
+ // EndDate := end_i .Date( timezone )
+ );
+
+ calendar := sLeadPart.Calendar();
+ potentialSubscribers := calendar.GetPotentialSubscribers();
+
+ // Remove the calendar of the initiator (cannot subscribe to self).
+ initiator := sEvent.Calendar();
+ if( potentialSubscribers.Find( initiator ) >= 0 )
+ {
+ potentialSubscribers.Remove( initiator );
+ }
+
+ dhPotentialSubscribers.Data( &potentialSubscribers );
+
+ lstSubscribers.CheckAll();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_OnCreated.def
new file mode 100644
index 0000000..04b4ca1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_OnCreated.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormCalendarUnavailableEvent_OnCreated
+{
+ #keys: '[415136.0.667561809]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+
+ this.InitializeSubscribers();
+ *]
+ GroupServerCalls: false
+ }
+}
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
new file mode 100644
index 0000000..e275403
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelExport_ButtonInitialize_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelExport/ButtonInitialize
+Response OnClick () id:Response_PanelExport_ButtonInitialize_OnClick
+{
+ #keys: '[415136.0.670072520]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ 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
new file mode 100644
index 0000000..833c721
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: PanelPeriods/RadioButtonGroupUseForPlanning
+Response OnChanged () id:Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged
+{
+ #keys: '[415136.0.672310167]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
+ QuillAction
+ {
+ 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() );
+
+ 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
new file mode 100644
index 0000000..363759b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnCheckedChanged.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: lstSubscribers
+Response OnCheckedChanged (
+ structured[LibCal_Calendar] checkeditems
+) id:Response_lstSubscribers_OnCheckedChanged
+{
+ #keys: '[415136.0.666211720]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnCheckedChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ subscribers := checkeditems.Copy();
+ subscribers.Sort( attribute( LibCal_Calendar, CalendarID ), true );
+ dhSubscribers.Data( &subscribers );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnSelectionChanged.def
new file mode 100644
index 0000000..b5a2634
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_OnSelectionChanged.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: lstSubscribers
+Response OnSelectionChanged (
+ LibCal_Calendar selection
+) id:Response_lstSubscribers_OnSelectionChanged
+{
+ #keys: '[415136.0.666211719]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ // Initialize the list by setting the checkmark for the subscribing calendars when this has not been done before.
+ // This should only be done when OnSelectionChanged is executed for the first time.
+ //if( lblIsInitialized.Text() = "false" )
+ //{
+ // // Get the calendars of the subscriptions.
+ // calendars := selectset( dhEvent.Data(), LeadingParticipation.Subscription.Calendar, calendar, true, true ).Unique();
+ //
+ // traverse( calendars, Elements, subscriber )
+ // {
+ // lstSubscribers.ExtendCheckByKey( subscriber.Key() );
+ // }
+ //
+ // // Register that the list has been initialized.
+ // lblIsInitialized.Text( "true" );
+ //}
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_mnDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_mnDelete_OnClick.def
new file mode 100644
index 0000000..5849adc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCalendarUnavailableEvent/Response_lstSubscribers_mnDelete_OnClick.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: lstSubscribers
+Response OnClick (
+ structured[LibCal_Subscription] selection
+) id:Response_lstSubscribers_mnDelete_OnClick
+{
+ #keys: '[415136.0.666211722]'
+ CanBindMultiple: false
+ DefinitionID => /lstSubscribers/Responsedef_lstSubscribers_WebMenu_OnClick
+ Initiator: 'mnDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ traverse( selection, Elements, e ){
+ leadingP := e.LeadingParticipation();
+ if( leadingP.Subscription( relsize ) > 0 ){
+ leadingP.Event().Delete();
+ leadingP.Delete();
+ }
+ e.Delete();
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_ListList.def b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_ListList.def
index 4ab4363..eeeb5f2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_ListList.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_ListList.def
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Calendar.CalendarID","title":"CalendarID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Calendar.CalendarID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.Subject","title":"Subject","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.Subject"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.StartTimeOfDay","title":"StartTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.StartTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.EndTimeOfDay","title":"EndTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.EndTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.Description","title":"Description","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.Description"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Calendar.CalendarID","title":"CalendarID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Calendar.CalendarID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.EventType","title":"EventType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.EventType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.Subject","title":"Subject","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.Subject"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.StartTimeOfDay","title":"StartTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.StartTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.EndTimeOfDay","title":"EndTimeOfDay","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.EndTimeOfDay"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Event.Description","title":"Description","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Event.Description"}}]'
ContextMenu: 'listContextMenu967'
Taborder: 2
]
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw
new file mode 100644
index 0000000..6391363
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Calendar_unavailable_event_view.vw
@@ -0,0 +1,140 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormCalendarUnavailableEvent
+ {
+ title: 'QMacroPlanner::FormCalendarUnavailableEvent'
+ shown: true
+ componentID: 'QMacroPlanner::FormCalendarUnavailableEvent'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormCalendarUnavailableEvent_PanelCalendarUnavailableEvent
+ {
+ sizeRatio: 1
+ }
+ FormCalendarUnavailableEvent_PanelCalendarSearchList
+ {
+ sizeRatio: 1
+ }
+ FormCalendarUnavailableEvent_pnlSubscribers
+ {
+ sizeRatio: 1
+ }
+ FormCalendarUnavailableEvent_lstSubscribers
+ {
+ }
+ FormCalendarUnavailableEvent_dslSubscribers
+ {
+ groupDepth: -1
+ column_CalendarID
+ {
+ columnId: 'CalendarID'
+ dataPath: 'CalendarID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ }
+ FormCalendarUnavailableEvent_PanelCalendarEventTypes
+ {
+ sizeRatio: 1
+ }
+ FormCalendarUnavailableEvent_PanelCalendarUnavailableEventSearchList
+ {
+ sizeRatio: 1
+ }
+ FormCalendarUnavailableEvent_PanelHeader
+ {
+ 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'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 13
+ image: 'CALENDAR_PREFERENCES'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Calendar_unavailable_event_view'
+ name: 'Calendar unavailable event view'
+ isglobal: false
+ isroot: true
+}
--
Gitblit v1.9.3