sap.m.Popoverをいくつかのコントロールの「リッチツールチップ」として使用しようとしています。これは、sap.ui.commonsライブラリが非推奨になったため、SAPの推奨によるものです。標準の文字列ツールチップに追加したいテキストが多すぎます。私はポップオーバーをツールチップとして直接使用する方法を考え出していないので、TooltipBaseコントロールをポップオーバーを処理するように拡張しました。ポップオーバーをツールチップとして使用するSAPUI5
私は、私は私のコントロールと対話するときしかし、私は次のエラーを取得する、細かい作業ポップオーバーを持っている:
Uncaught Error: failed to load 'myNewToolTip/controls/TooltipBaseRenderer.js' from ../controls/TooltipBaseRenderer.js: 404 - Not Found
私はTooltipBaseクラスは抽象クラスであるため、それがあることをこれらのthreadsから見ますしたがって、レンダラーはありません。しかし、私は既にポップオーバーを使用しているので、何もレンダリングする必要はありません。私はTooltipBaseRenderer.jsを追加しようとしましたが、ただ空のレンダリングクラスがあります。しかし、UI5はそれを本当に好きではありません。
私の質問は、私が何をしますか、私は2つのオプションが表示されます。
- ツールチップとしてポップオーバーを使用する簡単な方法は、おそらくあり、私は(に留めて把握するあまりにも愚かです私はXMLビューで直接バインドしたいと思っています)。
- レンダラーコールを抑制する方法を解説します。私はそれを必要としません。
これは、カスタムコントロールのための私の現在のソースコードです:
sap.ui.define([
"sap/m/Popover"
], function (Popover) {
"use strict";
return sap.ui.core.TooltipBase.extend("myNewToolTip.TooltipBase", {
metadata: {
properties: {
title : {}
},
events: {
"onmouseover" : {},
"onmouseout" : {}
}
},
oView: null,
setView: function(view) {
this.oView = view;
},
onmouseover : function(oEvent) {
var that = this;
if (!this.delayedCall){
this.delayedCall = setTimeout(function() {
if (!that.oPopover){
that._createQuickView();
}
}, 500);
}
},
onmouseout: function(oEvent) {
if (this.oPopover){
this.closePopover();
this.delayedCall = undefined;
}
else{
clearTimeout(this.delayedCall);
this.delayedCall = undefined;
}
},
_createQuickView: function() {
var sTitle = this.getTitle();
this.oPopover = new Popover({
title: sTitle
});
this.oPopover.openBy(this.getParent());
},
closePopover: function(){
this.oPopover.close();
this.oPopover = undefined;
}
});
});
提案していただきありがとうございます。できます。しかし、これをコンボボックスに追加してドロップダウンをクリックすると予期しない動作が発生します。 私の痛みを説明するこのリンクも見つかりました https://github.com/SAP/openui5/issues/1612 –
コンボボックスについては、popoverが既にマウスオーバーで動作しているので、別の質問をします。あなたのコードとスクリーンショットであなたの問題を完全に説明してください。私は見てみましょう。TooltipBaseについて:私は感情を理解していますが、私の経験では、Fioriの言い方では「もう* rich *ツールチップを使用しないでください」と述べています.-アクセシビリティ上の理由から(https://medium.com/salesforce-すべてのデザイナーが必要とするアクセシビリティ(64f105f0881b#8e05)と[発見不能](https://experience.sap.com/fiori-design-web/using-tooltips) /#応答性と適応性)。 – boghyon
@JakobMariusKjær(Popoverを使用しないで)TooltipBaseを拡張することを検討している場合は、この最小限の例を見てください:https://embed.plnkr.co/33zFqa/ – boghyon