* auto id
* fix html validation (form in ul)
* form groups
* move colors to theme
* docs for html form component
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* add variant transaction support and fix FG globals
add handling of variant transaction
clear globals in FG for FM RPY_TRANSACTION_INSERT
fixes#2744
* CC cleanup
* fix linter errors
* fix linter errors
* fix linter error - type pool constants
* fix linter error void type
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* css cleanups
* orange logo
* Revert "orange logo"
This reverts commit b9aa45bbd0.
* update font
* css improvements
* remove logo png
* re-layout page title and footer
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add logo for dark theme
* Dark theme fixes
* Dark theme fixes
* Solve conflict
* Remove logo changes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
Main and repo are no longer one page, so the `re_render` action does not make sense anymore. `new_page_replacing` is used instead of `new_page` so you cannot navigate back to the removed repo.
* Add main menu, toggle favorites
* Make abapgit logo go to overview
* Remove favorite repo links
* Fix remember filter
* Separator between filters
* Remove unused code
* Repo overview to main page
* Fix errors
* Fix naming
* Downport js
* Add separator
* remove unrelated changes
* Fix spacing
* Add package link
* Fix orderby dumping
* Only show tutorial with no favorites
Still have to do something about empty table
* Move abapgit installation info to debug info
* Improve tutorial, resolves#3497
* Add branch switch link
* Reduce line length
* Revert temporary hack
* Working version of removing logo
* No longer show tutorial in repositories
* Code cleanup
* More cleanup, rename tutorial to page
* Fix
* Force order by favorite
* Add checkmark icons
* View repo to page, rework menu
* Fix build
* Return logo
* Fix hotkeys on repo page, rename to page
* Fix show last repo, cleanup
* Abaplint
* Rollback js reformat
* Fix tutorial title, hotkeys
* Try resolve strange situation with PR
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zcl_abapgit_objects.clas.abap
* DDIC with reference to class/interface
* DDIC with reference to class/interface
* Search help with exit function
* Table with reference to search help
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zif_abapgit_definitions.intf.abap
* Condense messages in case of package move
* Improve msg alignment
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* introduce interfaces for classes zcl_abapgit_xml_input/output
* refactor classes to use interfaces
* fix indentation of xml files
* fix exception class
* Removed default for commit comment (#3513)
* Removed default for commit comment
Closes https://github.com/larshp/abapGit/issues/3511
* Removed default for commit comment
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix incorrect status of ignored files in repo view (#3506)
* Fix incorrect status of ignored filed in repo view
After update of repo settings, some ignored files showed as "-/A".
https://github.com/larshp/abapGit/pull/3415
* Whitespace
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Minor improvements of icons in repo view (#3493)
* Minor improvement for icons in repo view
* Add Icon Legend in "Debug Info"
A place to see available icons (will copy it to documentation).
* Pretty print
* Reverse icons in debug info
Icons are now in docs. No need for this here
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* z'ify
* zif'y
* remove to much zif'iation
* whitespace
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* New method to get repo from package
If package already exists in a repo and it returns the repo and reason why the package can't be used in a new repo
* UI: If package exists in repo, nav to repo
+Online, +Offline - if repo is already versioned, navigate to repo and show message why package could not be used in new repo
Closes https://github.com/larshp/abapGit/issues/3452
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
* APACK definition
* Rework News
Use APACK version for news and remove restriction for repository to set available for all with APACK
* Remove APACK for abapGit
* TODO mark for version constant use
* Move is_abapgit_repo to zcl_abapgit_url
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Minor improvement for icons in repo view
* Add Icon Legend in "Debug Info"
A place to see available icons (will copy it to documentation).
* Pretty print
* Reverse icons in debug info
Icons are now in docs. No need for this here
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix incorrect status of ignored filed in repo view
After update of repo settings, some ignored files showed as "-/A".
https://github.com/larshp/abapGit/pull/3415
* Whitespace
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DSYS serializer rewritten
* Fixes issue #3374 when object names include a namespace.
* Uses longtexts facility to serialize texts:
* Supports i18n texts.
* Supports text versions other than 0001.
* Fix linter compliance
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Fixes the dump and import error for package interfaces. Even if the package interface is in a different package than the referencedpackage itself.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update 3 objects
* Update zcl_abapgit_exit.clas.abap
Pretty printer didnt work in JAVA GUI, so had to manually change the file
* IS_STEP as input parameter
* Issue in JAVA based GUI
Pretty printer not working for class name in implementation
* Move TY_STEP_DATA to ZIF_ABAPGIT_DEFINITIONS
* try moving ty_deserialization_step
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Issue 3324: WDA Texta are not taken into accout
* Remove the not allowed Web Dynpro component
* Correct ABAB CHECKS 702 for SOTR_HANDLER
* ABAP Check 702 SOTR_HANDLER II
* ABAP Check 702 SOTR_HANDLER III: AUnit Exception
* ABAP Check 702 compliant IV
* ABAB Check 702 compliance V
* ABAP Check Compliance 702 VI
* ABAP Check 702 compliance VII
* ABAP Check 702 compliance VIII: delete comment
* ABAP Check compliance 702 IX : conv #
* Commit X: Improvements of ABAP Unit tests
-Test uses a 100% existing wd component and TEST(!) checks it
-Test enhanced with a non existing component -> no exception is raised nor existence is checked inside the PRODUCTIVE ROUTINE(!) via WDR_REPOSITORY_INFO as this check should have been done earlier not in this last phase to append the texts, labels, etc... to the component archive
* C XI: ABAP Unit Tests(2)
* C XII : ABAP Checks 702 for ABAP Unit Tests
* C XIII : ABAP CHECKS 702
* C XIV : ABAP CHECKS 702
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Old logic was failing if transaction ZABAPGIT already existed - typically because it was created manually for the merged version. Testing for program ZABAPGIT would not be any better since that might have been used for the merged version as well. It's more reliable to check a class.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add syntax-highlighters for CSS, JS, JSON
* Update W3MI ZABAPGIT_CSS_THEME_DEFAULT
* Fix line size and case statement
* Fix line size
* Update styles, removed operators
* Added highlight for comments in HTML/XML
* Fix menu hover background
This makes the selected menu more visible.
Also includes color fix for repo name and url in dark theme.
* Fix for W3xx objects with "." in name
* Reverse fix for W3xx
* Remove hover style changes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* refactor mi_gui_services to getter
* zif_html->set_title (for debug of postponed parts)
* add set_title to all postponed parts
* gui optional rollback on error
* forgotten gui_services call
* docs
* remove gui_page redirect #3404
* forgotten html~set_title in hotkey class
also renamed render_js_part into render_scripts for unification and reuse register_deferred_script - this is why I lost it int the first place
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Master lang only - descriptions for clas, intf
* Use master language instead of logon language
* sy-langu to master language - fix cus0, cus1, cus2
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zcl_abapgit_gui_page_stage.clas.abap
* Change to exception
* add reference to issue as comment in code
* Update zcl_abapgit_gui_page_stage.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Set filter for file open and save dialogs
Set the file filter dropdown and default to *.ZIP in file open and save dialogs
* Add new setting for default commit comment
New abapGit setting to define a default for the comment used for commits. Object and/or filename can added to the comment automatically, which works similar to GitHub if a single file is changed. If multiple objects are changed, then object/file count is included in the default for the comment.
* Update CLAS ZCL_ABAPGIT_GUI_PAGE_COMMIT
* Fix text for $object
Fixed case when one object with multiple files was changed
* Pretty print
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* zcl_abapgit_html_parts primitive
* integrate parts in GUI
* bughunting and renames
* scripts collection, move hotkeys js to parts
* linter fixes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* char: deserialize missing attribute hide_icons
* char: unlock upon all errors
It's very annoying when I have to go to SM12 to unlock CHAR
objects which could not be activated due to a missing OTGR.
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Update pull.yml
* Delete pull.yml
* Refactored popup logic
Related to #3040
Refactoring of popup logic/calling to be able to reuse it as commit list.
* Removed reset flag
Removed reset flag cause it doesn't belong to this PR (will be readded later)
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Introduce zcl_abapgit_gui_page_patch as subclass of zcl_abapgit_gui_page_diff
introduce pop-method on GUI stack
fix linter + raising exception when gui stack emp
introduce zcl_abapgit_gui_page_patch
more
add
fix linter
remove go back to patch after commit
fix linter
remove bookmark for stage page
remove pop
src/ui/core/zcl_abapgit_gui.clas.abap
src/zcl_abapgit_repo_online.clas.abap
* refactor: move more logic to render_line_split_ro
* refactor move logic to render_diff_head_after_stat
* add logic to render_table_head_non_unified
* extract render_table_head_unified
* extract of is_patch_possible calculation
* fix linter
* move hotkey to patch
* refactor and rename to get_normalized_fname_with_p
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Patch: Refresh object first working version
* Patch: add refresh local and refresh repo + refact
* add missing stuff
* fix lint
* refactoring and cleanup
* add missing stuff
* refactor
* refactor
* refactor
* add title for menu bar
* Save and restore scroll position
* refactoring and cleanup
* refactor
* cleanup
* cleanup
* cleanup
* remove new hotkey
* disable object refresh for non-object files
* remove restore scrollposition
* cleanup
* refactor
* cleanup
* save scroll position
* Fix: refresh of deleted objects
* Fix dump: refresh new objects
* add hotkey support for refresh all local objects
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Resize stage list to full width
* Move patch button to the top menu
* Center stage list, increase line width in repo, stage
* Repo page - Increase line height for path column
* Stage list to full size
Co-authored-by: Lars Hvam <larshp@hotmail.com>
I came upon a `w3ht.data.html` object without syntax highlighting. We can reuse the xml highlighter for html.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* IOBJ fix#3105
* Variable fix
* BW function modules check
* AREA support
AREA support
* update, comment fix
* update
* iobj update
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Support for CHDO
* Remove dependency from GENERIC
* Skip gen. objects by CHDO
* abaplint checks
* Moved filter to zcl_abapgit_repo
* Adjusted filter logic
* Delete unused methods
* Extract apply filter methods
New class zcl_abapgit_repo_filter generated with apply filter methods
* docs: update supported with CHDO
* Clear serialization fields
* Set package at deserialize
* Check errors at deserialize
* add proxy bypass option in settings
* add proxy bypass popup and persist settings
* add proxy bypass to proxy config class
* Fix Proxy Bypass Button HTML
* Fix indentation
* Implement Method popup_proxy_bypass
* Fix behaviour in case of empty range tab
* Fix behaviour in case of empty range tab 2
I know don't why but on our systems the "include for generated
maintenance views" is returned from the function module
RS_GET_ALL_INCLUDES, so when we add it in the method
zcl_abapgit_object_fugr=>includes we have the file twice which cause
duplicate errors on our systems.
I didn't remove the code because we are supposed to run on all ABAP
rutime versions and the problem with duplicates for the T00 includes has
started occurring only recently, so the older versions need this
artificial include (I guess).
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* IOBJ fix#3105
* Variable fix
* BW function modules check
* Enhancement of iobj support
Enhancement of iobj support which enable handling of:
-attributes,
-compoundings,
-hierarchies
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Issue 3066: Class text elements translation
* Removed comments for Issue 3066
* Pull request checks
* Travis-CI checks fixes
* Travis-CI checks fixes - Identation
* Interfaces pretty printed
* Travis-CI identation check
* Travis-CI identation check
* Changes type tt_langu and serialization
Type tt_langu moved from zif_abapgit_definitions to ZCL_ABAPGIT_OBJECTS_PROGRAM
Encapsulated code to serialize DOCU, TPOOL and SOTR for classes
* abaplint corrections
* abaplint corrections
* Encapsulated serialization %26 new IF lang def.
* zif_abapgit_definitions types indentation
* Restore zif_abapgit_definitions
* Revert zcl_abapgit_object_clas
* Revert zcl_abapgit_object_clas
* Revert zcl_abapgit_objects_program
* Revert zif_abapgit_oo_object_fnc.intf.abap
* Revert zcl_abapgit_object_clas.clas.abap
* Class text language
* Class text language
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Remove select for exists check
Due to the language flag-specific select a type group/pool couldn't be found. Removed the select at all because the following FM also recognizes unexistent type groups/pools and sets sy-subrc to something <> 0.
* Fill description if available in login language
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
During creation of classes with redefinitions in the protected section, entries in table SEOREDEF are not updated properly.
Reason: The buffer of Class Builder does not recognize the creation of the inheritance in the active version. During the creation of the super class relationship in SEO_INHERITANCE_CREATE_F_DATA only the inactive buffer is updated. The buffer for the active version has still the state that the class has no super class.
Therefore, SEOREDEF is filled with an empty super class name.
If the buffer is refreshed before the metadata is updated, the super class is read correctly before SEOREDEF entries are created.
* Code selection by column on DIFF screen
Fix of #3089
Two ways to select a text:
1. Position the mouse at the start of the text, press mouse left button, keep pressed, drag to the end of the text, release the button
2. Position the mouse at the start of the text, press mouse left button, release the button, position the mouse to the end of the text, press shift key + mouse left button.
Two ways to copy the selected text:
1. Press Ctrl + C or Ctrl + Ins
2. Mouse right button on the text to display the context menu and choose Copy
SPLIT VIEW (code at the left is the LOCAL code and code at the right is the REMOTE code):
- Text can be selected only at the left side, or only at the right side.
- The dummy empty lines which show the place of lines which exist only at the other side are not copied.
UNIFIED VIEW (LOCAL and REMOTE are mixed in the same column, "green plus" lines correspond to lines only in the LOCAL code, "red minus" lines correspond to lines only in the REMOTE code.
- Only the lines from the REMOTE code are copied
PATCH VIEW (split view + one extra column on the left)
- Same features as the SPLIT VIEW
* corrections lint javascript
* merge latest abapgit changes
* corrections lint javascript
* JS refactor functions to prototyped fns (classes)
* JS lint corrections + minor last minute changes
* conform current common.js standards
* LINT conform to common.js standards
* unused lines removed
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Improved time conversion
Preparation for #3040
> rename time%3D>get to time%3D>get_unix
> added time conversion from unix to real (get_real)
> added unit tests for time conversion
* abapLint
* Raise cx_static_check and removed exc handling
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Tags: Error author regex
> Regex couldn't match with string "pull[bot] <39814207+pull[bot]@users.noreply.github.com> 1573216988 +0000" because "[]" weren't allowed
* abapLint
* Added unit test for author_regex
#3042
* Any character in author name and Unit Tests
#3042#3069
* Unit Tests and utils method for author regex
#3042#3069
> Unit Tests for author_regex (zif_abapgit_definitions)
> New utils method for regex check as utils method in zcl_abapgit_utils
> Regex for author expects now at least one character for the author name ('^(.+)'...)
> Use zif_abapgit_definitions%3D>ty_commit_tt instead of local type of the same type in class zcl_abapgit_branch_overview
* Changed utils method/tests and moved unit tests
#3042 - Error author regex
#3069 - Add unit tests
> Renamed is_author to extract_author_data and moved related source code from branch_overview to utils class
> Changed related unit tests to handle exception or not
> Moved unit tests to local class of zcl_abapgit_utils
* abapLint
* abapLint
* abapLint
* abapLint
* exclude 7bit test for testclass
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Check repo URLs before creating a new online repo
Fixes#3060
* Check repo URLs before creating a new online repo
Use method zcl_abapgit_url%3D>name and replace the assert with an exception
* Possible Solution #1
* Update zcl_abapgit_objects_super.clas.xml
* abapLint
* Removed german language flag
* Fixes
* Removed flag for german language
* Removed test code
* abapLint
* Implemented suggestions from PR
> mo_xml_api is just local now
> li_service removed
> implemented exception handling for calls of xml api methods set_changeable, delete and save
> integrated sy-subrc into all exception calls
> wrote update routine if IAXU object already exists (object will be deleted first and after that local method save is called)
* abapLint
* abapLint
* String template, restructured api methods
* Remove descriptions
* abapLint
* Fixed issues after restructuring api methods calls
* Alternative error handling for existence check
* Use api existence check instead of load
* Fixed some bugs
* added a picture for pull from zip
it can then be used in guide-import-zip.md
* Fix for Issue 2922
https://github.com/larshp/abapGit/issues/2922
Added a new test method find_head_closing_tag.
Implemented fix in method zcl_abapgit_gui_html_processor->find_head_offset.
* Removed dont needed Pull_from_zip.png
Removed dont needed Pull_from_zip.png
* Restored NewLines handling in patch_html
Restored NewLines handling in patch_html
* Fixed some abapLint Warnings
Fixed some abapLint Warnings
* Fixed some abapLint messages
Fixed some abapLint messages
The methods CL_OO_CLASS_SECTION_SOURCE=>SCAN_SECTION_SOURCE calls the
function SCAN_ABAP_OBJECTS_SECTION without the parameter superclsname
which causes that variable scan_result (vse_tabs) holds a broken table of
redefinitions for protected methods which leads into a short dump during
CL_OO_CLASS_SECTION_SOURCE=>REVERT_SCAN_RESULTS.
The problem does not occur for public section because the public section
contains "CLASS ... INHERITING FROM ...", so superclsname gets
populated. It's obvious that the class definition statement is not
present in the protected section.
The crash is reported as DBSQL_DUPLICATE_KEY_ERROR in the program
SAPLSEOR at INSERT_REDEFINITIONS.
The code is the following:
* first refresh db table
perform delete_redefinitions
using inhkey.
delete adjacent duplicates from redefinitions.
* insert again
insert seoredef from table redefinitions.
One might think that the delete statement form clears the table seoredef
but the problem is that the variable inhkey contains the super class
name so no redefinitions are actually removed and the insert statement
attempts to insert the redefinitions without parent class again.
The proper solution is to enhance CL_OO_CLASS_SECTION_SOURCE=>SCAN_SECTION_SOURCE
to pass the super class name to SCAN_ABAP_OBJECTS_SECTION - at least for
the protected section.
However, I am not patient and I am not going to wait for the proper fix
(which the maintainers may refuse).
* Order by on repo page
* move render_cols_pec to zcl_abapgit_gui_chunk_lib
* cleanup
* cleanup
* first new working version
* fix lint
* add OrderByHelper
* add new feature clear
* rename ICON to CLEAR
* cleanup
* refactor actions
* fix typo in method name
* remove duplication
* rename render_col_spec to render_order_by_table_he
* refactor type
* fix eslint warning
* isoltate repo_tab CSS
* fix non-code and metadata files at the top
* refactor
* cleanup
* new features "diffs first" + remove clear
* refactor
* take directories into account
* cleanup
* No log messages for local objects after pull
In case a package contains objects that are are not part of the remote repository, the pull log contains messages like "Object (type ) only exists local; no import required". It is not necessary that messages for local object appears in the log. For pull requests, messages for the affected objects (objects to be imported) are sufficient.
This change ir related to issue #2931.
* rename (z)if_abapgit_definitions
rename (z)if_abapgit_definitions
* UENO: Entity Type Implementation (#1906)
* Resolve ABAPlint issues
Resolve ABAPlint issues
* UENO - Use zcl_abapgit_objects_generic
Removal of many unnecessary methods due to use of zcl_abapgit_objects_generic
* #2725
> Bottom logo is now clickable and links to the repository page on GitHub
> New menu item 'Changelog' under 'Help' which links to the changelog.txt
Special Notes:
> Link to documentation was already implemented
> Link for menu item 'Tutorials' isn't linked to anything. But that seems to be right, because there isn't a tutorial site separated from the documentation website
* abaplint: Normalization
* Update zcl_abapgit_services_abapgit.clas.abap
* Update zcl_abapgit_services_abapgit.clas.abap
* abaplint: fix max line length error
* abaplint
* Removed "|{}|"
* command palette
* support for Ctrl; case insensitive search
* some wip
* refactor KeyNavigation
* eslint
* commandPalette key navigation improved
* last backspace hides the palette
* minor cleanups and ids
JavaGUI does not pass values of options from forms generated via
JavaScript.
This commit adds enhances the base page class to render stub forms
(empty form elements), so the page's JavaScript does not need to create
the form element on its own.
It is an optional behavior and can be enabled by redefining the method
get_events which should return table of required events and the base
page object will add the empty form elements for them. Every table line
will be converted to a form with id = "form_" + the event's name.
On the action submit SAP event in the common JavaScript, the method
checks if there is the stub form and if so, the method uses it instead
of creating the dynamic one. Otherwise, it follows the old approach that
creates the form at run-time.
--- v2
Use 'null' instead of 'undefined' to check the form was not found in
the JavaScript code.
---
Issues: #1866, #2769