4
0
Эх сурвалжийг харах

Allow deep link to extension configuration (#5449)

* Allow deep link to extension configuration
Full screen

* Support slider

* Add aside_configure
Fix https://github.com/FreshRSS/FreshRSS/pull/5449#issuecomment-1588089769
Alexandre Alapetite 2 жил өмнө
parent
commit
3fe68a3285

+ 1 - 1
app/Controllers/extensionController.php

@@ -80,7 +80,7 @@ class FreshRSS_extension_Controller extends FreshRSS_ActionController {
 	public function configureAction(): void {
 		if (Minz_Request::paramBoolean('ajax')) {
 			$this->view->_layout(null);
-		} else {
+		} elseif (Minz_Request::paramBoolean('slider')) {
 			$this->indexAction();
 			$this->view->_path('extension/index.phtml');
 		}

+ 7 - 2
app/views/helpers/extension/configure.phtml

@@ -1,4 +1,9 @@
-<?php /** @var FreshRSS_View $this */ ?>
+<?php
+	/** @var FreshRSS_View $this */
+	if (!Minz_Request::paramBoolean('ajax')) {
+		$this->partial('aside_configure');
+	}
+?>
 <div class="post">
 	<h2>
 		<?= $this->extension->getName() ?> (<?= $this->extension->getVersion() ?>) —
@@ -11,7 +16,7 @@
 	<form id="form-extension" method="post">
 		<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
 		<div class="form-group form-actions">
-			<div class="group-controls">		
+			<div class="group-controls">
 				<button class="btn btn-attention confirm" form="form-extension" formaction="<?= _url('extension', 'remove', 'e', urlencode($this->extension->getName())) ?>"><?= _t('gen.action.remove') ?></button>
 			</div>
 		</div>

+ 3 - 0
p/scripts/extra.js

@@ -164,6 +164,9 @@ function open_slider_listener(ev) {
 				slider.classList.add('active');
 				slider.scrollTop = 0;
 				slider_content.innerHTML = this.response.body.innerHTML;
+				slider_content.querySelectorAll('form').forEach(function (f) {
+					f.insertAdjacentHTML('afterbegin', '<input type="hidden" name="slider" value="1" />');
+				});
 				context.ajax_loading = false;
 				slider.dispatchEvent(freshrssSliderLoadEvent);
 			};