CANVAS_tiles_array (Type: Panel; Array: yes). This is an array that is fed by all the Panels that exists Canvas/Flow_Tile_Container
CANVAS_btn_array (Type: Button; Array: yes). This is an array that is fed by all the Buttons that exists Canvas/Flow_Tile_Container
CANVAS_txt_array (Type: Text; Array: yes). This is an array that is fed by all the Text used for objects’ description that exists Canvas/Flow_Tile_Container
CANVAS_txt_obj_type_array (Type: Text; Array: yes). This is an array that is fed by all the Texts used for objects’ type that exists Canvas/Flow_Tile_Container
CANVAS_img_folder_array (Type: Image; Array: yes). This is an array that is fed by all the Images that exists Canvas/Flow_Tile_Container
CANVAS_img_model_array (Type: Image; Array: yes). This is an array that is fed by all the Images that exists Canvas/Flow_Tile_Container
CANVAS_img_story_array (Type: Image; Array: yes). This is an array that is fed by all the Images that exists Canvas/Flow_Tile_Container
CANVAS_img_url_array (Type: Image; Array: yes). This is an array that is fed by all the Images that exists Canvas/Flow_Tile_Container
CANVAS_LEVEL_btn_array (Type: Button; Array: yes). This is an array that is fed by all the Buttons that exists Canvas/Flow_Header_Navigation
CANVAS_LEVEL_btn_array (Type: Text; Array: yes). This is an array that is fed by all the Texts that exists Canvas/Flow_Header_Navigation
Tiles _OBJ_TYPE_DESC_array (Type: String; Array: yes). This is an array that is fed by SAP Analytics Cloud objects/members Types
Tiles _PARENT_OBJ_DESC_array (Type: String; Array: yes). This is an array that is fed by SAP Analytics Cloud objects/members Description
Tiles _PARENT_OBJ_ID_array (Type: String; Array: yes). This is an array that is fed by SAP Analytics Cloud objects/members ID
Tile_selected_OBJ_TYPE_DESC_str (Type: String; Array: no). This is a string that is populated by SAP Analytics Cloud object Type selection
Tile_selected_PARENT_OBJ_DESC_str (Type: String; Array: no). This is a string that is populated by SAP Analytics Cloud object Description selection
Tile_selected_PARENT_OBJ_ID_str (Type: String; Array: no). This is a string that is populated by SAP Analytics Cloud object ID selection
LEVEL (Type: Integer; Array: no). This is a integer, which indicates current navigational level of SAP Analytics Cloud folder repository
AppUser (Type: String; Array: no). This is a string is used to capture current SAP Analytics Cloud user
CANVAS_feed_arrays()
This function is used for feeding CANVAS global variables
//arrays for Canvas tile containder objects
CANVAS_tiles_array = [TILE_1, TILE_2, TILE_3, TILE_4, TILE_5, TILE_6, TILE_7, TILE_8, TILE_9, TILE_10];
CANVAS_txt_array = [TXT_1, TXT_2, TXT_3, TXT_4, TXT_5, TXT_6, TXT_7, TXT_8, TXT_9, TXT_10];
CANVAS_btn_array = [BTN_1, BTN_2, BTN_3, BTN_4, BTN_5, BTN_6, BTN_7, BTN_8, BTN_9, BTN_10];
CANVAS_txt_obj_type_array = [TXT_OBJ_TYPE_1, TXT_OBJ_TYPE_2, TXT_OBJ_TYPE_3, TXT_OBJ_TYPE_4, TXT_OBJ_TYPE_5, TXT_OBJ_TYPE_6, TXT_OBJ_TYPE_7, TXT_OBJ_TYPE_8, TXT_OBJ_TYPE_9, TXT_OBJ_TYPE_10];
CANVAS_img_folder_array = [FOLDER_1, FOLDER_2, FOLDER_3, FOLDER_4, FOLDER_5, FOLDER_6, FOLDER_7, FOLDER_8, FOLDER_9, FOLDER_10];
CANVAS_img_story_array = [STORY_1, STORY_2, STORY_3, STORY_4, STORY_5, STORY_6, STORY_7, STORY_8, STORY_9, STORY_10];
CANVAS_img_model_array = [MODEL_1, MODEL_2, MODEL_3, MODEL_4, MODEL_5, MODEL_6, MODEL_7, MODEL_8, MODEL_9, MODEL_10];
CANVAS_img_url_array = [URL_1, URL_2, URL_3, URL_4, URL_5, URL_6, URL_7, URL_8, URL_9, URL_10];
//array for Canvas header LEVEL buttons
CANVAS_LEVEL_btn_array = [BTN_LVL1, BTN_LVL2, BTN_LVL3, BTN_LVL4];
CANVAS_LEVEL_txt_array = [TXT_LVL1, TXT_LVL2, TXT_LVL3, TXT_LVL4];
SetHeaders()
This function is used to manage labels and visibility of Header_Navigation objects depends on the drill down level
if (LEVEL === 0)
{
BTN_LVL1.setText("Public");
TXT_LVL1.applyText("Public");
BTN_LVL2.setVisible(false);
TXT_LVL2.setVisible(false);
BTN_LVL3.setVisible(false);
TXT_LVL3.setVisible(false);
BTN_LVL4.setVisible(false);
TXT_LVL4.setVisible(false);
}
else if (LEVEL === 1)
{
BTN_LVL2.setText(Tile_selected_PARENT_OBJ_ID_str);
TXT_LVL2.applyText(Tile_selected_PARENT_OBJ_DESC_str);
BTN_LVL2.setVisible(true);
TXT_LVL2.setVisible(true);
BTN_LVL3.setVisible(false);
TXT_LVL3.setVisible(false);
BTN_LVL4.setVisible(false);
TXT_LVL4.setVisible(false);
}
else if (LEVEL === 2)
{
BTN_LVL3.setText(Tile_selected_PARENT_OBJ_ID_str);
TXT_LVL3.applyText(Tile_selected_PARENT_OBJ_DESC_str);
BTN_LVL3.setVisible(true);
TXT_LVL3.setVisible(true);
BTN_LVL4.setVisible(false);
TXT_LVL4.setVisible(false);
}
else if (LEVEL === 3)
{
BTN_LVL4.setText(Tile_selected_PARENT_OBJ_ID_str);
TXT_LVL4.applyText(Tile_selected_PARENT_OBJ_DESC_str);
BTN_LVL4.setVisible(true);
TXT_LVL4.setVisible(true);
}
RefreshTiles()
This function is used for feeding Script Variables (arrays members) dedicated for Tiles
//clear filter on tbl_MASTER
tbl_MASTER.getDataSource().removeDimensionFilter("PARENT_FOLDER_ID");
tbl_MASTER.getDataSource().setDimensionFilter("PARENT_FOLDER_ID",Tile_selected_PARENT_OBJ_ID_str);
//get object ID and Description
var selections = tbl_MASTER.getDataSource().getDataSelections();
for (var i = 0; i < selections.length; i++) {
var member = tbl_MASTER.getDataSource().getResultMember("PARENT_FOLDER", selections[i]);
Tiles_PARENT_OBJ_ID_array.push(member.id);
Tiles_PARENT_OBJ_DESC_array.push(member.description);
}
//get file type
selections = tbl_MASTER.getDataSource().getDataSelections();
for (i = 0; i < selections.length; i++) {
member = tbl_MASTER.getDataSource().getResultMember("FILE_TYPE", selections[i]);
{
Tiles_OBJ_TYPE_DESC_array.push(member.description);
}
}
GlobalScripts_1.DefineTiles();
DefineTiles()
This function is used to reflect Script Variables (arrays members) on the Canvas objects depends on the Tiles Script Variables (arrays members)
for (var i=0; i<CANVAS_tiles_array.length; i++)
{
if (Tiles_PARENT_OBJ_DESC_array.length === 0)
{
CANVAS_tiles_array[i].setVisible(false);
}
else
{
CANVAS_tiles_array[i].setVisible(true);
CANVAS_txt_array[i].applyText(Tiles_PARENT_OBJ_DESC_array.shift());
CANVAS_btn_array[i].setText(Tiles_PARENT_OBJ_ID_array.shift());
Tile_selected_OBJ_TYPE_DESC_str = Tiles_OBJ_TYPE_DESC_array.shift();
CANVAS_txt_obj_type_array[i].applyText(Tile_selected_OBJ_TYPE_DESC_str);
if (Tile_selected_OBJ_TYPE_DESC_str === "Folder")
{
CANVAS_img_folder_array[i].setVisible(true);
CANVAS_img_story_array[i].setVisible(false);
CANVAS_img_model_array[i].setVisible(false);
CANVAS_img_url_array[i].setVisible(false);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Story")
{
CANVAS_img_folder_array[i].setVisible(false);
CANVAS_img_story_array[i].setVisible(true);
CANVAS_img_model_array[i].setVisible(false);
CANVAS_img_url_array[i].setVisible(false);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Model" || Tile_selected_OBJ_TYPE_DESC_str === "Dataset")
{
CANVAS_img_folder_array[i].setVisible(false);
CANVAS_img_story_array[i].setVisible(false);
CANVAS_img_model_array[i].setVisible(true);
CANVAS_img_url_array[i].setVisible(false);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Link" || Tile_selected_OBJ_TYPE_DESC_str === "Unknown")
{
CANVAS_img_folder_array[i].setVisible(false);
CANVAS_img_story_array[i].setVisible(false);
CANVAS_img_model_array[i].setVisible(false);
CANVAS_img_url_array[i].setVisible(true);
}
}
}
OpenObject()
This function is used to navigate over the repository depends on object type that user clicked (either open up Object URL or drill down to sub-folder)
Flow_Tile_Container.setVisible(false);
//Application.showBusyIndicator("loading");
//if it's an objects - open up in separate tab
if (Tile_selected_OBJ_TYPE_DESC_str === "Story")
{
var URLPrefix = "https://<HOST>:<PORT>/sap/fpa/ui/tenants/d27b0/bo/story/";
var URL_content = Tile_selected_PARENT_OBJ_ID_str;
var Sufix = "?mode=embed";
var URL = URLPrefix + URL_content + Sufix;
NavigationUtils.openUrl(URL);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Model")
{
URLPrefix = "https://<HOST>:<PORT>/sap/fpa/ui/tenants/d27b0#view_id=model;model_id=";
URL_content = Tile_selected_PARENT_OBJ_ID_str;
URL = URLPrefix + URL_content;
NavigationUtils.openUrl(URL);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Point of Interest")
{
//do nothing
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Dataset")
{
URLPrefix = "https://<HOST>:<PORT>/sap/fpa/ui/tenants/d27b0#view_id=ds-datasethome;datasetId=";
URL_content = Tile_selected_PARENT_OBJ_ID_str;
URL = URLPrefix + URL_content;
NavigationUtils.openUrl(URL);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Link")
{
//do nothing
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Unknown")
{
//do nothing
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "File")
{
URLPrefix = "https://<HOST>:<PORT>/sap/fpa/ui/tenants/d27b0/bo/story/";
URL_content = Tile_selected_PARENT_OBJ_ID_str;
Sufix = "?mode=embed";
URL = URLPrefix + URL_content + Sufix;
NavigationUtils.openUrl(URL);
}
else if (Tile_selected_OBJ_TYPE_DESC_str === "Folder")
{
GlobalScripts_1.RefreshTiles();
//increase level value (then it is driven by header levels)
LEVEL = LEVEL+1;
GlobalScripts_1.SetHeaders();
}
//Application.hideBusyIndicator();
Flow_Tile_Container.setVisible(true);
onInitialization()
//get user
AppUser = Application.getUserInfo().id;
SACUser.applyText(AppUser);
//sliding menu
slidein.setVisible(false);
slideout.setVisible(true);
slidein_header.setVisible(false);
slideout_header.setVisible(true);
// Get members from PARENT_FOLDER dimensions (already prefiltered in the table PARENT_ID = PUBLIC)
var selections = tbl_MASTER.getDataSource().getDataSelections();
for (var i = 0; i < selections.length; i++) {
var member = tbl_MASTER.getDataSource().getResultMember("PARENT_FOLDER", selections[i]);
Tiles_PARENT_OBJ_ID_array.push(member.id);
Tiles_PARENT_OBJ_DESC_array.push(member.description);
}
//get file type
selections = tbl_MASTER.getDataSource().getDataSelections();
for (i = 0; i < selections.length; i++) {
member = tbl_MASTER.getDataSource().getResultMember("FILE_TYPE", selections[i]);
{
Tiles_OBJ_TYPE_DESC_array.push(member.description);
}
}
//show results for both arrays in console
console.log(Tiles_PARENT_OBJ_DESC_array);
console.log(Tiles_PARENT_OBJ_ID_array);
console.log(Tiles_OBJ_TYPE_DESC_array);
//feed arrays dedicated for the objects in the CANVAS:
GlobalScripts_1.CANVAS_feed_arrays();
//define tiles:
GlobalScripts_1.DefineTiles();
//define navigation headers
GlobalScripts_1.SetHeaders();
onClick for each button (individually) underneath Flow_Tile_Container
BTN_1
Tile_selected_PARENT_OBJ_ID_str = BTN_1.getText(); //to be used as a filter value
Tile_selected_PARENT_OBJ_DESC_str = TXT_1.getPlainText(); //to be used for header levels
Tile_selected_OBJ_TYPE_DESC_str = TXT_OBJ_TYPE_1.getPlainText(); //to be used to determine object type
GlobalScripts_1.OpenObject();
BTN_2
Tile_selected_PARENT_OBJ_ID_str = BTN_2.getText(); //to be used as a filter value
Tile_selected_PARENT_OBJ_DESC_str = TXT_2.getPlainText(); //to be used for header levels
Tile_selected_OBJ_TYPE_DESC_str = TXT_OBJ_TYPE_2.getPlainText(); //to be used to determine object type
GlobalScripts_1.OpenObject();
etc.
onClick for each button (individually) underneath Flow_Header_Navigation
BTN_LVL1
LEVEL = 0;
Tile_selected_PARENT_OBJ_ID_str = "PUBLIC";
Tile_selected_PARENT_OBJ_DESC_str = "PUBLIC";
GlobalScripts_1.RefreshTiles();
GlobalScripts_1.SetHeaders();
BTN_LVL2
LEVEL = 1;
Tile_selected_PARENT_OBJ_ID_str = BTN_LVL2.getText(); //to be used as a filter value
Tile_selected_PARENT_OBJ_DESC_str = TXT_LVL2.getPlainText(); //to be used for header levels
GlobalScripts_1.RefreshTiles();
GlobalScripts_1.SetHeaders();
etc.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
9 | |
8 | |
7 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |