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 | 1x 1x 1x 1x 1x 1x | const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_popup_pull_request.clas.abap
class zcl_abapgit_popup_pull_request {
static STATIC_SUPER = undefined;
static INTERNAL_TYPE = 'CLAS';
static INTERNAL_NAME = 'ZCL_ABAPGIT_POPUP_PULL_REQUEST';
static IMPLEMENTED_INTERFACES = ["ZIF_ABAPGIT_GUI_RENDER_ITEM","ZIF_ABAPGIT_HTML_POPUP"];
static ATTRIBUTES = {"MV_REPO_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "I", "is_constant": " ", "is_class": " "}};
static METHODS = {"FETCH_PULL_REQUEST_LIST": {"visibility": "I", "parameters": {"RT_PULLS": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Structure({
"base_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-BASE_URL"}),
"number": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-NUMBER"}),
"title": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-TITLE"}),
"user": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-USER"}),
"head_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_URL"}),
"head_branch": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_BRANCH"}),
"created_at": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-CREATED_AT"}),
"is_for_upstream": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"draft": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"html_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HTML_URL"})}, "zif_abapgit_pr_enum_provider=>ty_pull_request", undefined, {}, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":["BASE_URL","NUMBER"]},"secondary":[]}, "zif_abapgit_pr_enum_provider=>ty_pull_requests");}, "is_optional": " ", "parm_kind": "R", "type_name": "TableType"}}},
"CREATE": {"visibility": "U", "parameters": {"RI_POPUP": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML_POPUP", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML_POPUP"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}, "IV_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "I", "type_name": "StringType"}}},
"CONSTRUCTOR": {"visibility": "U", "parameters": {"IV_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "I", "type_name": "StringType"}}}};
#mv_repo_url;
constructor() {
this.me = new abap.types.ABAPObject();
this.me.set(this);
this.INTERNAL_ID = abap.internalIdCounter++;
this.FRIENDS_ACCESS_INSTANCE = {
"fetch_pull_request_list": this.#fetch_pull_request_list.bind(this),
};
this.#mv_repo_url = new abap.types.String({qualifiedName: "STRING"});
this.FRIENDS_ACCESS_INSTANCE["mv_repo_url"] = this.#mv_repo_url;
}
async constructor_(INPUT) {
let iv_url = INPUT?.iv_url;
if (iv_url?.getQualifiedName === undefined || iv_url.getQualifiedName() !== "STRING") { iv_url = undefined; }
if (iv_url === undefined) { iv_url = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_url); }
this.#mv_repo_url.set(iv_url);
return this;
}
async create(INPUT) {
return zcl_abapgit_popup_pull_request.create(INPUT);
}
static async create(INPUT) {
let ri_popup = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML_POPUP", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML_POPUP"});
let iv_url = INPUT?.iv_url;
if (iv_url?.getQualifiedName === undefined || iv_url.getQualifiedName() !== "STRING") { iv_url = undefined; }
if (iv_url === undefined) { iv_url = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_url); }
ri_popup.set(await (new abap.Classes['ZCL_ABAPGIT_POPUP_PULL_REQUEST']()).constructor_({iv_url: iv_url}));
return ri_popup;
}
async #fetch_pull_request_list() {
let rt_pulls = abap.types.TableFactory.construct(new abap.types.Structure({
"base_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-BASE_URL"}),
"number": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-NUMBER"}),
"title": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-TITLE"}),
"user": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-USER"}),
"head_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_URL"}),
"head_branch": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_BRANCH"}),
"created_at": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-CREATED_AT"}),
"is_for_upstream": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"draft": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"html_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HTML_URL"})}, "zif_abapgit_pr_enum_provider=>ty_pull_request", undefined, {}, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":["BASE_URL","NUMBER"]},"secondary":[]}, "zif_abapgit_pr_enum_provider=>ty_pull_requests");
rt_pulls.set((await (await abap.Classes['ZCL_ABAPGIT_PR_ENUMERATOR'].new({iv_url: this.#mv_repo_url})).get().get_pulls()));
abap.statements.sort(rt_pulls,{by: [{component: "number"}]});
if (abap.compare.eq(abap.builtin.lines({val: rt_pulls}), abap.IntegerFactory.get(0))) {
await abap.Classes['ZCX_ABAPGIT_EXCEPTION'].raise({iv_text: abap.CharacterFactory.get(22, 'No pull requests found')});
}
return rt_pulls;
}
async zif_abapgit_gui_render_item$render(INPUT) {
let ri_html = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML"});
let iv_item = INPUT?.iv_item;
let iv_index = INPUT?.iv_index;
if (iv_index?.getQualifiedName === undefined || iv_index.getQualifiedName() !== "I") { iv_index = undefined; }
if (iv_index === undefined) { iv_index = new abap.types.Integer({qualifiedName: "I"}).set(INPUT.iv_index); }
let fs_ls_pr_ = new abap.types.FieldSymbol(new abap.types.Structure({
"base_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-BASE_URL"}),
"number": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-NUMBER"}),
"title": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-TITLE"}),
"user": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-USER"}),
"head_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_URL"}),
"head_branch": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_BRANCH"}),
"created_at": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-CREATED_AT"}),
"is_for_upstream": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"draft": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"html_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HTML_URL"})}, "zif_abapgit_pr_enum_provider=>ty_pull_request", undefined, {}, {}));
abap.statements.assign({target: fs_ls_pr_, source: iv_item});
ri_html.set((await abap.Classes['ZCL_ABAPGIT_HTML'].create({iv_initial_chunk: new abap.types.String().set(`<b>${abap.templateFormatting(fs_ls_pr_.get().number)}</b> - ${abap.templateFormatting(fs_ls_pr_.get().title)} @${abap.templateFormatting(fs_ls_pr_.get().user)}`)})));
return ri_html;
}
async zif_abapgit_html_popup$create_picklist() {
let ro_picklist = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_GUI_PICKLIST", RTTIName: "\\CLASS=ZCL_ABAPGIT_GUI_PICKLIST"});
ro_picklist.set(await (new abap.Classes['ZCL_ABAPGIT_GUI_PICKLIST']()).constructor_({iv_title: abap.CharacterFactory.get(19, 'Choose Pull Request'), it_list: (await this.#fetch_pull_request_list()), ii_item_renderer: this.me}));
return ro_picklist;
}
}
abap.Classes['ZCL_ABAPGIT_POPUP_PULL_REQUEST'] = zcl_abapgit_popup_pull_request;
export {zcl_abapgit_popup_pull_request}; |