PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 4.0.7
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v4.0.7
4.2.5 4.2.4 trunk 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.2 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8 3.8.1 3.8.10 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.8.9.1 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.5.1 4.0.6 4.0.6.1 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.2.0 4.2.1 4.2.2 4.2.3
widget-options / includes / widgets / gutenberg / src / attributes / components / option-tabs / days-dates.js
widget-options / includes / widgets / gutenberg / src / attributes / components / option-tabs Last commit date
alignment.js 1 year ago animation.js 1 year ago behavior.js 1 year ago columns.js 1 year ago days-dates.js 1 year ago devices.js 1 year ago roles.js 1 year ago settings.js 1 year ago styling.js 1 year ago visibility.js 1 year ago
days-dates.js
250 lines
1 const { __ } = wp.i18n;
2 import { TabPanel, DateTimePicker } from "@wordpress/components";
3
4 const onSelect = (tabName) => {};
5
6 const DatesTabPanel = (props) => {
7 const validLicense = true;
8 let validLicenseClass = props.validLicense ? "" : "disabled-section";
9 let desktop = "";
10 let tablet = "";
11 let mobile = "";
12 let options_role = "";
13 let widget_options = { ...props.widgetopts_get_settings };
14 let days = [
15 __("Monday"),
16 __("Tuesday"),
17 __("Wednesday"),
18 __("Thursday"),
19 __("Friday"),
20 __("Saturday"),
21 __("Sunday"),
22 ];
23 let months = [
24 __("January"),
25 __("February"),
26 __("March"),
27 __("April"),
28 __("May"),
29 __("June"),
30 __("July"),
31 __("August"),
32 __("September"),
33 __("October"),
34 __("November"),
35 __("December"),
36 ];
37 let args = [];
38 let checked = "";
39 let options_dates = "";
40 let annual = true;
41
42 const change_date_format = (_dateString) => {
43 let new_date = "";
44 if (_dateString.trim() != "") {
45 let _parseDate = Date.parse(_dateString);
46 let _dates = new Date(_parseDate);
47
48 let _m =
49 (_dates.getMonth() < 9 ? "0" : "") + (_dates.getMonth() + 1).toString();
50 let _d = (_dates.getDate() < 10 ? "0" : "") + _dates.getDate().toString();
51 let _y = _dates.getFullYear();
52 new_date = `${_y}-${_m}-${_d}`;
53 }
54 return new_date;
55 };
56
57 let to =
58 props.extended_widget_opts["dates"] != undefined
59 ? change_date_format(props.extended_widget_opts["dates"]["to"])
60 : "";
61
62 let from =
63 props.extended_widget_opts["dates"] != undefined
64 ? change_date_format(props.extended_widget_opts["dates"]["from"])
65 : "";
66
67 const checkLicense = (isLicenseValid) => {
68 if (isLicenseValid) {
69 return "";
70 } else {
71 return (
72 <div className="extended-widget-opts-demo-warning">
73 <p className="widgetopts-unlock-features">
74 <span className="dashicons dashicons-lock"></span>
75 <br />
76 Unlock all Features
77 <br />
78 <a
79 href="https://widget-options.com/?utm_source=wordpressadmin&utm_medium=widgettabs&utm_campaign=widgetoptsprotab"
80 className="button-primary"
81 target="_blank"
82 >
83 Learn More
84 </a>
85 </p>
86 </div>
87 );
88 }
89 };
90
91 return (
92 <div
93 id={"extended-widget-opts-tab-" + props.widgetId + "-days"}
94 className={
95 "extended-widget-opts-tabcontent extended-widget-opts-tabcontent-days " +
96 validLicenseClass
97 }
98 style={{ "margin-left": "16px" }}
99 >
100 {checkLicense(props.validLicense)}
101
102 <div>
103 <p style={{ "margin-top": "10px" }}>
104 <strong>{__("Hide/Show")}</strong>
105 <select
106 class="widefat"
107 name={"extended_widget_opts[days][options]"}
108 value={""}
109 >
110 <option value="hide">{__("Hide on checked days")}</option>
111 <option value="show">{__("Show on checked days")}</option>
112 </select>
113 </p>
114 <table class="form-table">
115 <tbody>
116 <tr valign="top">
117 <td scope="row">
118 <strong>{__("Days")}</strong>
119 </td>
120 <td>&nbsp;</td>
121 </tr>
122 {days.map(function (day, key) {
123 if (
124 args["params"] != undefined &&
125 args["params"]["days"] != undefined
126 ) {
127 if (args["params"]["days"][day.toLowerCase()] != undefined) {
128 checked = 'checked="checked"';
129 } else {
130 checked = "";
131 }
132 } else {
133 checked = "";
134 }
135
136 return (
137 <tr valign="top">
138 <td scope="row">
139 <label
140 for={
141 "extended_widget_opts-" +
142 props.widgetId +
143 "-days-" +
144 day.toLowerCase()
145 }
146 >
147 {day}
148 </label>
149 </td>
150 <td>
151 <input
152 type="checkbox"
153 name={
154 "extended_widget_opts[days][" + day.toLowerCase() + "]"
155 }
156 id={
157 "extended_widget_opts-" +
158 props.widgetId +
159 "-days-" +
160 key
161 }
162 value="1"
163 />
164 </td>
165 </tr>
166 );
167 })}
168 </tbody>
169 </table>
170 <br />
171 </div>
172
173 {widget_options["settings"]["dates"] != undefined &&
174 widget_options["settings"]["dates"]["date_range"] != undefined &&
175 "1" == widget_options["settings"]["dates"]["date_range"] ? (
176 <div>
177 <p>
178 <strong>{__("Hide/Show")}</strong>
179 <select
180 class="widefat"
181 name={"extended_widget_opts[dates][options]"}
182 value={""}
183 >
184 <option value="hide">{__("Hide on date range")}</option>
185 <option value="show">{__("Show on date range")}</option>
186 </select>
187 </p>
188 <table class="form-table">
189 <tbody>
190 <tr valign="top">
191 <td scope="row">
192 <strong>{__("From: ")}</strong>
193 </td>
194 <td>
195 <input
196 type="date"
197 pattern="\d{4}-\d{2}-\d{2}"
198 name={"extended_widget_opts[dates][from]"}
199 className="widefat extended-widget-opts-date-from"
200 />
201 </td>
202 </tr>
203 <tr valign="top">
204 <td scope="row">
205 <strong>{__("To: ")}</strong>
206 </td>
207 <td>
208 <input
209 type="date"
210 pattern="\d{4}-\d{2}-\d{2}"
211 name={"extended_widget_opts[dates][to]"}
212 className="widefat extended-widget-opts-date-to"
213 />
214 </td>
215 </tr>
216 <tr valign="top">
217 <td colspan="2">
218 <input
219 type="checkbox"
220 id={
221 "extended_widget_opts-block-" + props.widgetId + "-annual"
222 }
223 name={"extended_widget_opts[dates][annual]"}
224 value="1"
225 />
226 <label
227 for={
228 "extended_widget_opts-block-" + props.widgetId + "-annual"
229 }
230 >
231 Ignore Year parameter
232 </label>
233 <p>
234 Enabling this option makes the date range repeat yearly.
235 Only use on date ranges less than a year.
236 </p>
237 </td>
238 </tr>
239 </tbody>
240 </table>
241 </div>
242 ) : (
243 ""
244 )}
245 </div>
246 );
247 };
248
249 export default DatesTabPanel;
250