Completed
Branch FET-9795-new-interfaces (793e2e)
by
unknown
121:05 queued 108:17
created

eventEditorDatetimeStartDateFieldSelector()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Page;
4
5
6
/**
7
 * EventsAdmin
8
 * Selectors/references for elements in the Events Admin pages
9
 *
10
 * @package Page
11
 * @author  Darren Ethier
12
 * @since   1.0.0
13
 */
14
class EventsAdmin extends CoreAdmin
15
{
16
17
    /**
18
     * Selector for the Add new Event button in the admin.
19
     * @var string
20
     */
21
    const ADD_NEW_EVENT_BUTTON_SELECTOR = '#add-new-event';
22
23
24
    /**
25
     * Selector for the Event Title field in the event editor
26
     * @var string
27
     */
28
    const EVENT_EDITOR_TITLE_FIELD_SELECTOR = "//input[@id='title']";
29
30
    /**
31
     * Selector for the publish submit button in the event editor.
32
     * @var string
33
     */
34
    const EVENT_EDITOR_PUBLISH_BUTTON_SELECTOR = "#publish";
35
36
37
    /**
38
     * @var string
39
     */
40
    const EVENT_EDITOR_DEFAULT_REGISTRATION_STATUS_FIELD_SELECTOR = '#EVT_default_registration_status';
41
42
    /**
43
     * Selector for the view link after publishing an event.
44
     * @var string
45
     */
46
    const EVENT_EDITOR_VIEW_LINK_AFTER_PUBLISH_SELECTOR = "//div[@id='message']/p/a";
47
48
49
    /**
50
     * Selector for the ID of the event in the event editor
51
     * @var string
52
     */
53
    const EVENT_EDITOR_EVT_ID_SELECTOR = "//input[@id='post_ID']";
54
55
56
    /**
57
     * Selector for the search input on the event list table page.
58
     * @var string
59
     */
60
    const EVENT_LIST_TABLE_SEARCH_INPUT_SELECTOR = '#toplevel_page_espresso_events-search-input';
61
62
63
64
65
    /**
66
     * @param string $additional_params
67
     * @return string
68
     */
69
    public static function defaultEventsListTableUrl($additional_params = '')
70
    {
71
        return self::adminUrl('espresso_events', 'default', $additional_params);
72
    }
73
74
75
    /**
76
     * The selector for the DTTname field for the given row in the event editor.
77
     * @param int $row_number
78
     * @return string
79
     */
80
    public static function eventEditorDatetimeNameFieldSelector($row_number = 1)
81
    {
82
        return self::eventEditorDatetimeFieldSelectorForField('DTT_name', $row_number);
83
    }
84
85
86
    /**
87
     * The selector for the DTT_EVT_start field for the given row in the event editor.d
88
     * @param int $row_number
89
     * @return string
90
     */
91
    public static function eventEditorDatetimeStartDateFieldSelector($row_number = 1)
92
    {
93
        return self::eventEditorDatetimeFieldSelectorForField('DTT_EVT_start', $row_number);
94
    }
95
96
97
    /**
98
     * Wrapper for getting the selector for a given field and given row of a datetime in the event editor.
99
     *
100
     * @param string $field_name
101
     * @param int    $row_number
102
     * @return string
103
     */
104
    public static function eventEditorDatetimeFieldSelectorForField($field_name, $row_number = 1)
105
    {
106
        return "//input[@id='event-datetime-$field_name-$row_number']";
107
    }
108
109
110
    /**
111
     * The selector for the TKT_name field for the given display row in the event editor.
112
     * @param int $row_number
113
     * @return string
114
     */
115
    public static function eventEditorTicketNameFieldSelector($row_number = 1)
116
    {
117
        return self::eventEditorTicketFieldSelectorForFieldInDisplayRow('TKT_name', $row_number);
118
    }
119
120
121
    /**
122
     * Wrapper for getting the selector for a given field and given display row of a ticket in the event editor.
123
     * @param     $field_name
124
     * @param int $row_number
125
     * @return string
126
     */
127
    public static function eventEditorTicketFieldSelectorForFieldInDisplayRow($field_name, $row_number = 1)
128
    {
129
        return "//tr[@id='display-ticketrow-$row_number']/td[2]/input[@class='edit-ticket-$field_name ee-large-text-inp']";
130
    }
131
132
133
    /**
134
     * Returns the selector for the event title edit link in the events list table for the given Event Title.
135
     * @param string $event_title
136
     * @return string
137
     */
138
    public static function eventListTableEventTitleEditLinkSelectorForTitle($event_title)
139
    {
140
        return "//td[contains(@class, 'column-name')]/strong/a[text()='$event_title']";
141
    }
142
143
144
    public static function eventListTableEventIdSelectorForTitle($event_title)
145
    {
146
        return "//td[contains(@class, 'column-name')]/strong/a[text()='$event_title']"
147
            . "//ancestor::tr/th[contains(@class, 'check-column')]/input";
148
    }
149
150
151
    public static function eventListTableEventTitleViewLinkSelectorForTitle($event_title)
152
    {
153
        return "//td[contains(@class, 'column-name')]/strong/a[text()='$event_title']"
154
            . "//ancestor::td//span[@class='view']/a";
155
    }
156
}