Advertisement
Guest User

Untitled

a guest
Nov 5th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.02 KB | None | 0 0
  1. FIELDSET_PAR = '/content/moneysupermarket/en_gb/money/credit-cards/search-pages/smart-search/jcr:content/par-item/gridcolumncomponent/grid-column-par/form/fieldsetcomponent_2/fieldset-par'
  2. POSTCODE_INPUT_PATH = "$FIELDSET_PAR/questioncomponent_4/conditionalblock/gridcolumncomponent_0/grid-column-par/contextualblock/editfield_0"
  3. PREVIOUS_POSTCODE_INPUT_PATH = "$FIELDSET_PAR/conditionalblock_2/questioncomponent_5/conditionalblock/gridcolumncomponent_0/grid-column-par/contextualblock/editfield_0"
  4.  
  5. modifyNode(POSTCODE_INPUT_PATH, 'data-ng-change', "addressPlugin.refreshScroll('#address-list');", '', { exp, e -> true })
  6. modifyNode(PREVIOUS_POSTCODE_INPUT_PATH, 'data-ng-change', "addressPlugin.refreshScroll('#previous-address-list');", '', { exp, e -> true })
  7. modifyNode(POSTCODE_INPUT_PATH, 'data-ng-keydown', "addressPlugin.refreshScroll('#address-list');", "(\$event.keyCode === 13 || \$event.keyCode === 9) && addressPlugin.refreshScroll('#address-list');", { exp, e -> !exp.contains(e) })
  8. modifyNode(PREVIOUS_POSTCODE_INPUT_PATH, 'data-ng-keydown', "addressPlugin.refreshScroll('#previous-address-list');", "(\$event.keyCode === 13 || \$event.keyCode === 9) && addressPlugin.refreshScroll('#previous-address-list');", { exp, e -> !exp.contains(e) })
  9.  
  10. void modifyNode(path, eventName, expression, newEvent, additionalCheck) {
  11.     def node = getResource(path)?.adaptTo(Node)
  12.  
  13.     if (!node)
  14.         return
  15.  
  16.     def currentEvent = node.get('eventList')
  17.     def replace = { s -> s.replace(expression, newEvent) }
  18.  
  19.     if (currentEvent in String) {
  20.         if (currentEvent.contains(eventName) && additionalCheck(currentEvent, newEvent)) {
  21.             node.set('eventList', replace(currentEvent))
  22.         }
  23.     } else {
  24.         def newList = []
  25.         currentEvent.each {
  26.             if (it.contains(eventName) && additionalCheck(it, newEvent)) {
  27.                 newList << replace(it)
  28.             } else {
  29.                 newList << it
  30.             }
  31.         }
  32.         node.set('eventList', newList)
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement