Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Muotoiluapuohjelmat sisältävät luokkia, liittymiä ja menetelmiä arvojen muotoilemista varten. Se sisältää myös laajennusmenetelmiä merkkijonojen käsittelemiseen ja tekstin koon mittaamiseen SVG/HTML-tiedostossa.
Tekstin mittauspalvelu
Moduuli sisältää seuraavat funktiot ja liittymät:
TextProperties-liittymä
Tämä liittymä kuvaa tekstin yleisiä ominaisuuksia.
interface TextProperties {
text?: string;
fontFamily: string;
fontSize: string;
fontWeight?: string;
fontStyle?: string;
fontVariant?: string;
whiteSpace?: string;
}
measureSvgTextWidth
Tämä funktio mittaa tekstin leveyttä tietyillä SVG-tekstiominaisuuksilla.
function measureSvgTextWidth(textProperties: TextProperties, text?: string): number;
Esimerkki -menetelmän käytöstä measureSvgTextWidth:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.measureSvgTextWidth(textProperties);
// returns: 194.71875
measureSvgTextRect
Tämä funktio palauttaa rect-arvon annetuilla SVG-tekstiominaisuuksilla.
function measureSvgTextRect(textProperties: TextProperties, text?: string): SVGRect;
Esimerkki -menetelmän käytöstä measureSvgTextRect:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.measureSvgTextRect(textProperties);
// returns: { x: 0, y: -22, width: 194.71875, height: 27 }
measureSvgTextHeight
Tämä funktio mittaa tekstin korkeutta tietyillä SVG-tekstiominaisuuksilla.
function measureSvgTextHeight(textProperties: TextProperties, text?: string): number;
Esimerkki -menetelmän käytöstä measureSvgTextHeight:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.measureSvgTextHeight(textProperties);
// returns: 27
estimateSvgTextBaselineDelta
Tämä funktio palauttaa tiettyjen SVG-tekstiominaisuuksien perusarvon.
function estimateSvgTextBaselineDelta(textProperties: TextProperties): number;
Esimerkki:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.estimateSvgTextBaselineDelta(textProperties);
// returns: 5
estimateSvgTextHeight
Tämä funktio arvioi tekstin korkeutta tietyillä SVG-tekstiominaisuuksilla.
function estimateSvgTextHeight(textProperties: TextProperties, tightFightForNumeric?: boolean): number;
Esimerkki -menetelmän käytöstä estimateSvgTextHeight:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.estimateSvgTextHeight(textProperties);
// returns: 27
Katso esimerkiksi mukautetun visualisoinnin koodi.
measureSvgTextElementWidth
Tämä funktio mittaa svgElement-arvon leveyden.
function measureSvgTextElementWidth(svgElement: SVGTextElement): number;
Esimerkki measureSvgTextElementWidth-funktion käyttämisestä:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
// ...
let svg: D3.Selection = d3.select("body").append("svg");
svg.append("text")
.text("Microsoft PowerBI")
.attr({
"x": 25,
"y": 25
})
.style({
"font-family": "sans-serif",
"font-size": "24px"
});
let textElement: D3.Selection = svg.select("text");
textMeasurementService.measureSvgTextElementWidth(textElement.node());
// returns: 194.71875
getMeasurementProperties
Tämä funktio hakee annetun DOM-elementin tekstin mittaominaisuudet.
function getMeasurementProperties(element: Element): TextProperties;
Esimerkki -menetelmän käytöstä getMeasurementProperties:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
// ...
let element: JQuery = $(document.createElement("div"));
element.text("Microsoft PowerBI");
element.css({
"width": 500,
"height": 500,
"font-family": "sans-serif",
"font-size": "32em",
"font-weight": "bold",
"font-style": "italic",
"white-space": "nowrap"
});
textMeasurementService.getMeasurementProperties(element.get(0));
/* returns: {
fontFamily:"sans-serif",
fontSize: "32em",
fontStyle: "italic",
fontVariant: "",
fontWeight: "bold",
text: "Microsoft PowerBI",
whiteSpace: "nowrap"
}*/
getSvgMeasurementProperties
Tämä funktio hakee annetun SVG-elementin tekstin mittaominaisuudet.
function getSvgMeasurementProperties(svgElement: SVGTextElement): TextProperties;
Esimerkki -menetelmän käytöstä getSvgMeasurementProperties:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
// ...
let svg: D3.Selection = d3.select("body").append("svg");
let textElement: D3.Selection = svg.append("text")
.text("Microsoft PowerBI")
.attr({
"x": 25,
"y": 25
})
.style({
"font-family": "sans-serif",
"font-size": "24px"
});
textMeasurementService.getSvgMeasurementProperties(textElement.node());
/* returns: {
"text": "Microsoft PowerBI",
"fontFamily": "sans-serif",
"fontSize": "24px",
"fontWeight": "normal",
"fontStyle": "normal",
"fontVariant": "normal",
"whiteSpace": "nowrap"
}*/
getDivElementWidth
Tämä funktio palauttaa div-elementin leveyden.
function getDivElementWidth(element: JQuery): string;
Esimerkki -menetelmän käytöstä getDivElementWidth:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
// ...
let svg: Element = d3.select("body")
.append("div")
.style({
"width": "150px",
"height": "150px"
})
.node();
textMeasurementService.getDivElementWidth(svg)
// returns: 150px
getTailoredTextOrDefault
Vertaa selitteen tekstin kokoa käytettävissä olevaan kokoon ja näyttää kolme pistettä, kun käytettävissä oleva koko on pienempi.
function getTailoredTextOrDefault(textProperties: TextProperties, maxWidth: number): string;
Esimerkki -menetelmän käytöstä getTailoredTextOrDefault:
import { textMeasurementService } from "powerbi-visuals-utils-formattingutils";
import TextProperties = textMeasurementService.TextProperties;
// ...
let textProperties: TextProperties = {
text: "Microsoft PowerBI!",
fontFamily: "sans-serif",
fontSize: "24px"
};
textMeasurementService.getTailoredTextOrDefault(textProperties, 100);
// returns: Micros...
Merkkijonolaajennukset
Moduuli sisältää seuraavat funktiot:
endsWith
Tämä funktio tarkistaa päättyykö merkkijono alimerkkijonoon.
function endsWith(str: string, suffix: string): boolean;
Esimerkki -menetelmän käytöstä endsWith:
import { stringExtensions } from "powerbi-visuals-utils-formattingutils";
// ...
stringExtensions.endsWith("Power BI", "BI");
// returns: true
equalIgnoreCase
Tämä funktio vertaa merkkijonoja huomioimatta kirjainkokoa.
function equalIgnoreCase(a: string, b: string): boolean;
Esimerkki -menetelmän käytöstä equalIgnoreCase:
import { stringExtensions } from "powerbi-visuals-utils-formattingutils";
// ...
stringExtensions.equalIgnoreCase("Power BI", "power bi");
// returns: true
startsWith
Tämä funktio tarkistaa alkaako merkkijono alimerkkijonolla.
function startsWith(a: string, b: string): boolean;
Esimerkki -menetelmän käytöstä startsWith:
import { stringExtensions } from "powerbi-visuals-utils-formattingutils";
// ...
stringExtensions.startsWith("Power BI", "Power");
// returns: true
sisältää
Tämä funktio tarkistaa sisältääkö merkkijono määritetyn alimerkkijonon.
function contains(source: string, substring: string): boolean;
Esimerkki -menetelmän käytöstä contains :
import { stringExtensions } from "powerbi-visuals-utils-formattingutils";
// ...
stringExtensions.contains("Microsoft Power BI Visuals", "Power BI");
// returns: true
onNullOrEmpty
Tarkistaa, onko merkkijono tyhjäarvoinen, määrittämätön tai tyhjä.
function isNullOrEmpty(value: string): boolean;
Esimerkki -menetelmästä isNullOrEmpty :
import { stringExtensions } from "powerbi-visuals-utils-formattingutils";
// ...
stringExtensions.isNullOrEmpty(null);
// returns: true
Arvon muotoilu
Moduuli sisältää seuraavat funktiot, liittymät ja luokat:
IValueFormatter
Tämä liittymä kuvaa muotoilumittarin julkisia menetelmiä ja ominaisuuksia.
interface IValueFormatter {
format(value: any): string;
displayUnit?: DisplayUnit;
options?: ValueFormatterOptions;
}
IValueFormatter.format
Tämä menetelmä muotoilee määritetyn arvon.
function format(value: any, format?: string, allowFormatBeautification?: boolean): string;
Esimerkkejä -misesta IValueFormatter.format:
Tuhat-muotoilut
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ value: 1001 });
iValueFormatter.format(5678);
// returns: "5.68K"
Miljoona-muotoilut
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ value: 1e6 });
iValueFormatter.format(1234567890);
// returns: "1234.57M"
Miljardi-muotoilut
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ value: 1e9 });
iValueFormatter.format(1234567891236);
// returns: 1234.57bn
Biljoona-muotoilu
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ value: 1e12 });
iValueFormatter.format(1234567891236);
// returns: 1.23T
Eksponenttimuoto
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ format: "E" });
iValueFormatter.format(1234567891236);
// returns: 1.234568E+012
Kulttuurivalitsin
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let valueFormatterUK = valueFormatter.create({ cultureSelector: "en-GB" });
valueFormatterUK.format(new Date(2007, 2, 3, 17, 42, 42));
// returns: 02/03/2007 17:42:42
let valueFormatterUSA = valueFormatter.create({ cultureSelector: "en-US" });
valueFormatterUSA.format(new Date(2007, 2, 3, 17, 42, 42));
// returns: 2/3/2007 5:42:42 PM
Prosenttilukumuotoilu
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ format: "0.00 %;-0.00 %;0.00 %" });
iValueFormatter.format(0.54);
// returns: 54.00 %
Päivämäärien muotoilu
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let date = new Date(2016, 10, 28, 15, 36, 0),
iValueFormatter = valueFormatter.create({});
iValueFormatter.format(date);
// returns: 10/28/2016 3:36:00 PM
Totuusarvon muotoilu
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({});
iValueFormatter.format(true);
// returns: True
Mukautettu tarkkuus
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
let iValueFormatter = valueFormatter.create({ value: 0, precision: 3 });
iValueFormatter.format(3.141592653589793);
// returns: 3.142
Katso esimerkiksi mukautetun visualisoinnin koodi.
ValueFormatterOptions
Tämä liittymä kuvaa options IValueFormatter-liittymän asetuksia ja funktion create vaihtoehtoja.
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
import ValueFormatterOptions = valueFormatter.ValueFormatterOptions;
interface ValueFormatterOptions {
/** The format string to use. */
format?: string;
/** The data value. */
value?: any;
/** The data value. */
value2?: any;
/** The number of ticks. */
tickCount?: any;
/** The display unit system to use */
displayUnitSystemType?: DisplayUnitSystemType;
/** True if we are formatting single values in isolation (e.g. card), as opposed to multiple values with a common base (e.g. chart axes) */
formatSingleValues?: boolean;
/** True if we want to trim off unnecessary zeroes after the decimal and remove a space before the % symbol */
allowFormatBeautification?: boolean;
/** Specifies the maximum number of decimal places to show*/
precision?: number;
/** Detect axis precision based on value */
detectAxisPrecision?: boolean;
/** Specifies the column type of the data value */
columnType?: ValueTypeDescriptor;
/** Specifies the culture */
cultureSelector?: string;
}
luo
Tämä menetelmä luo IValueFormatter-esiintymän.
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
import create = valueFormatter.create;
function create(options: ValueFormatterOptions): IValueFormatter;
Esimerkki create-toiminnon käytöstä
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
valueFormatter.create({});
// returns: an instance of IValueFormatter.
formaatti
Vaihtoehtoinen tapa muotoilla arvo luomatta IValueFormatter. Hyödyllinen dynaamisia muotoilumerkkijonoja sisältävissä tapauksissa
import { format } from "powerbi-visuals-utils-formattingutils";
import format = valueFormatter.format;
function format(value: any, format?: string, allowFormatBeautification?: boolean, cultureSelector?: string): string;
Esimerkki muodon käyttämisestä
import { valueFormatter } from "powerbi-visuals-utils-formattingutils";
const value = 12
const format = '¥ #,0'
valueFormatter.format(value, format);
// returns: formatted value as string (¥ 12)