aboutsummaryrefslogtreecommitdiff
path: root/p/scripts/feed.js
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2022-07-04 09:53:26 +0200
committerGravatar GitHub <noreply@github.com> 2022-07-04 09:53:26 +0200
commit509c8cae6381ec46af7c8303eb92fda6ce496a4a (patch)
tree653f7f44df842f9d7135decd89467879a0098c50 /p/scripts/feed.js
parent57d571230eeb2d3ede57e640b640f17c7a2298a2 (diff)
Dynamic OPML (#4407)
* Dynamic OPML draft #fix https://github.com/FreshRSS/FreshRSS/issues/4191 * Export dynamic OPML http://opml.org/spec2.opml#1629043127000 * Restart with simpler approach * Minor revert * Export dynamic OPML also for single feeds * Special category type for importing dynamic OPML * Parameter for excludeMutedFeeds * Details * More draft * i18n * Fix update * Draft manual import working * Working manual refresh * Draft automatic update * Working Web refresh + fixes * Import/export dynamic OPML settings * Annoying numerous lines in SQL logs * Fix minor JavaScript error * Fix auto adding new columns * Add require * Add missing 🗲 * Missing space * Disable adding new feeds to dynamic categories * Link from import * i18n typo * Improve theme icon function * Fix pink-dark
Diffstat (limited to 'p/scripts/feed.js')
-rw-r--r--p/scripts/feed.js21
1 files changed, 20 insertions, 1 deletions
diff --git a/p/scripts/feed.js b/p/scripts/feed.js
index 2a213b422..a5e43c614 100644
--- a/p/scripts/feed.js
+++ b/p/scripts/feed.js
@@ -1,6 +1,6 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0
'use strict';
-/* globals init_archiving, init_configuration_alert, init_password_observers, init_slider */
+/* globals init_archiving, init_configuration_alert, init_password_observers, init_slider, init_url_observers */
// <popup>
let popup = null;
@@ -67,6 +67,22 @@ function init_popup_preview_selector() {
/**
* Allow a <select class="select-show"> to hide/show elements defined by <option data-show="elem-id"></option>
*/
+function init_disable_elements_on_update(parent) {
+ const inputs = parent.querySelectorAll('input[data-disable-update]');
+ for (const input of inputs) {
+ input.addEventListener('input', (e) => {
+ const elem = document.getElementById(e.target.dataset.disableUpdate);
+ if (elem) {
+ elem.disabled = true;
+ elem.remove();
+ }
+ });
+ }
+}
+
+/**
+ * Allow a <select class="select-show"> to hide/show elements defined by <option data-show="elem-id"></option>
+ */
function init_select_show(parent) {
const listener = (select) => {
const options = select.querySelectorAll('option[data-show]');
@@ -120,7 +136,9 @@ function init_feed_afterDOM() {
init_popup();
init_popup_preview_selector();
init_select_show(slider);
+ init_disable_elements_on_update(slider);
init_password_observers(slider);
+ init_url_observers(slider);
init_valid_xpath(slider);
});
init_slider(slider);
@@ -130,6 +148,7 @@ function init_feed_afterDOM() {
init_popup();
init_popup_preview_selector();
init_select_show(document.body);
+ init_disable_elements_on_update(document.body);
init_password_observers(document.body);
init_valid_xpath(document.body);
}