生态产品多个设计器现已发布候选版本

查看生态总览
跳转到内容

设计器 ​

@xihan-report/designer 的公开接口。样式在 @xihan-report/designer/style.css,还要同时引入 @xihan-ui/designer-shell/style.css 与 @xihan-report/runtime/style.css。

<xh-report-designer> ​

注册 <xh-report-designer> 与它用到的查看器、UI 元素与 designer-shell 零件;import 时不注册。

属性 ​

属性attribute类型说明
schema—ReportDocument | undefined报表定义:赋值即装载(清空历史与选择);赋回当前这一份不重新装载。读取得到当前报表。
dataProvider—ReportDataProvider | undefined与查看器同一个取数回调,画布与预览用;不给时画布画占位。
expressionEngine—ExpressionEngine | undefined表达式引擎:计算字段与公式度量要用,校验公式也用它。
formatter—ReportFormatter | undefined值的显示文字;缺省按格式说明调 formatValue。
parameters—ParameterValues | undefined预览与画布取数用的报表参数取值。
commandLayout—DesignerCommandLayout | undefined工具栏、菜单栏的各张菜单(menubar:file、menubar:edit、menubar:view、menubar:data、menubar:help)、右键菜单(menu:card、menu:blank)与选中工具条(selection:card、selection:multiple)的命令排列;写了某个位置就只显示列出的命令。
translations—Partial<ReportDesignerTranslations> | undefined元素自己的文案,压在全局配置之上。
localelocalestring | undefinedBCP 47 语言标记;缺省取全局配置。
timeZonetime-zonestring | undefinedIANA 时区;缺省取运行环境所在的时区。
readonlyreadonlyboolean | undefined只读:可选择、浏览与预览,不能修改;缺省可修改。attribute 写 "false" 是可修改,其余写法是只读。
modemodeReportDesignerMode | undefineddesign 或 preview,缺省 design。
autoTourauto-tourboolean | undefined第一次铺好画布、设计器显示出来(画布有宽度)后自动开始新手引导,缺省开;设置里记过 help.tourDone(走完、跳过或关上过一次)时不再自动开始。写 false 关掉,start-tour 命令、帮助页的「开始引导」与 startTour() 照样能开始。同名 attribute auto-tour,写 "false" 是关。
defaultLayout—DesignerLayout | undefined面板布局的缺省:设置里还没有 layout.panels 时用它,「恢复默认布局」也回到它;不给时各面板停在登记的位置,全部显示。面板 id 见 REPORT_DESIGNER_PANELS,另有扩展登记的面板。用户挪了面板、改了显隐或大小,整份布局写进设置的 layout.panels(DESIGNER_SETTING_KEYS.layout)并派发 settings-change。
datasetEditingdataset-editingReportDatasetEditing | undefined缺省 fields。
settings—DesignerSettings | undefined设置的值:扁平的键值,键是「分区 id.条目 id」,如 general.theme;没写的键取条目的缺省值。赋值即生效;用户在设置对话框里改了以后设计器换成新的一份并派发 settings-change。
settingsPolicy—DesignerSettingsPolicy | undefined宿主对设置条目的管控:键是条目键或分区 id,hidden 不显示,locked 只读、说明换成「由所在系统管理」。
settingsStorageKeysettings-storage-keystring | undefined设置存在根所在窗口 localStorage 的哪个键下:给了,连上文档时若没赋 settings 就从这里读,用户改了设置就写回去,标了 secret 的条目不存;读写失败派发 settings-storage-error。不给就不读写。同名 attribute settings-storage-key。
draftKeydraft-keystring | undefined自动保存草稿的键:区分同一页、同一种设计器里的不同报表(宿主写报表 id);不给时按页面地址区分。设置里开着自动保存时,未保存的修改停手约一秒存成这台浏览器里的草稿;下次装进同一个键的报表、和草稿不一样时问恢复还是丢弃。同名 attribute draft-key。
historyLimithistory-limitnumber | undefined撤销步数上限,缺省 100;在下一次装载(赋 schema)时生效。同名 attribute history-limit。

存取器 ​

属性读写类型说明
extensions可读写readonly ReportDesignerExtension[] | undefined扩展:卡片与视图种类、渲染、属性编辑器、命令、面板与物料都从这里来,内置扩展自动排在最前。赋值时当场合并查重,冲突抛 DesignerExtensionError、什么都不变;各扩展的 setup 在元素连上文档时调用、断开时清理。同一个扩展对象换了引用当作卸下再装上,宿主要保持引用稳定。去掉的扩展登记的种类在报表里原样保留,画布上画占位。
canUndo只读boolean能不能撤销;只读时为 false。
canRedo只读boolean能不能重做;只读时为 false。
dirty只读boolean有未保存的修改。
canPaste只读boolean编辑模型里留着可粘贴的内容。
canDelete只读booleandeleteSelection() 此刻能删掉东西:选中了卡片、列表项或联动,或 datasetEditing 允许删的数据面板对象。
historyState只读HistorySnapshot撤销历史的快照:各步的说明按此刻的语言取好;还没有报表时只有起点。
xhConfig只读XhConfig设计器这棵子树的配置:设置里选了语言时是这一语言的 UI、designer-shell 与报表语言包,跟随页面时是空对象。设计器自己、里面的元素(含预览的查看器与图表)与它弹出的浮层都按它取 locale 与文案,页面别处不受影响。
canImportTemplate只读boolean此刻能不能导入模板:登记了导入器、有报表、在设计态且不是只读。

方法 ​

方法说明
execute(operations: readonly ReportOperation[], options?: ExecuteOptions): ReportDocument执行一组操作并记为一步撤销;返回新文档。还没有报表时抛错。
undo(): boolean撤销一步;只读或没有可撤销的时返回 false。
redo(): boolean重做一步;只读或没有可重做的时返回 false。
goToHistory(position: number): boolean跳到撤销历史里的一步或起点(historyState 里的位置号);只读、预览、拖动中或位置号不认识时返回 false。
clearHistory(): void清空撤销与重做;报表与是否已保存不变。只读或拖动中时什么都不做。
markSaved(): void把当前位置记为保存点。
addCard(init: ReportAddCardInit, options?: ExecuteOptions): DashboardCard新增卡片并选中它;报表主体不是看板时抛错。
addPaletteItem(id: string): DashboardCard | undefined照点物料的做法新建一张卡片:放到第一个空位、选中它并滚到看得见的地方,返回新卡片;只读、主体不是看板或没有这个物料项时什么都不做,返回 undefined。点物料面板的条目时调它。
select(selection: Partial<ReportSelection>): void换成给出的选择:给了 data 只选数据面板里的对象,否则选 cards,再带 item 或 link 之一。
selectAll(): void选中看板上的全部卡片;主体不是看板时清空选择。
getSelection(): ReportSelection当前的选择。
deleteSelection(): boolean删除选中的对象:卡片、列表项或联动直接删;数据面板里的字段、参数与数据集按 datasetEditing 能删时删,会一并删掉别处时先弹确认框,确认后合为一步撤销。返回是否删除(或已弹出确认框)。
copy(): ReportClipboard | undefined复制选中的卡片,同时写进系统剪贴板;没有选中卡片时返回 undefined。
cut(): ReportClipboard | undefined复制后删除选中的卡片,同时写进系统剪贴板;只读或没有选中卡片时返回 undefined。
paste(clipboard?: ReportClipboard): ReportSelection粘贴卡片,不给 clipboard 时用最近一次复制的内容;返回新的选择。
duplicate(): ReportSelection复制选中的卡片并当场粘贴,不经剪贴板;返回新的选择。
validate(): readonly ValidationIssue[]按当前的表达式引擎校验报表。
refresh(): Promise<void>丢掉缓存的数据,画布重新取数计算。
scrollToCard(id: string): void滚动到卡片。
revealCard(id: string): void卡片不在画布的可见区时才滚动到它。
highlightCard(id: string | null): void在画布上标出一张卡片(画悬停框),null 撤掉;不改选择、不滚动。页面结构面板悬停或聚焦到一行时用它。
canImportData(kind: ReportDataImportKind): boolean这种导入此刻能不能做:只读、预览态或 datasetEditing 不够时不能(导入数据集与字段要 full,导入参数要 fields 起);导入字段还要在数据面板里选中一个数据集或它的字段。
openDataImport(kind: ReportDataImportKind): boolean打开导入对话框:dataset 从 JSON 样例或 JSON Schema 新建一个数据集,fields 往选中的数据集里加字段,parameters 从 JSON Schema(也可以是样例)加报表参数。对话框里还有扩展登记的字段来源页(fieldSources)。导入的字段只取值字段,同名的保留现有的,一次导入记一步撤销。此刻不能做时返回 false。
startTour(): boolean从头开始新手引导:通用步骤加报表与扩展的步骤;同一页别的设计器的引导开着时先收起那一个。预览态、还没有报表或没有能走的步骤时返回 false。
openJsonEditor(): boolean打开编辑整份报表定义 JSON 的对话框:写出当前报表,边改边按当前扩展与表达式引擎校验、报问题(文字与问题列表的一致);没有错误时「应用」整份换上,记一步撤销,说明是「编辑 JSON」。只读或预览态时只能看、不能应用。还没有报表时返回 false。
importTemplate(): boolean导入模板:弹出选文件对话框(accept 取各导入器的 fileTypes),选中的文件按扩展顺序交给第一个接下的导入器,给出的整份模板换上当前报表、清空选择,记一步撤销(说明是「导入模板」)。没有导入器接下、导入器抛错或给出的不是报表对象时派发 import-error。此刻不能导入(见 canImportTemplate)时什么都不做,返回 false。
revealItem(ref: ReportItemRef): void选中列表项所在的卡片并让它可见。
getViewport(): Viewport视口:屏幕坐标(画布可见区的左上角为原点)= 画布坐标 × zoom + (x, y);画布坐标是实际尺寸下画布里的像素,zoom 为 1 时是实际尺寸。画布还没有布局时 x、y 为 0。
setViewport(viewport: Viewport): void设置视口:缩放夹进 10%–400%,平移落在画布能滚到的范围里;此后尺寸变化不再自动适配。
zoomToFit(): void缩放到整块内容的高度落进可见区,宽度总是铺满可见区,不放大到实际尺寸以上;此后画布或内容的尺寸变了就重新适配,直到改了缩放、设置视口或在画布上按下指针。
zoomIn(): void以可见区中心放大一档。
zoomOut(): void以可见区中心缩小一档。
zoomToActual(): void以可见区中心缩放到实际尺寸。
openSettings(section?: string): void打开设置对话框,给了分区 id 就显示那一页:基础是 general,扩展的是它登记的分区 id。

事件 ​

事件都是冒泡的 CustomEvent。

事件detail说明
schema-change{ schema: ReportDocument, operations: readonly ReportOperation[], kind: ReportSchemaChangeKind }报表变了:schema 是新的报表,operations 是这一步的操作,kind 说明是执行、撤销、重做还是装载。
selection-changeReportSelection选择变了,detail 是新的选择。
dirty-change{ dirty: boolean }与保存点相比有没有改动变了。
history-changeHistorySnapshot撤销历史变了:执行(含并入上一步)、撤销、重做、跳转、装载、清空与保存之后都派发,拖动等事务进行中不派发。detail 是此刻的 historyState。
issues-change{ issues: readonly ValidationIssue[] }报表的校验问题变了。
saveRecord<string, never>在画布上按了 Ctrl+S(macOS 上 ⌘S),或点了「文件」菜单的「保存」(命令 save);保存由宿主做,存好后调 markSaved()。
mode-change{ mode: ReportDesignerMode }在设计与预览之间切换了。
card-dblclick{ id: string }双击了一张卡片。
card-contextmenu{ id: string, x: number, y: number }可取消;不取消时弹内建右键菜单。
blank-contextmenu{ x: number, y: number }可取消;不取消时弹内建右键菜单。
settings-change{ key: string, value: JsonValue | undefined, settings: DesignerSettings }在设置对话框里改了一条设置,或在外框上挪了面板(键是 layout.panels,值是整份布局):设计器已换成新的 settings 并生效(主题、主题色、扩展读的值与面板布局);value 为 undefined 表示删掉这个键、回到缺省值。宿主存起来,下次赋回 settings。
settings-storage-errorVisualEnvironmentStorageError读写 settingsStorageKey 指的本机存储失败(内容不是对象、无痕窗口、配额满);设置留在内存里。
viewport-change{ viewport: Viewport }视口变了:缩放、适合窗口、setViewport 与滚动画布都会派发。
import-error{ importer?: string, source: DesignerImportSource, error: unknown }导入模板没有成功:导入器抛了错,或给出的不是报表对象,importer 是导入器的 id;选中的文件没有导入器接下时也派发,此时没有 importer。

函数 ​

defineReportDesigner() ​

ts
declare function defineReportDesigner(): void

注册 <xh-report-designer> 与它用到的查看器、UI 元素与 designer-shell 零件;import 时不注册。

readReportClipboard() ​

ts
declare function readReportClipboard(text: string): ReportClipboard | undefined

从剪贴板文本读出卡片与联动;不是报表的剪贴板、版本不支持或内容不合格时为 undefined。

writeReportClipboard() ​

ts
declare function writeReportClipboard(clipboard: ReportClipboard): string

把卡片与联动写成剪贴板文本。

类型 ​

ReportDesignerMode ​

设计或预览。

ts
type ReportDesignerMode = 'design' | 'preview'

ReportDatasetEditing ​

数据集能改到什么程度:none 只读;fields 能改字段的标题、类型与计算字段公式,增删报表参数;full 另能增删数据集与字段。

ts
type ReportDatasetEditing = 'none' | 'fields' | 'full'

ReportSchemaChangeKind ​

schema-change 的来由。

ts
type ReportSchemaChangeKind = 'execute' | 'undo' | 'redo' | 'load'

REPORT_DESIGNER_PANELS ​

设计器的面板 id:宿主写 defaultLayout、settingsPolicy(layout.panels.<面板 id>)与 commandLayout(panel:<面板 id>)时用。

ts
const REPORT_DESIGNER_PANELS = {
  datasets: 'datasets',
  parameters: 'parameters',
  palette: 'palette',
  wells: 'wells',
  properties: 'properties',
  issues: 'issues',
  history: 'history',
  outline: 'outline',
} as const

ReportSelection ​

选择:看板上的卡片,以及可选的一个列表项或一条以选中卡片为源的联动;或者数据面板里的一个对象,这时不选卡片、列表项与联动。

属性类型说明
cardsreadonly string[]选中的卡片 id。
item?ReportItemRef选中的列表项。
link?string选中的联动 id;它的源卡片也在 cards 里。
data?ReportDataRef数据面板里选中的对象。

ReportItemRef ​

选中的列表项:报表主体或卡片里某个列表的一项(列、分组、维度、度量、系列)。

属性类型说明
card?string所在的卡片;报表主体的列表项不写。
listItemList所在的列表:dimensions、measures、series、rows、columns、groups。
idstring列表项的 id。

ReportDataRef ​

数据面板里选中的对象:数据集、数据集的字段或报表参数。

ts
type ReportDataRef = | { readonly kind: 'dataset', readonly dataset: string } | { readonly kind: 'field', readonly dataset: string, readonly name: string } | { readonly kind: 'parameter', readonly name: string }

ReportAddCardInit ​

新增卡片的参数:id 缺省时按卡片种类分配,layout 只写大小时放到第一个空位。

ts
type ReportAddCardInit = | (BuiltinNewCard extends infer C ? C extends BuiltinNewCard ? Omit<C, 'id'> & { readonly id?: string } : never : never) | ReportAddExtensionCardInit

ReportAddExtensionCardInit ​

待新增的扩展卡片:同 NewExtensionCard,id 可以不给。

继承 Partial<DataBinding>。

属性类型说明
id?string
kindReportExtensionKind
title?string
description?string
layoutCardPlacement
query?ReportQuery
view?DataView
extensions?ReportExtensionData
[key: string]unknown

ReportClipboard ​

剪贴板里的内容:卡片,以及源卡片与目标都在其中的联动。

属性类型说明
cardsreadonly DashboardCard[]复制的卡片。
linksreadonly DashboardLink[]源卡片与全部目标都在复制范围里的联动。

ReportDesignerTranslations ​

设计器的内建文案。

文案键是 xh-report-designer,中文在 @xihan-report/runtime/locale 的 reportZhCN 里。

键类型说明中文
labelstring设计器的可及名。报表设计器
canvasstring画布
datasetsstring数据集与报表参数两块卡片的标题。数据集
parametersstring报表参数
wellsstring字段栏的标题。字段
listsReadonly<Record<string, string>>字段栏各列表的名字:dimensions、measures、series、rows、columns(交叉表的列维度)、groups、tableColumns(明细表与分组报表的列)。(按键对照)
palettestring物料面板的标题,也是外框里这个区的名字。物料
propertiesstring属性面板的标题,也是外框里这个区的名字。属性
issuesstring问题列表的标题,也是外框里这个区的名字。问题
datasetsHelpstring数据集卡片的帮助。报表用到的数据集与字段。把字段拖到卡片或字段栏上;选中一个,在属性里改标题、类型与公式。
parametersHelpstring报表参数卡片的帮助。报表参数在报表上方填写,筛选与公式里按名字引用。
paletteHelpstring物料卡片的帮助。图表、指标与表格。拖到看板上,或点一下放到第一个空位。
wellsHelpstring字段栏卡片的帮助。选中卡片的维度、度量、系列与列。把字段拖进来,拖动换序,点叉移除。
propertiesHelpstring属性卡片的帮助。选中对象的属性。选中多张卡片时只列它们共有的属性。
issuesHelpstring问题卡片的帮助。报表的校验问题。点一条选中出问题的对象。
selectionToolbarstring选中卡片时浮在选中框上方那一条工具条的名字。选中的卡片
sizeUnitstring尺寸徽标里卡片宽高的单位:看板按格计。格
importDatasetstring命令「导入数据集」的文字,也是这时导入对话框的标题。导入数据集
importParametersstring命令「导入参数」的文字,也是这时导入对话框的标题。导入参数
importTemplatestring命令「导入模板」的文字,也是导入后那一步撤销的说明;登记了导入器才有这条命令。导入模板
menuDatastring菜单栏上报表自己那张菜单「数据」的名字:导入数据集、字段、参数与模板在里面。数据
tourStepsReadonly<Record<ReportTourStepKey, ReportTourStepText>>新手引导里报表自己的几步,各一个标题与说明;键见 ReportTourStepKey。(按键对照)
helpNotesreadonly string[]设置对话框「帮助」页的几段操作说明。(按键对照)
shortcutResizestring快捷键表里 Shift 加方向键那一行:把选中的卡片改大或改小一格。把选中的卡片改大或改小一格
statusDocument(datasets: number, cards: number | undefined): string状态栏左段没选中时:数据集数,主体是看板时再写卡片数(不是看板时 cards 为 undefined)。(按参数生成)
statusCell(column: number, row: number, width: number, height: number): string状态栏左段选中一张卡片时:它左上角所在的列与行(从 1 数起)和占的格数。(按参数生成)
statusZoomstring状态栏右段缩放那一项的标签。缩放
paletteGroupsReadonly<Record<string, string>>物料分组:charts、metrics、tables。(按键对照)
cardTypesReadonly<Record<string, string>>物料与卡片种类:chart.<图表类型>、metric、table.<视图类型>。(按键对照)
objectKindsReadonly<Record<string, string>>属性面板标题下的对象种类。(按键对照)
propertyGroupsReadonly<Record<string, string>>属性分组名,键同 REPORT_PROPERTY_GROUPS。(按键对照)
propertyLabelsReadonly<Record<string, string>>属性名:键为 formatJsonPath(path),也可写 <对象种类>:<路径> 覆盖。(按键对照)
optionLabelsReadonly<Record<string, string>>下拉选项:键为 <路径>=<值>,没有时再找 <值>。(按键对照)
selected(count: number): string多个对象选中时的标题。(按参数生成)
emptyDashboardstring看板上还没有卡片时的提示。把图表、指标或表格拖到这里
linksstring字段栏里以选中卡片为源的联动:段名、新增按钮与一条联动的名字(源维度与目标卡片数)。联动
addLinkstring新增联动
linkLabel(dimension: string, targets: number): string(按参数生成)
wellsEmptystring字段栏没有编辑对象(看板上没有选中、或选中了多张卡片)时的提示。选中一张卡片,在这里编辑它的字段
emptyListstring字段栏的空列表提示。把字段拖到这里
placeholderstring没给取数回调时卡片上的占位说明。给了取数回调后这里显示示例数据
issue(issue: ReportDesignerIssueDetails): string问题说明。(按参数生成)
addDatasetstring数据面板的新增按钮。新增数据集
addFieldstring新增字段
addParameterstring新增参数
removeTitle(name: string): string删除会一并删掉别处时的确认框:标题、说明(各删几处)与确认按钮。(按参数生成)
removeCascade(cascade: ReportDesignerCascade): string(按参数生成)
removeConfirmstring删除
historyStep(step: ReportHistoryStepText): string撤销栈里一步的说明:动作加对象名,如「删除卡片「销售额」」「删除 3 个卡片」。(按参数生成)

全部导出 ​

card-icons ​

名称种类说明
REPORT_CARD_TYPE_ICONS常量内置卡片种类的图标,图标集见 @xihan-ui/icons;扩展的卡片种类不在其中。

editor ​

名称种类说明
readReportClipboard函数从剪贴板文本读出卡片与联动;不是报表的剪贴板、版本不支持或内容不合格时为 undefined。
REPORT_CLIPBOARD_PRODUCT常量剪贴板包的产品名。
REPORT_CLIPBOARD_VERSION常量剪贴板包的版本。
ReportAddCardInit类型新增卡片的参数:id 缺省时按卡片种类分配,layout 只写大小时放到第一个空位。
ReportAddExtensionCardInit接口待新增的扩展卡片:同 NewExtensionCard,id 可以不给。
ReportClipboard接口剪贴板里的内容:卡片,以及源卡片与目标都在其中的联动。
ReportDataRef类型数据面板里选中的对象:数据集、数据集的字段或报表参数。
ReportItemRef接口选中的列表项:报表主体或卡片里某个列表的一项(列、分组、维度、度量、系列)。
ReportSelection接口选择:看板上的卡片,以及可选的一个列表项或一条以选中卡片为源的联动;或者数据面板里的一个对象,这时不选卡片、列表项与联动。
writeReportClipboard函数把卡片与联动写成剪贴板文本。

extensions ​

名称种类说明
createReportDesignerModel函数合出设计器用的模型;任何一处重名(含设置分区、引导步骤、物料来源与菜单栏的菜单)都抛 DesignerExtensionError,物料项指向没登记的组时抛 TypeError。
REPORT_DATA_MENU常量菜单栏上报表自己的菜单「数据」的 id。
REPORT_DESIGNER_EXTENSION常量设计器的内置扩展:内置命令、菜单栏的数据菜单、物料、页面结构与历史记录面板、新手引导的报表步骤。
REPORT_DESIGNER_HELP_URL常量内置命令 help 打开的帮助页:报表文档站的设计器一页。
REPORT_DESIGNER_PANELS常量设计器的面板 id:宿主写 defaultLayout、settingsPolicy(layout.panels.<面板 id>)与 commandLayout(panel:<面板 id>)时用。
REPORT_IMPORT_TEMPLATE_COMMAND常量命令「导入模板」的 id:登记了导入器才进命令表,工具栏缺省排列的最前面多这一组,数据菜单的末尾也有它。
REPORT_MENU_LAYOUT常量右键菜单的缺省排列:空白处的末尾是编辑 JSON。
REPORT_SELECTION_LAYOUT常量选中工具条(命令落点 selection:<主体>)的缺省排列:创建副本、复制与删除。
REPORT_TOOLBAR_LAYOUT常量工具栏的缺省排列;commandLayout 没写 toolbar 时用它,再把 placement 含 toolbar 的扩展命令追加成一组。
ReportCardTemplate类型新卡片的模板:不写 id,新建时按种类分配;layout 只需写大小。
ReportDesignerCommand类型设计器的命令。
ReportDesignerContext接口命令、面板、物料与扩展装上时拿到的上下文。
ReportDesignerExtension接口报表设计器层的扩展:运行时层的全部字段,加上属性编辑器、命令、面板、物料、物料来源、导入器与 setup。
ReportDesignerImporter类型报表的导入器:命令「导入模板」(import-template)选中的文件交给它,换成一份整份的报表模板;给出 undefined 表示这次不载入。
ReportDesignerModel接口一组设计器扩展合出的东西。
ReportImportResult接口导入器给出的结果:一份整份的报表模板。
reportMenubarLayout函数菜单栏的缺省排列:designer-shell 四张菜单的缺省排列,加上数据菜单;只留命令表里有的命令,没有导入器时数据菜单里不列导入模板,与工具栏一致。
ReportMenuSubject类型右键菜单落在哪类对象上。
ReportPaletteDrop接口物料来源的条目拖到看板上放下的落点:指针所在的格,x 是列、y 是行,都从 0 起。
ReportPaletteGroup接口物料面板的一组。
ReportPaletteItem接口物料面板里的一项:拖到看板上或激活时按模板新建卡片。
ReportPropertyEditor类型属性编辑器。
ReportSelectionSubject类型选中工具条落在哪类选中上:看板上的一张卡片,或几张卡片。
reportToolbarLayout函数工具栏此刻的缺省排列:登记了导入器时在 REPORT_TOOLBAR_LAYOUT 前面多一组导入模板(REPORT_IMPORT_TEMPLATE_COMMAND)。

field-import ​

名称种类说明
ReportDataImportKind类型导入对话框为谁打开:新建一个数据集、往一个数据集里加字段,或加报表参数。

report-designer ​

名称种类说明
defineReportDesigner函数注册 <xh-report-designer> 与它用到的查看器、UI 元素与 designer-shell 零件;import 时不注册。
REPORT_DESIGNER_TAG常量设计器的标签名。
ReportDatasetEditing类型数据集能改到什么程度:none 只读;fields 能改字段的标题、类型与计算字段公式,增删报表参数;full 另能增删数据集与字段。
ReportDesignerEventMap接口设计器派发的事件。
ReportDesignerMode类型设计或预览。
ReportSchemaChangeKind类型schema-change 的来由。
XhReportDesigner类报表设计器 <xh-report-designer>:编辑报表定义,画布与预览按 dataProvider 取数显示示例数据。

version ​

名称种类说明
REPORT_VERSION常量@xihan-report/designer 的版本号。

Released under The MIT License