All files / output zcl_abapgit_gui_component.clas.mjs

48% Statements 48/100
83.33% Branches 5/6
26.66% Functions 4/15
48% Lines 48/100

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 1001x 1x 37x 37x 37x 37x 37x 37x 37x   37x 37x 1x 1x 1x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x 37x               37x           37x                                     37x       37x                                     37x 1x 1x 1x 1x 1x 1x 1x
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_gui_component.clas.abap
class zcl_abapgit_gui_component {
  static STATIC_SUPER = undefined;
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'ZCL_ABAPGIT_GUI_COMPONENT';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"MI_GUI_SERVICES": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_SERVICES"});}, "visibility": "I", "is_constant": " ", "is_class": " "},
  "C_HTML_PARTS": {"type": () => {return new abap.types.Structure({
  "scripts": new abap.types.String({qualifiedName: "STRING"}),
  "hidden_forms": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});}, "visibility": "U", "is_constant": "X", "is_class": "X"}};
  static METHODS = {"REGISTER_EVENT_HANDLER": {"visibility": "I", "parameters": {"II_EVENT_HANDLER": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_EVENT_HANDLER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_EVENT_HANDLER"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}},
  "REGISTER_HOTKEYS": {"visibility": "I", "parameters": {"II_HOTKEY_PROVIDER": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_HOTKEYS", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_HOTKEYS"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}},
  "REGISTER_DEFERRED_SCRIPT": {"visibility": "O", "parameters": {"II_PART": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}},
  "GUI_SERVICES": {"visibility": "O", "parameters": {"RI_GUI_SERVICES": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_SERVICES"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}}},
  "REGISTER_HANDLERS": {"visibility": "O", "parameters": {}}};
  #mi_gui_services;
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "register_event_handler": this.#register_event_handler.bind(this),
      "register_hotkeys": this.#register_hotkeys.bind(this),
      "register_deferred_script": this.register_deferred_script.bind(this),
      "gui_services": this.gui_services.bind(this),
      "register_handlers": this.register_handlers.bind(this),
    };
    this.#mi_gui_services = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_SERVICES"});
    this.FRIENDS_ACCESS_INSTANCE["mi_gui_services"] = this.#mi_gui_services;
    this.c_html_parts = zcl_abapgit_gui_component.c_html_parts;
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async gui_services() {
    let ri_gui_services = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_SERVICES"});
    if (abap.compare.initial(this.#mi_gui_services)) {
      this.#mi_gui_services.set((await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_gui_services()));
    }
    ri_gui_services.set(this.#mi_gui_services);
    return ri_gui_services;
  }
  async register_deferred_script(INPUT) {
    let ii_part = INPUT?.ii_part;
    if (ii_part?.getQualifiedName === undefined || ii_part.getQualifiedName() !== "ZIF_ABAPGIT_HTML") { ii_part = undefined; }
    if (ii_part === undefined) { ii_part = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTML", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTML"}).set(INPUT.ii_part); }
    await (await (await this.gui_services()).get().zif_abapgit_gui_services$get_html_parts()).get().add_part({iv_collection: zcl_abapgit_gui_component.c_html_parts.get().scripts, ii_part: ii_part});
  }
  async #register_event_handler(INPUT) {
    let ii_event_handler = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_EVENT_HANDLER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_EVENT_HANDLER"});
    if (INPUT && INPUT.ii_event_handler) {ii_event_handler.set(INPUT.ii_event_handler);}
    let li_event_handler = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_EVENT_HANDLER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_EVENT_HANDLER"});
    if (abap.compare.initial(ii_event_handler) === false) {
      li_event_handler.set(ii_event_handler);
    } else {
      try {
        await abap.statements.cast(li_event_handler, this.me);
      } catch (e) {
        if ((abap.Classes['CX_ROOT'] && e instanceof abap.Classes['CX_ROOT'])) {
          return;
        } else {
          throw e;
        }
      }
    }
    await (await this.gui_services()).get().zif_abapgit_gui_services$register_event_handler({ii_event_handler: li_event_handler});
  }
  async register_handlers() {
    await this.#register_event_handler();
    await this.#register_hotkeys();
  }
  async #register_hotkeys(INPUT) {
    let ii_hotkey_provider = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_HOTKEYS", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_HOTKEYS"});
    if (INPUT && INPUT.ii_hotkey_provider) {ii_hotkey_provider.set(INPUT.ii_hotkey_provider);}
    let li_hotkey_provider = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_GUI_HOTKEYS", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_GUI_HOTKEYS"});
    if (abap.compare.initial(ii_hotkey_provider) === false) {
      li_hotkey_provider.set(ii_hotkey_provider);
    } else {
      try {
        await abap.statements.cast(li_hotkey_provider, this.me);
      } catch (e) {
        if ((abap.Classes['CX_ROOT'] && e instanceof abap.Classes['CX_ROOT'])) {
          return;
        } else {
          throw e;
        }
      }
    }
    await (await (await this.gui_services()).get().zif_abapgit_gui_services$get_hotkeys_ctl()).get().zif_abapgit_gui_hotkey_ctl$register_hotkeys({it_hotkeys: (await li_hotkey_provider.get().zif_abapgit_gui_hotkeys$get_hotkey_actions())});
  }
}
abap.Classes['ZCL_ABAPGIT_GUI_COMPONENT'] = zcl_abapgit_gui_component;
zcl_abapgit_gui_component.c_html_parts = new abap.types.Structure({
"scripts": new abap.types.String({qualifiedName: "STRING"}),
"hidden_forms": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});
zcl_abapgit_gui_component.c_html_parts.get().scripts.set('scripts');
zcl_abapgit_gui_component.c_html_parts.get().hidden_forms.set('hidden_forms');
export {zcl_abapgit_gui_component};