Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const {zcl_abapgit_gui_component} = await import("./zcl_abapgit_gui_component.clas.mjs"); const {cx_root} = await import("./cx_root.clas.mjs"); // zcl_abapgit_gui_page_merge_sel.clas.abap class zcl_abapgit_gui_page_merge_sel extends zcl_abapgit_gui_component { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'ZCL_ABAPGIT_GUI_PAGE_MERGE_SEL'; static IMPLEMENTED_INTERFACES = ["ZIF_ABAPGIT_GUI_EVENT_HANDLER","ZIF_ABAPGIT_GUI_RENDERABLE"]; static ATTRIBUTES = {"MO_FORM": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MO_FORM_DATA": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_STRING_MAP", RTTIName: "\\CLASS=ZCL_ABAPGIT_STRING_MAP"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MO_FORM_UTIL": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM_UTILS", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM_UTILS"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MI_REPO_ONLINE": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO_ONLINE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO_ONLINE"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MT_BRANCHES": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Structure({ "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}), "name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-NAME"}), "type": new abap.types.Character(2, {"qualifiedName":"zif_abapgit_git_definitions=>ty_git_branch_type"}), "is_head": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "display_name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-DISPLAY_NAME"})}, "zif_abapgit_git_definitions=>ty_git_branch", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"name_key","type":"SORTED","isUnique":false,"keyFields":["NAME"]}]}, "zif_abapgit_git_definitions=>ty_git_branch_list_tt");}, "visibility": "I", "is_constant": " ", "is_class": " "}, "C_ID": {"type": () => {return new abap.types.Structure({ "branches": new abap.types.String({qualifiedName: "STRING"}), "source": new abap.types.String({qualifiedName: "STRING"}), "target": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});}, "visibility": "I", "is_constant": "X", "is_class": "X"}, "C_EVENT": {"type": () => {return new abap.types.Structure({ "merge": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});}, "visibility": "I", "is_constant": "X", "is_class": "X"}}; static METHODS = {"READ_BRANCHES": {"visibility": "I", "parameters": {}}, "GET_FORM_SCHEMA": {"visibility": "I", "parameters": {"RO_FORM": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM"});}, "is_optional": " "}}}, "CREATE": {"visibility": "U", "parameters": {"RI_PAGE": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_RENDERABLE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_RENDERABLE"});}, "is_optional": " "}, "II_REPO": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"});}, "is_optional": " "}}}, "CONSTRUCTOR": {"visibility": "U", "parameters": {"II_REPO": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"});}, "is_optional": " "}}}}; #mo_form; #mo_form_data; #mo_form_util; #mi_repo_online; #mt_branches; constructor() { const sup = super(); this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "SUPER": sup.FRIENDS_ACCESS_INSTANCE, "read_branches": this.#read_branches.bind(this), "get_form_schema": this.#get_form_schema.bind(this), }; this.#mo_form = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM"}); this.FRIENDS_ACCESS_INSTANCE["mo_form"] = this.#mo_form; this.#mo_form_data = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_STRING_MAP", RTTIName: "\\CLASS=ZCL_ABAPGIT_STRING_MAP"}); this.FRIENDS_ACCESS_INSTANCE["mo_form_data"] = this.#mo_form_data; this.#mo_form_util = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM_UTILS", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM_UTILS"}); this.FRIENDS_ACCESS_INSTANCE["mo_form_util"] = this.#mo_form_util; this.#mi_repo_online = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO_ONLINE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO_ONLINE"}); this.FRIENDS_ACCESS_INSTANCE["mi_repo_online"] = this.#mi_repo_online; this.#mt_branches = abap.types.TableFactory.construct(new abap.types.Structure({ "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}), "name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-NAME"}), "type": new abap.types.Character(2, {"qualifiedName":"zif_abapgit_git_definitions=>ty_git_branch_type"}), "is_head": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "display_name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-DISPLAY_NAME"})}, "zif_abapgit_git_definitions=>ty_git_branch", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"name_key","type":"SORTED","isUnique":false,"keyFields":["NAME"]}]}, "zif_abapgit_git_definitions=>ty_git_branch_list_tt"); this.FRIENDS_ACCESS_INSTANCE["mt_branches"] = this.#mt_branches; this.c_id = zcl_abapgit_gui_page_merge_sel.c_id; this.c_event = zcl_abapgit_gui_page_merge_sel.c_event; } async constructor_(INPUT) { let ii_repo = INPUT?.ii_repo; if (ii_repo?.getQualifiedName === undefined || ii_repo.getQualifiedName() !== "ZIF_ABAPGIT_REPO") { ii_repo = undefined; } if (ii_repo === undefined) { ii_repo = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"}).set(INPUT.ii_repo); } await super.constructor_(); this.#mo_form_data.set(await (new abap.Classes['ZCL_ABAPGIT_STRING_MAP']()).constructor_()); await abap.statements.cast(this.#mi_repo_online, ii_repo); await this.#read_branches(); this.#mo_form.set((await this.#get_form_schema())); this.#mo_form_util.set((await abap.Classes['ZCL_ABAPGIT_HTML_FORM_UTILS'].create({io_form: this.#mo_form}))); return this; } async create(INPUT) { return zcl_abapgit_gui_page_merge_sel.create(INPUT); } static async create(INPUT) { let ri_page = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_RENDERABLE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_RENDERABLE"}); let ii_repo = INPUT?.ii_repo; if (ii_repo?.getQualifiedName === undefined || ii_repo.getQualifiedName() !== "ZIF_ABAPGIT_REPO") { ii_repo = undefined; } if (ii_repo === undefined) { ii_repo = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"}).set(INPUT.ii_repo); } let lo_component = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_MERGE_SEL", RTTIName: "\\CLASS=ZCL_ABAPGIT_GUI_PAGE_MERGE_SEL"}); lo_component.set(await (new abap.Classes['ZCL_ABAPGIT_GUI_PAGE_MERGE_SEL']()).constructor_({ii_repo: ii_repo})); ri_page.set((await abap.Classes['ZCL_ABAPGIT_GUI_PAGE_HOC'].create({iv_page_title: abap.CharacterFactory.get(14, 'Merge Branches'), ii_child_component: lo_component}))); return ri_page; } async #get_form_schema() { let ro_form = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_FORM", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_FORM"}); let fs_ls_branch_ = new abap.types.FieldSymbol(new abap.types.Structure({ "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}), "name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-NAME"}), "type": new abap.types.Character(2, {"qualifiedName":"zif_abapgit_git_definitions=>ty_git_branch_type"}), "is_head": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "display_name": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_GIT_BRANCH-DISPLAY_NAME"})}, "zif_abapgit_git_definitions=>ty_git_branch", undefined, {}, {})); ro_form.set((await abap.Classes['ZCL_ABAPGIT_HTML_FORM'].create({iv_form_id: abap.CharacterFactory.get(19, 'merge-branches-form'), iv_help_page: abap.CharacterFactory.get(25, 'https://docs.abapgit.org/')}))); await (await ro_form.get().start_group({iv_name: zcl_abapgit_gui_page_merge_sel.c_id.get().branches, iv_label: abap.CharacterFactory.get(16, 'Branch Selection'), iv_hint: abap.CharacterFactory.get(41, 'Select the branches that should be merged')})).get().radio({iv_name: zcl_abapgit_gui_page_merge_sel.c_id.get().source, iv_label: abap.CharacterFactory.get(13, 'Source Branch'), iv_default_value: (abap.builtin.substring({val: (await this.#mi_repo_online.get().zif_abapgit_repo_online$get_selected_branch()), off: abap.IntegerFactory.get(11)})), iv_condense: abap.builtin.abap_true}); for await (const unique965 of abap.statements.loop(this.#mt_branches)) { fs_ls_branch_.assign(unique965); await ro_form.get().option({iv_label: fs_ls_branch_.get().display_name, iv_value: fs_ls_branch_.get().display_name}); } await ro_form.get().radio({iv_name: zcl_abapgit_gui_page_merge_sel.c_id.get().target, iv_label: abap.CharacterFactory.get(13, 'Target Branch'), iv_condense: abap.builtin.abap_true}); for await (const unique966 of abap.statements.loop(this.#mt_branches)) { fs_ls_branch_.assign(unique966); await ro_form.get().option({iv_label: fs_ls_branch_.get().display_name, iv_value: fs_ls_branch_.get().display_name}); } await (await ro_form.get().command({iv_label: abap.CharacterFactory.get(13, 'Preview Merge'), iv_cmd_type: abap.Classes['ZIF_ABAPGIT_HTML_FORM'].zif_abapgit_html_form$c_cmd_type.get().input_main, iv_action: zcl_abapgit_gui_page_merge_sel.c_event.get().merge})).get().command({iv_label: abap.CharacterFactory.get(4, 'Back'), iv_action: abap.Classes['ZIF_ABAPGIT_DEFINITIONS'].zif_abapgit_definitions$c_action.get().go_back}); return ro_form; } async #read_branches() { let lo_branches = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GIT_BRANCH_LIST", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GIT_BRANCH_LIST"}); lo_branches.set((await (await abap.Classes['ZCL_ABAPGIT_GIT_FACTORY'].get_git_transport()).get().zif_abapgit_git_transport$branches({iv_url: (await this.#mi_repo_online.get().zif_abapgit_repo_online$get_url())}))); this.#mt_branches.set((await lo_branches.get().zif_abapgit_git_branch_list$get_branches_only())); await abap.statements.deleteInternal(this.#mt_branches,{where: async (I) => {return abap.compare.eq(I.name, abap.Classes['ZIF_ABAPGIT_GIT_DEFINITIONS'].zif_abapgit_git_definitions$c_head_name);}}); } async zif_abapgit_gui_event_handler$on_event(INPUT) { let rs_handled = new abap.types.Structure({ "page": new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_RENDERABLE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_RENDERABLE"}), "state": new abap.types.Integer({qualifiedName: "ZIF_ABAPGIT_GUI_EVENT_HANDLER=>TY_HANDLING_RESULT-STATE"})}, "zif_abapgit_gui_event_handler=>ty_handling_result", undefined, {}, {}); let ii_event = INPUT?.ii_event; if (ii_event?.getQualifiedName === undefined || ii_event.getQualifiedName() !== "ZIF_ABAPGIT_GUI_EVENT") { ii_event = undefined; } if (ii_event === undefined) { ii_event = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_EVENT", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_EVENT"}).set(INPUT.ii_event); } this.#mo_form_data.set((await this.#mo_form_util.get().normalize({io_form_data: (await ii_event.get().zif_abapgit_gui_event$form_data())}))); let unique967 = ii_event.get().zif_abapgit_gui_event$mv_action; if (abap.compare.eq(unique967, zcl_abapgit_gui_page_merge_sel.c_event.get().merge)) { if (abap.compare.eq((await this.#mo_form_data.get().get({iv_key: zcl_abapgit_gui_page_merge_sel.c_id.get().source})), (await this.#mo_form_data.get().get({iv_key: zcl_abapgit_gui_page_merge_sel.c_id.get().target})))) { await abap.Classes['ZCX_ABAPGIT_EXCEPTION'].raise({iv_text: abap.CharacterFactory.get(25, 'Select different branches')}); } rs_handled.get().page.set((await abap.Classes['ZCL_ABAPGIT_GUI_PAGE_MERGE'].create({ii_repo_online: this.#mi_repo_online, iv_source: (await this.#mo_form_data.get().get({iv_key: zcl_abapgit_gui_page_merge_sel.c_id.get().source})), iv_target: (await this.#mo_form_data.get().get({iv_key: zcl_abapgit_gui_page_merge_sel.c_id.get().target}))}))); rs_handled.get().state.set(abap.Classes['ZCL_ABAPGIT_GUI'].c_event_state.get().new_page); } else { abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.IntegerFactory.get(1))); } return rs_handled; } async zif_abapgit_gui_renderable$render() { let ri_html = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML"}); await this.register_handlers(); ri_html.set(await (new abap.Classes['ZCL_ABAPGIT_HTML']()).constructor_()); await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<div class="repo">`)}); await ri_html.get().zif_abapgit_html$add({ig_chunk: (await abap.Classes['ZCL_ABAPGIT_GUI_CHUNK_LIB'].render_repo_top({ii_repo: this.#mi_repo_online, iv_show_commit: abap.builtin.abap_false, iv_interactive_branch: abap.builtin.abap_false}))}); await ri_html.get().zif_abapgit_html$add({ig_chunk: (await this.#mo_form.get().render({io_values: this.#mo_form_data}))}); await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`</div>`)}); return ri_html; } } abap.Classes['ZCL_ABAPGIT_GUI_PAGE_MERGE_SEL'] = zcl_abapgit_gui_page_merge_sel; zcl_abapgit_gui_page_merge_sel.c_id = new abap.types.Structure({ "branches": new abap.types.String({qualifiedName: "STRING"}), "source": new abap.types.String({qualifiedName: "STRING"}), "target": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {}); zcl_abapgit_gui_page_merge_sel.c_id.get().branches.set('branches'); zcl_abapgit_gui_page_merge_sel.c_id.get().source.set('source'); zcl_abapgit_gui_page_merge_sel.c_id.get().target.set('target'); zcl_abapgit_gui_page_merge_sel.c_event = new abap.types.Structure({ "merge": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {}); zcl_abapgit_gui_page_merge_sel.c_event.get().merge.set('merge'); export {zcl_abapgit_gui_page_merge_sel}; |