1 package org.kuali.student.enrollment.uif.container;
2
3 import org.apache.commons.lang.StringUtils;
4 import org.kuali.rice.krad.uif.UifConstants;
5 import org.kuali.rice.krad.uif.UifParameters;
6 import org.kuali.rice.krad.uif.container.CollectionGroup;
7 import org.kuali.rice.krad.uif.container.CollectionGroupBuilder;
8 import org.kuali.rice.krad.uif.element.Action;
9 import org.kuali.rice.krad.uif.util.ComponentUtils;
10 import org.kuali.rice.krad.uif.view.View;
11
12 import java.util.List;
13
14 public class KSCollectionGroupBuilder extends CollectionGroupBuilder{
15
16 @Override
17 protected List<Action> initializeLineActions(List<Action> lineActions, View view, Object model,
18 CollectionGroup collectionGroup, Object collectionLine, int lineIndex, String actionScript) {
19 String lineSuffix = UifConstants.IdSuffixes.LINE + Integer.toString(lineIndex);
20 if (StringUtils.isNotBlank(collectionGroup.getSubCollectionSuffix())) {
21 lineSuffix = collectionGroup.getSubCollectionSuffix() + lineSuffix;
22 }
23 List<Action> actions = ComponentUtils.copyComponentList(lineActions, lineSuffix);
24
25 for (Action action : actions) {
26 action.addActionParameter(UifParameters.SELLECTED_COLLECTION_PATH,
27 collectionGroup.getBindingInfo().getBindingPath());
28 action.addActionParameter(UifParameters.SELECTED_LINE_INDEX, Integer.toString(lineIndex));
29 action.setJumpToIdAfterSubmit(collectionGroup.getId());
30 String script;
31 if (StringUtils.isNotBlank(action.getActionScript())) {
32 script = action.getActionScript();
33 }else{
34 script = actionScript;
35 }
36 action.setActionScript(script);
37 }
38
39 ComponentUtils.updateContextsForLine(actions, collectionLine, lineIndex);
40
41 return actions;
42 }
43 }