Commit Graph

50 Commits

Author SHA1 Message Date
Alexander Tsybulsky
07e1f787c6
gui_page cleanups (#3615)
* move test_changed_by from gui_page to services

* kind of linter fix

* move more action to router

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-07-13 17:42:40 +02:00
Frederik Hudák
d49d0656b0
Top menu improvements (#3590)
* Use icons, add back menu to repo show page

* Event handling

* Abaplint

* Add menu to tutorial page

* Lint

* More icons

* Update tutorial, reorganize button code

* Move icon css

* Fix error

* Fix menu
2020-07-09 09:12:58 +02:00
Alexander Tsybulsky
2699e2d513
fix repo palette (#3580)
* fix repo palette

* fix page_view_repo after rebase

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-07-07 14:59:31 +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
Jaime Rodriguez Capote
f8d74cc928
Fix open url in repo view (#3581)
* Fix open url in repo view

* Move call_browser to gui_router
2020-07-04 12:35:38 +02:00
Frederik Hudák
32cf59ca1e
Repo overview as main page (#3498)
* 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>
2020-06-29 16:34:59 +02:00
Lars Hvam
420e6f5964
replace HTML with interface (#3490)
* replace HTML with interface

part of #3460

* pretty print
2020-06-13 09:39:46 +02:00
Alexander Tsybulsky
5c4c0b882e
Gui refactoring - part 5 (#3403)
* 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>
2020-05-24 10:42:06 +02:00
Alexander Tsybulsky
8eae18c0f5
Gui refactoring part 4 (#3362)
* refactoring and remove get_events from gui_page

* cleanups

* more cleanups

* register_deferred_script

* refactor page_stage

* refactor page_diff

* refactor page_commit

* refactor page_debuginfo

* linter fixes

* refactor page_tag

* refactor rage_repo_over

* refactor page_patch

* make gui_page->scripts private
2020-05-20 17:50:00 +02:00
Alexander Tsybulsky
310d8673dd
Gui refactoring, chapter 3 (#3355)
* 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>
2020-05-13 12:58:43 +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
Jaime Rodriguez Capote
543114963f
abapOpenCheck - Naming Conventions revision #3239 (#3240)
* abapOpenChecks config file

* Ignore SCI config folder

* checks revision

* Revert "checks revision"

This reverts commit 56a12289df.

* Renaming non-constants

Pending:

* Remove SCI configuration

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-03-09 17:34:26 +01:00
Lars Hvam
3e0b0505b1
remove commented code (#3166)
* update abaplint.json

* remove commented code

* remove 2 unused variables
2020-01-24 14:31:04 +01:00
Lars Hvam
e201bf566f
remove class prefixes if its current class (#3137)
* remove class prefixes if its current class

* Update abaplint.json
2020-01-06 13:20:19 +01:00
Lars Hvam
b42f3bc485
Refactoring (#3134)
* fully type constants

* moving to single line

* move to single line

* enable keep_single_parameter_on_one_line
2019-12-28 12:11:32 +01:00
Lars Hvam
714fe7202d
whitespace fixes (#2964)
* whitespace fixes

* fix sql compare operators
2019-10-11 02:50:16 -07:00
CASAG-MariusRaht
9ad8973ab6 #2725 (#2907)
* #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 "|{}|"
2019-09-15 01:09:27 -07:00
Alexander Tsybulsky
739b14ab6a Command palette: Git actions (#2908)
* enumerateToolbarActions

* command prefix

* docs
2019-09-09 21:34:30 -07:00
Alexander Tsybulsky
587f792026 Command palette (Ctrl+P): Go to repo ... (#2897)
* 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
2019-09-07 23:12:49 -07:00
Jakub Filak
9a6e6e8b24 ui: add a workaround for JavaGUI dyn form bug (#2873)
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
2019-08-21 22:18:45 -07:00
Christian Günter
b994382f78 Improve error information - follow up Part 2 (#2814)
- Cleanup JS
- Delete superflous functions and methods
2019-08-03 04:24:03 -07:00
Alexander Tsybulsky
e379dd3cfe Completely dynamic JS hints (#2825)
* 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
2019-08-02 07:45:27 -07: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
Christian Günter
02647d77c6 Hotkeys no longer depend on abapGit installation #2629 (#2633)
* Hotkeys no longer depend on abapGit installation

When this commit is applied hotkeys also work with
the single abapGit report. Limitation is still that users
only can override hotkeys with the installed abapGit repo.

* Fix hotkey display when no user def. hotkeys

* New: Override hotkeys within one file abapGit report

When this commit is applied it's possible to override the default
shortcut also in the one file abapGit report. It's no longer necessary
to installe the full abapGit repo to use this feature

* Extract is_merged + check in hotkey logic
2019-04-19 00:21:36 -07:00
Alexander Tsybulsky
3c80012b37 HDPI icon scaling (#2609)
* setting for icon scaling

* enforce icon scaling

* linter fixes
2019-04-05 03:47:09 -07:00
Alexander Tsybulsky
f8347636a0 GUI remove zif_abapgit_gui_page (#2582)
* remove usage of zif_abapgit_gui_page

* reorderings

* delete zif_abapgit_gui_page
2019-03-28 23:08:04 -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
Lars Hvam
f9318305e9
Minor fixes (#2532)
* minor fixes regarding unused variables

* minor code inspector fixes
2019-03-15 05:54:39 -07:00
Alexander Tsybulsky
9b38d79cce GUI CORE, move constants (#2526)
* zcl_abapgit_gui constants

* renames in all classes

* zif_abapgit_html

* zif_abapgit_html related renames

* remove gui->free for now
2019-03-15 02:22:08 -07:00
Alexander Tsybulsky
c03bb681b3 Offline icons (#2454)
* font

* css fix and icon rendering

* assets and font link in html head

* more icons

* more css fixes

* replace icon names

* dev docs

* Fonts update

* icons rename

* doc update

* linter fixes

* fix for abapmerge
2019-03-06 00:49:04 -08:00
Christian Guenter
e91697e4e2 New global user settings 'Disable octicons'
With this commit a new user setting called 'disable octicons' is
introduced. Octicons should be disabled when the client doesn't have
internet access or the abapGit UI hangs sometimes.
By default this option isn't active.
2019-02-18 06:31:06 -08:00
sbcgua
4dee27fc1e Gui internals refactoring (#2180)
* GUI internals refactoring

* unify string conversion calls part1
2018-12-04 06:33:35 +01:00
sbcgua
299ff5d9d5 Hotkey improvements (#2143)
* hotkey improvements

* linter fixes
2018-11-26 18:27:48 +01:00
Frederik Hudák
1bb195b344 Removed the rest of endmethod/endclass comments 2018-10-18 07:27:27 +02:00
Lars Hvam
fa39fcd43f
Code inspector fixes (#1997)
* pretty print

* definitions to top of routine

* space before .

* omit parameter names where possible

* double space after if

* remove pseudo comments where possible
2018-10-12 07:56:27 +02:00
Christian Guenter
2fa5ba0dcf UI: Change repo urls to hyperlinks
This commit changes the repo urls on the main and overview
pages to hyperlinks.
2018-08-29 12:35:49 +02:00
Christian Guenter
491306ff41 Fix: hotkey overview close key dynamically 2018-08-20 18:27:04 +02:00
Christian Guenter
98cae2c9fd Introduce global hotkeys
With this commit we are able to define global hotkeys. Which means
that the hotkey is active on all pages. The global hotkeys are
defined in ZCL_ABAPGIT_GUI_PAGE=>GET_HOTKEY_ACTIONS. The first
globally defined hotkey is the hotkey overview with the default
hotkey '?' assigned to it. This was previously hard coded in the js.
2018-08-18 06:57:25 +02:00
Christian Guenter
5c2a646809 Hotkey overview
After this commit is applied one can open the hotkey overview
with '?'.
2018-08-17 09:26:12 +02:00
Johannes Konings
d25bfaf725 fix some naming conventions
https://github.com/larshp/abapGit/issues/1132
2018-08-17 09:24:22 +02:00
Christian Günter
fc1df4b9ee Introduce customizable hotkeys #1728 (#1820)
* Introduce customizable hotkeys

With this commit customizable hotkeys are introduced. They can
be defined in the user specific settings. Currently we support
only one letter keybindigs e.g. 's', 't' or 'x' and no modifiers.

Every page in the UI can decide which actions it offers for the
hotkeys. Therefore we introduce the interface ZIF_ABAPGIT_GUI_PAGE_HOTKEY
with the method GET_HOTKEY_ACTIONS. At this point in time only
the main page offers actions for hotkeys, but the mechanism works
already for all pages. New actions for hotkeys can be defined
easily.

Hotkeys are only available for installed abapGit repositories.
Because we need to detect the classes which implement the above
mentioned interface and it seems that there is no easy way to do
that for local classes. Maybe we can add it later when we know more.

We don't supply default key bindings. So it is totally up to the
user to define them.

* provide default hotkeys
2018-08-16 06:32:03 +02:00
Christian Guenter
62506f52bb Default link_hint_key and background color
With this commit link_hint_key and link_hint_backgroun_dcolor
are populated with default values.
2018-08-04 09:13:43 +02:00
Christian Günter
ff4d126856 Vimium like link hint navigation #1706 (#1729)
* Vimium like link hint navigation

After this commit is applied, the link hint navigation can be used.
The feature can be activated and configured in the user settings.
Role model is the link hint navigation in the Google Chrome plugin
Vimium.

* refactoring: introduce KeyNavigation prototype

* refactoring: introduce LinkHints prototype
2018-08-04 07:36:28 +02:00
larshp
d7e90aae60 move version definition to separate interface
moved version from DEFINITIONS interface to new VERSION interface, to avoid possible future merge conflicts, see #960
2018-07-25 06:37:38 +02:00
larshp
1efd80473f lcl_gui_page to global 2018-02-04 10:10:28 +00:00