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
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/kitchen/directions/bake_first_elements.rb', line 6
def self.v1(within:, first_inline_list: false)
selectors = [
'div.os-problem-container > div.os-table',
'div.os-problem-container > span[data-type="media"]',
'div.os-problem-container > div.os-figure',
'div[data-type="alphabetical-question-multipart"] div[data-type="question-stem"] > img',
'div.os-solution-container > div.os-table',
'div.os-solution-container > span[data-type="media"]',
'div.os-solution-container > div.os-figure',
'div.os-solution-container > img'
]
selectors.each do |selector|
within.search("#{selector}:first-child").each do |problem|
problem.add_class('first-element')
problem.parent.add_class('has-first-element')
end
end
third_level_selectors = [
'div.os-problem-container > div[data-type="question-stimulus"]:first-child > img',
'div.os-problem-container > div[data-type="question-stem"]:first-child > img'
]
third_level_selectors.each do |third_level_selector|
within.search("#{third_level_selector}:first-child").each do |problem|
problem.add_class('first-element')
problem.parent.parent.add_class('has-first-element')
end
end
return unless first_inline_list
inline_selector = 'div.os-solution-container > ol[type="1"]:first-child,' \
'div.os-problem-container > ol[type="1"]:first-child'
within.search(inline_selector).each do |inline_list|
inline_list.add_class('first-inline-list-element')
inline_list.parent.add_class('has-first-inline-list-element')
end
end
|