mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
UI: Unify rendering of transport, user names - part 2 (#4133)
- Added icon for user - Changed icon for transport to truck - Adapted "staging" page - Renamed CSS-classes because of conflict with classes used on staging page Screenshots #4097 Closes #4098 Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
71fe8683b7
commit
87a3806ce1
|
@ -185,9 +185,9 @@ div.repo {
|
||||||
|
|
||||||
/* ABAPGIT OBJECTS */
|
/* ABAPGIT OBJECTS */
|
||||||
span.branch,
|
span.branch,
|
||||||
span.user,
|
span.user-box,
|
||||||
span.package,
|
span.package-box,
|
||||||
span.transport {
|
span.transport-box {
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
|
@ -48,15 +48,15 @@ table.repo_tab {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ABAPGIT OBJECTS */
|
/* ABAPGIT OBJECTS */
|
||||||
span.user {
|
span.user-box {
|
||||||
background-color: #4c6782;
|
background-color: #4c6782;
|
||||||
border-color: #7491b2;
|
border-color: #7491b2;
|
||||||
}
|
}
|
||||||
span.package {
|
span.package-box {
|
||||||
background-color: #705a6d;
|
background-color: #705a6d;
|
||||||
border-color: #987095;
|
border-color: #987095;
|
||||||
}
|
}
|
||||||
span.transport {
|
span.transport-box {
|
||||||
background-color: #456d5d;
|
background-color: #456d5d;
|
||||||
border-color: #60a087;
|
border-color: #60a087;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,15 +58,15 @@ input:focus, textarea:focus { border-color: #8cadd9; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ABAPGIT OBJECTS */
|
/* ABAPGIT OBJECTS */
|
||||||
span.user {
|
span.user-box {
|
||||||
border-color: #c2d4ea;
|
border-color: #c2d4ea;
|
||||||
background-color: #d9e4f2;
|
background-color: #d9e4f2;
|
||||||
}
|
}
|
||||||
span.package {
|
span.package-box {
|
||||||
border-color: #d3ccd2;
|
border-color: #d3ccd2;
|
||||||
background-color: #ebe3ea;
|
background-color: #ebe3ea;
|
||||||
}
|
}
|
||||||
span.transport {
|
span.transport-box {
|
||||||
border-color: #a7e3cf;
|
border-color: #a7e3cf;
|
||||||
background-color: #dbf3eb;
|
background-color: #dbf3eb;
|
||||||
}
|
}
|
||||||
|
|
|
@ -437,7 +437,6 @@ StageHelper.prototype.onPageLoad = function() {
|
||||||
if (this.dom.objectSearch.value) {
|
if (this.dom.objectSearch.value) {
|
||||||
this.applyFilterValue(this.dom.objectSearch.value);
|
this.applyFilterValue(this.dom.objectSearch.value);
|
||||||
}
|
}
|
||||||
debugOutput("StageHelper.onPageLoad: " + ((data) ? "from Storage" : "initial state"));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Table event handler, change status
|
// Table event handler, change status
|
||||||
|
@ -510,6 +509,8 @@ StageHelper.prototype.applyFilterToRow = function (row, filter) {
|
||||||
// Collect data cells
|
// Collect data cells
|
||||||
var targets = this.filterTargets.map(function(attr) {
|
var targets = this.filterTargets.map(function(attr) {
|
||||||
var elem = row.cells[this.colIndex[attr]];
|
var elem = row.cells[this.colIndex[attr]];
|
||||||
|
if (elem.firstChild && elem.firstChild.tagName === "SPAN") elem = elem.firstChild;
|
||||||
|
if (elem.firstChild && elem.firstChild.tagName === "I") elem = elem.nextChild;
|
||||||
if (elem.firstChild && elem.firstChild.tagName === "A") elem = elem.firstChild;
|
if (elem.firstChild && elem.firstChild.tagName === "A") elem = elem.firstChild;
|
||||||
return {
|
return {
|
||||||
elem: elem,
|
elem: elem,
|
||||||
|
@ -2069,6 +2070,8 @@ function enumerateJumpAllFiles() {
|
||||||
};});
|
};});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Save Scroll Position for Diff/Patch Page */
|
||||||
|
|
||||||
function saveScrollPosition(){
|
function saveScrollPosition(){
|
||||||
if (!window.sessionStorage) { return }
|
if (!window.sessionStorage) { return }
|
||||||
window.sessionStorage.setItem("scrollTop", document.querySelector("html").scrollTop);
|
window.sessionStorage.setItem("scrollTop", document.querySelector("html").scrollTop);
|
||||||
|
|
|
@ -126,6 +126,7 @@ CLASS zcl_abapgit_gui_chunk_lib DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_username TYPE xubname
|
!iv_username TYPE xubname
|
||||||
!iv_interactive TYPE abap_bool DEFAULT abap_true
|
!iv_interactive TYPE abap_bool DEFAULT abap_true
|
||||||
|
!iv_icon_only TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -134,6 +135,7 @@ CLASS zcl_abapgit_gui_chunk_lib DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_transport TYPE trkorr
|
!iv_transport TYPE trkorr
|
||||||
!iv_interactive TYPE abap_bool DEFAULT abap_true
|
!iv_interactive TYPE abap_bool DEFAULT abap_true
|
||||||
|
!iv_icon_only TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -678,7 +680,7 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
|
||||||
iv_obj_type = 'DEVC'
|
iv_obj_type = 'DEVC'
|
||||||
iv_obj_name = lv_obj_name ).
|
iv_obj_name = lv_obj_name ).
|
||||||
|
|
||||||
ri_html->add( |<span class="package">| ).
|
ri_html->add( |<span class="package-box">| ).
|
||||||
ri_html->add_icon( iv_name = 'box/grey70'
|
ri_html->add_icon( iv_name = 'box/grey70'
|
||||||
iv_hint = 'SAP package' ).
|
iv_hint = 'SAP package' ).
|
||||||
IF iv_interactive = abap_true.
|
IF iv_interactive = abap_true.
|
||||||
|
@ -874,7 +876,9 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_transport.
|
METHOD render_transport.
|
||||||
|
|
||||||
DATA lv_title TYPE string.
|
DATA:
|
||||||
|
lv_title TYPE string,
|
||||||
|
lv_jump TYPE string.
|
||||||
|
|
||||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||||
|
|
||||||
|
@ -885,17 +889,27 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
|
||||||
SELECT SINGLE as4text FROM e07t INTO lv_title
|
SELECT SINGLE as4text FROM e07t INTO lv_title
|
||||||
WHERE trkorr = iv_transport AND langu = sy-langu ##SUBRC_OK.
|
WHERE trkorr = iv_transport AND langu = sy-langu ##SUBRC_OK.
|
||||||
|
|
||||||
ri_html->add( |<span class="transport">| ).
|
lv_jump = |{ zif_abapgit_definitions=>c_action-jump_transport }?transport={ iv_transport }|.
|
||||||
ri_html->add_icon( iv_name = 'briefcase/grey70'
|
|
||||||
|
IF iv_icon_only = abap_true.
|
||||||
|
ri_html->add_a( iv_act = lv_jump
|
||||||
|
iv_title = |Transport { iv_transport }|
|
||||||
|
iv_txt = zcl_abapgit_html=>icon( 'truck-solid/darkgrey' ) ).
|
||||||
|
ELSE.
|
||||||
|
ri_html->add( |<span class="transport-box">| ).
|
||||||
|
|
||||||
|
ri_html->add_icon( iv_name = 'truck-solid/grey70'
|
||||||
iv_hint = 'Transport' ).
|
iv_hint = 'Transport' ).
|
||||||
IF iv_interactive = abap_true.
|
IF iv_interactive = abap_true.
|
||||||
ri_html->add_a( iv_act = |{ zif_abapgit_definitions=>c_action-jump_transport }?transport={ iv_transport }|
|
ri_html->add_a( iv_act = lv_jump
|
||||||
iv_title = lv_title
|
iv_title = lv_title
|
||||||
iv_txt = to_lower( iv_transport ) ).
|
iv_txt = to_lower( iv_transport ) ).
|
||||||
ELSE.
|
ELSE.
|
||||||
ri_html->add( to_lower( iv_transport ) ).
|
ri_html->add( to_lower( iv_transport ) ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ri_html->add( '</span>' ).
|
ri_html->add( '</span>' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -904,7 +918,8 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
ls_user_address TYPE addr3_val,
|
ls_user_address TYPE addr3_val,
|
||||||
lv_title TYPE string.
|
lv_title TYPE string,
|
||||||
|
lv_jump TYPE string.
|
||||||
|
|
||||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||||
|
|
||||||
|
@ -926,17 +941,27 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ri_html->add( |<span class="user">| ).
|
lv_jump = |{ zif_abapgit_definitions=>c_action-jump_user }?user={ iv_username }|.
|
||||||
" todo, add icon ri_html->add_icon( iv_name = 'user/grey70'
|
|
||||||
" iv_hint = 'User name' )
|
IF iv_icon_only = abap_true.
|
||||||
|
ri_html->add_a( iv_act = lv_jump
|
||||||
|
iv_title = lv_title
|
||||||
|
iv_txt = zcl_abapgit_html=>icon( 'user-solid/darkgrey' ) ).
|
||||||
|
ELSE.
|
||||||
|
ri_html->add( |<span class="user-box">| ).
|
||||||
|
|
||||||
|
ri_html->add_icon( iv_name = 'user-solid/grey70'
|
||||||
|
iv_hint = 'User name' ).
|
||||||
IF iv_interactive = abap_true AND iv_username <> zcl_abapgit_objects_super=>c_user_unknown.
|
IF iv_interactive = abap_true AND iv_username <> zcl_abapgit_objects_super=>c_user_unknown.
|
||||||
ri_html->add_a( iv_act = |{ zif_abapgit_definitions=>c_action-jump_user }?user={ iv_username }|
|
ri_html->add_a( iv_act = lv_jump
|
||||||
iv_title = lv_title
|
iv_title = lv_title
|
||||||
iv_txt = to_lower( iv_username ) ).
|
iv_txt = to_lower( iv_username ) ).
|
||||||
ELSE.
|
ELSE.
|
||||||
ri_html->add( to_lower( iv_username ) ).
|
ri_html->add( to_lower( iv_username ) ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ri_html->add( '</span>' ).
|
ri_html->add( '</span>' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,9 @@ CLASS zcl_abapgit_gui_page_repo_view DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_item TYPE zif_abapgit_definitions=>ty_repo_item
|
!is_item TYPE zif_abapgit_definitions=>ty_repo_item
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_html) TYPE string .
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
METHODS render_parent_dir
|
METHODS render_parent_dir
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
|
@ -650,11 +652,14 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION.
|
||||||
|
|
||||||
CASE is_item-obj_type.
|
CASE is_item-obj_type.
|
||||||
WHEN 'PROG' OR 'CLAS' OR 'FUGR' OR 'INTF' OR 'TYPE'.
|
WHEN 'PROG' OR 'CLAS' OR 'FUGR' OR 'INTF' OR 'TYPE'.
|
||||||
rv_html = zcl_abapgit_html=>icon( 'file-code/darkgrey' ).
|
rv_html = zcl_abapgit_html=>icon( iv_name = 'file-code/darkgrey'
|
||||||
|
iv_hint = 'Code' ).
|
||||||
WHEN 'W3MI' OR 'W3HT' OR 'SFPF'.
|
WHEN 'W3MI' OR 'W3HT' OR 'SFPF'.
|
||||||
rv_html = zcl_abapgit_html=>icon( 'file-image/darkgrey' ).
|
rv_html = zcl_abapgit_html=>icon( iv_name = 'file-image/darkgrey'
|
||||||
|
iv_hint = 'Binary' ).
|
||||||
WHEN 'DEVC'.
|
WHEN 'DEVC'.
|
||||||
rv_html = zcl_abapgit_html=>icon( 'box/darkgrey' ).
|
rv_html = zcl_abapgit_html=>icon( iv_name = 'box/darkgrey'
|
||||||
|
iv_hint = 'Package' ).
|
||||||
WHEN ''.
|
WHEN ''.
|
||||||
rv_html = space. " no icon
|
rv_html = space. " no icon
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
@ -662,7 +667,8 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
IF is_item-is_dir = abap_true.
|
IF is_item-is_dir = abap_true.
|
||||||
rv_html = zcl_abapgit_html=>icon( 'folder/darkgrey' ).
|
rv_html = zcl_abapgit_html=>icon( iv_name = 'folder/darkgrey'
|
||||||
|
iv_hint = 'Folder' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -964,8 +970,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION.
|
||||||
|
|
||||||
ri_html->add( '<div>' ).
|
ri_html->add( '<div>' ).
|
||||||
ri_html->add( |<span class="grey">{ is_item-changes } changes</span>| ).
|
ri_html->add( |<span class="grey">{ is_item-changes } changes</span>| ).
|
||||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_item_state(
|
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_item_state( iv_lstate = is_item-lstate
|
||||||
iv_lstate = is_item-lstate
|
|
||||||
iv_rstate = is_item-rstate ) ).
|
iv_rstate = is_item-rstate ) ).
|
||||||
ri_html->add( '</div>' ).
|
ri_html->add( '</div>' ).
|
||||||
|
|
||||||
|
@ -1028,39 +1033,31 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_item_lock_column.
|
METHOD render_item_lock_column.
|
||||||
|
|
||||||
DATA li_cts_api TYPE REF TO zif_abapgit_cts_api.
|
DATA:
|
||||||
DATA lv_transport TYPE trkorr.
|
li_cts_api TYPE REF TO zif_abapgit_cts_api,
|
||||||
DATA lv_transport_string TYPE string.
|
lv_transport TYPE trkorr.
|
||||||
DATA lv_icon_html TYPE string.
|
|
||||||
DATA li_html TYPE REF TO zif_abapgit_html.
|
|
||||||
|
|
||||||
CREATE OBJECT li_html TYPE zcl_abapgit_html.
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||||
|
|
||||||
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
||||||
|
|
||||||
TRY.
|
ri_html->add( '<td class="icon">' ).
|
||||||
IF is_item-obj_type IS INITIAL OR is_item-obj_name IS INITIAL OR
|
|
||||||
li_cts_api->is_object_type_lockable( is_item-obj_type ) = abap_false OR
|
IF is_item-obj_type IS NOT INITIAL AND is_item-obj_name IS NOT INITIAL AND
|
||||||
|
li_cts_api->is_object_type_lockable( is_item-obj_type ) = abap_true AND
|
||||||
li_cts_api->is_object_locked_in_transport( iv_object_type = is_item-obj_type
|
li_cts_api->is_object_locked_in_transport( iv_object_type = is_item-obj_type
|
||||||
iv_object_name = is_item-obj_name ) = abap_false.
|
iv_object_name = is_item-obj_name ) = abap_true.
|
||||||
rv_html = |<td class="icon"></td>|.
|
|
||||||
ELSE.
|
|
||||||
lv_transport = li_cts_api->get_current_transport_for_obj( iv_object_type = is_item-obj_type
|
lv_transport = li_cts_api->get_current_transport_for_obj( iv_object_type = is_item-obj_type
|
||||||
iv_object_name = is_item-obj_name
|
iv_object_name = is_item-obj_name
|
||||||
iv_resolve_task_to_request = abap_false ).
|
iv_resolve_task_to_request = abap_false ).
|
||||||
lv_transport_string = lv_transport.
|
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_transport( iv_transport = lv_transport
|
||||||
lv_icon_html = li_html->a(
|
iv_icon_only = abap_true ) ).
|
||||||
iv_txt = li_html->icon( iv_name = 'briefcase/darkgrey'
|
|
||||||
iv_hint = lv_transport_string )
|
|
||||||
iv_act = |{ zif_abapgit_definitions=>c_action-jump_transport }?transport={ lv_transport }| ).
|
|
||||||
|
|
||||||
rv_html = |<td class="icon">| &&
|
|
||||||
|{ lv_icon_html }| &&
|
|
||||||
|</td>|.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
CATCH zcx_abapgit_exception.
|
|
||||||
ASSERT 1 = 2.
|
ri_html->add( '</td>' ).
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,32 +48,34 @@ CLASS zcl_abapgit_gui_page_stage DEFINITION
|
||||||
|
|
||||||
METHODS find_changed_by
|
METHODS find_changed_by
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_files TYPE zif_abapgit_definitions=>ty_stage_files
|
!it_files TYPE zif_abapgit_definitions=>ty_stage_files
|
||||||
it_transports TYPE ty_transport_tt
|
!it_transports TYPE ty_transport_tt
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_changed_by) TYPE ty_changed_by_tt .
|
VALUE(rt_changed_by) TYPE ty_changed_by_tt .
|
||||||
METHODS find_transports_remote
|
METHODS find_transports_remote
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_files TYPE zif_abapgit_definitions=>ty_files_tt
|
!it_files TYPE zif_abapgit_definitions=>ty_files_tt
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_transports TYPE ty_transport_tt
|
!ct_transports TYPE ty_transport_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception .
|
||||||
METHODS find_transports_local
|
METHODS find_transports_local
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_files TYPE zif_abapgit_definitions=>ty_files_item_tt
|
!it_files TYPE zif_abapgit_definitions=>ty_files_item_tt
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_transports TYPE ty_transport_tt
|
!ct_transports TYPE ty_transport_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception .
|
||||||
METHODS find_transports
|
METHODS find_transports
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_files TYPE zif_abapgit_definitions=>ty_stage_files
|
!it_files TYPE zif_abapgit_definitions=>ty_stage_files
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_transports) TYPE ty_transport_tt .
|
VALUE(rt_transports) TYPE ty_transport_tt .
|
||||||
METHODS render_list
|
METHODS render_list
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html .
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
METHODS render_file
|
METHODS render_file
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_context TYPE string
|
!iv_context TYPE string
|
||||||
|
@ -83,7 +85,9 @@ CLASS zcl_abapgit_gui_page_stage DEFINITION
|
||||||
!iv_changed_by TYPE xubname OPTIONAL
|
!iv_changed_by TYPE xubname OPTIONAL
|
||||||
!iv_transport TYPE trkorr OPTIONAL
|
!iv_transport TYPE trkorr OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html .
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
METHODS render_actions
|
METHODS render_actions
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html .
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html .
|
||||||
|
@ -123,13 +127,6 @@ CLASS zcl_abapgit_gui_page_stage DEFINITION
|
||||||
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
VALUE(ri_html) TYPE REF TO zif_abapgit_html
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS get_transport_html
|
|
||||||
IMPORTING
|
|
||||||
iv_html TYPE REF TO zif_abapgit_html
|
|
||||||
iv_transport_string TYPE string
|
|
||||||
iv_transport TYPE trkorr
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_result) TYPE string.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -221,7 +218,6 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT it_files-remote INTO ls_remote WHERE filename IS NOT INITIAL.
|
LOOP AT it_files-remote INTO ls_remote WHERE filename IS NOT INITIAL.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
zcl_abapgit_file_status=>identify_object(
|
zcl_abapgit_file_status=>identify_object(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_filename = ls_remote-filename
|
iv_filename = ls_remote-filename
|
||||||
|
@ -237,14 +233,13 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT rt_changed_by ASSIGNING <ls_changed_by>.
|
LOOP AT rt_changed_by ASSIGNING <ls_changed_by>.
|
||||||
TRY.
|
TRY.
|
||||||
<ls_changed_by>-name = to_lower( zcl_abapgit_objects=>changed_by( <ls_changed_by>-item ) ).
|
<ls_changed_by>-name = zcl_abapgit_objects=>changed_by( <ls_changed_by>-item ).
|
||||||
CATCH zcx_abapgit_exception.
|
CATCH zcx_abapgit_exception.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
LOOP AT lt_changed_by_remote ASSIGNING <ls_changed_by>.
|
LOOP AT lt_changed_by_remote ASSIGNING <ls_changed_by>.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
" deleted files might still be in a transport
|
" deleted files might still be in a transport
|
||||||
CLEAR lv_transport.
|
CLEAR lv_transport.
|
||||||
READ TABLE it_transports WITH KEY item = <ls_changed_by>-item
|
READ TABLE it_transports WITH KEY item = <ls_changed_by>-item
|
||||||
|
@ -254,9 +249,9 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
SELECT SINGLE as4user FROM e070 INTO lv_user
|
SELECT SINGLE as4user FROM e070 INTO lv_user
|
||||||
WHERE trkorr = lv_transport-transport.
|
WHERE trkorr = lv_transport-transport.
|
||||||
|
|
||||||
<ls_changed_by>-name = to_lower( lv_user ).
|
<ls_changed_by>-name = lv_user.
|
||||||
ELSE.
|
ELSE.
|
||||||
<ls_changed_by>-name = to_lower( zcl_abapgit_objects_super=>c_user_unknown ).
|
<ls_changed_by>-name = zcl_abapgit_objects_super=>c_user_unknown.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
CATCH zcx_abapgit_exception.
|
CATCH zcx_abapgit_exception.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
@ -292,6 +287,84 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD find_transports_local.
|
||||||
|
|
||||||
|
DATA ls_new LIKE LINE OF ct_transports.
|
||||||
|
FIELD-SYMBOLS: <ls_local> LIKE LINE OF it_files.
|
||||||
|
|
||||||
|
DATA li_cts_api TYPE REF TO zif_abapgit_cts_api.
|
||||||
|
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
||||||
|
|
||||||
|
LOOP AT it_files ASSIGNING <ls_local> WHERE item IS NOT INITIAL.
|
||||||
|
IF <ls_local>-item-obj_type IS NOT INITIAL AND
|
||||||
|
<ls_local>-item-obj_name IS NOT INITIAL AND
|
||||||
|
<ls_local>-item-devclass IS NOT INITIAL.
|
||||||
|
|
||||||
|
IF li_cts_api->is_chrec_possible_for_package( <ls_local>-item-devclass ) = abap_false.
|
||||||
|
EXIT. " Assume all other objects are also in packages without change recording
|
||||||
|
|
||||||
|
ELSEIF li_cts_api->is_object_type_lockable( <ls_local>-item-obj_type ) = abap_true AND
|
||||||
|
li_cts_api->is_object_locked_in_transport( iv_object_type = <ls_local>-item-obj_type
|
||||||
|
iv_object_name = <ls_local>-item-obj_name ) = abap_true.
|
||||||
|
|
||||||
|
ls_new-item = <ls_local>-item.
|
||||||
|
|
||||||
|
ls_new-transport = li_cts_api->get_current_transport_for_obj(
|
||||||
|
iv_object_type = <ls_local>-item-obj_type
|
||||||
|
iv_object_name = <ls_local>-item-obj_name
|
||||||
|
iv_resolve_task_to_request = abap_false ).
|
||||||
|
|
||||||
|
INSERT ls_new INTO TABLE ct_transports.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD find_transports_remote.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
|
lv_is_xml_file TYPE abap_bool,
|
||||||
|
ls_new LIKE LINE OF ct_transports,
|
||||||
|
li_cts_api TYPE REF TO zif_abapgit_cts_api.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_remote> LIKE LINE OF it_files.
|
||||||
|
|
||||||
|
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
||||||
|
|
||||||
|
LOOP AT it_files ASSIGNING <ls_remote> WHERE filename IS NOT INITIAL.
|
||||||
|
|
||||||
|
CLEAR ls_item.
|
||||||
|
CLEAR ls_new.
|
||||||
|
|
||||||
|
zcl_abapgit_file_status=>identify_object(
|
||||||
|
EXPORTING
|
||||||
|
iv_filename = <ls_remote>-filename
|
||||||
|
iv_path = <ls_remote>-path
|
||||||
|
io_dot = mo_repo->get_dot_abapgit( )
|
||||||
|
IMPORTING
|
||||||
|
es_item = ls_item
|
||||||
|
ev_is_xml = lv_is_xml_file ).
|
||||||
|
|
||||||
|
IF ls_item IS INITIAL.
|
||||||
|
CONTINUE.
|
||||||
|
ELSEIF li_cts_api->is_object_type_lockable( ls_item-obj_type ) = abap_true
|
||||||
|
AND li_cts_api->is_object_locked_in_transport( iv_object_type = ls_item-obj_type
|
||||||
|
iv_object_name = ls_item-obj_name ) = abap_true.
|
||||||
|
ls_new-item = ls_item.
|
||||||
|
ls_new-transport = li_cts_api->get_current_transport_for_obj(
|
||||||
|
iv_object_type = ls_item-obj_type
|
||||||
|
iv_object_name = ls_item-obj_name
|
||||||
|
iv_resolve_task_to_request = abap_false ).
|
||||||
|
INSERT ls_new INTO TABLE ct_transports.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_page_patch.
|
METHOD get_page_patch.
|
||||||
|
|
||||||
DATA: lo_page TYPE REF TO zcl_abapgit_gui_page_patch,
|
DATA: lo_page TYPE REF TO zcl_abapgit_gui_page_patch,
|
||||||
|
@ -401,16 +474,12 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
METHOD render_file.
|
METHOD render_file.
|
||||||
|
|
||||||
DATA: lv_param TYPE string,
|
DATA: lv_param TYPE string,
|
||||||
lv_filename TYPE string,
|
lv_filename TYPE string.
|
||||||
lv_transport_string TYPE string,
|
|
||||||
lv_transport_html TYPE string.
|
|
||||||
|
|
||||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||||
|
|
||||||
lv_transport_string = iv_transport.
|
|
||||||
|
|
||||||
lv_filename = is_file-path && is_file-filename.
|
lv_filename = is_file-path && is_file-filename.
|
||||||
* make sure whitespace is preserved in the DOM
|
" make sure whitespace is preserved in the DOM
|
||||||
REPLACE ALL OCCURRENCES OF ` ` IN lv_filename WITH ' '.
|
REPLACE ALL OCCURRENCES OF ` ` IN lv_filename WITH ' '.
|
||||||
|
|
||||||
ri_html->add( |<tr class="{ iv_context }">| ).
|
ri_html->add( |<tr class="{ iv_context }">| ).
|
||||||
|
@ -430,52 +499,28 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
iv_txt = lv_filename
|
iv_txt = lv_filename
|
||||||
iv_act = |{ zif_abapgit_definitions=>c_action-go_diff }?{ lv_param }| ).
|
iv_act = |{ zif_abapgit_definitions=>c_action-go_diff }?{ lv_param }| ).
|
||||||
|
|
||||||
lv_transport_html = get_transport_html(
|
|
||||||
iv_html = ri_html
|
|
||||||
iv_transport_string = lv_transport_string
|
|
||||||
iv_transport = iv_transport ).
|
|
||||||
|
|
||||||
ri_html->add( |<td class="type">{ is_item-obj_type }</td>| ).
|
ri_html->add( |<td class="type">{ is_item-obj_type }</td>| ).
|
||||||
ri_html->add( |<td class="name">{ lv_filename }</td>| ).
|
ri_html->add( |<td class="name">{ lv_filename }</td>| ).
|
||||||
|
|
||||||
WHEN 'remote'.
|
WHEN 'remote'.
|
||||||
|
|
||||||
lv_transport_html = get_transport_html(
|
|
||||||
iv_html = ri_html
|
|
||||||
iv_transport_string = lv_transport_string
|
|
||||||
iv_transport = iv_transport ).
|
|
||||||
|
|
||||||
ri_html->add( |<td class="type">{ is_item-obj_type }</td>| ).
|
ri_html->add( |<td class="type">{ is_item-obj_type }</td>| ).
|
||||||
ri_html->add( |<td class="name">{ lv_filename }</td>| ).
|
ri_html->add( |<td class="name">{ lv_filename }</td>| ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ri_html->add( |<td class="user">{ iv_changed_by }</td>| ).
|
ri_html->add( '<td class="user">' ).
|
||||||
ri_html->add( |<td class="transport">{ lv_transport_html }</td>| ).
|
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_user_name( iv_changed_by ) ).
|
||||||
|
ri_html->add( '</td>' ).
|
||||||
|
|
||||||
lv_transport_html = get_transport_html(
|
ri_html->add( '<td class="transport">' ).
|
||||||
iv_html = ri_html
|
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_transport( iv_transport ) ).
|
||||||
iv_transport_string = lv_transport_string
|
ri_html->add( '</td>' ).
|
||||||
iv_transport = iv_transport ).
|
|
||||||
|
|
||||||
|
ri_html->add( '<td class="status">?</td>' ).
|
||||||
ri_html->add( |<td class="status">?</td>| ).
|
|
||||||
ri_html->add( '<td class="cmd"></td>' ). " Command added in JS
|
ri_html->add( '<td class="cmd"></td>' ). " Command added in JS
|
||||||
|
|
||||||
ri_html->add( '</tr>' ).
|
ri_html->add( '</tr>' ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_transport_html.
|
|
||||||
|
|
||||||
IF iv_transport_string IS INITIAL.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rv_result = iv_html->a(
|
|
||||||
iv_txt = iv_transport_string
|
|
||||||
iv_act = |{ zif_abapgit_definitions=>c_action-jump_transport }?transport={ iv_transport }| ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD render_list.
|
METHOD render_list.
|
||||||
|
|
||||||
|
@ -810,82 +855,4 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION.
|
||||||
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD find_transports_local.
|
|
||||||
|
|
||||||
DATA ls_new LIKE LINE OF ct_transports.
|
|
||||||
FIELD-SYMBOLS: <ls_local> LIKE LINE OF it_files.
|
|
||||||
|
|
||||||
DATA li_cts_api TYPE REF TO zif_abapgit_cts_api.
|
|
||||||
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
|
||||||
|
|
||||||
LOOP AT it_files ASSIGNING <ls_local> WHERE item IS NOT INITIAL.
|
|
||||||
IF <ls_local>-item-obj_type IS NOT INITIAL AND
|
|
||||||
<ls_local>-item-obj_name IS NOT INITIAL AND
|
|
||||||
<ls_local>-item-devclass IS NOT INITIAL.
|
|
||||||
|
|
||||||
IF li_cts_api->is_chrec_possible_for_package( <ls_local>-item-devclass ) = abap_false.
|
|
||||||
EXIT. " Assume all other objects are also in packages without change recording
|
|
||||||
|
|
||||||
ELSEIF li_cts_api->is_object_type_lockable( <ls_local>-item-obj_type ) = abap_true AND
|
|
||||||
li_cts_api->is_object_locked_in_transport( iv_object_type = <ls_local>-item-obj_type
|
|
||||||
iv_object_name = <ls_local>-item-obj_name ) = abap_true.
|
|
||||||
|
|
||||||
ls_new-item = <ls_local>-item.
|
|
||||||
|
|
||||||
ls_new-transport = li_cts_api->get_current_transport_for_obj(
|
|
||||||
iv_object_type = <ls_local>-item-obj_type
|
|
||||||
iv_object_name = <ls_local>-item-obj_name
|
|
||||||
iv_resolve_task_to_request = abap_false ).
|
|
||||||
|
|
||||||
INSERT ls_new INTO TABLE ct_transports.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD find_transports_remote.
|
|
||||||
|
|
||||||
DATA:
|
|
||||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
|
||||||
lv_is_xml_file TYPE abap_bool,
|
|
||||||
ls_new LIKE LINE OF ct_transports,
|
|
||||||
li_cts_api TYPE REF TO zif_abapgit_cts_api.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_remote> LIKE LINE OF it_files.
|
|
||||||
|
|
||||||
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
|
|
||||||
|
|
||||||
LOOP AT it_files ASSIGNING <ls_remote> WHERE filename IS NOT INITIAL.
|
|
||||||
|
|
||||||
CLEAR ls_item.
|
|
||||||
CLEAR ls_new.
|
|
||||||
|
|
||||||
zcl_abapgit_file_status=>identify_object(
|
|
||||||
EXPORTING
|
|
||||||
iv_filename = <ls_remote>-filename
|
|
||||||
iv_path = <ls_remote>-path
|
|
||||||
io_dot = mo_repo->get_dot_abapgit( )
|
|
||||||
IMPORTING
|
|
||||||
es_item = ls_item
|
|
||||||
ev_is_xml = lv_is_xml_file ).
|
|
||||||
|
|
||||||
IF ls_item IS INITIAL.
|
|
||||||
CONTINUE.
|
|
||||||
ELSEIF li_cts_api->is_object_type_lockable( ls_item-obj_type ) = abap_true
|
|
||||||
AND li_cts_api->is_object_locked_in_transport( iv_object_type = ls_item-obj_type
|
|
||||||
iv_object_name = ls_item-obj_name ) = abap_true.
|
|
||||||
ls_new-item = ls_item.
|
|
||||||
ls_new-transport = li_cts_api->get_current_transport_for_obj(
|
|
||||||
iv_object_type = ls_item-obj_type
|
|
||||||
iv_object_name = ls_item-obj_name
|
|
||||||
iv_resolve_task_to_request = abap_false ).
|
|
||||||
INSERT ls_new INTO TABLE ct_transports.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user