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
* mark inactive objects in repo list
Inactive object are marked in the repo list
The sort order for changed files is not changed
unchanged inactive files come right after the changed files
* move acitve check to object interface
* add is_active for objects up to F
* add is_active for objects up to P
* add is_active for objects up to T
* add is_active for objects up to X
all core object implement (except SSFO) the standard active check via FM RS_INACTIVE_OBJECTS_WARNING now
* add is_active to plugins bridge - always active
* finish object interface implementation + objects
* add is_active for offline with object interface
* rename returning to RV_
* use returning for serialize
* cleanup, PP, UT
* pretty print
* definitions to top of routine
* space before .
* omit parameter names where possible
* double space after if
* remove pseudo comments where possible
* enable ADT jump from CI result
* enable ADT jump from CI result for all objects
* cleanup + PP
* cleanup + PP + save/activate in ADT
* remove commented code
* 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
* Insert initial line before bothsequence and action
* Change settings boolean read to support Java GUI
Standard netweaver and Java GUI netweaver parse differently the checkboxes on HTML pages. This commit consider the value on the checkbox aseither "on" or "X".
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.
* 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
TADIR performance #1756
All usages of TADIR aligned to use the same structure.
DELFLAG added in the structure.
2 identical structure definitions deleted.
todo: test this PR works after abapmerge has run
* change merge and staging
always push to the top of the currently selected branch
* remove branch and sha1 from stage object #365
* REPO not longer part of GIT_PORCELAIN
SET_OBJECTS moved to private
* and remove fields from constructor
* 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
Before this commit it wasn't possible to run code inspection
for offline repos. A dump occured.
With this commit it is possible to run code inspections
for offline repos, too.
* Remove local SHA1 from online repository
In this commit we remove the local SHA1 and all its references from
ZCL_ABAPGIT_REPO_ONLINE. SHA1 is also removed from repo persistency.
SHA1 insn't needed anymore. All where-used places were either migrated to
remote_SHA1 or removed.
* reintroduce logic after push
* delete checks: set transport request if needed
this ensures that the transport request is set when deleting objects.
E.g. uninstalling the repositoy or reset local.
* separate type for delete checks
- new default behaviour is that the last seen repo isn't deserialized automatically. Instead the user has to choose a repo to work with
- old behaviour can be reactivated via user setting
- new local setting to set check variant
- new local setting to block pull if code inspector check fails
- check is executed before staging
- new page to display code inspector results
We are developing in an infinity system which is somehow cloned into a
new releases system. When we need to backport a bug fixes we do
cherry-pick the commits and pull them the release system. However, in
those systems we need to use the task type Repair.
Hence, we need to overwrite the default value of the parameter
wi_task_type of the function TRINT_ORDER_CHOICE which is 'S'
(Development/Correction) with the value 'R'.
I use the function TRINT_GET_REQUEST_TYPE and for the sake of simplicity
I assume that it is enough to know the transport type of the repository
package - in other words, it is no necessary to check every deserialized
object.
Related to #1446