Commit Graph

31 Commits

Author SHA1 Message Date
Lars Hvam
3237266367 new zcl_abapgit_ui_core_factory 2025-04-07 15:03:40 +02:00
francisco-milan
bac2666e51
Fix typos and adjust comments within the codebase (Cont'd) (#6786) 2024-02-01 08:21:41 +01:00
Marc Bernard
2b55eecaee
Allow disabling of GUI (#6744) 2024-01-10 09:50:28 +01:00
Lars Hvam
a8bce57373
move get_jumper() to new objects factory (#6363) 2023-07-23 15:07:06 +02:00
Marc Bernard
b52e82da87
Remove alias - asset manager (#6149)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2023-03-15 09:28:10 +01:00
Alexander Tsybulsky
abf5bd268b
Refactoring of DB pages, and new UI features (#6134) 2023-03-14 18:04:30 +01:00
Marc Bernard
0fea49b74c
Remove "Tag Overview" popup (#5463)
* Remove "Tag Overview" popup

- The "Tag > Overview" feature has been removed (because of bad performance and low value)
- The tag select popup has been refactored. The code has been moved to `zcl/if_abapgit_popups`. Only change is that the popup is now centered like the others.
- Therefore, class `zcl_abapgit_tag_popups` has been removed

* Update injectors

* Remove interface

* Secondary key
2022-04-25 07:28:07 +02:00
Marc Bernard
b46c8b4599
Refactor: Consolidate front-end classes (#5172)
* Refactor: Consolidate front-end classes

There's no need for two "front-end classes". Moves all of ZCL_ABAPGIT_GUI_FUNCTIONS to ZCL_ABAPGIT_FRONTEND_SERVICES. Now all front-end calls are nicely together.

No functional change, some method reordering. 

Ref #2510, #5145

* Add missing interface

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-12-09 06:49:43 +01:00
Marc Bernard
a37cf58e01
Refactor: Jump to Object Logic (#5114)
* Refactor: Jump to Object Logic

The goal is to greatly simplify the code to jump to an object, and to separate UI and object layers some more.

This PR introduces GUI Jumper (`zcl/if_abapgit_gui_jumper`), which covers all generic options to show an object. It tries the following options in order:
- ADT (if enabled)
- Workbench with line number
- Workbench without line number
- Transport System (new)

Only if all fail, abapGit will call the object-specific handler. 

Next steps:

- Remove `jump_adt` and `jump_se11` from `zcl_abapgit_objects_super` and replace by GUI Jumper
- Remove almost all object-specific jump handler since they are covered by GUI Jumper now

* Add class

* Lint

* Misleading name
2021-11-07 08:15:08 +01:00
Marc Bernard
ef8f830734
Refactor hotkey controller (#4990)
- Removed "class analysis logic" from hotkey collection
- Hotkeys are now registered directly in the hotkey controller (similar to asset manager)
- `zif_abapgit_hotkeys->get_hotkey_actions` was changed to instance method and can therefore be redefined in subclasses
- Renamed the controller class to match the interface name

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-01 08:43:25 +02:00
Marc Bernard
cea83ffb86
Improve reuse of HTML viewer (#4688)
* Improve reuse of HTML viewer

Adding optional parameters to allow reuse of HTML viewer in subscreens and allow testing of query parameter table (potential replacement of `zcl_abapgit_html_action_util=>parse...`).

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-07 17:50:31 +02:00
Fabian Lupa
123de8fd68
Allow html viewer to be hidden (#4203)
* Allow html viewer to be hidden

for CALL SCREEN in the same session to work

* Move html viewer hiding to router
2020-11-20 08:38:37 +01:00
Lars Hvam
9f396366cd
gui refactoring, for web edition (#3890)
* put cl_gui_html_viewer behind an interface

* cleanup

* injectable html viewer

* method_parameter_names, exclude zif_abapgit_html_viewer

* fix whitespace

* public get_asset_manager

* Update abaplint.json

* add prefixes
2020-09-16 12:39:23 +02:00
Alexander Tsybulsky
cae3aae5e2
CSS and logo fixes (#3578)
* 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>
2020-07-04 12:47:14 +02:00
Alexander Tsybulsky
c056076170
Gui refactoring 2 (#3338)
* hotkeys refactoring: draft logic

- new interfaces
- gui services binding
- move render to zcl_hotkeys
- move global hotkeys to hotkeys class
- remove unnecessary stuff from gui_page

* implement zif_abapgit_gui_hotkeys in rel.pages

* settings page draft

* remove zif_abapgit_gui_page_hotkey

* linter fixes

* finalize rendering logic

* finalize settings

* linter fix

* sorting tweak

* fix abapgit_full work

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
2020-05-08 10:26:54 +02:00
Alexander Tsybulsky
0eb22a0c87
Gui refactor, part 1 (#3289)
* gui component and event registering

* remove iv_prev_page from event_handler if

* constructors raising zcx_abapgit_exception

* get_gui_services - UT friendly

* linter fixes

* more linter fixes

* zif_gui_services stub all methods

* linter fix

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-04-07 10:30:43 +02:00
Alexander Tsybulsky
dc96e3b3ef
remove DEFINE from zcl_abapgit_ui_factory (#3184)
* remove DEFINE from zcl_abapgit_ui_factory

* linter fixes

* better approach

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-01-30 07:57:53 +01:00
sandraros
3f05693262 UI Dark Theme #2610 (#2787)
* 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
2019-08-01 00:57:30 -07:00
Christian Günter
5081ddf7d0 Improve error information - HTML error message (#2775)
* 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
2019-07-28 03:46:53 -07:00
Alexander Tsybulsky
df0aca8272 Improve css preprocessing (#2765)
* improve assetman get_text_asset

* move css_processor to ui_core, reuse get_text_asse

* fix %26 refactor UTs

* zcl_abapgit_gui_html_processor

* if fix

* replace core logic

* comment finetuning

* linter fixes

* more linter fixes

* fix UTs, based on review
2019-07-01 20:53:43 -07:00
Fabian Lupa
7f04d59bf9 Belize theme (#2733)
* Add Belize theme

* Implement polyfill for CSS variables

* Fix CSS variables with spaces in values

* Always load default theme and add others on top

* Adjust theme CSS for use with variables

* Support variables referencing variables in CSS

* Adjust themes

* Add font size to theme

* Skip asset registration for unused themes

* Unify theme greyscale

* Refactor CSS preprocessor

* Refactor CSS preprocessor, add basic tests

* Fix linter issues

* Always load theme asset

Otherwise switching does not work
2019-06-25 03:02:40 -07:00
Alexander Tsybulsky
6845fe3ea4 Ui themes support (#2700)
* settings ui_theme

* theme css rendering

* theme split

* linetr fix
2019-06-07 03:36:44 -07:00
Alexander Tsybulsky
d22f5af1ab rewrite gui error handler 2019-03-28 22:57:39 -07:00
Alexander Tsybulsky
80f86bd005 free, go_page, ext error handler 2019-03-22 05:49:33 -07:00
Alexander Tsybulsky
2ab4ae9f26 Refactor GUI interfaces (#2540)
* refactor gui interfaces

* delete zif_abapgit_gui_router

* move zif_abapgit_gui_page_hotkey to ui

* linter fixes
2019-03-17 01:42:41 -07:00
Alexander Tsybulsky
17dc2501eb GUI, asset manager refactoring (#2536)
* refactor asset manager

* assets man tests

* linter fixes

* linter fix
2019-03-16 03:44:55 -07:00
Lars Hvam
48f6cb1bb1
move ZCL_ABAPGIT_FRONTEND_SERVICES to UI (#2516)
* move ZCL_ABAPGIT_FRONTEND_SERVICES to UI

move ZCL_ABAPGIT_FRONTEND_SERVICES to UI package

* move factory and interface

* fix errors found by linter
2019-03-14 01:34:19 -07:00
sbcgua
4dee27fc1e Gui internals refactoring (#2180)
* GUI internals refactoring

* unify string conversion calls part1
2018-12-04 06:33:35 +01:00
Christian Guenter
45a2ba1cd1 add factory for GUI_IS_AVAILABLE
This commit adds an indirection for function module GUI_IS_AVAILABLE
via interface ZIF_ABAPGIT_GUI_FUNCTIONS and factory ZCL_ABAPGIT_UI_FACTORY.

For tests the implementation can be replaced with
ZCL_ABAPGIT_UI_INJECTOR=>SET_GUI_FUNCTIONS
2018-11-03 08:42:32 +01:00
Christian Guenter
fb91909947 tag popups dependency injection 2018-06-25 11:15:46 +02:00
christianguenter2
4662883723 Introduce ZIF_ABAPGIT_POPUPS
- create popups with factory ZCL_ABAPGIT_UI_FACTORY
- inject test doubles with injector class ZCL_ABAPGIT_UI_INJECTOR
2018-06-15 11:21:48 +02:00