* 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
* draft rewrite hint to be dynamic
* linter fixes
* remove color setting
* remove backspace and esc handling
* close dropdowns
* return some comments in JS
* linter fixes
* Fix hint for dropdown first time + alw close drdwn
* fixes issue #2815
The existing object handler for CDS metadata extension (DDLX) has been reviewed by an expert.
Doing this, the following feedback has been provided:
enable existing logging capability
include environment specific logic (e.g. import of an inactive version)
improve exception handling so that the related object information can be displayed in log
assign package information to handle abap language version ina proper way
adapt lock object
* fixes saplint issues
* fixes saplint issues
* fixes saplint issues
* extract dependency injection for TADIR_INSERT
* fixes saplint issues
* zcl_abapgit_environment.clas.testclasses.abap set to master version
* changes related to code review
* redo changes
* redo changes
* back to master version
* Refactoring of ZCL_ABAPGIT_ENVIRONMENT #2810
* fixes saplint issues
* fixes saplint isues
* fixes saplint issues
* fixes issue based on review
* align zcl_abapgit_objects.clas.abap to master
* add the test class again
* UI Dark Theme #2610
Proposal - Right now, only the first obvious screens were checked, and there are still a few issues with them.
* CSS cleanup of unused elements
* Improve error information - follow up Part I
- Bug: remove errorenous regex
- Add tooltip for message id and message class
* Replace text of message link
* Improve error information
With this commit errors that are raised with zcx_abapgit_exception=>raise
and issued with message are enriched with two additional functions.
1) Go to source
Navigates to the source code position where zcx_abapgit_exception=>raise
is called
2) Callstack
Shows a popup with the full callstack and the possibility to navigate to
the source of each line with double click
This feature requires the full abapGit repository. Without nothing
changes.
* issue messages directly
* zcx_abapgit_exception: adapt callstack handling
- callstack as attribute
- export callstack to ABAP memory only when SAPGui is available
* rename memory id
* Add comment why we don't delete callstack from MEM
* cleanup
* first try html error display
* add some comments
* add longtext
* goto_source and callstack implemented
* part 2
* remove
* fix
* add close button
* fix long classname
* fix linter
* add jump to SE91
* fix lintmr
* fix and cleanup
* fix linter
* fix linter
* fix eslint
* fix linter
* remove message class
* remove superfluous constant
* add missing method implementation
* refactor
* add hotkey for message longtext toggling
* hotkey 2
* refactor + resize callstack popup
* Refactoring: simplify control flow
* fix goto callstack for merged abapGit
* refactor: simplify control flow
* Refactoring: introduce message helper
* fix linter
* remove TODO pragmas
* ren. render meth + move zcl_abapgit_gui_chunk_lib
* refactoring: simplify control flow
* simplify exception handling
* refactor
* refactor
* refactor
* remove duplication
* Rename method
* rename method
* remove superfluous constant
* call ZCL_ABAPGIT_MESSAGE_HELPER dynamically
* cleanup
* Improve UX
* fix linter
* remove hotkey