HTML キャンバスページでの JavaScript コードの使用

HTML キャンバスは、JavaScript と完全に統合されていますが、HTML キャンバスが生成したコントロールは、カスタム JavaScript コードを作成して操作しないことをお勧めします。WebFOCUS は、この種のカスタム JavaScript コードをサポートしません。また、そのような JavaScript コードは、今後のバージョンでの動作保証はされません。

注意

  • HTML キャンバスのランタイムは、一連の JavaScript ファイルです。これらのファイル内の関数を直接呼び出すことは推奨しません。これらの関数を直接呼び出す場合、使用するコードが将来のリリースで機能しなくなる可能性があり、その件に関して ibiIBM は一切の責任を負いません。
  • ページが完全にロードされた後、レポートを実行する前に JavaScript を実行する場合は、onInitialUpdate 関数を作成し、使用するコードをその関数内に追加します (この関数は、以前のバージョンでは「onInitialUpdate()」と呼ばれていました)。その関数に別の関数が存在する場合は、IbComposer_onInitialUpdate() を呼び出すことができます。使用するコードは、HTML ファイルの次の行の後に埋め込む必要があります。
    //End function window_onload

    HTML キャンバスのランタイムは、onInitialUpdate() 関数を呼び出します (この関数が存在する場合)。

  • HTML コンポーザページ内で選択した RemoteValues 呼び出しの IBIMR_Random を削除する場合、HTML ファイルの埋め込み JavaScript または参照 js ファイルに、次の関数を直接追加します。
    function
    isUniqueRequestUser(controlId)
    {
    }

    リクエストを実行する前に、この関数が呼び出されます。コントロールに入力する場合は、このコントロールの ID がパラメータとして渡されます。

    戻り値は次のいずれかです。

    • true   IBIMR_Random がリクエストに追加されます。
    • false   IBIMR_Random はリクエストに追加されません。
    • varName=varValue 文字列   リクエストに追加される文字列です。

IbComposer_removeSelectOption 関数

IbComposer_removeSelectOption 関数は、リストボックス、ドロップダウンリスト、またはダブルリストコントロールの 'from' リストボックスから値を削除します。

リストボックスまたはドロップダウンリストの値を削除

IbComposer_removeSelectOption(controlID,arr[]);
controlID

文字

値の取得元となるコントロールの一意の識別子です。

arr[]

文字配列

単一値または複数値を記述した配列です。

注意:IbComposer_removeSelectOption メソッドが呼び出されると、2 つ目のパラメータ (arr[]) で指定された値が削除されます。

リストボックスからの値の削除

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   var readVals = [];
   readVals = IbComposer_getCurrentSelection('listbox1');
   IbComposer_removeSelectOption('combobox1',readVals);
}

IbComposer_runAnimation 関数

IbComposer_runAnimation 関数は、[タスクとアニメーション] パネルで定義されたアニメーションを実行します。

アニメーションの実行

IbComposer_runAnimation(name);
name

文字

[タスクとアニメーション] パネルで指定されたアニメーション名です。

アニメーションの実行

function submit1_onclick(event) {
   IbComposer_runAnimation('animation1');
}

IbComposer_triggerExecution 関数

IbComposer_triggerExecution 関数を使用して、[タスクとアニメーション] パネルの [タスク] セクションで定義された特定のタスクを実行することができます。

特定タスクの実行

IbComposer_triggerExecution(taskName,index [, paramName, paramValue]);

説明

taskName

文字

[タスクとアニメーション] パネルの [タスク] セクションで指定されたタスク名です。

index

数値

実行するタスクに割り当てられたアクションのインデックス値です。最初のアクションには、インデックス値「1」、2 番目のアクションにはインデックス値「2」というように割り当てられます。

paramName, paramValue

文字

オプションです。タスクの実行時に適用されるパラメータの名前およびパラメータ値です。複数の名前と値の組み合わせを使用して、複数のパラメータを指定することができます。

タスクの実行

次の例は、「task1」と呼ばれる最初のタスクを実行します。このタスクは、「submit1」と呼ばれるボタンをクリックすると実行されます。

function submit1_onclick(event) {
	IbComposer_triggerExecution('task1',1);
}

プロシジャからのタスクの実行

次の構文は、レポートプロシジャのスタイルシートセクションを示しています。これは、[Drill to InfoWindow] というメニュー項目から起動する JavaScript ドリルダウンを作成します。この場合、IbComposer_triggerExecution 関数を使用して、「task2」(インデックス値は「1」) と呼ばれるタスクを実行します。「&BUSINESS_SUB_REGION」パラメータ値に、レポートの先頭フィールド (N1) の選択値が設定されます。このレポートは、ページ上で「ib_frameName」と識別されるフレームにロードされ、「report1」という一意の識別子が付けられます。

TYPE=DATA,
     COLUMN=N1,
     DRILLMENUITEM='Drill to InfoWindow',
          JAVASCRIPT=parent.IbComposer_triggerExecution( ¥
     'task2' ¥
     '1' ¥
     'BUSINESS_SUB_REGION' ¥
     N1 ¥
     'ib_frameName' ¥
     'report1' ¥
     ),
          TARGET='_parent',
$

これにより、このレポートは、HTML ページに「report1」という名前のコンポーネントとして追加できるようになります。さらに、[タスクとアニメーション] パネルで、「task2」という名前のタスクを load タスクの直後に作成することができます。トリガタイプに [TBD] を使用して、レポート内のドリルダウンリンクをクリックした際に実行するようタスクを設定します。これにより、ドリルダウンリンクのクリック時に、選択したパラメータ値を使用して実行するリクエストを [リクエスト/アクション] セクションで指定することができるようになります。

IbComposer_getRequestRefProcedure 関数

IbComposer_getRequestRefProcedure 関数は、プロシジャを参照するリクエストの一意の識別子から、そのプロシジャの名前を返します。この関数は、以前は myXmlRoot ドキュメントで使用可能でした。

プロシジャ名の取得

IbComposer_getRequestRefProcedure(Drilldown);

説明

Drilldown

文字

リクエストの名前です。

プロシジャ名の取得

function button1_onclick(event) {
   IbComposer_getRequestRefProcedure('Drilldown');
}

IbComposer_getRequestTarget 関数

IbComposer_getRequestTarget 関数は、リクエストで使用されているターゲットフレームすべての名前を返します。この関数は、以前は myXmlRoot ドキュメントで使用可能でした。

ターゲットフレーム名の取得

IbComposer_getRequestTarget(Drilldown,bShow);

説明

Drilldown

文字

リクエストの名前です。

bShow

真偽値

True に設定して名前を表示し、False に設定して名前を非表示にすることが可能な演算子です。

ターゲットフレーム名の取得

function button1_onclick(event) {
   IbComposer_getRequestTarget('Drilldown','true');
}

IbComposer_getMapObject 関数

IbComposer_getMapObject 関数は、パラメータとして渡された、マップコンテナのマップオブジェクトを返します。取得されたオブジェクトは、別の API 関数のパラメータとして使用することができます。

マップオブジェクトの取得

IbComposer_getMapObject(mapId);

説明

mapId

文字

マップコンテナの一意の識別子です。

マップのマップオブジェクトの取得

function onInitialUpdate() {
   var map = IbComposer_getMapObject('mapcontrol1');
}

IbComposer_getMarkers 関数

IbComposer_getMarkers 関数は、マップの特定のレイヤのマーカー配列を返します。

マップのマーカー配列の取得

IbComposer_getMarkers(mapId,layerName);

説明

mapId

文字

マップコンテナの一意の識別子です。

layerName

文字

マーカー配列を返すレイヤの名前です。

マップのマーカー配列の取得

function  onInitialUpdate() {
   var map = IbComposer_getMapObject('mapcontrol1');
   var markers = IbComposer_getMarkers('mapcontrol1','Customers');
}

IbComposer_populateDynamicCtrl 関数

IbComposer_populateDynamicCtrl 関数を使用して、ターゲットコントロールに値を挿入する際の、値の取得元コントロールを指定することができます。

コントロールへの動的な値の挿入

IbComposer_populateDynamicCtrl(controlID,fromControlId);

説明

controlID

文字

値の取得元となるコントロールの一意の識別子です。

fromControlId

文字

複数のコントロールがターゲットコントロールに連鎖されている場合に、値の取得元となるコントロールの一意の識別子です。たとえば、listbox1 と listbox2 の両方が listbox3 に連鎖されている場合、デフォルト設定で、listbox3 の値は listbox1 に基づいて決定されます。listbox3 の値を listbox2 に基づいて決定されるよう指定するには、IbComposer_populateDynamicCtrl('listbox3','listbox2') を使用します。この識別子はオプションです。

コントロールへの動的な値の挿入

function button3_onclick(event) {
   var acc = IbComposer_populateDynamicCtrl('listbox3','listbox2');
   acc.selectNextPage();
}

IbComposer_getComponentById 関数

IbComposer_getComponentById 関数は、コンポーネント ID を使用してコンポーネントを取得します。

コンポーネント ID によるコンポーネントの取得

IbComposer_getComponentById(controlID);

説明

controlID

文字

値の取得元となるコントロールの一意の識別子です。

コンポーネント ID によるアコーディオンレポートの取得

function button3_onclick(event) {
   var acc = IbComposer_getComponentById('accordion1');
   acc.selectNextPage();
}

IbComposer_getCurrentSelection 関数

IbComposer_getCurrentSelection 関数は、コントロールから現在の選択値を取得します。

現在選択されているコントロールの値の取得

IbComposer_getCurrentSelection(controlID,[layer],[bDateObj]);

説明

controlID

文字

値の取得元となるコントロールの一意の識別子です。

layer

整数

マルチソースツリーコントロールが使用されている場合に、マルチソースツリーコントロール内のレイヤ番号を指定するためのオプションのパラメータです。レイヤ番号は、最初のレイヤの 1 から始まります。

bDateObj

真偽値

True に設定して日付オブジェクトを返し、False に設定して文字列を返すよう設定可能なオプションの演算子です。この演算子の値を指定しない場合、文字列が返されます。

現在選択されているドロップダウンリストの値の取得

function button1_onclick(event) {
   var values = IbComposer_getCurrentSelection('combobox1');
   for(var i = 0; i < values.length; i++)
   alert(values[i]);
}

IbComposer_getCurrentSelectionEx 関数

IbComposer_getCurrentSelectionEx 関数は、コントロールで現在選択されている実際の値および表示値を取得します。この関数を使用して、リストボックス、ドロップダウンリスト、ダブルリストのインデックス値を取得することもできます。

コントロールからの現在選択値、実際値、表示値の取得

IbComposer_getCurrentSelectionEx(controlID,[layer]);

説明

controlID

文字

値の取得元となるコントロールの一意の識別子です。

layer

整数

マルチソースツリーコントロールが使用されている場合に、マルチソースツリーコントロール内のレイヤ番号を指定するためのオプションのパラメータです。レイヤ番号は、最初のレイヤの 0 から始まります。

リストボックスの現在選択値、実際値、表示値の取得

function button1_onclick(event) {
   var values = IbComposer_getCurrentSelectionEx('combobox1');
   for(var i = 0; i < values.length; i++)
{
   alert("Index Value: " + values[i].getIndex() + "¥n" +
   "Actual Value: " + values[i].getValue() + "¥n" +
   "Display Value: " + values[i].getDisplayValue());
}

IbComposer_getClickedRow 関数

IbComposer_getClickedRow 関数は、HTML テーブルでクリックされた現在行を取得します。

HTML テーブルでクリックされた行の取得

IbComposer_getClickedRow(clickEventTarget);

説明

clickEventTarget

文字

クリックされた行のイベントを表す名前です。

HTML テーブルでクリックされた行の取得

function IbComposer_getClickedRow(clickEventTarget) {
    return getCurrentClickedRow(clickEventTarget);
}

IbComposer_getClickedColumn 関数

IbComposer_getClickedColumn 関数は、HTML テーブルでクリックされた現在列を取得します。

HTML テーブルでクリックされた列の取得

IbComposer_getClickedColumn(clickEventTarget);

説明

clickEventTarget

文字

クリックされた列のイベントを表す名前です。

HTML テーブルでクリックされた列の取得

function IbComposer_getClickedColumn(clickEventTarget) {
    return getCurrentClickedColumn(clickEventTarget);
}

IbComposer_getClickedCellValue 関数

IbComposer_getClickedCellValue 関数は、HTML テーブルでクリックされた現在セル値を取得します。

HTML テーブルでクリックされたセル値の取得

IbComposer_getClickedCellValue(clickEventTarget);

説明

clickEventTarget

文字

クリックされたセルのイベントを表す名前です。

HTML テーブルでクリックされたセル値の取得

function IbComposer_getClickedCellValue(clickEventTarget) {
    return getClickedCellValue(clickEventTarget);
}

IbComposer_setCurrentSelection 関数

IbComposer_setCurrentSelection 関数は、コントロールパラメータの現在の選択値を設定します。

コントロールの現在選択値の設定

IbComposer_setCurrentSelection(controlID,arrValues,bUpdateDependencies);

説明

controlID

文字

値を設定するコントロールの一意の識別子です。

arrValues

配列

設定する値の配列です。

bUpdateDependencies

真偽値

True に設定して連鎖コントロールおよびトリガイベントを更新することが可能な演算子です。デフォルト値は false です。

リストボックスの現在選択値の設定

次の例は、「listbox1」という複数選択リストボックスから、「ITALY」および「JAPAN」の値を選択します。

function button1_onclick(event) {
   var arr = [];
   arr.push('ITALY');
   arr.push('JAPAN');
   IbComposer_setCurrentSelection('listbox1',arr,'false');
}

IbComposer_execute 関数

IbComposer_execute 関数は、レポートまたはグラフを実行します。

レポートまたはグラフの実行

IbComposer_execute(reportID,[outputTarget]);

説明

reportID

文字

実行するレポートまたはグラフの一意の識別子です。

outputTarget

文字

出力のターゲットを設定するオプションのパラメータです。次のいずれかです。

  • フレーム名
  • '_blank'
  • '_target'
  • 新規ウィンドウ名

新しいウィンドウでのレポートの実行

function button3_onclick(event) {
   IbComposer_execute('report1','newwin');
}

IbComposer_isSelected 関数

IbComposer_isSelected 関数は、コントロールまたは値が選択されているかどうかを特定します。

コントロールまたは値の選択の有無の特定

IbComposer_isSelected(controlID,[testValue]);

説明

controlID

文字

テストするコントロールの一意の識別子です。

testValue

文字

コントロールのテスト対象とするパラメータです (オプション)。

チェックボックスの選択の有無の特定

function checkbox1_onclick(event) {
   var curValue = IbComposer_isSelected('checkbox1');	
   IbComposer_showHtmlElement('form1',curValue);
}

IbComposer_showHtmlElement 関数

IbComposer_showHtmlElement 関数は、HTML 要素を表示または非表示にします。

HTML 要素の表示または非表示

IbComposer_showHtmlElement(elementID,bShow);

説明

elementID

文字

表示または非表示にする要素の一意の識別子です。

bShow

真偽値

True に設定して要素を表示し、False に設定して要素を非表示にすることが可能な演算子です。

チェックボックスの表示と非表示の切り替え

function checkbox1_onclick(event) {
   var curValue = IbComposer_isSelected('checkbox1');
   IbComposer_showHtmlElement('form1',curValue);
}

IbComposer_enableHtmlElement 関数

IbComposer_enableHtmlElement 関数は、HTML 要素を有効または無効にします。

HTML 要素の有効化または無効化

IbComposer_enableHtmlElement(elementID,bEnable);

説明

elementID

文字

有効または無効にする要素の一意の識別子です。

bEnable

真偽値

True に設定して要素を有効にし、False に設定して要素を無効にすることが可能な演算子です。

要素の有効化または無効化

function checkbox2_onclick(event) {
   IbComposer_enableHtmlElement('listbox1', IbComposer_isSelected('checkbox2','country'));
   IbComposer_enableHtmlElement('combobox1', IbComposer_isSelected('checkbox2','car'));
   IbComposer_enableHtmlElement('listbox2', IbComposer_isSelected('checkbox2','model'));
   IbComposer_enableHtmlElement('combobox2', IbComposer_isSelected('checkbox2','dcost'));
}

IbComposer_ResetDownChainControls 関数

IbComposer_ResetDownChainControls 関数は、連鎖内の現在のコントロール以降のコントロールをリセットして、それぞれのコントロールが正しい値を持つようにします。

連鎖コントロールのリセット

IbComposer_ResetDownChainControls(ctrl);

説明

ctrl

文字

最初のコントロールの一意の識別子です。

リストボックス以降の連鎖のリセット

function button4_onclick(event) {
   var arr = [];arr.push('ENGLAND');
   IbComposer_setCurrentSelection('listbox1',arr,'false');
   IbComposer_ResetDownChainControls('listbox1');
}

IbComposer_selectTab 関数

IbComposer_selectTab 関数は、tabNumberToSelect で指定されたタブを選択し、そのタブをアクティブタブにします。

タブの選択とアクティブ化

IbComposer_selectTab(tabControlID,tabNumberToSelect);

説明

tabControlID

文字

アクティブにするタブコントロールの一意の識別子です。

tabNumberToSelect

整数

アクティブにするタブの番号です。

タブのアクティブ化

<FORM id=form1 onsubmit="OnExecute(this);
   IbComposer_selectTab('tab1',1) name="form1">

IbComposer_selectTemplateTab 関数

IbComposer_selectTemplateTab 関数は、テンプレートページの特定のタブを選択し、そのタブをアクティブタブにします。

テンプレートタブの選択および選択済みタブのアクティブ化

IbComposer_selectTemplateTab(tabId);

説明

tabId

文字

アクティブにするタブコントロールの一意の識別子です。

テンプレートタブのアクティブ化

function submit1_onclick(event) {
   IbComposer_selectTemplateTab('tab5');
}

IbComposer_goToPageOfMultiPageControl 関数

IbComposer_goToPageOfMultiPageControl 関数は、複数ページコントロール (例、タブ、アコーディオン、ウィンドウ) の特定のページを選択します。

複数ページコントロールのページの選択

IbComposer_goToPageOfMultiPageControl(controlID, page)

説明

controlID

文字

値の取得元となるコントロールの一意の識別子です。

page

文字

ページ番号 (例、1、2) を指定するか、True に設定して前ページ、False に設定して次ページを指定します。

複数ページコントロールのページの選択

次の例は、[ウィンドウ] 複数ページコントロールの特定のページを選択する方法を示しています。この例では、このコントロールは 3 ページ目から開始されます。

function button2_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
IbComposer_goToPageOfMultiPageControl('windowPanel1', '3');
}

次の例は、ウィンドウ複数ページコントロールの前ページを選択する方法を示しています。

function button2_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
IbComposer_goToPageOfMultiPageControl('windowPanel1', 'true');
}

次の例は、ウィンドウ複数ページコントロールの次ページを選択する方法を示しています。

function button2_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
IbComposer_goToPageOfMultiPageControl('windowPanel1', 'false');
}

IbComposer_getAllAmpersValues 関数

IbComposer_getAllAmpersValues 関数は、ページレイアウト上のすべてのコントロールから、現在選択されている値を取得します。次に、これらの値を連結し、URL 呼び出しの末尾に追加可能な文字列にします。たとえば、REGION コントロールで、[MidEast]、[NorthEast]、[NorthWest] という複数の値が選択されている場合を想定します。これらの選択値は、次のように連結されます。

&REGION=%27MidEast%27%20OR%20%27NorthEast%27%20OR%20%27NorthWest%27

この関数を、BI Portal で作成したポータルとともに使用することができます。その場合、生成された文字列が、レポートやグラフを実行するポータル呼び出しのすべてに追加されます。これにより、実行時に新しいポータルコンポーネントを追加したり、既存のポータルコンポーネントを削除したりした場合でも、パラメータ値がすべてのポータルコンポーネントに反映されます。

すべてのパラメータ値の取得

IbComposer_getAllAmpersValues([verifySelection]);

説明

verifySelection

真偽値

オプションのパラメータです。このパラメータが true で、コントロールの [選択 (必須)] プロパティが [はい] に設定されている場合、この関数は、値が選択されていないパラメータコントロールに対してブランクの文字列を返します。

注意:すべてのコントロールに [選択 (必須)] プロパティがあります。このプロパティは、デフォルト設定で [はい] に指定されています。実行時にコントロールの有効な値が選択されなかった場合、コントロールが赤色のボックスで囲まれ、次のステータスバーメッセージが表示されます。

Please make required selections

レポートで選択済みのすべてのパラメータのリスト取得

function button1_onclick(event) {
   var val = IbComposer_getAllAmpersValues();
   alert(val);
   OnExecute(event);
}

IbComposer_showLayer 関数

IbComposer_showLayer 関数は、指定したレイヤの表示と非表示を切り替えます。

レイヤの表示と非表示の切り替え

IbComposer_showLayer(layerName,bShow);

説明

layerName

文字

表示と非表示を切り替えるレイヤの名前です。

bShow

True に設定してレイヤを表示し、False に設定してレイヤを非表示にすることが可能な演算子です。

レイヤの表示と非表示の切り替え

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_showLayer('Customers','true');
}

IbComposer_toggleMapLayer 関数

IbComposer_toggleMapLayer 関数は、指定したレイヤの表示と非表示を切り替えます。

マップレイヤの表示と非表示の切り替え

IbComposer_toggleMapLayer(mapId,layerName);

説明

mapId

文字

マップコントロールの一意の識別子です。

layerName

文字

マップ内のレイヤの一意の識別子です。

マップレイヤの表示と非表示の切り替え

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_toggleMapLayer('mapcontrol1','Customers');
}

IbComposer_toggleMapMarker 関数

IbComposer_toggleMapMarker 関数は、指定したマーカーの表示と非表示を切り替えます。

マップマーカーの表示と非表示の切り替え

IbComposer_toggleMapMarker(mapId,layerName,markerName);

説明

mapId

文字

マップコントロールの一意の識別子です。

layerName

文字

マップ内のレイヤの一意の識別子です。

markerName

文字

マップ内のマーカーの一意の識別子です。

マップマーカーの表示と非表示の切り替え

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_toggleMapMarker('mapcontrol1','Stores','EMart');
}

IbComposer_refreshMapLayer 関数

IbComposer_refreshMapLayer 関数は、指定したレイヤをデータベースの情報で更新します。

マップレイヤの更新

IbComposer_refreshMapLayer(mapId,layerName);

説明

mapId

文字

マップコントロールの一意の識別子です。

layerName

文字

マップ内のレイヤの一意の識別子です。

レイヤの更新

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target : 
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_refreshMapLayer('mapcontrol1','Customers');    
}

IbComposer_panToAddress 関数

IbComposer_panToAddress 関数を使用すると、住所およびズームレベルを指定して地図上の特定の地点に移動することができます。

住所への地図の移動

IbComposer_panToAddress(address,mapId,zoom);

説明

address

文字

移動先の住所です。

mapId

文字

マップコントロールの一意の識別子です。

zoom

整数

ズームレベルです。

住所への地図の移動

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_panToAddress('2 Penn Plaza,NY,NY','mapcontrol1',10);
}

IbComposer_panToPoint 関数

ibComposer_panToPoint 関数を使用すると、座標およびズームレベルを指定して地図上の特定の地点に移動することができます。

地点への地図の移動

IbComposer_panToPoint(lat,long,mapId,zoom);

説明

lat

整数

移動先地点の緯度の座標です。

long

整数

移動先地点の経度の座標です。

mapId

文字

マップコントロールの一意の識別子です。

zoom

整数

ズームレベルです。

地点への地図の移動

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_panToPoint(37.0625,-95.677068,'mapcontrol1',5); 
}

IbComposer_preventModifyIFrameDocument 関数

IbComposer_preventModifyIFrameDocument 関数は、onInitialUpdate からこの関数を呼び出すことで、ドキュメント内のあらゆる iframe の CSS 変更を防止することができます。

ドキュメント内の iframe 変更の防止

function onInitialUpdate() {
   IbComposer_preventIFrameUpdates();}

IbComposer_showAllMapMarkers 関数

IbComposer_showAllMapMarkers 関数は、指定したレイヤのマーカーをすべて表示します。

すべてのマップマーカーの表示

IbComposer_showAllMapMarkers(mapId,layerName);

説明

mapId

文字

マップコントロールの一意の識別子です。

layerName

文字

マップ内のレイヤの一意の識別子です。

すべてのマップマーカーの表示

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_showAllMapMarkers('mapcontrol1','Customers');  
}

IbComposer_drawBullseye 関数

IbComposer_drawBullseye 関数は、地図上の特定の地点に同心円グラフを描画します。この関数には、オプションのパラメータがあります。これらのパラメータで、マーカーを表示するかどうかを選択したり、同心円グラフに使用する単位、リング数、リングサイズ、リング色を指定したりします。

同心円グラフの描画

IbComposer_drawBullseye(mapId,lat,long,selectmarkers,units,
rings,[list-of-sizes],[list-of-colors]);

説明

mapId

文字

マップコントロールの一意の識別子です。

lat

整数

移動先地点の緯度の座標です。

long

整数

移動先地点の経度の座標です。

selectmarkers

真偽値

同心円グラフ内のすべてのマーカーを選択する演算子です (true に設定した場合)。

units

文字

同心円グラフのリングのサイズを表す単位です。

rings

整数

同心円グラフに使用するリング数です。

list-of-sizes

整数

オプションのパラメータです。同心円グラフの各リングのサイズをカンマ (,) 区切りのリストで指定します。たとえば、「1, 3, 5」と指定します。

list-of-colors

文字

オプションのパラメータです。同心円グラフの各リングの色をカンマ (,) 区切りのリストで指定します。色は、RGB 値または 16 進数値で指定します。たとえば、「Blue」または「#FFFF」と指定します。

同心円グラフの描画

function button1_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target :
   eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_drawBullseye('mapcontrol1',37.0625,-95.677068,'true','mi',3);
}

IbComposer_setCalendarDatesRange 関数

IbComposer_setCalendarDatesRange 関数は、ソースカレンダーの日付と、日数の範囲から、ターゲットカレンダーの範囲を設定します。

ターゲットカレンダーの日付範囲の設定

IbComposer_setCalendarDatesRange(elementId, fromDate, toDate)

説明

elementID

文字

日付範囲を設定するターゲットカレンダーコントロールの一意の識別子です。

fromDate

日付オブジェクト

ソースカレンダーの日付値です。

注意:この値は、IbComposer_getCurrentSelection 関数を使用して取得することができます。この関数の 3 つ目のパラメータを True に設定して、日付オブジェクトを返す必要があります。

toDate

日付オブジェクト

この値は、範囲を表示するために必要な fromDate 値と日数から計算する必要があります。

ターゲットカレンダーの日付範囲の設定

function button1_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
     var curDate = IbComposer_getCurrentSelection('calendar1', 0, true);
       var fromDate= new Date(curDate);
       var toDate = new Date();
       var nOfDays= IbComposer_getCurrentSelection('slider1');
       if (isNaN (nOfDays-0)&& nOfDays != null) {
            alert("Please enter a numeric value!!");
       }
       else {
           var time = fromDate.getTime()+(nOfDays*3600000 * 24);
           toDate.setTime(time);
           IbComposer_setCalendarDatesRange("calendar2", fromDate, 
           toDate);
       }
}

IbComposer_loadNextGroup 関数

IbComposer_loadNextGroup 関数を使用して、テーブル内の次のグループをロードすることができます。

テーブル内の次のグループのロード

IbComposer_loadNextGroup("tableId", groupObject, updateDependencies);

説明

tableId

文字

前のグループをロードするテーブルの一意の識別子です。

groupObject

オブジェクトです。

テーブルで表示されるグループを表すオブジェクトです。

updateDependencies

真偽値

true の場合、テーブルに連鎖済みのコントロールが、IbComposer_loadNextGroup 関数の実行時に更新されます。false の場合、更新されません。

テーブル内の次のグループのロード

次の例では、一意の識別子「next」で識別されるボタンをクリックすると、IbComposer_loadNextGroup 関数を使用して、「tablectrl1」というテーブルの次のグループがロードされます。「prev」というボタンは、IbComposer_loadPrevGroup 関数を実行しますが、最初に IbComposer_loadNextGroup 関数を実行するまで有効になりません。つまり、表示する前のグループが存在する場合のみ使用可能になります。「next」ボタンは、テーブルの最後のグループが表示された場合は使用できません。

正しく実行するためには、「numOfRows」という変数を使用して、表示されるグループの長さを 3 行に設定します。

var numOfRows=3;

function tablectrl1_onbeforeload(ctrl,arrValuesToLoad) {
 if(IbComposer_isCompleteReloading("tablectrl1") && arrValuesToLoad.length>numOfRows)	
{	
IbComposer_enableHtmlElement("prev",false);	
IbComposer_enableHtmlElement("next",true);
		return numOfRows;
	}
return false;
}

function next_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
var groupObj = {};
IbComposer_loadNextGroup("tablectrl1", groupObj, false);
IbComposer_enableHtmlElement("prev",true);
if(groupObj.end== groupObj.total)
	IbComposer_enableHtmlElement("next",false);

}

IbComposer_loadPrevGroup 関数

IbComposer_loadPrevGroup 関数を使用して、テーブル内の前のグループをロードすることができます。

テーブル内の前のグループのロード

IbComposer_loadPrevGroup("tableId", groupObject, updateDependencies);

説明

tableId

文字

前のグループをロードするテーブルの一意の識別子です。

groupObject

オブジェクトです。

テーブルで表示されるグループを表すオブジェクトです。

updateDependencies

真偽値

true の場合、テーブルに連鎖済みのコントロールが、IbComposer_loadPrevGroup 関数の実行時に更新されます。false の場合、更新されません。

テーブル内の前のグループのロード

次の例では、一意の識別子「prev」で識別されるボタンをクリックすると、IbComposer_loadPrevGroup 関数を使用して、「tablectrl1」というテーブルの前のグループがロードされます。テーブル内の最初のグループが表示されている場合は、「prev」ボタンは使用できません。つまり、表示する前のグループが存在する場合のみ使用可能になります。有効化するには、IbComposer_loadNextGroup 関数を実行する「next」というボタンをクリックする必要があります。

正しく実行するためには、「numOfRows」という変数を使用して、表示されるグループの長さを 3 行に設定します。

var numOfRows=3;

function tablectrl1_onbeforeload(ctrl,arrValuesToLoad) {
 if(IbComposer_isCompleteReloading("tablectrl1") && arrValuesToLoad.length>numOfRows)	
{	
IbComposer_enableHtmlElement("prev",false);	
IbComposer_enableHtmlElement("next",true);
		return numOfRows;
	}
return false;
}

function prev_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
var groupObj = {};
IbComposer_loadPrevGroup("tablectrl1", groupObj, false);
IbComposer_enableHtmlElement("next",true);
if(groupObj.begin== 1)
	IbComposer_enableHtmlElement("prev",false);    

}

IbComposer_isCompleteReloading 関数

IbComposer_isCompleteReloading 関数は、要素の再ロードが完了したかどうかを確認するために使用されます。この関数は、要素が再ロードされた場合は true、再ロードされていない場合は false を返します。

要素の再ロード完了の確認

IbComposer_isCompleteReloading("elementId");

説明

elementId

文字

再ロード状況を確認する要素の一意の識別子です。

要素の再ロード完了の確認

次の例では、一意の識別子「button1」で識別されるボタンをクリックすると、「tablectrl1」というテーブルの再ロードが完了したかどうかを示すメッセージが表示されます。

function button1_onclick(event) {
var eventObject = event ? event : window.event;
var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
// TODO:Add your event handler code here
alert(IbComposer_isCompleteReloading("tablectrl1"))

}

IbComposer_resetInputControl 関数

IbComposer_resetInputControl 関数を使用して、コントロールを元の状態にリセットすることができます。この関数は、入力コントロールの [ロードプロシジャ] プロパティを、オンデマンドで初期状態の「非表示」に戻します。

入力コントロールのロードプロシジャをオンデマンドで初期状態の「非表示」にリセット

IbComposer_resetInputControl(controlId, bUpdateDependencies)

説明

controlId

入力コントロールボタンの名前です。

bUpdateDependencies

真偽値の true または false を指定します。true に設定すると、すべての連鎖コントロールが更新されます。

注意:bUpdateDependencies は、オプションの変数です。

入力コントロールを元の状態にリセット

次の例は、checkbox1 ボタンに関連付けられた入力コントロールを、元の状態にリセットします。

function button4_onclick(event) {
   var eventObject = event ? event : window.event;
   var ctrl = eventObject.target ? eventObject.target : eventObject.srcElement;
   // TODO:Add your event handler code here
   IbComposer_resetInputControl("checkbox1", true);
} 

getImageScale 関数

HTML ページにイメージマーカーを使用する ESRI マップを作成する場合、getImageScale 関数を使用して、マップをズームインまたはズームアウトした際に、イメージを拡大、縮小できるようにすることができます。これにより、マップをズームアウトした際に、イメージマーカーが過度に重なり合わないようにしてマップの可読性を高めるとともに、ズームインした際のイメージの適切なサイズを維持することが可能になります。また、イメージの最大および最小サイズを設定することで、マップに含まれるマーカーの数に関わらず、イメージがマップに適切に収まるようにすることができます。

getImageScale 関数にはイベントが必要なく、埋め込み JavaScript に直接追加することができます。

マップズームレベルによるイメージサイズ変更の構成

function getImageScale(layerName, scaleObj)
{     
	scaleObj.scale=boolean;
	scaleObj.minSz=minSize;
	scaleObj.maxSz=maxSize; 
}

説明

layerName

設定不要の静的な値です。イメージマーカーを使用するすべてのマップレイヤは、getImageScale 関数の影響を受けます。

scaleObj

この名前 (例、scaleObj) は、scale、minSz、maxSz プロパティのオブジェクト名と一致させる必要があります。

boolean

真偽値

イメージのサイズ変更を有効にする場合は true、無効にする場合は false に設定します。

minSize

整数

イメージの最小の高さをピクセル単位で指定します。最小サイズは、マップから完全にズームアウトした際に使用されます。この値は、[設定] パネルで設定されたイメージマーカーのサイズを上書きしますが、高さと幅の比率は保持されます。

maxSize

整数

イメージの最大の高さをピクセル単位で指定します。最大サイズは、マップから完全にズームインした際に使用されます。この値は、[設定] パネルで設定されたイメージマーカーのサイズを上書きしますが、高さと幅の比率は保持されます。

マップズームレベルでのイメージサイズ変更の構成

次の例では、マップのイメージマーカーの最小サイズはすべて 15 ピクセル、最大サイズは 60 ピクセルに設定されています。HTML ページを実行すると、ズームインした場合にマーカーの高さが最大 60 ピクセルに拡大され、ズームアウトした場合に 15 ピクセルまでに縮小されます。

function getImageScale(layerName, scaleObj)
{     
	scaleObj.scale=true;
	scaleObj.minSz=15;
	scaleObj.maxSz=60; 
		}

イベントハンドラ

onclick などの標準的なイベントハンドラに加えて、コントロールのロードの前後にアクションを実行する 2 つのイベントハンドラがあります。

  • onbeforeload   コントロールのロード前に、値で指定するアクションを実行します。
  • onafterload   コントロールのロード後に、値で指定するアクションを実行します。

コントロールロード前の表示値の変更

次の例では、onbeforeload イベントを使用して、値「DATSUN」の表示値を「Modified」に変更します。

//Begin function listbox1_onbeforeload
function listbox1_onbeforeload(ctrl,arrValuesToLoad) { 
for(var i = 0; i < arrValuesToLoad.length; i++) { 
    //alert(arrValuesToLoad[i].dispValue + "  " + arrValuesToLoad[i].value + "  " + arrValuesToLoad[i].selected);
    if (arrValuesToLoad[i].value == 'DATSUN') 
{         arrValuesToLoad[i].dispValue = 'Modified';     } 
    }
}
//End function listbox1_onbeforeload

値のロード後にコントロールから別コントロールに値をコピー

次の例では、onafterload イベントハンドラを使用して、コントロールから別のコントロールに値をコピーします。

//Begin function listbox1_onafterload
function listbox1_onafterload(ctrl) 
{      IbComposer_getComponentById("listbox2").innerHTML = IbComposer_getComponentById("listbox1").innerHTML } 
//End function listbox1_onafterload

注意:コントロールに 101 個以上の値が存在する場合、WebFOCUS App Studio で一度にロード可能な値は 100 個までに制限され、すべての値がロードされるまで、処理が繰り返されます。JavaScript を次のように変更する必要があります。

function listbox1_onafterload(ctrl) 
{ if (arguments && arguments.length==2 && arguments[1])
IbComposer_getComponentById("listbox2").innerHTML = IbComposer_getComponentById("listbox1").innerHTML
}

この JavaScriptは、100 個の項目がリストボックスのドロップダウンコントロールに追加されるたびに、段階的に呼び出されます。追加のパラメータ (true/false argument[1]) が送信されます。100 個の項目の段階的ロードのそれぞれで false が設定され、最終コールの時点で true が設定されます。