Skip to content

Commit 1829f70

Browse files
fix: issues
1 parent 8381835 commit 1829f70

File tree

4 files changed

+67
-26
lines changed

4 files changed

+67
-26
lines changed

css/settings.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2872,8 +2872,8 @@ button.feedzy-action-button {
28722872
color: #757575;
28732873
font-size: 13px;
28742874
}
2875-
2876-
.fz-schedules-table {
2875+
2876+
.fz-schedules-table {
28772877
border-collapse: collapse;
28782878
}
28792879

includes/admin/feedzy-rss-feeds-admin.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ public function enqueue_styles_admin() {
231231
'media_iframe_button' => __( 'Set default image', 'feedzy-rss-feeds' ),
232232
'action_btn_text_1' => __( 'Choose image', 'feedzy-rss-feeds' ),
233233
'action_btn_text_2' => __( 'Replace image', 'feedzy-rss-feeds' ),
234+
'delete_btn_label' => __( 'Delete', 'feedzy-rss-feeds' ),
234235
),
235236
)
236237
);
@@ -2938,7 +2939,7 @@ public function validate_feed() {
29382939
public function append_custom_cron_schedules( $schedules ) {
29392940

29402941
$saved_settings = apply_filters( 'feedzy_get_settings', array() );
2941-
if ( ! empty( $saved_settings['custom_schedules'] ) || ! is_array( $saved_settings['custom_schedules'] ) ) {
2942+
if ( ! empty( $saved_settings['custom_schedules'] ) && is_array( $saved_settings['custom_schedules'] ) ) {
29422943
$custom_schedules = $saved_settings['custom_schedules'];
29432944

29442945
foreach ( $custom_schedules as $key => $value ) {

includes/layouts/settings.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -518,21 +518,28 @@ class="form-control"
518518
<label class="form-label" for="fz-schedule-interval">
519519
<?php esc_html_e( 'Interval (seconds)', 'feedzy-rss-feeds' ); ?>
520520
</label>
521-
<input type="number" class="form-control" id="fz-schedule-interval" placeholder="3600" min="0" />
521+
<input
522+
type="number"
523+
class="form-control"
524+
id="fz-schedule-interval"
525+
placeholder="3600"
526+
required
527+
min="<?php echo esc_attr( defined( 'WP_CRON_LOCK_TIMEOUT' ) ? WP_CRON_LOCK_TIMEOUT : 60 ); ?>"
528+
/>
522529
</div>
523530

524531
<div class="fz-form-group">
525532
<label class="form-label" for="fz-schedule-display">
526533
<?php esc_html_e( 'Display Name', 'feedzy-rss-feeds' ); ?>
527534
</label>
528-
<input type="text" class="form-control" id="fz-schedule-display" placeholder="Once Hourly" />
535+
<input required type="text" class="form-control" id="fz-schedule-display" placeholder="Once Hourly" />
529536
</div>
530537

531538
<div class="fz-form-group">
532539
<label class="form-label" for="fz-schedule-name">
533540
<?php esc_html_e( 'Internal Name', 'feedzy-rss-feeds' ); ?>
534541
</label>
535-
<input type="text" class="form-control" id="fz-schedule-name" placeholder="hourly" />
542+
<input required type="text" class="form-control" id="fz-schedule-name" placeholder="hourly" />
536543
</div>
537544
<div class="fz-form-group">
538545
<button class="btn btn-primary" id="fz-add-schedule">

js/feedzy-setting.js

Lines changed: 53 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,12 @@ jQuery(function ($) {
209209
$('#fz-add-schedule').on('click', function (e) {
210210
e.preventDefault();
211211

212+
const formElem = document.querySelector('form:has(.fz-form-wrap)');
213+
if (formElem && formElem.checkValidity() === false) {
214+
formElem.reportValidity();
215+
return;
216+
}
217+
212218
const interval = $('#fz-schedule-interval').val();
213219
const display = $('#fz-schedule-display').val();
214220
const name = $('#fz-schedule-name').val();
@@ -219,26 +225,53 @@ jQuery(function ($) {
219225

220226
const scheduleTable = $('.fz-schedules-table tbody');
221227

222-
const newRow = $(`
223-
<tr data-schedule="${name}">
224-
<td class="fz-schedule-attributes">
225-
<strong>${name}</strong>
226-
</td>
227-
<td class="fz-schedule-attributes">
228-
${interval}
229-
</td>
230-
<td class="fz-schedule-attributes">
231-
${display}
232-
</td>
233-
<td class="fz-schedule-attributes">
234-
<button type="button" class="btn btn-outline-primary fz-delete-schedule fz-is-destructive" data-schedule="${name}">
235-
Delete
236-
</button>
237-
</td>
238-
<input type="hidden" value="${interval}" name="fz-custom-schedule-interval[${name}][interval]">
239-
<input type="hidden" value="${display}" name="fz-custom-schedule-interval[${name}][display]">
240-
</tr>
241-
`);
228+
const newRow = $('<tr>').attr('data-schedule', name);
229+
230+
const nameCell = $('<td>')
231+
.addClass('fz-schedule-attributes')
232+
.append($('<strong>').text(name));
233+
234+
const intervalCell = $('<td>')
235+
.addClass('fz-schedule-attributes')
236+
.text(interval);
237+
const displayCell = $('<td>')
238+
.addClass('fz-schedule-attributes')
239+
.text(display);
240+
241+
const deleteButton = $('<button>')
242+
.attr({
243+
type: 'button',
244+
'data-schedule': name,
245+
})
246+
.addClass(
247+
'btn btn-outline-primary fz-delete-schedule fz-is-destructive'
248+
)
249+
.text(window.feedzy_setting.l10n.delete_btn_label);
250+
251+
const actionCell = $('<td>')
252+
.addClass('fz-schedule-attributes')
253+
.append(deleteButton);
254+
255+
const intervalInput = $('<input>').attr({
256+
type: 'hidden',
257+
value: interval,
258+
name: `fz-custom-schedule-interval[${name}][interval]`,
259+
});
260+
261+
const displayInput = $('<input>').attr({
262+
type: 'hidden',
263+
value: display,
264+
name: `fz-custom-schedule-interval[${name}][display]`,
265+
});
266+
267+
newRow.append(
268+
nameCell,
269+
intervalCell,
270+
displayCell,
271+
actionCell,
272+
intervalInput,
273+
displayInput
274+
);
242275

243276
scheduleTable.append(newRow);
244277

0 commit comments

Comments
 (0)