問題
- ビジネスのニーズは、AlloyEditorツールバーのAlloyEditorハイパーリンクドロップダウンリストをカスタマイズする必要がある場合があります。
環境への配慮
- Liferay DXP 7.2
決議
リンク ドロップダウン リストに追加の設定を提供することができます。 最良の方法は、 buttonCfgを渡すEditorConfigContributorを作成することです。
buttonCfg: {
'linkEdit': {
allowedTargets: [
{
label: AlloyEditor.Strings.linkTargetDefault,
value: ''
}, {
label: AlloyEditor.Strings.linkTargetBlank,
value: '_blank'
}
]
}
これは AlloyEditorCreoleEditorConfigContributor.java. なので、最終的には、以下のコードを populateConfigJSONObject メソッドに追加するだけで、最もクリーンな解決策となります。
JSONArray allowedTargetsJSONObject = JSONUtil.putAll(
JSONUtil.put("label","_self (same tab)").put("value","_self"),
JSONUtil.put("label","_blank (new tab)").put("value","_blank")
);
JSONObject linkEditJSONObject = JSONUtil.put(
"allowedTargets", allowedTargetsJSONObject
);
JSONObject buttonCfgJSONObject = JSONUtil.put(
"linkEdit", linkEditJSONObject);
jsonObject.put(
"buttonCfg", buttonCfgJSONObject
);
新しい動作を示す小さなプラグインが添付されています。