フォルダーモードへ移行する

RaySheetではフォルダーモードとオブジェクトモードという2つのビューの管理方法を提供しています。この2つのモードをディスプレイモードと呼びます。この設定がソースコードレベルで「どこでもView」の利用に影響します。具体的には以下について注意が必要です。

影響の受ける内容 詳細
gcss:Spreadsheetコンポーネントのデータ属性 オブジェクトモードの場合はObjectを指定する必要があります。フォルダーモードの場合はFolderIdを指定する必要があります。
showView フォルダーモードでは使用できません。フォルダーモードではshowFolderViewを使用する必要があります。
showFolderView オブジェクトモードでは使用できません。オブジェクトモードではshowViewを使用する必要があります。

ディスプレイモードはRaySheetバージョン8で実装された機能です。

RaySheetバージョン7以前から利用している組織では「ディスプレイモード」は「オブジェクトモード」で動作しています。「フォルダーモード」へ移行する場合は本ページにしたがって「どこでもView」を利用しているソースコードの修正が必要です。

RaySheetバージョン8から利用している組織では「ディスプレイモード」は既定で「フォルダーモード」で動作しています。既定のまま利用している組織は本ページの修正内容は不要です。

ソースコード以外の移行手順については「フォルダーモードへ移行する」もあわせて参照してください。

移行手順

フォルダーモードへ移行するには以下の作業が必要になります。

  1. 影響の受ける箇所を洗い出す。具体的にはgcss:SpreadsheetコンポーネントとshowView functionの使用箇所をすべて明らかにしてください。
  2. gcss:Spreadsheetコンポーネントの”Object”属性を”FolderId”属性に変更し、”ViewId”属性の値を変更する。修正例はこちらを参照してください。
  3. showView functionをshowFolderView functionに変更する。修正例はこちらを参照してください。

移行手順2で必要な”ViewId”属性の値については、オブジェクトモードとフォルダーモードのViewIdをマッピングした移行レポートを作成することもできます。詳しくは「フォルダーモードへ移行する」もあわせて参照してください。

gcss:Spreadsheetコンポーネントの修正例

“Object”属性”をFolderId”属性に変更する必要があります。それに加え、オブジェクトモードからフォルダーモードへの切り替えによりビューIDも変更されますので新たなIDを”ViewId”属性に指定する必要があります。

修正前

<apex:page showHeader="true" sidebar="false">
  <div style="position: absolute; left: 0; top: 0; right: 0; bottom: 0">
    <gcss:Spreadsheet
      ShowTitleBar="true"
      ShowToolbar="true"
      ShowFormulaBar="true"
      Object="account"
      ViewId="ここにオブジェクトモードでの18桁のビューIDが記述してあります"
    />
  </div>
</apex:page>

修正後

<apex:page showHeader="true" sidebar="false">
  <div style="position: absolute; left: 0; top: 0; right: 0; bottom: 0">
    <gcss:Spreadsheet
      ShowTitleBar="true"
      ShowToolbar="true"
      ShowFormulaBar="true"
      FolderId="ここに18桁のフォルダーIDを指定します"
      ViewId="ここにフォルダーモードでの新しい18桁のビューIDを記述します"
    />
  </div>
</apex:page>

showView functionの修正例

showView functionをshowFolderView functionに修正します。それに加え、オブジェクトのAPI名を指定していた箇所をフォルダーIDに修正する必要があります。

修正前

<script type="text/javascript">
  var showView = function (viewId) {
    gcbg.getRaySheet().showView("Contact", viewId);
  }
</script>   

修正後

<script type="text/javascript">
  var showView = function (viewId) {
    gcbg.getRaySheet().showFolderView("ここに18桁のフォルダーIDを指定します", viewId);
  }
</script>   
Copyright © 2024 MESCIUS inc. All rights reserved.