[TASK] Add user settings option to disable drag n drop confirmation

This commit is contained in:
Philipp Dieter 2022-04-28 13:07:40 +02:00
parent 138c9373ff
commit 43c088850b
5 changed files with 65 additions and 2 deletions

View File

@ -0,0 +1,4 @@
<?php
defined('TYPO3_MODE') || die('Access denied.');
$tca = &$GLOBALS['TCA']['be_users'];

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2020-07-16T21:32:04Z">
<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2022-04-28T10:23:09Z">
<header>
<generator>LFEditor</generator>
</header>
@ -9,6 +9,10 @@
<source><![CDATA[Default]]></source>
<target><![CDATA[Standard]]></target>
</trans-unit>
<trans-unit id="disableDragModal" approved="yes">
<source><![CDATA[Disable drag and drop confirmation in page tree]]></source>
<target><![CDATA[Drag & Drop-Bestätigung im Seitenbaum deaktivieren]]></target>
</trans-unit>
<trans-unit id="homepage" approved="yes">
<source><![CDATA[Homepage]]></source>
<target><![CDATA[Startseite]]></target>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2020-07-16T21:32:04Z">
<file source-language="en" datatype="plaintext" original="messages" date="2022-04-28T10:23:09Z">
<header>
<generator>LFEditor</generator>
</header>
@ -8,6 +8,9 @@
<trans-unit id="default">
<source><![CDATA[Default]]></source>
</trans-unit>
<trans-unit id="disableDragModal">
<source><![CDATA[Disable drag and drop confirmation in page tree]]></source>
</trans-unit>
<trans-unit id="homepage">
<source><![CDATA[Homepage]]></source>
</trans-unit>

View File

@ -0,0 +1,41 @@
--- a/Resources/Public/JavaScript/SvgTree.js 2022-04-28 12:32:01.961189044 +0200
+++ b/Resources/Public/JavaScript/SvgTree.js 2022-04-28 12:32:06.047858227 +0200
@@ -37,6 +37,7 @@
showCheckboxes: false,
showIcons: false,
allowRecursiveDelete: false,
+ disableDragModal: false,
marginTop: 15,
nodeHeight: 20,
indentWidth: 16,
--- a/Resources/Public/JavaScript/PageTree/PageTreeDragDrop.js 2022-04-28 11:43:41.046705421 +0200
+++ b/Resources/Public/JavaScript/PageTree/PageTreeDragDrop.js 2022-04-28 12:30:40.741138721 +0200
@@ -275,6 +275,10 @@
var modalText = options.position === 'in' ? TYPO3.lang['mess.move_into'] : TYPO3.lang['mess.move_after'];
modalText = modalText.replace('%s', options.node.name).replace('%s', options.target.name);
+ if (tree.settings.disableDragModal) {
+ options.command = 'move';
+ tree.sendChangeCommand(options);
+ } else {
Modal.confirm(
TYPO3.lang.move_page,
modalText,
@@ -307,6 +311,7 @@
Modal.dismiss();
});
+ }
} else if (tree.nodeIsOverDelete) {
var options = _this.changeNodePosition({droppedNode: droppedNode, command: 'delete'});
if (tree.settings.displayDeleteConfirmation) {
--- a/Classes/Controller/Page/TreeController.php 2022-04-28 13:00:20.025466105 +0200
+++ b/Classes/Controller/Page/TreeController.php 2022-04-28 13:00:22.312133921 +0200
@@ -155,6 +155,7 @@
'doktypes' => $this->getDokTypes(),
'displayDeleteConfirmation' => $this->getBackendUser()->jsConfirmation(JsConfirmation::DELETE),
'temporaryMountPoint' => $this->getMountPointPath((int)($this->getBackendUser()->uc['pageTree_temporaryMountPoint'] ?? 0)),
+ 'disableDragModal' => !empty($this->getBackendUser()->uc['disableDragModal'])
];
return new JsonResponse($configuration);

View File

@ -65,3 +65,14 @@ call_user_func(
}
);
$GLOBALS['TYPO3_USER_SETTINGS']['columns']['disableDragModal'] = [
'type' => 'check',
'label' => 'LLL:EXT:templates_aide/Resources/Private/Language/locallang.xlf:disableDragModal',
];
$GLOBALS['TYPO3_USER_SETTINGS']['showitem'] = str_replace(
'recursiveDelete',
'recursiveDelete,disableDragModal',
$GLOBALS['TYPO3_USER_SETTINGS']['showitem'],
);