Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] !!! Make extension TYPO3 12 compatible #777

Draft
wants to merge 133 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 112 commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
0035884
[TASK] #401 - Raise new versions for new TYPO3 12 release
Mar 15, 2023
13d634f
[BUGFIX] 400 - incompatible declaration of ExtensionValidator::isValid
Oct 2, 2022
0a37324
[TASK] #404 - Align with new API for backend modules
Oct 2, 2022
efc05f7
[PHP] #403 - Fix PHP Warning - trying to access array offset
Mar 15, 2023
4af9c66
[BUGFIX] #402 - Fix htmlspecialchars - null given instead of array
Mar 15, 2023
ef428e8
[TASK] 416 - Introduce rector
Mar 15, 2023
97a510a
Run Rector up to PHP 8.1 and TYPO3 12
Mar 15, 2023
4132699
Removed undefined call of method
Mar 15, 2023
9049615
Convert inject methods to constructor
Oct 8, 2022
2e22f2b
Rework Button bars
Oct 8, 2022
153a7a4
[GUI] Rework of the whole JavaScript GUI
Oct 10, 2022
593631f
settings for devbox and gitignore
Jun 20, 2023
f039162
[WEBPACK] include webpack
Jul 7, 2023
61eb8f6
[GUI] Includes Source Code from former React App for EB and included …
Jul 7, 2023
58aa003
[GUI] Fix typo for importing an scss file (#659)
oliverkroener Sep 26, 2023
f508226
Update packages
Jul 21, 2023
4973213
[WEBPACK] adjusting webpack config
Oct 19, 2023
733e71c
[GUI] Rework of the whole React JS GUI
Oct 19, 2023
7dfcf49
661 - bugfix - set properties for controller
Nov 5, 2023
7c303bc
664 - bugfix: check for undefined array key in controller
Nov 13, 2023
73ec47c
[RELEASE] First alpha release
Nov 21, 2023
90445b6
669 bugfix: fix availability of EB while CSP is active
Dec 18, 2023
c043ba2
671 - fix: availability to close modals with the close-button
Dec 18, 2023
d7e5104
666 - bugfix: store more than only one plugin/module/author
Dec 19, 2023
3e75ee0
reformatting
Dec 19, 2023
f0804c9
remove obsolete generation of routes inside module configuration
Dec 19, 2023
acebe63
670 - increase the font size
Dec 21, 2023
71ffda4
533 - Display output dir and backup dir inside the footer of EB
Dec 21, 2023
d91a78b
Release 12.0.0-alpha.4
Dec 21, 2023
8d151ba
678 - make footer visible and hide button bar
Dec 28, 2023
518ca73
680 - storing authors inside composer.json
Dec 28, 2023
0c8723a
533 - add output dir to footer
Dec 30, 2023
bbe80ea
663 - WIP - remove deprecated functions
Dec 28, 2023
9f31c28
added missing type declaration
hgalt Jan 9, 2024
ecf941f
663 - remove deprecated functions
Dec 28, 2023
30fcd4b
413 - make selectbox configurable
Jan 10, 2024
be832fe
413 - Separate select values by new line
Jan 12, 2024
c01e2df
682: fix: generated module now shows the correct labels
Jan 10, 2024
e930b8a
WIP - fixes generation of modules
Jan 10, 2024
708e447
688 - fix: make deletion of author/plugin/module possible again
Jan 10, 2024
201463a
686: task: make properties inside model movable und deletable
Jan 10, 2024
1231edc
689: fix: scss and js generation
Jan 10, 2024
98e04ca
693 - added a "new" button
Jan 11, 2024
cfb5eeb
691 - WIP remove node button
Jan 11, 2024
2dbe2bf
Toggle advanced options and GUI improvements
Jan 11, 2024
2347b28
413 Map options for selectbox into own object in JSON
Jan 12, 2024
b0a5fc1
695 - Make String-property configurable
Jan 13, 2024
ffef0d8
695 - fix config for type string
Jan 13, 2024
d3274f9
696 - make type text configurable
Jan 14, 2024
0cc9b84
702-703: make float and integer configurable
Jan 14, 2024
7235f2f
699: make colorpicker configurable
Jan 14, 2024
a8902a5
700 - make type password configurable
Jan 15, 2024
1a34ae8
701 - make email configurable
Jan 15, 2024
1504507
704 - make boolean configurable
Jan 16, 2024
8eaee5b
711 - fix tca output for inputlink
Jan 16, 2024
0e9099c
705 - make datetime configurable
Jan 17, 2024
cadf363
709 - make file configurable
Jan 17, 2024
285e89c
716 - make none configurable
Jan 17, 2024
f1fd1e6
Bugfixes
Jan 19, 2024
d2cd02b
413 - whereClause for select type
Jan 19, 2024
56a1d0a
696 - rows for type text
Jan 19, 2024
6c2c920
717 - make relation removable from model
Jan 19, 2024
0a49978
Set default branch for new extension to main instead of master
Feb 7, 2024
c79ee89
GUI - Set modal background
Feb 7, 2024
bc4ef82
722 - Adds validation to React JS Application
Feb 8, 2024
329f1c4
Fix PHP Error
Feb 8, 2024
f92fbdd
Fix Sass linter
Feb 8, 2024
8ffe071
722 - disable validation for some fields
Feb 9, 2024
0586fe7
510 - adds icon for plugin
Feb 15, 2024
8b803e5
626 - WIP - create plugins as own CType
Feb 9, 2024
d949f23
Removes pregenerated CSS Styles
Feb 11, 2024
020d914
remove comment in extLocalconf
Feb 15, 2024
96b8de5
662 - fix issue with default value within NodeFactory
Feb 15, 2024
8a52154
adds returnInterface for actions
Feb 15, 2024
160d019
Set property of model to lowercase
Feb 15, 2024
755f4cb
fix: html templates for Models
Feb 15, 2024
298e45d
672 - controller names should start with uppercase
Feb 15, 2024
803eab7
662 - fix issue with default value for nodefactory
Feb 15, 2024
613c9e8
683 - add moduleTemplateFactory to Controller Templates
Feb 16, 2024
bfa50d5
Styling for Backend Templates
Feb 16, 2024
3265eb9
WIP 727 - remove test generation
Feb 16, 2024
da42861
Code cleanup - removed slashes from settings.yamlt
Feb 16, 2024
d4b708b
Code Cleanup
Feb 16, 2024
5ff20e0
626 - own CType for Plugin
Feb 19, 2024
7aad9e9
726 - bugfix: select box for relation was not set properly
Feb 21, 2024
98b04e8
Release v12.0.0-beta.1
Feb 21, 2024
dcbebc5
Code cleanup
Feb 21, 2024
952a377
Refactoring and code cleanup
Feb 21, 2024
e9eed23
[DOCS] Cleanup documentation
Feb 23, 2024
8db9b2d
[TASK] Render correct access value for backend modules
Feb 23, 2024
eb0ef81
727 remove test generation
Feb 23, 2024
50fc61e
WIP Rename settingspanelcomponent
Feb 21, 2024
657fec4
GUI improvements
Feb 23, 2024
265a259
[Release] v12.0.0-beta.2
Mar 24, 2024
28a2840
update npm packages
Mar 24, 2024
2b26a43
Switch documentation rendering to PHP
Mar 26, 2024
6f6f8da
[TASK] 738 - add notification when storage path is missing
Mar 26, 2024
9d4ac38
[DOCS] Fix issues in documentation
Mar 27, 2024
4362920
fix editorconfig
Mar 27, 2024
ce8f0c0
update packages
Mar 27, 2024
c962ef1
Merge branch 'master' into typo3-12-reactjs
Mar 27, 2024
603cadb
fix package-lock.json and yarn.lock
Mar 27, 2024
2459fc3
[TASK] fix several minor issues in TCA and flexfom. (#747)
DavidBruchmann Mar 29, 2024
4098d62
Removes unused code
Mar 29, 2024
5de6ac6
Merge branch 'master' into typo3-12-reactjs
Mar 29, 2024
7822223
Test Coverage
Mar 29, 2024
1855f09
set Bootstrap.php for testing
Mar 29, 2024
db6794d
update php version inside github workflow
Mar 29, 2024
5917c1c
Remove files which should never have been published to github
Mar 29, 2024
7c8e69e
[TASK] sort list of local extensions for optional editing
DavidBruchmann Apr 3, 2024
b43a95e
WIP refactor extension loading
Apr 5, 2024
20b44ad
move SCSS from Resources/Public into Build
DavidBruchmann Apr 5, 2024
99bdea6
[TASK] Replace spyc yaml parser (#772)
DavidBruchmann Apr 8, 2024
62ad2ce
fix #768, show another message when no extensions to open are available
DavidBruchmann Apr 5, 2024
9fce997
[BUGFIX] Use correct casts
georgringer Jun 7, 2024
232b07a
Remove comment inside settings.yamlt for staticDateInXliffFiles
PKuhlmay Apr 23, 2024
81e689f
[TESTS] Fix wrong return definition
PKuhlmay Jun 28, 2024
deb5079
Reformat settings file for testing
PKuhlmay Jun 28, 2024
03ddc29
[BUGFIX] Fix undefined array keys
PKuhlmay Jun 28, 2024
4ea5d37
Set generating empty git repository to a default 'false'
DavidBruchmann May 3, 2024
a8e0abd
WIP fix propertyname
PKuhlmay Jun 28, 2024
ab0db65
WIP load old extensions
PKuhlmay Apr 5, 2024
28a1b42
[DOCS] Adds changelog infos for v12
PKuhlmay Apr 8, 2024
1391582
fix for old names from v11 or earlier
PKuhlmay Apr 8, 2024
71ec231
WIP load old extensions
PKuhlmay Apr 5, 2024
4f46419
[DOCS] Adds changelog infos for v12
PKuhlmay Apr 8, 2024
7fe1be3
fix for old names from v11 or earlier
PKuhlmay Apr 8, 2024
b5dbdae
[BUGFIX] Uniform naming of property fields
ErHaWeb Apr 22, 2024
4fdf974
[BUGFIX] Revision of extension identifiers
ErHaWeb Apr 22, 2024
3568217
Current state
PKuhlmay Jun 28, 2024
df6d6ac
Fix Typo in author role
PKuhlmay Jul 2, 2024
d867823
fix loading of relations
PKuhlmay Jul 2, 2024
88c4775
Merge branch 'eric-v12-load-old-extensions' into v12-load-old-extensions
PKuhlmay Jul 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
84 changes: 42 additions & 42 deletions .devbox/composer.json
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
{
"name": "friendsoftypo3/extension-builder-devbox",
"type": "project",
"description": "Devbox for Extension Builder",
"homepage": "https://github.com/FriendsOfTYPO3/extension_builder",
"support": {
"issues": "https://github.com/FriendsOfTYPO3/extension_builder/issues"
},
"license": "GPL-3.0",
"authors": [
{
"name": "Philipp Kuhlmay",
"email": "[email protected]",
"role": "Developer"
}
],
"require": {
"typo3/minimal": "^11.5",
"typo3/cms-introduction": "~4.0",
"typo3/cms-belog": "^10.4 || ^11.5",
"bk2k/bootstrap-package": "^12",
"helhum/typo3-console": "*",
"friendsoftypo3/extension-builder": "*@dev"
},
"repositories": [
{
"type": "path",
"url": "./packages"
}
],
"config": {
"vendor-dir": "vendor",
"bin-dir": "bin",
"allow-plugins": {
"typo3/cms-composer-installers": true,
"typo3/class-alias-loader": true
}
},
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
"web-dir": "public"
}
"name": "friendsoftypo3/extension-builder-devbox",
"type": "project",
"description": "Devbox for Extension Builder",
"homepage": "https://github.com/FriendsOfTYPO3/extension_builder",
"support": {
"issues": "https://github.com/FriendsOfTYPO3/extension_builder/issues"
},
"license": "GPL-3.0",
"authors": [
{
"name": "Philipp Kuhlmay",
"email": "[email protected]",
"role": "Developer"
}
],
"require": {
"typo3/minimal": "^11.5",
"typo3/cms-introduction": "~4.0",
"typo3/cms-belog": "^10.4 || ^11.5",
"bk2k/bootstrap-package": "^12",
"helhum/typo3-console": "*",
"friendsoftypo3/extension-builder": "*@dev"
},
"repositories": [
{
"type": "path",
"url": "./packages"
}
],
"config": {
"vendor-dir": "vendor",
"bin-dir": "bin",
"allow-plugins": {
"typo3/cms-composer-installers": true,
"typo3/class-alias-loader": true
}
},
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
"web-dir": "public"
}
}
}
9 changes: 6 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ trim_trailing_whitespace = true

# TS/JS-Files
[*.{ts,js}]
indent_size = 2
indent_size = 4

# JSON-Files
[*.json]
indent_style = tab
indent_style = space
indent_size = 4

# ReST-Files
[{*.rst,*.rstt}]
Expand Down Expand Up @@ -55,8 +56,10 @@ indent_size = 2
[{_.htaccess,.htaccess,htaccess.t}]
indent_style = tab

[*{.phpt,htmlt}]
[*{.phpt,htmlt,.php}]
insert_final_newline = false
indent_style = space
indent_size = 4

# Makefile
[{Makefile,**.mk}]
Expand Down
1 change: 1 addition & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PUBLIC_URL=.Build
4 changes: 2 additions & 2 deletions .github/workflows/test-documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ jobs:
name: documentation
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
- name: Checkout
uses: actions/checkout@v4

- name: "Test if the documentation will render without warnings"
- name: Test if the documentation will render without warnings
run: |
mkdir -p Documentation-GENERATED-temp \
&& docker run --rm --pull always -v $(pwd):/project \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest]
php: [7.4, 8.0, 8.1, 8.2, 8.3]
typo3: [^11.5]
php: [8.1, 8.2, 8.3]
typo3: [^12.2]

name: P${{ matrix.php }} - T${{ matrix.typo3 }}

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ sass-lint.html
.devbox/.ddev/providers/
.devbox/.ddev/xhprof/
.devbox/.ddev/composer.lock
.phpunit.cache
coverage
.phpunit.result.cache
54 changes: 54 additions & 0 deletions Build/Scss/App.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
$transition-timing: 0.5s ease;
$btn-background: #F4F4F4;
$generic-z-index: 1;

#settings-column, #right-column {
height: 100vh;
z-index: $generic-z-index;
transition: $transition-timing;
}

#settings-column {
width: 400px;
overflow-y: auto;

scrollbar-width: none;
-ms-overflow-style: none;

&::-webkit-scrollbar {
display: none;
}
}

#right-column {
position: absolute;
left: 0;
overflow-y: hidden;
}

.no-padding {
padding: 0 !important;
}

#show-advanced-options,
#btn-sidebar-collapse {
z-index: 999999999;
top: 80px;
position: fixed;
transition: left $transition-timing;
color: #515151;
background-color: $btn-background;
border-color: $btn-background;

&.collapsed {
left: 20px;
}

&.expanded {
left: 415px;
}
}

#show-advanced-options {
top: 30px;
}
74 changes: 74 additions & 0 deletions Build/Scss/ReactFlow/Nodes/customModel.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
$custom-model-accordion-padding: 0.5rem;
$gray: #CCC;
$light-gray: #777;
$orange: #DFA23A;
$dark-orange: #FF8700;

@mixin fullWidth {
width: 100%;
}
.custom-model-node {
@include fullWidth;
min-width: 300px;
border: 1px solid $gray;
padding: 5px;
border-radius: 5px;
background: #FFF;

.custom-model-node__header {
height: 70px;
}

label {
display: block;
color: $light-gray;
font-size: 12px;
}

.react-flow__handle {
width: 20px;
height: 20px;
top: -10px;
background-color: $orange;
border: 3px solid $orange;
}

input[type="text"],
textarea {
@include fullWidth;
}

.drag-handle {
@include fullWidth;
width:42%;
background-color: $dark-orange;
position: absolute;
top: -24px;
left: 29%;
min-width: 20px;
min-height: 30px;
border-radius: 4px;
border: 2px solid $dark-orange;
}

.accordion-header {
.accordion-button {
padding: 5px $custom-model-accordion-padding;
}
}

.accordion-body {
padding-left: $custom-model-accordion-padding;
padding-right: $custom-model-accordion-padding;
}

.relation {
margin-top: -20px;
}

.btn-delete-node {
position: absolute;
top: -7px;
right: -7px;
}
}
4 changes: 4 additions & 0 deletions Build/Scss/ReactFlow/_sidebar.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.react-flow__sidebar {
overflow-y: scroll;
background-color: #FEDCBA;
}
52 changes: 52 additions & 0 deletions Build/Scss/ReactFlow/reactflow.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
$dndflow-border-color: #1A192B;
$aside-background: #FCFCFC;
$aside-border-color: #EEE;
$description-margin: 10px;
$dndnode-border-color: #0303B3;
$selectall-margin-top: 10px;

.dndflow {
flex: 1;
flex-direction: column;
display: flex;
height: 100%;
background-color: #D3D3D3;

aside {
border-right: 1px solid $aside-border-color;
padding: 15px 10px;
font-size: 12px;
background: $aside-background;

.debug-output {
max-height: 100px;
}
}

aside .description {
margin-bottom: $description-margin;
}

.dndnode {
height: 20px;
padding: 4px;
border: 1px solid $dndflow-border-color;
border-radius: 2px;
margin-bottom: $description-margin;
display: flex;
justify-content: center;
align-items: center;
cursor: grab;
border-color: $dndnode-border-color;
max-width: 150px;
}

.reactflow-wrapper {
flex: 1;
height: 100%;
}

.selectall {
margin-top: $selectall-margin-top;
}
}
Loading
Loading