All files / output zcl_abapgit_gui_page_flowuns.clas.mjs

17.85% Statements 25/140
100% Branches 2/2
12.5% Functions 1/8
17.85% Lines 25/140

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 1401x 1x 1x 1x 1x 1x 1x 1x 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_flowuns.clas.abap
class zcl_abapgit_gui_page_flowuns extends zcl_abapgit_gui_component {
  static STATIC_SUPER = zcl_abapgit_gui_component;
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'ZCL_ABAPGIT_GUI_PAGE_FLOWUNS';
  static IMPLEMENTED_INTERFACES = ["ZIF_ABAPGIT_GUI_RENDERABLE","ZIF_ABAPGIT_GUI_MENU_PROVIDER"];
  static ATTRIBUTES = {};
  static METHODS = {"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": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}}};
  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,
    };
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async create() {
    return zcl_abapgit_gui_page_flowuns.create();
  }
  static async create() {
    let ri_page = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_RENDERABLE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_RENDERABLE"});
    let lo_component = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS", RTTIName: "\\CLASS=ZCL_ABAPGIT_GUI_PAGE_FLOWUNS"});
    lo_component.set(await (new abap.Classes['ZCL_ABAPGIT_GUI_PAGE_FLOWUNS']()).constructor_());
    ri_page.set((await abap.Classes['ZCL_ABAPGIT_GUI_PAGE_HOC'].create({iv_page_title: abap.CharacterFactory.get(29, 'Flow Unsupported Object Types'), ii_page_menu_provider: lo_component, ii_child_component: lo_component})));
    return ri_page;
  }
  async zif_abapgit_gui_menu_provider$get_menu() {
    let ro_toolbar = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_HTML_TOOLBAR", RTTIName: "\\CLASS=ZCL_ABAPGIT_HTML_TOOLBAR"});
    ro_toolbar.set((await abap.Classes['ZCL_ABAPGIT_HTML_TOOLBAR'].create({iv_id: abap.CharacterFactory.get(16, 'toolbar-flow-uns')})));
    await ro_toolbar.get().add({iv_txt: abap.CharacterFactory.get(4, 'Back'), iv_act: abap.Classes['ZIF_ABAPGIT_DEFINITIONS'].zif_abapgit_definitions$c_action.get().go_back});
    return ro_toolbar;
  }
  async zif_abapgit_gui_renderable$render() {
    let ri_html = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML"});
    let lt_repos = abap.types.TableFactory.construct(new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO_ONLINE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO_ONLINE"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zcl_abapgit_flow_logic=>ty_repos_tt");
    let li_repo_online = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO_ONLINE", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO_ONLINE"});
    let li_repo = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"});
    let lt_tadir = abap.types.TableFactory.construct(new abap.types.Structure({
    "pgmid": new abap.types.Character(4, {}),
    "object": new abap.types.Character(4, {}),
    "obj_name": new abap.types.Character(40, {}),
    "devclass": new abap.types.Character(30, {"qualifiedName":"DEVCLASS","ddicName":"DEVCLASS","description":"DEVCLASS"}),
    "korrnum": new abap.types.Character(10, {}),
    "delflag": new abap.types.Character(1, {}),
    "genflag": new abap.types.Character(1, {}),
    "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_TADIR-PATH"}),
    "srcsystem": new abap.types.Character(5, {}),
    "masterlang": new abap.types.Character(1, {})}, "zif_abapgit_definitions=>ty_tadir", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zif_abapgit_definitions=>ty_tadir_tt");
    let lt_supported_types = abap.types.TableFactory.construct(new abap.types.Character(4, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"SORTED","isUnique":true,"keyFields":["TABLE_LINE"]},"secondary":[]}, "zif_abapgit_objects=>ty_types_tt");
    let lt_unsupported = abap.types.TableFactory.construct(new abap.types.Structure({
    "obj_type": new abap.types.Character(4, {}),
    "count": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS=>TY_UNSUPPORTED-COUNT"})}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported_tt");
    let ls_unsupported = new abap.types.Structure({
    "obj_type": new abap.types.Character(4, {}),
    "count": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS=>TY_UNSUPPORTED-COUNT"})}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported", undefined, {}, {});
    let fs_ls_tadir_ = new abap.types.FieldSymbol(new abap.types.Structure({
    "pgmid": new abap.types.Character(4, {}),
    "object": new abap.types.Character(4, {}),
    "obj_name": new abap.types.Character(40, {}),
    "devclass": new abap.types.Character(30, {"qualifiedName":"DEVCLASS","ddicName":"DEVCLASS","description":"DEVCLASS"}),
    "korrnum": new abap.types.Character(10, {}),
    "delflag": new abap.types.Character(1, {}),
    "genflag": new abap.types.Character(1, {}),
    "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_TADIR-PATH"}),
    "srcsystem": new abap.types.Character(5, {}),
    "masterlang": new abap.types.Character(1, {})}, "zif_abapgit_definitions=>ty_tadir", undefined, {}, {}));
    let fs_ls_unsupported_ = new abap.types.FieldSymbol(new abap.types.Structure({
    "obj_type": new abap.types.Character(4, {}),
    "count": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS=>TY_UNSUPPORTED-COUNT"})}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported", undefined, {}, {}));
    ri_html.set(await (new abap.Classes['ZCL_ABAPGIT_HTML']()).constructor_());
    await ri_html.get().zif_abapgit_html$add({ig_chunk: abap.CharacterFactory.get(27, '<div class="repo-overview">')});
    await ri_html.get().zif_abapgit_html$add({ig_chunk: abap.CharacterFactory.get(38, '<h1>Flow Unsupported Object Types</h1>')});
    lt_repos.set((await abap.Classes['ZCL_ABAPGIT_FLOW_LOGIC'].list_repos({iv_favorites_only: abap.builtin.abap_false})));
    if (abap.compare.eq(abap.builtin.lines({val: lt_repos}), abap.IntegerFactory.get(0))) {
      await ri_html.get().zif_abapgit_html$add({ig_chunk: (await abap.Classes['ZCL_ABAPGIT_GUI_CHUNK_LIB'].render_warning_banner({iv_text: abap.CharacterFactory.get(34, 'No flow-enabled repositories found')}))});
      await ri_html.get().zif_abapgit_html$add({ig_chunk: abap.CharacterFactory.get(6, '</div>')});
      return ri_html;
    }
    lt_supported_types.set((await abap.Classes['ZCL_ABAPGIT_OBJECTS'].supported_list()));
    for await (const unique1034 of abap.statements.loop(lt_repos)) {
      li_repo_online.set(unique1034);
      await abap.statements.cast(li_repo, li_repo_online);
      lt_tadir.set((await li_repo.get().zif_abapgit_repo$get_tadir_objects()));
      lt_unsupported.clear();
      for await (const unique1035 of abap.statements.loop(lt_tadir)) {
        fs_ls_tadir_.assign(unique1035);
        abap.statements.readTable(lt_supported_types,{withKey: (i) => {return abap.compare.eq(i.table_line, fs_ls_tadir_.get().object);},
          withKeyValue: [{key: (i) => {return i.table_line}, value: fs_ls_tadir_.get().object}],
          usesTableLine: true,
          withKeySimple: {"table_line": fs_ls_tadir_.get().object}});
        if (abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0))) {
          continue;
        }
        abap.statements.readTable(lt_unsupported,{assigning: fs_ls_unsupported_,
          withKey: (i) => {return abap.compare.eq(i.obj_type, fs_ls_tadir_.get().object);},
          withKeyValue: [{key: (i) => {return i.obj_type}, value: fs_ls_tadir_.get().object}],
          usesTableLine: false,
          withKeySimple: {"obj_type": fs_ls_tadir_.get().object}});
        if (abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0))) {
          fs_ls_unsupported_.get().count.set(abap.operators.add(fs_ls_unsupported_.get().count,abap.IntegerFactory.get(1)));
        } else {
          ls_unsupported.clear();
          ls_unsupported.get().obj_type.set(fs_ls_tadir_.get().object);
          ls_unsupported.get().count.set(abap.IntegerFactory.get(1));
          abap.statements.append({source: ls_unsupported, target: lt_unsupported});
        }
      }
      abap.statements.sort(lt_unsupported,{by: [{component: "count", descending: true},{component: "obj_type"}]});
      await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<h2>${abap.templateFormatting((await li_repo.get().zif_abapgit_repo$get_name()))}</h2>`)});
      await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<table>`)});
      await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<tr><td><u>Object Type</u></td><td><u>Count</u></td></tr>`)});
      if (abap.compare.initial(lt_unsupported)) {
        await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<tr><td colspan="2">None</td></tr>`)});
      } else {
        for await (const unique1036 of abap.statements.loop(lt_unsupported)) {
          ls_unsupported.set(unique1036);
          await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`<tr><td>${abap.templateFormatting(ls_unsupported.get().obj_type)}</td><td>${abap.templateFormatting(ls_unsupported.get().count)}</td></tr>`)});
        }
      }
      await ri_html.get().zif_abapgit_html$add({ig_chunk: new abap.types.String().set(`</table>`)});
    }
    await ri_html.get().zif_abapgit_html$add({ig_chunk: abap.CharacterFactory.get(6, '</div>')});
    return ri_html;
  }
}
abap.Classes['ZCL_ABAPGIT_GUI_PAGE_FLOWUNS'] = zcl_abapgit_gui_page_flowuns;
zcl_abapgit_gui_page_flowuns.ty_unsupported = new abap.types.Structure({
"obj_type": new abap.types.Character(4, {}),
"count": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS=>TY_UNSUPPORTED-COUNT"})}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported", undefined, {}, {});
zcl_abapgit_gui_page_flowuns.ty_unsupported_tt = abap.types.TableFactory.construct(new abap.types.Structure({
"obj_type": new abap.types.Character(4, {}),
"count": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_GUI_PAGE_FLOWUNS=>TY_UNSUPPORTED-COUNT"})}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zcl_abapgit_gui_page_flowuns=>ty_unsupported_tt");
export {zcl_abapgit_gui_page_flowuns};