Quintiq file version 2.0
|
#parent: #root
|
Method SetDefaultValue (
|
LibCal_CalendarRegistry owner
|
) id:Method_DialogCreateEditEventType_SetDefaultValue
|
{
|
#keys: '[415136.0.725511682]'
|
Body:
|
[*
|
// Set default + init dialog
|
dialogInstance := dhDialogData.Data().WrappedInstance();
|
isNew := isnull( dialogInstance );
|
|
// Extract the parent product by filtering out the descendents of the selected products in order to prevent circularity
|
eventtypes := construct( LibCal_EventTypes );
|
if( isNew
|
or dialogInstance.IsLeaf() ) // Is leaf
|
{
|
eventtypes := selectset( owner, EventType, et, true );
|
currentScope := dhDialogDatas.Data();
|
|
eventtypes := eventtypes.Difference( currentScope );
|
}
|
else if( not dialogInstance.HasParent() ) // Is root level
|
{
|
eventtypes := selectset( owner, RootEventType, et, et <> dialogInstance );
|
}
|
else // Has Parent and Child
|
{
|
allEventTypes := selectset( owner, EventType, et, et <> dialogInstance );
|
myChildren := selectset( dialogInstance, AllChildren.AsChildren, c, true );
|
|
eventtypes := allEventTypes.Difference( myChildren );
|
}
|
|
dhParentEventTypeSelection.Data( eventtypes.Copy() );
|
*]
|
}
|