Commit Graph

54 Commits

Author SHA1 Message Date
Marc Bernard
aa204c1e8f
Map blank "last changed by" to "unknown" (#3387)
* Map blank "last changed by" to "unknown" 

Fix blank entry in filter dropdown

* Whitespace
2020-05-22 10:02:33 +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
Christian Günter
48454c5922
fix page diff dump: use repo instead of repo_online (#3304)
* fix page diff dump: use repo instead of repo_onlin

* make repo online an attribute
2020-04-14 18:57:21 +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
Christian Günter
803ca23176
Refactor page diff: Introduce subclass for patch (#3283)
* 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>
2020-03-31 17:14:13 +02:00
Christian Günter
1e4560b32a
Patch: new refresh functions (#3271)
* 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>
2020-03-26 12:30:22 +01:00
Eduardo Ferrari Copat
e74d40516c
Diff - Add option to collapse files (#3248)
* Update zcl_abapgit_gui_page_diff.clas.abap

* Update zcl_abapgit_gui_page_diff.clas.abap

* Update zabapgit_css_common.w3mi.data.css

* Update zabapgit_css_common.w3mi.data.css

* test

* Update zabapgit_css_theme_default.w3mi.data.css

* Add collapse to css

* Add user select

* onDiffCollapse

* show source

* src

* Tries text

* hide/show

* uses nodisplay instead of hidden

* good hide

* ===

* Add button

* lint

* lint

* set function as global

* lint

* Exclude gui page diff

* remove extra space

* chevron

* pointer

* class

* Icons

* lint

* lint

* hide

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-03-12 17:09:00 +01:00
larshp
e638e6065a ZCL_ABAPGIT_GUI_PAGE_DIFF propagate exception 2020-03-10 08:17:12 +01: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
Christian Günter
cec926e954
Diff: Only add beacon at beginning while patching (#3218) 2020-02-20 16:43:02 +01:00
Christian Günter
a8d474fab4
Patch: add path to jump target (#3216)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-02-20 09:39:56 +01:00
Christian Günter
1668e670cf
Fix patch: multiple files with same name (#3213)
- unify id generation
- generate unique filenames

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-02-19 14:24:04 +01:00
Christian Günter
109c8c3be4
Patch: Remember patched lines when cancel Commit (#3212)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-02-19 13:55:19 +01:00
Christian Günter
5067e403b7
Patch: add beacon at beginning of objects (#3210)
* Patch: add beacon at beginning of objects

* extract constant + fix unit test
2020-02-19 12:48:26 +01:00
Christian Guenter
bae1e21c5b Refactoring: Delete unused variables 2020-01-13 18:41:52 +01:00
Lars Hvam
75812fb17b
less prefixes (#3144) 2020-01-11 09:24:36 +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
Frederik Hudák
c846801d19 Add adt link to objects on diff page (#3095)
* Add adt link to object name on diff page

* Fix abaplint, improve error handling

* abaplint

* Remove superflous method
2019-12-05 08:59:15 +01:00
sandraros
175f2fabec Code selection by column on DIFF screen (#3091)
* 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
2019-12-02 09:32:15 +01:00
Lars Hvam
04a6d7e484
Update abaplint.json to latest (#3045)
* Update abaplint.json

* chain mainly declarations
2019-11-06 09:35:18 +01:00
Alexander Tsybulsky
f0bb81f04a #3022 patch commit state 2019-11-03 07:57:28 +01:00
Lars Hvam
714fe7202d
whitespace fixes (#2964)
* whitespace fixes

* fix sql compare operators
2019-10-11 02:50:16 -07:00
Christian Günter
b6f82aa8cf Command palette: Jump to files on Diff/Stage page (#2913)
* Patch/Diff: Command palette for file jump

* change hotkey to F2

* cleanup

* Improve JS func call
2019-09-12 05:29:52 -07:00
Christian Günter
cb00442062 Diff/Patch: Add Jump to file (#2895)
* Diff/Patch: Add Jump to file

* Patch/Diff: Add bottom margin for scrolling

* Remove filtered files from jump list
2019-08-30 04:17:17 -07:00
Christian Günter
4c4fae820f Patch: Disable unified view (#2836) 2019-08-03 04:34:49 -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
Christian Guenter
24e319cc68 Downport 2019-07-18 07:07:20 -07:00
Christian Guenter
1a9d1b3d08 Patch: delete all lines removes the file 2019-07-17 00:58:31 -07:00
Lars Hvam
1dbd4d1912
Refactoring types (#2785)
* align use less different types

* refactor

* updates
2019-07-15 09:33:37 -07:00
Frederik Hudák
0299fb61c7 Consistent sort ordering of files (#2778) 2019-07-10 00:37:09 -07:00
Christian Günter
53dd60c07b Patch: replace links with checkboxes #2673 (#2684)
* Patch: replace links with checkboxes

With this commit we replace the links on the patch page
with checkboxes.
This has several advantages:
- better performance
- simplified and less cluttered UI
- less and easier to understand code

* refactor

* refactoring: introduce new method add_checkbox

* fix linter

* enable link hint navigation

* Refactoring: remove duplication

* refactor: remove duplication

* fix: link hint activate section/lines
2019-05-20 08:44:49 -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
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
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
Christian Günter
389512f690 Patch / git add -p: Add and remove sections
After this commit is applied it is possible to add and remove
sections of code on the stage/patch page.
2019-02-25 21:29:24 -08:00
larshp
426f815bee downport #2389 2019-02-14 21:10:07 -08:00
larshp
5018eae46c refactor public attributes #2369
refactor public attributes #2369
2019-02-09 23:28:22 -08:00
Lars Hvam
e8b6b0020d
Add interface for ZCL_ABAPGIT_PROGRESS #2303 (#2316)
* interface for progress class

* adjust branch overview

* adjust git pack

* adjust diff page

* adjust objects class

* adjust activation class

* adjust repo online class

* adjust serialize class

few methods moved

* adjust tadir class
2019-01-23 06:28:54 +01:00
Christian Guenter
729c009747 Fix: Stage > Patch ignore binary files 2018-12-12 13:11:16 +01:00
sbcgua
299ff5d9d5 Hotkey improvements (#2143)
* hotkey improvements

* linter fixes
2018-11-26 18:27:48 +01:00
sbcgua
af86d5b969 Refactor repo class, part1 (#2096)
* repo refactoring

* repo refactoring - part 2

* review fixes

* more review fixes
2018-11-17 06:12:20 +01:00
larshp
9270a58b62 cleanup unreference variables 2018-11-09 11:55:47 +01: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
Alexander Tsybulsky
7be37d4acd Fix diff colors for MM state #1991 2018-10-11 10:16:36 +02:00
Christian Günter
0fa50309a1 Staging smaller chunks of code like git add -p (#1842)
* Staging smaller chunks of code like git add -p

With this commit a new feature which works similar to git add -p
is added. We are now able to patch, which means that we can
commit on line basis. And are not restricted anymore to commit
only on file basis.

* move get_page_patch to stage page

* Refactor JS

* Refactor JS
2018-09-08 08:58:25 +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
a72edf9725 Remove 'Stage' from diff page
After this commit is applied it's no longer possible to stage
at the diff page. This simplifies the screen flow.
2018-08-04 09:49:23 +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