From fc2c803be5a902aeb8416da4d4f3fb10c816c053 Mon Sep 17 00:00:00 2001 From: Alexander Tsybulsky Date: Mon, 21 Oct 2019 19:38:38 +0200 Subject: [PATCH] me filter --- src/ui/zabapgit_js_common.w3mi.data.js | 20 ++++++++++- src/ui/zcl_abapgit_gui_page_stage.clas.abap | 38 +++++++++++---------- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/src/ui/zabapgit_js_common.w3mi.data.js b/src/ui/zabapgit_js_common.w3mi.data.js index 4a9285f0a..ca0a66c2c 100644 --- a/src/ui/zabapgit_js_common.w3mi.data.js +++ b/src/ui/zabapgit_js_common.w3mi.data.js @@ -263,6 +263,7 @@ RepoOverViewHelper.prototype.onPageLoad = function() { function StageHelper(params) { this.pageSeed = params.seed; this.formAction = params.formAction; + this.user = params.user; this.choiseCount = 0; this.lastFilterValue = ""; @@ -296,8 +297,25 @@ function StageHelper(params) { }; this.setHooks(); + if (this.user) this.injectFilterMe(); } +StageHelper.prototype.injectFilterMe = function() { + var changedByHead = this.dom.stageTab.tHead.rows[0].cells[this.colIndex.user]; + changedByHead.innerText = changedByHead.innerText + " ("; + var a = document.createElement("A"); + a.appendChild(document.createTextNode("me")); + a.onclick = this.onFilterMe.bind(this); + a.href = "#"; + changedByHead.appendChild(a); + changedByHead.appendChild(document.createTextNode(")")); +}; + +StageHelper.prototype.onFilterMe = function() { + this.dom.objectSearch.value = this.user; + this.onFilter({ type: "keypress", which: 13, target: this.dom.objectSearch }); +}; + // Hook global click listener on table, load/unload actions StageHelper.prototype.setHooks = function() { this.dom.stageTab.onclick = this.onTableClick.bind(this); @@ -383,7 +401,7 @@ StageHelper.prototype.onTableClick = function (event) { StageHelper.prototype.onFilter = function (e) { if ( // Enter hit or clear, IE SUCKS ! e.type === "input" && !e.target.value && this.lastFilterValue - || e.type === "keypress" && e.which === 13 ) { + || e.type === "keypress" && (e.which === 13 || e.key === "Enter") ) { this.applyFilterValue(e.target.value); submitSapeventForm({ filterValue: e.target.value }, "stage_filter", "post"); diff --git a/src/ui/zcl_abapgit_gui_page_stage.clas.abap b/src/ui/zcl_abapgit_gui_page_stage.clas.abap index 7422fa45d..710d7d3fa 100644 --- a/src/ui/zcl_abapgit_gui_page_stage.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_stage.clas.abap @@ -151,6 +151,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. ENDMETHOD. + METHOD find_transports. DATA: li_cts_api TYPE REF TO zif_abapgit_cts_api, ls_new LIKE LINE OF rt_transports. @@ -189,6 +190,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. ENDMETHOD. + METHOD get_events. FIELD-SYMBOLS: TYPE zcl_abapgit_gui_page=>ty_event. @@ -480,12 +482,30 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. ENDMETHOD. + METHOD render_master_language_warning. + + DATA: ls_dot_abapgit TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit. + + CREATE OBJECT ro_html. + + ls_dot_abapgit = mo_repo->get_dot_abapgit( )->get_data( ). + + IF ls_dot_abapgit-master_language <> sy-langu. + ro_html->add( zcl_abapgit_gui_chunk_lib=>render_warning_banner( + |Caution: Master language of the repo is '{ ls_dot_abapgit-master_language }', | + && |but you're logged on in '{ sy-langu }'| ) ). + ENDIF. + + ENDMETHOD. + + METHOD scripts. ro_html = super->scripts( ). ro_html->add( 'var gStageParams = {' ). ro_html->add( | seed: "{ mv_seed }",| ). " Unique page id + ro_html->add( | user: "{ to_lower( sy-uname ) }",| ). ro_html->add( ' formAction: "stage_commit",' ). ro_html->add( ' ids: {' ). @@ -586,22 +606,4 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions. ENDMETHOD. - - - METHOD render_master_language_warning. - - DATA: ls_dot_abapgit TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit. - - CREATE OBJECT ro_html. - - ls_dot_abapgit = mo_repo->get_dot_abapgit( )->get_data( ). - - IF ls_dot_abapgit-master_language <> sy-langu. - ro_html->add( zcl_abapgit_gui_chunk_lib=>render_warning_banner( - |Caution: Master language of the repo is '{ ls_dot_abapgit-master_language }', | - && |but you're logged on in '{ sy-langu }'| ) ). - ENDIF. - - ENDMETHOD. - ENDCLASS.