yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Quintiq file version 2.0
#parent: CustomDrawRC
Response OnSelectionChanged (
  structured[Object] selection
) id:Response_CustomDrawRC_OnSelectionChanged_593
{
  #keys: '[139394.0.1568823439]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebCustomDraw_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      // Update dataholders with objects
      // Input outputs
      oios := selectset( selection, Elements.astype( Operation ).OperationInputOutput, oio, true );
      oios := oios.Union( selectset( selection, Elements.astype( OperationInputOutput ), oio, true ) );
      // special handling for PISP nodes that are linked to multiple inputs and outputs
      oios := oios.Union( selectset( selection, Elements.astype( OperationInputPISPNode ).PISPNodeInRouting.PISPOperationInputEdge.OperationInput, oi,
                                     not oi.IsElementOfInputGroup() ) );
      oios := oios.Union( selectset( selection, Elements.astype( OperationOutputPISPNode ).PISPNodeInRouting.PISPOperationOutputEdge.OperationOutput, oo,
                                     not oo.IsElementOfInputGroup() ) );
      DataHolderOperationInputOutputs.Data( oios.Copy() );
      
      // Input groups
      oigs := selectset( selection, Elements.astype( Operation ).OperationInputGroup, oig, true );
      oigs := oigs.Union( selectset( selection, Elements.astype( OperationInputGroup ), oio, true ) );
      oigs := oigs.Union( selectset( selection, Elements.astype( OperationInputOutputPISPNode ).PISPNodeInRouting.OperationBOM.OperationInput.OperationInputGroup, oig, true ) );
      
      DataHolderOperationInputGroups.Data( oigs.Copy() );
    *]
    GroupServerCalls: false
  }
}