Araç ipucu yardımcı programları
Bu makale araç ipucu yardımcı programlarını yüklemenize, içeri aktarmanıza ve kullanmanıza yardımcı olur. Bu yardımcı program, Power BI görsellerindeki araç ipucu özelleştirmeleri için kullanışlıdır.
Önkoşullar
Paketi kullanmak için şunları yapmanız gerekir:
- Node.js (en son LTS sürümünü öneririz)
- npm (desteklenen en düşük sürüm 3.0.0'dır)
- Tarafından oluşturulan özel görsel
PowerBI-visuals-tools
Yükleme
Paketi yüklemek için geçerli görselinizle dizinde aşağıdaki komutu çalıştırmanız gerekir:
npm install powerbi-visuals-utils-tooltiputils --save
Bu komut paketi yükler ve dosyanıza package.json
bağımlılık olarak bir paket ekler.
Kullanım
Kullanım Kılavuzu, paketin genel API'sini açıklar. Paketin her ortak arabirimi için bir açıklama ve bazı örnekler bulacaksınız.
Bu paket, araç ipucu eylemlerini işlemeye yardımcı olmak için ve yöntemleri oluşturmanızı TooltipServiceWrapper
sağlar. Araç ipucu arabirimlerini kullanır: ITooltipServiceWrapper
, TooltipEventArgs
, TooltipEnabledDataPoint
.
Mobil geliştirmeyle ilgili belirli yöntemlere (dokunmatik olay işleyicileri) sahiptir: touchEndEventName
, , touchStartEventName
usePointerEvents
.
TooltipServiceWrapper
araç ipuçlarını işlemenin en basit yolunu sağlar.
Bu modül aşağıdaki arabirimi ve işlevi sağlar:
createTooltipServiceWrapper
Bu işlev bir örneği ITooltipServiceWrapper
oluşturur.
function createTooltipServiceWrapper(tooltipService: ITooltipService, rootElement: Element, handleTouchDelay?: number, getEventMethod?: () => MouseEvent): ITooltipServiceWrapper;
ITooltipService
, IVisualHost'ta kullanılabilir.
Örnek:
import { createTooltipServiceWrapper } from "powerbi-visuals-utils-tooltiputils";
export class YourVisual implements IVisual {
// implementation of IVisual.
constructor(options: VisualConstructorOptions) {
createTooltipServiceWrapper(
options.host.tooltipService,
options.element);
// returns: an instance of ITooltipServiceWrapper.
}
}
Burada özel görselin bir örneğine bakın.
ITooltipServiceWrapper
Bu arabirim, TooltipService'in genel yöntemlerini açıklar.
interface ITooltipServiceWrapper {
addTooltip<T>(selection: d3.Selection<any, any, any, any>, getTooltipInfoDelegate: (args: TooltipEventArgs<T>) => powerbi.extensibility.VisualTooltipDataItem[], getDataPointIdentity?: (args: TooltipEventArgs<T>) => powerbi.visuals.ISelectionId, reloadTooltipDataOnMouseMove?: boolean): void;
hide(): void;
}
ITooltipServiceWrapper.addTooltip
Bu yöntem geçerli seçime araç ipuçları ekler.
addTooltip<T>(selection: d3.Selection<any>, getTooltipInfoDelegate: (args: TooltipEventArgs<T>) => VisualTooltipDataItem[], getDataPointIdentity?: (args: TooltipEventArgs<T>) => ISelectionId, reloadTooltipDataOnMouseMove?: boolean): void;
Örnek:
import { createTooltipServiceWrapper, TooltipEventArgs, ITooltipServiceWrapper, TooltipEnabledDataPoint } from "powerbi-visuals-utils-tooltiputils";
let bodyElement = d3.select("body");
let element = bodyElement
.append("div")
.style({
"background-color": "green",
"width": "150px",
"height": "150px"
})
.classed("visual", true)
.data([{
tooltipInfo: [{
displayName: "Power BI",
value: 2016
}]
}]);
let tooltipServiceWrapper: ITooltipServiceWrapper = createTooltipServiceWrapper(tooltipService, bodyElement.get(0)); // tooltipService is from the IVisualHost.
tooltipServiceWrapper.addTooltip<TooltipEnabledDataPoint>(element, (eventArgs: TooltipEventArgs<TooltipEnabledDataPoint>) => {
return eventArgs.data.tooltipInfo;
});
// You will see a tooltip if you mouseover the element.
Burada özel görselin bir örneğine bakın.
Burada Gantt özel görselinde araç ipucu özelleştirme örneğine bakın.
ITooltipServiceWrapper.hide
Bu yöntem araç ipucu gizler.
hide(): void;
Örnek:
import {createTooltipServiceWrapper} from "powerbi-visuals-utils-tooltiputils";
let tooltipServiceWrapper = createTooltipServiceWrapper(options.host.tooltipService, options.element); // options are from the VisualConstructorOptions.
tooltipServiceWrapper.hide();
Interfaces
Arabirimler TooltipServiceWrapper oluşturma sırasında ve kullanıldığında kullanılır. Bunlar, buradaki önceki makalelerden örneklerde belirtilmiştir.
TooltipEventArgs
interface TooltipEventArgs<TData> {
data: TData;
coordinates: number[];
elementCoordinates: number[];
context: HTMLElement;
isTouchEvent: boolean;
}
TooltipEnabledDataPoint
interface TooltipEnabledDataPoint {
tooltipInfo?: powerbi.extensibility.VisualTooltipDataItem[];
}
TooltipServiceWrapperOptions
interface TooltipServiceWrapperOptions {
tooltipService: ITooltipService;
rootElement: Element;
handleTouchDelay: number;
Touch events
Artık araç ipucu yardımcı programları, mobil geliştirme için yararlı olan çeşitli dokunma olaylarını işleyebilir.
touchStartEventName
function touchStartEventName(): string
Bu yöntem bir dokunmatik başlangıç olayı adı döndürür.
touchEndEventName
function touchEndEventName(): string
Bu yöntem bir dokunmatik uç olay adı döndürür.
usePointerEvents
function usePointerEvents(): boolean
Bu yöntem, işaretçiyle ilgili geçerli touchStart olayını döndürür veya döndürmez.