Fix the following issues to make it CSS3 compliant:
- Font-style bold is not a font-style value
- Family names containing whitespace should be quoted
- Same color for background-color and border-color
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Adjustments to Debug Info
- Fix display of abapGit installation package (side-effect of changed package assignment)
- Clarify that list of supported objects is relevant for the local system only (since it's release dependent)
- Add link to complete list of supported objects
* Remove pragmas
Change of terminology (#4043). This time with the missing changes in service_repo.
repo_srv and serializer will be next after #4431.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Automatic creation of top repository package
When adding a repository, it is not necessary anymore that the top SAP package assigned to the repository exists. Just enter a package name and clone (works for offline, too).
The initial diff will now show that the top package exists remotely only. Therefore, when pulling, you will not get the "confirm overwrite package" popup anymore. Yippie!
* Typo
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Refactor CTS API and support additional objects
- Change methods from public to private
- Reduce interface to public methods
- Support objects that can not be locked but can be included in a transport (prep for namespaces)
* Remove lenght check
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Refactor I18N settings
- Consolidate I18N parameters into a structure and pass it to xml and serializer classes (#4415)
- Continue change of terminology (#4043)
* Remove changes to serializer class
* Main lang
* DSYS
* OTGR
* Repo view
* Main langu
* Repo view %26 stage
* Serialize
* Settings
* Repo view
* Defs
* Stage
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Repo view: Adjust link to settings & render transport
- Update link text
- Re-init flag to render transport (in case the package has changed)
* Main langu
* Prevent staging of duplicate files
Since objects cannot exist in multiple packages, the staging page is now checking the selected files to prevent the resulting repo from containing an object multiple times.
If an object is moved to another SAP package and the corresponding files are seleted to be added to the repo (for the new package), then the files must also be removed from the repo (from the old package). If not, an error is raised.
* Remove other changes
* Update file status
* Extend unit test
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: HTML forms for repo settings
This moves the repo settings to HTML forms. The settings are split into three pages:
- Repository settings (ie abapgit.xml)
- Local settings
- Infos
* Lint
* Infos > Stats
* Infos > Stats
* Infos > Stats
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Refactor form css class
- Move styles to CSS
- Provide default for form class
- Remove form class from render calls
* Update css
* Condense textarea
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: HTML forms - follow-up
Follow-up to #4264:
- Split `zcl_abapgit_html_form` class
Processing form data has been moved to `zcl_abapgit_html_form_utils`
- `iv_is_main` refactored to `iv_cmd_type`
- In case of unsaved data, form exit will now prompt for confirmation (`zcl_abapgit_html_form_utils`)
* dot space
* lint
* Remove const
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Set branch name with commit
* Can't stage when commit is checked out
* Add missing variable
* Remove passing a parameter, since set relies on IS SUPPLIED
* Undo last commit
* Intelligent create branch when commit is checked o
ut
* lint
* Fix cancel buttons (missing commit)
* Code review
* Remove unused variables
* Add extra line
* Remove unused variable
* Add back new branch pop-up. Considers tag.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* New Repo: Check package existence before showing p
* fix lint errors
* fix linter
* add more unit tests
* refactor unit tests
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: HTML form tweaks
- Minor increase of contrast for background, input- and readonly fields
- Add read-only option for columns of table control
* Add is_empty
* Add init and hidden
* Render
* Remove init
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Clear progress bar
Clears status/progress bar at end of process and removes leftover messages.
Closes#3505
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Improvements for setting pages
- Better navigation between settings pages
After jumping between setting pages, the back button will go to last page before navigating to the settings (ie "back with bookmark")
- Add commit work
* Lint + router
* Jump repo view to settings
* Lint
* Conflict
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* User interface, "Advanced" menu
Added tooltips to the "Remove" and "Uninstall" options in the advanced menu. As a new user, I would revisit the [documentation](https://docs.abapgit.org/guide-online-uninstall.html) to distinguish between the two.
The tooltips are passed as "iv_title" parameters to ZCL_ABAPGIT_HTML_TOOLBAR->add
* Update src/ui/zcl_abapgit_gui_page_repo_view.clas.abap
Adjustments from review
* Update src/ui/zcl_abapgit_gui_page_repo_view.clas.abap
Adjustments from review
* Update zcl_abapgit_gui_page_repo_view.clas.abap
Comply with abaplint line length of 120
* Update zcl_abapgit_gui_page_repo_view.clas.abap
Comply with abaplint's no whitespaces at EOL
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* show log, remove title parameter
the log objec already have the title as part of the object, another input is not required
this aligns the code to always use the title from the object
closes#4223
* zif_abapgit_log, change title to csequence input
* Dialogs: Enhance HTML form with table control
- Adds option to maintain data using a table control
- Extends UTs with several cases that were include in #4172
- Table control to be used by "repo settings" #4171
* Border
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* log, purge() now returns the log
For each action, the log should be returned, then it is up to the UI how or if to show or persist it in the session.
First step of #2821
* li_log not needed anymore
This adds shorthand methods for the SHA1 calculation of the different git artifacts.
More logic in ZCL_ABAPGIT_HASH, but easier to read and less application logic.
When repeatedly navigating "back" to the main screen via the "Repository List" [o] button:
If somewhere in this navigation sequence you Remove a repository,
then continue on via "Repository List",
but later you use the GUI's actual "BACK" button, until you have returned to the main screen where that repository still existed,
a short dump occurs as the exception raised by zcl_abapgit_repo_srv=>get in zcl_abapgit_gui_page_repo_view->render_content propagates unhandled
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: New pages for global and personal setting
Redesign of abapGit settings using HTML forms. Two functional changes to old settings page:
- "Development Internal Settings" are only visible when using the developer version (not in standalone program)
- "User-specific hotkey settings" are not available anymore. The default hotkeys continue to work as before.
Global/Personal settings can be reached using hotkeys "x" and "y".
* Lint
* Hide button
* Change to top menu
* Remove old page
* Remove old page
* fix links
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Add help buttons to "New Online/Offline"
- Add help button to both dialogs linking to docs.abapgit.org
- Clicking the button brings up the documentation inside the GUI HTML viewer
- Enhancement to `zcl_abapgit_gui` and `zcl_abapgit_html_viewer_gui` to properly handle 'Back' when navigating through Internet pages
* Open help in external browser
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Refactor XSTRING_TO_INT
this will use the built-in type conversion, its less code and most likely also runs faster
* delete METHOD alpha_output
it is only used in one place, and its a simple NUMC that is converted
* Dialogs: HTML form enhancements
In preparation for https://github.com/abapGit/abapGit/issues/4171, HTML forms were enhanced as follows:
- New integer fields (type "number") with min/max, https://github.com/abapGit/abapGit/issues/3559
- Added support for minlength/maxlength for text fields
- Added support for read-only fields
- Added support for password fields
- New option for adding a help button to the form (with URL link)
- Moved HTML snippets to render method
- Changed parameters to csequence to also accept char variables (like abap_true)
- Minor adjustments to styles
* Lint and fix ul/fieldgroup
* Min/max validation, textarea
* Close textarea tag
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* ZCL_ABAPGIT_CONVERT refactor
this removes calls to function modules, replacing with class based equivalents, or all custom ABAP implementations
* rename local variables
* move merge types to merge class
this will make the God interface defintions smaller
also reducing INTF -> CLAS references
and making it easier to add an interface for the merge class in the future
* add interface ZIF_ABAPGIT_MERGE
* Terminology: Inclusive Language - Part 2
Change "Master Language" to "Main Language" in UI and comments (documentation and variables next)
* Docs
* Docs
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Move git url repo methods
This moves methods GET_COMMIT_DISPLAY_URL and GET_DEFAULT_COMMIT_DISPLAY_URL from the repo class to new class in new package GIT_PLATFORM.
we want to keep the repo class small, as its quite complex and central
#4085
* fix line length
* Triggers main command when pressing enter in form
Adds hidden button that triggers main command when pressing the enter key
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Backup and restore for abapGit persistency
Backup complete content of abapGit persistency to a ZIP file and restore when necessary.
* Messages
* 702
Co-authored-by: Lars Hvam <larshp@hotmail.com>
- Added icon for user
- Changed icon for transport to truck
- Adapted "staging" page
- Renamed CSS-classes because of conflict with classes used on staging page
Screenshots #4097Closes#4098
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 702: Downport
No chaining with CHANGING
* 702: Downport
* Syntax check variant
* Too many fields warning
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Unify rendering of branch, package, user names
Branch name was already rendered "boxed with a leading icon". The same is now done for package and user names.
See `zcl_abapgit_gui_chunk_lib->render_branch_name, render_package_name, render_user_name`.
Closes#4059
* Lint %26 transport
* Unknown user
* Transport css
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Some files that existed locally didn't have a link. After #4084, the state can be evaluated properly to determine if local object exists.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Replace LEAVE with CALL SCREEN
* Add new option iv_show_commit
Add new option iv_show_commit to GUI_CHUNK_LIB to be able to suppress showing commit hash on GUI_PAGE_CODE_INSP page
* abapLint: Replace 'EQ' by '='
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Hide commit hash on other pages too
Hide commit hash on ZCL_ABAPGIT_GUI_PAGE_REPO_SETT and ZCL_ABAPGIT_GUI_PAGE_SYNTAX pages
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* refactor validation in html_form + UT
* minor UT tweak
* subtle form bugfix (boolc return space string)
* cleanup add forms
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Part 1
* Part 2
* Part 3
* Lint
* Part 5
* Part 6
* Part 7
* Part 8
* Part 9
* Enforce type naming prefix
All types need to start with TY_...
* Fix local types
* event->post_data logic
* part of pages, commit test
this is also long text
to test
* string_map: port strict() feature
* pages refactoring part 2
* linter
* docs
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: add offline repo HTML form
* Dialogs: add offline repo HTML form
* Dialogs: add offline repo HTML form
* Lint
* Lint
* Chaining
* Set required attribute
* Check for empty display name
* Change validation
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add button to launch IEChooser.exe on Windows
* Fix CASE statement
* Determine iechooser.exe path using system directory
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Split settings and dev utils menu
* Fix missing settings hotkey on repo view
* Revert "Fix missing settings hotkey on repo view"
This reverts commit 1444744a5f.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* remove uses of CHAR30
* Update abaplint.json
* add basic unit test for ZCL_ABAPGIT_MESSAGE_HELPER
* replace uses of char50
* fix name
* Update abaplint.json
* use sy-uname instead of uname
in ZCL_ABAPGIT_USER_MASTER_RECORD
pretty print class ZCL_ABAPGIT_HTML_FORM, and change two static methods to instance, this will make future possible changes to the class easier to see in the history
Follow-up to #3717:
- Proper display of public, protected, and private sections
- Add CLAS prefix to be inline with other object types
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* popup_to_select_from_list can handle element tabs
popup_to_select_from_list can now handle element-based non-structured tables like a table of url strings
Therefore related to #3639
* Update zcl_abapgit_popups.clas.abap
* Fixed wrong value assigning and added assert
* Add performance test
* Fix some linter errors
* Refactor free selections to reduce method length
* Performance test add title to result ALV
* Attempt downport
* Downport
* Pretty Printer VS abaplint
* Undo more changes done by pretty printer
* Adjust performance popup title and ALV layout
* Move free sel dialog to global for abapmerge
* Move some type definitions for abapmerge
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* navigate to repo after ZIP import
* add zip import/export action for offline repos
* rename action labels
* change new state to be dependent on current page
change replacing -> new page if action called from repo list
rerender if in repo view
* add some TODOs, see PR discussion
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update error msg
* Fix login popup errors and cancelation
* Remove validate/reset methods
* Lint
* Rename iv_repo_online to io_repo_online
* Change to error in status bar
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* refactoring, use interface for html
replace uses of zcl_abapgit_html with zif_abapgit_html
#3460
* replace additional uses of the A alias
* This removes the A alias from the HTML class
This removes the following alias,
"a FOR zif_abapgit_html~a ."
* fix syntax error
* background pull: always overwrite all objects
always choose to overwrite all objects when using the pull in background feature. If the decision is not set the job will fail with a "undecided" error
#3800
* fix page title typo
* Improve display when there are no changes in repo view
* Update view and remove empty_package method
* Empty package msg
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Validate if branch exists when displaying repo
* Validate if branch exists when displaying repo
* Lint
* Lint and 702
* Lint
* Rename validate_branch to validate
* Fix msg and branch display name
* Move msg to UI layer
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
* abapGit Emergency Mode
On rare occasions, it is necessary to edit the abapGit settings to overcome an issue (example: https://github.com/larshp/abapGit/issues/3701).
This enhancement allows you to start abapGit in "emergency mode", which directly shows the "Database Utility" for you to view or edit any setting.
How to start abapGit in "Emergency Mode":
1. Go to transaction SU3 to maintain your user profile
2. Maintain parameter DBT with value "ZABAPGIT" (all-caps).
3. Start abapGit
4. After exiting abapGit, go back to SU3 and remove parameter DBT
* Update ref-database-util.md
* Add files via upload
* Update ref-database-util.md
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Use title case for page titles
Other minor changes:
- patch page is no longer called diff
- "code inspector" in main page action menu renamed to "check"
* Two more
* Update zcl_abapgit_gui_page_db_dis.clas.abap
* Update zcl_abapgit_gui_page_repo_sett.clas.abap
* Repo advanced menu
* Commit form labels
* Repo setting lables
* Settings, repo
* Final ones?
* Database util
* Column name in stage page
* abaplint
* Update zcl_abapgit_gui_page_stage.clas.abap
* Hover texts for stage column, commit settings
* lint
Turning on "Details" in Repo Overview will now hide the "Action" column to improve display on smaller screens.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* show last commit hash w/ link if possible
link to commit is supported for github.com and bitbucket.org
* remove inline data declaration
* add gitlab link support with UT
* add commit icon for non supported provider
* remove inline declaration
* remove new for CRETE OBJECT
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Enhance result view of Code Inspector/Syntax Check
* Enhance result view of Code Inspector/Syntax Check
* Enhance result view of Code Inspector/Syntax Check
* Lint
* Move sort
* Downport: Fix syntax error in 702
Method "ASSERT_TRUE" does not exist in 702
* Downport: Fix syntax error in 702
Co-authored-by: Lars Hvam <larshp@hotmail.com>
After this fix is applied the menu "advanced > open in master language" opens the repo directly and doesn't open the repo list.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Remember repo list filter
resolves#3552
Changes:
- store filter in local storage instead of session storage, so it is remembered on abapgit restart
- filter is saved whenever it is changed instead of page unload
- removed debug output, it doesn't need to clutter the main page
* Don't resave on page load
* Add semicolons
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Improved staging robustness
- Skipped any objects in the changelist that are not marked for staging prior to processing them , to avoid that they keep other objects without errors from being staged if the user wants to stage parts of the changes
* Reduced line length
* Removed missed whitespace
* Update abaplint.json
* Update abaplint.json
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fixed faulty translation of post data to parsable string
- Added method TRANSLATE_POSTDATA to ZCL_ABAPGIT_UTILS as a centralized place to translate post data to a string
- Replaced all post data string concatenations with the translation helper method to correctly parse spaces that fall to the end of a table line (this should solve #3073 as well as any other random crash caused by accidental misalignment of the post data)
* Backport ABAP statement to 7.02
* Code cleanup for linter checks
* Code cleanup for linter checks
* Fixed a possible error in parsing
If it_postdata contains an empty last line, the staging fails, because the string may contain a lot of soaces at the end of the previous to last line.
Co-authored-by: Lars Hvam <larshp@hotmail.com>