機械翻訳について

カスタム・コンテンツ・フォームのフィールド・オブジェクト

item.getFields()は、Fieldオブジェクトの配列を返します。 フィールド・オブジェクトにはフィールド・データが保持されます。

メソッド パラメータ 必須 戻り値 使用方法
field.getDefinition()

なし

該当なし

フィールド定義を返します。
{
    "id": "<id>",
    "name": "<name>",
    "description": "<description>",
    "datatype": "<datatype>",
    "required": true|false,
    "valuecount": "single|list",
    "properties": {
      "caas-translation":  {
"inheritFromMaster": false,
"note": "",
"translate": true
}
    },
    "settings": {
        // field settings
    }
....
}

設定プロパティには、フィールドに設定されているフィールド設定が保持されます。 詳細は、「フィールド設定」を参照してください。

var fieldDefn = field.getDefinition();
field.getValue()

なし

該当なし

フィールド値を返します。 詳細は、「フィールドのタイプと値」を参照してください。

var fieldValue = field.getValue();
field.getValueAt(index)

index

負以外の数値

はい

指定された索引のフィールド置を返します。 複数値フィールドでのみ機能します。
var value = field.getValueAt(2);
field.validate(value, options)

value - フィールドの値

options - オプション

はい 指定されたフィールド値を検証し、約束を返します。 履行すると検証オブジェクトが返されます。
// when valid
{
  isValid: true,
}
 
// when invalid
{
  isValid: false,
  errorMessageSummary: <error message>
  errorMessageDetail: <detail error message>
};
field.validate(fieldValue).then(function (validation) {
  if (validation && validation.isValid) {
    // handle valid field value
  } else {
    //display field validation error
  }
}).catch(function (error) {
  // handle error
});
field.setValue(value, options)

value - 「フィールドの型と値」の項を参照

options - {silent: true|false}を持つオブジェクト

いいえ

options - オプション

フィールドに指定された値を設定します。 silent: trueプロパティが指定されたoptionsが渡された場合、フォームは使用済になりません。

field.setValue(fieldValue);
field.setValue(fieldValue, {silent: true});
field.setValueAt(index, value, options)

index - 負ではない数値

options - {silent: true|false}を持つオブジェクト

index - はい

options - オプション

フィールドの指定された索引に指定された値を設定します。 複数値フィールドでのみ機能します。 silent: trueプロパティが指定されたoptionsが渡された場合、フォームは使用済になりません。

field.setValueAt(1, fieldValue);
field.setValueAt(1, fieldValue, {silent: true});
field.removeValueAt(index, options)

index - 負ではない数値

options - {silent: true|false}を持つオブジェクト

index - はい

options - オプション

指定された索引の値を削除します。 複数値フィールドでのみ機能します。 silent: trueプロパティが指定されたoptionsが渡された場合、フォームは使用済になりません。

field.removeValueAt(1);
field.removeValueAt(1, {silent: true});
field.openAssetPicker(options)

options - アセット・ピッカーに送信されるパラメータ。 「Oracle Content Management用の埋込みUI API V2」、JavaScript APIのmediaPickerおよびreferencePickerセクションのオプションを参照してください

options - オブジェクト

はい

アセット・ピッカーを開いて、約束を返します。 履行時に、選択したアセットのIDと名前、タイプを含むオブジェクトが返されます。
{
    id: <asset_id>,
    type: <asset_type>,
    name: <asset_name>
}
field.openAssetPicker().then(function (data) {
    var newValue = { id: data.id, type: data.type, name: data.name };
    field.setValue(newValue);
  }).catch(function (error) {
    // handle error
  });
field.on(event, handler)

event - 文字列

handler - イベントを処理する関数

はい

現在サポートされているのは、updateイベントのみです。

field.on('update', function(value){
  // called if the field changes in the UI
});
field.createCustomEditor(editorName, options)

editorName - カスタム・フィールド・エディタの名前

options - オブジェクト

index、widthおよびheightを指定できます。

index: フィールドが複数値で、エディタが特定のindexのフィールド値を表示する際に必要な場合、indexを渡すことができます。

widthおよびheight: このメソッドでは、CustomEditorオブジェクト、およびiframeでレンダリングされる指定されたカスタム・フィールド・エディタが返されます。 フィールド・エディタを含むiframeを特定の初期サイズにする必要がある場合、幅および高さのパラメータを渡すことができます。 ノート: カスタム・フィールド・エディタには独自の固定サイズを指定できます。 これらは、含まれているフレームのサイズを調整するようにトリガーすることもできます。

{
    index: <index>,
    width: <width>,
    height: <height>
}

editorName - はい

options - オプション

CustomEditorオブジェクトを返します
var fieldDefn = field.getDefinition(),
    isCustomEditor = fieldDefn.settings.caas.editor.hasOwnProperty('isCustom') ? fieldDefn.settings.caas.editor.hasOwnProperty('isCustom') : false;
if(isCustomEditor){
  var customFieldEditor = fieldDefn.settings.caas.editor.options.name;
  if(customFieldEditor){
    // create a dom element
    var container = document.createElement('div');
    document.body.appendChild(container);
    //create a custom editor for the field
    var customEditor = field.createCustomEditor(customFieldEditor);
    //add the custom editor's frame to the dom element
    container.appendChild(customEditor.getFrame());
    //listen to custom editor's change event
    customEditor.on('change', function (value) {
      //set the updated value to the field
      field.setValue(value);
    });
  }
}

フィールド・タイプおよび値

field.setValue()に渡される値パラメータ、またはfield.getValue()から取得される値は、フィールドのデータ型と値の数によって異なります。

データ型 値の数 サンプル値

text

single

list

文字列

文字列の配列

"my text"
["foo", "bar"]

largetext

single

list

文字列

文字列の配列

"this is large text"
[
  "this is large text1",
  "this is large text2"
]

reference

single

list

タイプ、IDおよび名前が指定されたオブジェクト

タイプ、IDおよび名前が指定されたオブジェクトの配列

{
  "id": "CONTCB9A907A21E14B73A678CF39CF14A0FC",
  "type": "DigitalAsset",
  "name": "bird.jpg"
}
[
  {
    "id": "CONT58729B8B480F45E891D584736AC44CBA",
    "type": "DigitalAsset",
    "name": "cheetah.jpg"
  },
  {
    "id": "CONT393EBEDA72C84822A4C66D08CF2E4DBC",
    "type": "DigitalAsset",
    "name": "tiger.jpg"
  }
]

number

single

整数

200

decimal

single

decimal

245.25

boolean

single

true|false

true

datetime

single

valueとtimezoneが指定されたオブジェクトで、valueは次の書式の日付文字列です

yyyy-MM-dd'T'HH:mm:ss.SSS+/-HH:mm

timezoneはタイムゾーン文字列です

{
  "value": "2020-08-21T03:20:00.000-04:00",
  "timezone": "America/New_York"
}

json

single

json文字列

{
  "name": "John",
  "age": 20,
  "gender": "Male"
}

フィールド設定

設定プロパティには、エディタ名を含むフィールドの設定や、フィールド固有のバリデータに関する情報が保持されます。 次に、複数選択のSelectBoxエディタが指定された複数値のテキスト・データ・タイプの設定プロパティのサンプル設定プロパティを示します。 フィールド定義で設定されたエディタ名は、settings.caas.editor.nameから取得できます。 フィールド・タイプに関連付けられている使用可能なエディタは、「フィールド・タイプと使用可能なエディタ」の下にリストされます。

"settings": {
  "groupIndex": 3,
  "caas": {
    "description": "Fruits list",
    "valuecountRange": {
      "min": 1,
      "max": 3
    },
    "customValidators": [],
    "editor": {
      "name": "multi-selectbox",
      "options": {
        "multiple": true,
        "valueOptions": [
          {
            "value": "apple",
            "label": "apple"
          },
          {
            "value": "banana",
            "label": "banana"
          },
          {
            "value": "orange",
            "label": "orange"
          }
        ]
      }
    }
  }
}

フィールド・タイプおよび使用可能なエディタ

データ型 単一 リスト
text

textbox

textarea

radiobuttonset

single-selectbox

single-selectbox-rest

textbox

textarea

checkboxset

multi-selectbox

multi-selectbox-rest

tagcloud

largetext

textarea

rich-text-editor

markdown-editor

textarea

rich-text-editor

markdown-editor

number

number-inc-dec

radiobuttonset

single-selectbox

該当なし

decimal

number-inc-dec

radiobuttonset

single-selectbox

該当なし

boolean

boolean-switch

boolean-checkbox

該当なし

datetime

datepicker

datetimepicker

datetimepickerz

該当なし

reference

mediapicker (メディアの場合)

itempicker

mediapicker (メディアの場合)

itempicker

json

json-form

json-textarea

該当なし