模型层 core
@xihan-report/core 是纯 TypeScript 的模型层:报表定义的类型、校验、取数请求、计算、编辑操作与扩展的合并,不依赖 DOM,浏览器、Node.js 与其它 JavaScript 运行环境里都能用。报表定义的字段见报表定义类型,属性见属性。下表按源码模块列出全部导出。
全部导出
binding-plans
| 名称 | 种类 | 说明 |
|---|---|---|
FillBindingsOptions | 接口 | 补全绑定的选项。 |
planFillBindings | 函数 | 补全一张卡片的必填绑定:取数形状为 query 的卡片交给它种类的 fillBindings,拿到查询里现有的维度与度量 id。 |
card-data
| 名称 | 种类 | 说明 |
|---|---|---|
bodyQuery | 函数 | 扩展视图作主体时的查询:取数形状为 query 的扩展视图;别的主体为 undefined。 |
cardDataset | 函数 | 卡片取数的数据集 id;不取数的卡片为 undefined。 |
cardQuery | 函数 | 卡片的查询:图表与指标卡片,或取数形状为 query 的扩展卡片;别的卡片为 undefined。 |
cardView | 函数 | 卡片带的视图:表格卡片,或取数形状为 view 的扩展卡片;别的卡片为 undefined。 |
isDataView | 函数 | 主体是不是明细表、分组报表或交叉表。 |
QueryBinding | 接口 | 带查询的取数部分:数据集、参数绑定与聚合查询。 |
card-templates
| 名称 | 种类 | 说明 |
|---|---|---|
cardTemplate | 函数 | 新卡片的模板:取数用 dataset,查询、图表与视图里的字段绑定都留空(空字符串或空列表),由设计器随后填上。 |
CardTemplate | 类型 | 内置种类的新卡片模板。 |
cardTypeOf | 函数 | 卡片的种类:内置的按图表或视图类型细分,扩展卡片就是它的种类名。 |
REPORT_CARD_TYPES | 常量 | 全部卡片种类:图表、指标、表格依次排列。 |
ReportCardType | 类型 | 卡片种类:chart.<图表类型>、metric、table.<视图类型>。 |
data-plans
| 名称 | 种类 | 说明 |
|---|---|---|
DataCascade | 接口 | 删除时一并删掉的别处:列表项、筛选条件、明细排序、联动目标(目标删空时连同联动)与参数绑定。 |
DataRemoval | 接口 | 删除计划:操作合为一步撤销,cascade 是一并删掉的别处的数目。 |
datasetUsage | 函数 | 使用这个数据集的卡片与视图的数目。 |
planRemoveDataset | 函数 | 删除数据集;还有卡片或视图使用它时抛 RangeError,数据集不存在时也抛 RangeError。 |
planRemoveField | 函数 | 删除字段:取这个字段的列表项走 planRemoveItem 一并删掉(连带它们的引用),绑定这个数据集的对象里以它为字段的筛选条件、明细排序与联动目标也删掉(目标删空的联动整条删掉),最后 removeField。 |
planRemoveParameter | 函数 | 删除报表参数:以它为操作数的筛选条件与引用它的参数绑定一并删掉,最后 removeParameter。 |
planRenameParameter | 函数 | 报表参数改名:updateParameter,并把引用它的地方一起改掉——筛选条件的操作数、参数绑定,以及计算字段、公式度量与列汇总公式里的 $名字。 |
engine/aggregate
| 名称 | 种类 | 说明 |
|---|---|---|
createRollupAccumulator | 函数 | 已聚合值的再汇总累加器:sum 与 count 相加,min / max 取最值,规则同 createAccumulator。 |
isAdditive | 函数 | 聚合方式能否由已聚合值再汇总得到。 |
NEEDS_ROLLUP | 常量 | 已聚合值无法再汇总、需要使用方另给汇总值的标记。 |
engine/chart-data
| 名称 | 种类 | 说明 |
|---|---|---|
CartesianChartData | 接口 | 直角坐标图的数据:rows 是所有系列共用的数据行。 |
CartesianSeriesData | 接口 | 直角坐标图的一条系列。 |
chartData | 函数 | 把查询结果整成图表的数据。 |
ChartData | 类型 | 交给图表渲染的数据,形状随图表类型。 |
DateHeatmapData | 接口 | 日期热力图的数据:每天一格,日期写 YYYY-MM-DD。 |
HierarchyChartData | 接口 | 层级图的数据:扁平的节点表,次序是父在子前。 |
HierarchyNodeData | 接口 | 层级图的一个节点:根节点的 parent 为 null,叶子带数值。 |
MatrixHeatmapData | 接口 | 矩阵热力图的数据:行与列按首次出现的次序。 |
RowsChartData | 接口 | 饼图、漏斗图、雷达图的数据:查询行原样使用,字段按规格取。 |
SankeyChartData | 接口 | 桑基图的数据:节点按首次出现的次序,同值的源与目标是同一个节点。 |
engine/compute
| 名称 | 种类 | 说明 |
|---|---|---|
CardResult | 接口 | 一张卡片的计算结果:value 的形状由种类定,内置的图表是 ChartData、指标是 MetricValue、表格是 ViewResult。 |
computeCard | 函数 | 按种类计算一张卡片:先按取数形状跑查询或视图,再交给种类的 compute。 |
computeExtensionView | 函数 | 按种类计算作主体的扩展视图,规则同 computeCard。 |
computeView | 函数 | 按视图类型计算明细表、分组报表或交叉表。 |
ExtensionViewResult | 接口 | 作主体的扩展视图的计算结果:value 的形状由种类定。 |
ViewResult | 类型 | 一个数据视图的计算结果。 |
engine/context
| 名称 | 种类 | 说明 |
|---|---|---|
ComputeEnvironment | 接口 | 一次计算的环境。 |
ComputeOptions | 接口 | 计算选项。 |
engine/crosstab
| 名称 | 种类 | 说明 |
|---|---|---|
buildCrosstab | 函数 | 计算交叉表:行维度与列维度交叉,每格写各度量的聚合值。 |
CrosstabHeader | 接口 | 交叉表一条轴上的一项。 |
CrosstabResult | 接口 | 交叉表的计算结果。 |
engine/crosstab-axis
| 名称 | 种类 | 说明 |
|---|---|---|
crosstabAxes | 函数 | 交叉表两条轴的表头结构。 |
CrosstabAxes | 接口 | 交叉表两条轴的表头结构。 |
CrosstabAxis | 接口 | 一条轴的表头结构。 |
CrosstabAxisNode | 接口 | 表头树的一个节点:一个标签占一格或合并的一片。 |
CrosstabLabel | 类型 | 表头上的一个标签;id 相同的相邻标签合成一格。 |
CrosstabLeaf | 接口 | 轴上的一个叶子:交叉表的一行或一列。 |
engine/cube
| 名称 | 种类 | 说明 |
|---|---|---|
isAggregateMeasure | 函数 | 度量是否为聚合度量。 |
engine/dashboard
| 名称 | 种类 | 说明 |
|---|---|---|
cardDimension | 函数 | 卡片上的一个维度:图表与指标卡片是查询的维度,表格卡片按视图类型是明细表的列、分组报表的分组、交叉表的行列维度。 |
CardDimension | 接口 | 卡片上一个可发出取值的维度。 |
computeMetric | 函数 | 指标卡片的取值:从查询总计里取 value 与 baseline,比出涨跌与变化率。 |
findCard | 函数 | 按 id 找卡片。 |
LinkSelections | 类型 | 联动的选中值:联动 id 到源维度上选中的取值;空数组或缺项表示没有选中。 |
MetricResult | 接口 | 指标卡片的取值。 |
resolveLinkFilters | 函数 | 把联动的选中值换成各目标卡片的筛选条件:每个目标得到 field in 选中值,源维度带日期粒度时条件带同一粒度。 |
engine/date
| 名称 | 种类 | 说明 |
|---|---|---|
createDateTools | 函数 | 建一组绑定时区的日期工具。 |
DateTools | 接口 | 绑定了时区的日期工具。 |
engine/errors
| 名称 | 种类 | 说明 |
|---|---|---|
ComputeErrorCode | 类型 | 计算错误码。 |
ReportComputeError | 类 | 计算错误:message 即错误码,定位与取值放在 params 里。 |
engine/filter
| 名称 | 种类 | 说明 |
|---|---|---|
compileFilter | 函数 | 把筛选编译成行谓词。 |
FilterEnvironment | 接口 | 编译筛选需要的环境。 |
isEmptyOperand | 函数 | 操作数为空:缺失值,或去掉缺失元素后为空的数组。 |
isFilterGroup | 函数 | 判断一个节点是否为子组。 |
resolveOperand | 函数 | 操作数的值:参数引用取参数值,未给值的参数为 undefined。 |
RowPredicate | 类型 | 行谓词。 |
engine/formula
| 名称 | 种类 | 说明 |
|---|---|---|
applyCalculatedFields | 函数 | 给每行算出计算字段,返回新的行数组;数据集没有计算字段时原样返回。 |
engine/parameters
| 名称 | 种类 | 说明 |
|---|---|---|
PARAMETER_ISSUE_CODES | 常量 | 参数取值的问题码。 |
ParameterIssueCode | 类型 | 参数取值的问题码。 |
ResolvedParameters | 接口 | 解析后的参数取值。 |
resolveParameters | 函数 | 解析报表参数的取值:输入里没有的参数取缺省值,输入写 null 表示不给值。 |
engine/query
| 名称 | 种类 | 说明 |
|---|---|---|
QueryResult | 接口 | 查询结果。 |
runQuery | 函数 | 执行聚合查询。 |
engine/request
| 名称 | 种类 | 说明 |
|---|---|---|
createDatasetRequest | 函数 | 生成取数请求。 |
findDataset | 函数 | 按 id 找数据集。 |
RequestOptions | 接口 | 生成取数请求的选项。 |
RequestSource | 类型 | 取数的来源:明细表、分组报表、交叉表,或带查询的卡片与扩展视图。 |
engine/sort
| 名称 | 种类 | 说明 |
|---|---|---|
sortRows | 函数 | 按明细排序规则排序行,返回新数组。 |
engine/table
| 名称 | 种类 | 说明 |
|---|---|---|
buildGroupReport | 函数 | 计算分组报表:逐级分组,每组算出带汇总的列的小计。 |
buildTable | 函数 | 计算明细表:算出计算字段、筛选、排序、汇总,再截取。 |
GroupNode | 接口 | 分组报表里的一个组。 |
GroupReportResult | 接口 | 分组报表的计算结果。 |
TableResult | 接口 | 明细表的计算结果。 |
expression
| 名称 | 种类 | 说明 |
|---|---|---|
CompiledExpression | 类型 | 转导出自 @xihan-ui/expression |
EngineCompileOptions | 类型 | 转导出自 @xihan-ui/expression |
EngineCompileResult | 类型 | 转导出自 @xihan-ui/expression |
EngineEvaluation | 类型 | 转导出自 @xihan-ui/expression |
ExpressionEngine | 类型 | 转导出自 @xihan-ui/expression |
ExpressionIssue | 类型 | 转导出自 @xihan-ui/expression |
extensions
| 名称 | 种类 | 说明 |
|---|---|---|
createReportModel | 函数 | 合出报表模型:内置扩展 REPORT_CORE_EXTENSION 在前,extensions 按顺序在后。 |
MetricValue | 接口 | 指标卡片的计算结果。 |
REPORT_CORE_EXTENSION | 常量 | 内置的卡片、主体视图与编辑方式。 |
REPORT_CORE_EXTENSION_ID | 常量 | 内置扩展的 id。 |
REPORT_EXTENSION_SPACES | 常量 | 报表各层扩展共用的名字空间:卡片种类、视图种类、追加属性与文档级属性的路径。 |
ReportCardData | 类型 | 卡片种类的取数形状:query 同图表与指标卡片(卡片上有 dataset、parameters 与 query),view 同表格卡片(带一个明细表、分组报表或交叉表),none 不取数。 |
ReportCardKind | 接口 | 一种卡片。 |
ReportCoreExtension | 接口 | 报表 core 层的扩展。 |
ReportKindCheck | 接口 | 种类校验拿到的上下文:公共字段与取数部分 core 已经查过。 |
ReportKindEntry | 接口 | 合并后的一个种类:定义、登记它的扩展 id,以及是不是内置的。 |
ReportKindInput | 接口 | 交给种类计算的取数结果:query 形状是查询结果,view 形状是视图结果,none 两者都没有。 |
ReportModel | 接口 | 一组扩展合出的报表模型。 |
ReportPropertyTarget | 类型 | 属性追加到哪一类对象上:document 之外的键同属性面板的分区——dashboard、card:<种类>、chart:<图表类型>、series、metric、view:<视图类型>、column、group-level、dimension、measure、field、parameter、link。 |
ReportQueryIds | 接口 | 卡片查询里现有的维度与度量 id,按查询里的先后。 |
ReportRuleContext | 接口 | 规则拿到的上下文:合并后的报表模型。 |
ReportViewData | 类型 | 主体视图种类的取数形状:扩展视图只能是 query 或 none;table、group、crosstab、dashboard 是内置四种自己的形状。 |
ReportViewKind | 接口 | 一种主体视图。 |
grid
| 名称 | 种类 | 说明 |
|---|---|---|
CardPlacement | 接口 | 新增卡片的位置:写了 x、y 时放在那里并推开压到的卡片,没写时放到第一个放得下的空位。 |
gridItems | 函数 | 看板上全部卡片的网格位置,次序与卡片相同。 |
layoutOperations | 函数 | 把布局的变化写成一条 layoutCards:before 里有、位置大小变了的卡片;没有变化时为空数组。 |
NewCard | 类型 | 待新增的卡片:layout 只需写大小,位置可以留给 planAddCard 找空位。 |
NewExtensionCard | 接口 | 待新增的扩展卡片:同 ExtensionCard,layout 只需写大小。 |
planAddCard | 函数 | 新增卡片:按 placement 放进网格(推开压到的卡片,缺省整体压实),产出 addCard 与其余卡片的 layoutCards。 |
planCardLayout | 函数 | 拖动或改大小:把卡片放到 target(只改写了的项),压到的卡片向下推开,向下拖过下方卡片时两者对调,之后缺省整体压实。 |
planCompactLayout | 函数 | 压实布局:每张卡片向上移到碰到别的卡片为止,原本重叠的向下推开;没有变化时为空数组。 |
planRemoveCard | 函数 | 删除卡片并清理联动:以它为源的联动整条删除,指向它的目标从联动里去掉,目标删空的联动也删除;之后缺省整体压实。 |
item-plans
| 名称 | 种类 | 说明 |
|---|---|---|
planAddFieldItem | 函数 | 从数据集字段生成一个列表项并加进列表:维度(查询的 dimensions、交叉表的 rows / columns、分组报表的 groups)取这个字段,日期字段缺省按月分桶;度量里数值字段缺省 sum,其余缺省 count;明细表与分组报表的列只取字段。 |
planRemoveItem | 函数 | 删除列表项,并清理对它的引用:以这张卡片为源、在它上面发出取值的联动删除;引用它的直角坐标系列删除,雷达指标与层级从数组里去掉,可选的引用(splitBy、气泡大小与颜色、指标基准值)删掉属性,引用它的迷你图删掉;查询排序的规则与各处的 sort.by 去掉,标注里指向被删系列的去掉。 |
planRenameField | 函数 | 字段改名:updateField,并把绑定这个数据集的视图与查询里引用它的地方一起改掉——列、分组、维度与度量的 field,筛选条件与明细排序的 field、目标卡片绑定这个数据集的联动目标的 field,以及同一数据集里计算字段公式对它的引用。 |
planRenameItem | 函数 | 列表项改 id:updateItem,并把别处对它的引用一起改掉——图表与指标配置里引用它的字段、查询排序的 key 与维度排序的 by、分组的 sort.by(列)、交叉表维度的 sort.by(度量)、直角坐标图标注的 series,以及以这张卡片为源、在它上面发出取值的联动。 |
operations/apply
| 名称 | 种类 | 说明 |
|---|---|---|
applyOperation | 函数 | 以纯函数方式执行编辑操作:不修改传入的文档,返回新文档与逆操作数组;没有改到的部分沿用原引用。 |
applyOperations | 函数 | 按顺序执行一组编辑操作,整体成功或整体失败(@xihan-ui/designer-kit 的 applyInSequence);逆操作为各操作逆操作按相反顺序的拼接。 |
operations/describe
| 名称 | 种类 | 说明 |
|---|---|---|
describeReportStep | 函数 | 撤销栈里一步的说明素材:按第一个操作定动作与对象种类,同一步里同动作、同种类的操作合起来计个数;只改了一个对象时带上它的名字(标题,没有时取 id 或字段名)。 |
ReportStep | 接口 | 一步的说明素材。 |
ReportStepAction | 类型 | 一步里的动作。 |
ReportStepKind | 类型 | 一步改的对象种类,与设计器文案 objectKinds 的键同一组。 |
operations/errors
| 名称 | 种类 | 说明 |
|---|---|---|
ReportOperationError | 类 | 操作无法应用时抛出的错误:message 即错误码,输入文档保持不变。 |
ReportOperationErrorCode | 类型 | 操作失败的原因: |
operations/path
| 名称 | 种类 | 说明 |
|---|---|---|
itemKey | 函数 | 数组项的键:id,没有 id 时取 name;都不是字符串时为 undefined。 |
readPath | 函数 | 读取路径处的值;路径不存在时为 undefined,路径段不合法(负数、小数、原型键)时抛 JsonPathError。 |
operations/types
| 名称 | 种类 | 说明 |
|---|---|---|
AddCardOperation | 接口 | 新增卡片,index 缺省放在末尾;位置大小写在卡片的 layout 里。 |
AddDatasetOperation | 接口 | 新增数据集,index 缺省放在末尾。 |
AddFieldOperation | 接口 | 在数据集里新增字段,index 缺省放在末尾。 |
AddItemOperation | 接口 | 在列表里新增一项,index 缺省放在末尾。 |
AddLinkOperation | 接口 | 新增联动,index 缺省放在末尾。 |
AddParameterOperation | 接口 | 新增报表参数,index 缺省放在末尾。 |
ItemList | 类型 | 视图或查询里的列表:明细表的 columns;分组报表的 groups、columns;交叉表的 rows、columns、measures;图表与指标卡片查询的 dimensions、measures;直角坐标图的 series。 |
ItemOwner | 接口 | 列表项的所在:card 缺省时是报表主体的视图;表格卡片是它的视图,图表与指标卡片是它的查询,series 是直角坐标图的配置。 |
LayoutCardsOperation | 接口 | 一次改多张卡片的位置大小。 |
MoveDatasetOperation | 接口 | 把数据集移到 index。 |
MoveFieldOperation | 接口 | 把数据集里的字段移到 index。 |
MoveItemOperation | 接口 | 把列表项移到 index;写了 to 时移到同一视图的另一个列表,如交叉表的行维度换到列维度。 |
MoveParameterOperation | 接口 | 把报表参数移到 index。 |
PropertyChange | 接口 | 一处属性修改:path 相对被修改的对象,写法同 ReportPath;value 不写表示删除该属性。 |
RemoveCardOperation | 接口 | 删除卡片;引用它的联动不随之改动,用 planRemoveCard 一并清理。 |
RemoveDatasetOperation | 接口 | 删除数据集;用着它的卡片、视图与联动不一并改,要连带删除时用 planRemoveDataset。 |
RemoveFieldOperation | 接口 | 删除数据集里的字段;引用它的地方不一并改,要连带删除时用 planRemoveField。 |
RemoveItemOperation | 接口 | 删除报表主体或卡片里某个列表的一项。 |
RemoveLinkOperation | 接口 | 删除看板的联动。 |
RemoveParameterOperation | 接口 | 删除报表参数;引用它的地方不一并改,要连带删除时用 planRemoveParameter。 |
ReplaceDocumentOperation | 接口 | 整份换掉报表定义,如编辑整份 JSON 之后应用。 |
ReportOperation | 类型 | 编辑操作。 |
ReportOperationResult | 类型 | 操作结果,即 @xihan-ui/designer-kit 的 OperationResult:新文档,以及按顺序作用于新文档即可还原出传入文档的逆操作。 |
ReportOperationType | 类型 | 编辑操作的种类。 |
ReportPath | 类型 | 报表里的路径:字符串段是对象的属性名,或数组里带 id(没有 id 时取 name)的那一项;数字段是数组下标。 |
SetBodyOperation | 接口 | 换掉报表主体,用来改报表的类型。 |
UpdateCardOperation | 接口 | 修改卡片;不能修改 id、kind 与 layout(位置大小用 layoutCards)。 |
UpdateDashboardOperation | 接口 | 修改看板本身(网格);不能修改 type、cards 与 links。 |
UpdateDatasetOperation | 接口 | 修改数据集;不能修改 id 与 fields(字段用字段的操作)。 |
UpdateDocumentOperation | 接口 | 修改文档本身的属性;不能修改 schemaVersion、datasets、parameters 与 body。 |
UpdateFieldOperation | 接口 | 修改字段;可以改 name,同一数据集里不能重名。 |
UpdateItemOperation | 接口 | 修改列表项;可以改 id,同一列表里不能重复。 |
UpdateLinkOperation | 接口 | 修改联动;不能修改 id。 |
UpdateParameterOperation | 接口 | 修改报表参数;可以改 name,不能与别的参数重名。 |
UpdateViewOperation | 接口 | 修改视图:card 缺省时是报表主体(须是明细表、分组报表或交叉表),否则是那张表格卡片的视图;不能修改 type。 |
properties
| 名称 | 种类 | 说明 |
|---|---|---|
builtinProperties | 函数 | 某类对象的内置属性;扩展追加的属性不能与它们同路径。 |
cardProperties | 函数 | 卡片自身的属性:标题、说明;带查询的卡片(图表、指标,或取数形状为 query 的扩展卡片)还有数据集、参数绑定与查询的筛选、行数上限。 |
chartProperties | 函数 | 图表配置的属性,路径相对图表配置;直角坐标图的系列另用 seriesProperties。 |
dashboardProperties | 函数 | 看板本身的属性:网格的列数与行高(px)。 |
datasetFieldProperties | 函数 | 数据集一个字段的属性,路径相对字段。 |
dimensionProperties | 函数 | 查询或交叉表一个维度的属性,路径相对维度。 |
documentProperties | 函数 | 报表文档的属性:标题与说明。 |
extensionViewProperties | 函数 | 作主体的扩展视图的属性:取数形状为 query 时是取数属性,none 时没有。 |
groupLevelProperties | 函数 | 分组报表一级分组的属性,路径相对分组。 |
linkProperties | 函数 | 看板联动的属性,路径相对联动。 |
measureProperties | 函数 | 一个度量的属性,路径相对度量:写了 formula 的是公式度量,否则是聚合度量。 |
metricProperties | 函数 | 指标卡片配置的属性,路径相对指标配置;迷你图的属性只在写了迷你图时显示。 |
parameterProperties | 函数 | 报表参数的属性,路径相对参数。 |
REPORT_PROPERTY_GROUPS | 常量 | 属性分组的先后。 |
ReportPropertyControl | 类型 | 报表的编辑方式:designer-kit 的内建方式,加上报表自己的几种。 |
ReportPropertyDescriptor | 类型 | 报表的属性描述。 |
ReportPropertyGroup | 类型 | 属性分组。 |
seriesProperties | 函数 | 直角坐标图一个系列的属性,路径相对系列;各标记的专有属性只在该标记下显示。 |
tableColumnProperties | 函数 | 明细表与分组报表一列的属性,路径相对列;汇总写聚合或公式之一。 |
viewProperties | 函数 | 视图的属性,路径相对视图(报表主体或表格卡片的 view);列表里的项另用各自的描述。 |
schema/chart
| 名称 | 种类 | 说明 |
|---|---|---|
CartesianAnnotationSpec | 类型 | 注释;axis 的 x 是自变量轴,y 是数值轴。 |
CartesianAxisSpec | 接口 | 坐标轴;时间值写 ISO 8601 字符串。 |
CartesianBarSeriesSpec | 接口 | 柱系列。 |
CartesianChartSpec | 接口 | 笛卡尔图:柱、折线、面积、散点。 |
CartesianLineSeriesSpec | 接口 | 折线系列。 |
CartesianScatterSeriesSpec | 接口 | 散点系列:每个维度组合一个点。 |
CartesianSeriesSpec | 类型 | 柱线图的一条系列:柱、折线或散点。 |
CartesianSeriesSpecBase | 接口 | 笛卡尔图系列的共有属性。 |
CHART_TYPES | 常量 | 全部图表类型。 |
ChartPalette | 类型 | 顺序色阶的色板,与 XiHan.UI 的 ChartPalette 一致。 |
ChartSize | 类型 | 尺寸档。 |
ChartSpec | 类型 | 图表配置,按 type 分。 |
ChartSymbol | 类型 | 散点形状:XiHan.UI 图表引擎的 SymbolName。 |
ChartTone | 类型 | 语气:XiHan.UI 的 Tone。 |
FunnelChartSpec | 接口 | 漏斗图:每个维度成员一个阶段。 |
HeatmapChartSpec | 类型 | 热力图:日历(含按月)或矩阵。 |
HeatmapChartSpecBase | 接口 | 热力图共有的属性。 |
HeatmapDateChartSpec | 接口 | 日期热力图:calendar 连续周列,month 按自然月分块。 |
HeatmapMatrixChartSpec | 接口 | 矩阵热力图:行列各是一个维度。 |
HierarchyChartSpec | 接口 | 层级图:维度依次是由上到下的层。 |
MetricSpec | 接口 | 指标卡片:一个汇总值,可带对比与走势。 |
PieChartSpec | 接口 | 饼图:每个维度成员一个扇区。 |
RadarChartSpec | 接口 | 雷达图:每个维度成员一个实体,每个指标一根轴。 |
RadarIndicatorSpec | 接口 | 雷达图的一个指标。 |
SankeyChartSpec | 接口 | 桑基图:每个维度组合一条流带。 |
SparklineSpec | 接口 | 迷你图:指标卡片里的走势。 |
schema/dataset
| 名称 | 种类 | 说明 |
|---|---|---|
DatasetAggregated | 接口 | 已聚合数据:使用方按请求里的 query 在后端聚合并筛选过。 |
DatasetData | 类型 | 使用方交回的数据。 |
DatasetField | 接口 | 数据集里的一个字段。 |
DatasetParameter | 接口 | 数据集接受的一个参数:取数时由使用方的数据源解释。 |
DatasetQuery | 接口 | 视图需要的聚合:使用方可以照此在后端聚合,返回 aggregated 数据。 |
DatasetQueryDimension | 接口 | 取数请求里的一个维度:按 field 分组,写了 bucket 时按日期粒度取键。 |
DatasetQueryMeasure | 接口 | 取数请求里的一个度量:对 field 做 aggregate;count 不写 field 时数行。 |
DatasetRequest | 接口 | 取数请求:core 按视图与参数取值算出,使用方据此取数。 |
DatasetRollup | 接口 | 一条汇总行:按 dimensions 分组的汇总值,键同已聚合行。 |
DatasetRows | 接口 | 明细行:core 负责计算字段、筛选、分组与聚合。 |
DatasetSchema | 接口 | 报表引用的一个数据集。 |
schema/document
| 名称 | 种类 | 说明 |
|---|---|---|
ParameterOption | 接口 | 参数的一个候选项。 |
REPORT_SCHEMA_VERSION | 常量 | 当前的 schema 版本。 |
ReportDocument | 接口 | 报表文档:纯 JSON。 |
ReportParameter | 接口 | 报表参数:报表使用者填写,经绑定传给数据集参数或筛选条件。 |
schema/extension
| 名称 | 种类 | 说明 |
|---|---|---|
ReportExtensible | 接口 | 能带扩展数据的对象:文档、数据集、字段、参数、视图、卡片、各列表项与联动。 |
ReportExtensionData | 类型 | 对象上各扩展自己的数据:键是扩展 id,值归那个扩展;校验只查它与每一块都是对象,里面不看。 |
ReportExtensionKind | 类型 | 扩展登记的卡片与视图种类名:扩展 id 的末段、一个点、名字,如 gantt.timeline。 |
schema/filter
| 名称 | 种类 | 说明 |
|---|---|---|
FILTER_OPERATORS | 常量 | 转导出自 @xihan-ui/viz |
FilterCondition | 接口 | 一个筛选条件。 |
FilterGroup | 接口 | 条件组:and 全部满足,or 任一满足。 |
FilterNode | 类型 | 条件组里的一项:条件或子组。 |
FilterOperator | 类型 | 转导出自 @xihan-ui/viz |
FilterSubgroup | 接口 | 嵌套在条件组里的子组。 |
NullsPosition | 类型 | 转导出自 @xihan-ui/viz |
Operand | 类型 | 操作数:字面值、字面值数组,或报表参数。 |
ParameterRef | 接口 | 引用一个报表参数的值。 |
RowSortRule | 接口 | 明细行的一条排序规则。 |
SortDirection | 类型 | 转导出自 @xihan-ui/viz |
schema/format
| 名称 | 种类 | 说明 |
|---|---|---|
DateFormatSpec | 类型 | 转导出自 @xihan-ui/expression |
FormatRounding | 类型 | 转导出自 @xihan-ui/expression |
FormatSpec | 类型 | 转导出自 @xihan-ui/expression |
NumberFormatSpec | 类型 | 转导出自 @xihan-ui/expression |
NumericFormatSpec | 类型 | 图表数值用的格式说明:数字或百分比。 |
PercentFormatSpec | 类型 | 转导出自 @xihan-ui/expression |
RmbUpperFormatSpec | 类型 | 转导出自 @xihan-ui/expression |
schema/options
| 名称 | 种类 | 说明 |
|---|---|---|
ANNOTATION_AXES | 常量 | 取值:x、y。 |
ANNOTATION_KINDS | 常量 | 取值:line、band、point、average、trend。 |
ANNOTATION_POINTS | 常量 | 取值:max、min、last。 |
AXIS_FITS | 常量 | 取值:all、window。 |
AXIS_LABEL_OVERFLOWS | 常量 | 取值:auto、rotate、truncate、wrap。 |
AXIS_SCALES | 常量 | 取值:band、point、linear、log、sqrt、pow、symlog、time、utc。 |
BAR_LABELS | 常量 | 取值:none、inside、end。 |
BAR_SHAPES | 常量 | 取值:bar、lollipop。 |
BAR_STACK_OFFSETS | 常量 | 取值:none、expand、diverging。 |
CARD_KINDS | 常量 | 取值:chart、metric、table。 |
CARTESIAN_ORIENTATIONS | 常量 | 取值:vertical、horizontal。 |
CHART_INTERACTION_AXES | 常量 | 缩放与刷选的方向。 |
CHART_PALETTES | 常量 | 取值:red、orange、amber、yellow、lime、green、teal、cyan、blue、indigo、purple、pink、gray。 |
CHART_RENDERERS | 常量 | 取值:svg、canvas、auto。 |
CHART_SIZES | 常量 | 取值:sm、md、lg。 |
CHART_TONES | 常量 | 取值:brand、neutral、success、warning、danger、info。 |
CHART_TRIGGERS | 常量 | 取值:axis、item。 |
COLUMN_ALIGNS | 常量 | 取值:start、center、end。 |
COLUMN_STICKY_SIDES | 常量 | 取值:start、end。 |
FILTER_LOGICS | 常量 | 取值:and、or。 |
FUNNEL_ALIGNS | 常量 | 取值:center、start。 |
FUNNEL_CONVERSIONS | 常量 | 取值:previous、first、none。 |
FUNNEL_DIRECTIONS | 常量 | 取值:down、up。 |
FUNNEL_LABELS | 常量 | 取值:inside、outside。 |
FUNNEL_SHAPES | 常量 | 取值:trapezoid、bar。 |
HEATMAP_SCALES | 常量 | 取值:sequential、diverging。 |
HEATMAP_VARIANTS | 常量 | 取值:calendar、month、matrix。 |
HIERARCHY_COLOR_BY | 常量 | 取值:branch、value、uniform。 |
HIERARCHY_LAYOUTS | 常量 | 取值:treemap、sunburst、icicle、pack。 |
HIERARCHY_ORIENTATIONS | 常量 | 取值:vertical、horizontal。 |
HIERARCHY_TILES | 常量 | 取值:squarify、binary、slice-dice。 |
LINE_CURVES | 常量 | 取值:linear、monotone、step、step-before、step-after。 |
LINE_LABELS | 常量 | 取值:none、end。 |
LINE_STACK_OFFSETS | 常量 | 取值:none、expand、silhouette、wiggle。 |
LINE_SYMBOLS | 常量 | 取值:auto、always、none。 |
MEASURES_ON | 常量 | 取值:columns、rows。 |
NULLS_POSITIONS | 常量 | 取值:first、last。 |
PIE_LABEL_CONTENTS | 常量 | 取值:name-share、name-value、name、share、value。 |
PIE_LABELS | 常量 | 取值:none、inside、outside。 |
PIE_SORTS | 常量 | 取值:none、descending。 |
PIE_SWEEPS | 常量 | 取值:full、half。 |
PIE_VARIANTS | 常量 | 取值:pie、donut。 |
RADAR_CURVES | 常量 | 取值:linear、catmull-rom。 |
RADAR_SCALES | 常量 | 取值:shared、independent。 |
RADAR_SHAPES | 常量 | 取值:polygon、circle。 |
SANKEY_LINK_COLORS | 常量 | 取值:neutral、source、target、gradient。 |
SANKEY_NODE_ALIGNS | 常量 | 取值:justify、start、end、center。 |
SANKEY_NODE_SORTS | 常量 | 取值:auto、input。 |
SANKEY_ORIENTATIONS | 常量 | 取值:horizontal、vertical。 |
SERIES_MARKS | 常量 | 取值:bar、line、scatter。 |
SORT_DIRECTIONS | 常量 | 取值:asc、desc。 |
SPARKLINE_CURVES | 常量 | 取值:linear、monotone。 |
SPARKLINE_MARKERS | 常量 | 取值:none、last、extremes。 |
SPARKLINE_VARIANTS | 常量 | 取值:line、area、bar、win-loss。 |
TOOLTIP_ORDERS | 常量 | 取值:series、descending、ascending。 |
TREND_METHODS | 常量 | 取值:linear、moving-average。 |
schema/query
| 名称 | 种类 | 说明 |
|---|---|---|
AGGREGATE_KINDS | 常量 | 转导出自 @xihan-ui/viz |
AggregateKind | 类型 | 转导出自 @xihan-ui/viz |
AggregateMeasure | 接口 | 聚合度量:对字段做聚合;count 不写 field 时数行。 |
AxisSort | 接口 | 成员的次序:按键,或按某个度量在该成员上的汇总值。 |
DATE_BUCKETS | 常量 | 全部日期粒度,由粗到细。 |
DateBucket | 类型 | 日期粒度:把日期取成分组键。 |
Dimension | 接口 | 维度:按字段分组。 |
FormulaMeasure | 接口 | 公式度量:在聚合之后,以同一查询其它度量的值与报表参数($名字)为变量求值。 |
Measure | 类型 | 度量:聚合度量或公式度量。 |
MeasureBase | 接口 | 共有的度量属性。 |
QuerySortRule | 接口 | 查询结果行的一条排序规则。 |
ReportQuery | 接口 | 聚合查询:按维度分组、计算度量,结果每个维度组合一行。 |
schema/value
| 名称 | 种类 | 说明 |
|---|---|---|
DataRow | 类型 | 一行数据:字段名到值。 |
FIELD_TYPES | 常量 | 全部字段类型,按声明次序。 |
FieldType | 类型 | 字段类型。 |
JsonValue | 类型 | 转导出自 @xihan-ui/core/json |
ParameterValue | 类型 | 参数的取值:单值,或多选参数的值数组。 |
ParameterValues | 类型 | 一组参数取值:参数名到值。 |
ScalarValue | 类型 | JSON 标量:模板里能写下的单个值。 |
schema/view
| 名称 | 种类 | 说明 |
|---|---|---|
CardBase | 接口 | 卡片的共有属性。 |
CardLayout | 接口 | 卡片在网格上的位置与大小,单位是格。 |
ChartCard | 接口 | 图表卡片。 |
ColumnSummary | 类型 | 汇总:对列的字段做聚合,或以其它列的汇总值与报表参数($名字)为变量求公式。 |
CrosstabTotals | 接口 | 交叉表一条轴上的汇总。 |
CrosstabView | 接口 | 交叉表:行维度与列维度交叉,格子里写度量。 |
DashboardCard | 类型 | 看板上的一张卡片:图表、指标、表格,或扩展登记的种类。 |
DashboardGrid | 接口 | 看板网格。 |
DashboardLink | 接口 | 筛选联动:在源卡片上选中的取值,成为目标卡片在对应字段上的 in 条件。 |
DashboardView | 接口 | 看板:网格上排列的卡片。 |
DataBinding | 接口 | 视图取数的数据集与参数绑定。 |
DataView | 类型 | 可以直接取数计算的视图。 |
ExtensionCard | 接口 | 扩展登记的卡片:kind 是带点的种类名。 |
ExtensionView | 接口 | 扩展登记的主体视图:type 是带点的种类名。 |
GroupLevel | 接口 | 分组报表的一级分组。 |
GroupView | 接口 | 分组报表:多级分组,组内列出明细,组尾写小计,末尾写总计。 |
LinkTarget | 接口 | 联动的一个目标:在目标卡片上按字段筛选。 |
MetricCard | 接口 | 指标卡片。 |
ReportBody | 类型 | 报表的主体。 |
TableCard | 接口 | 表格卡片:内嵌一个明细表、分组报表或交叉表。 |
TableColumn | 接口 | 表格的一列。 |
TableView | 接口 | 明细表:逐行列出数据。 |
validate/checker
| 名称 | 种类 | 说明 |
|---|---|---|
REPORT_ISSUE_CODES | 常量 | 报表自己的校验问题码,按字母序;通用问题码见 @xihan-ui/designer-kit/schema 的 CommonIssueCode。 |
ValidationIssue | 类型 | 一条校验问题:path 只用对象键与数组下标,target 指出所在的带键对象。 |
ValidationIssueCode | 类型 | 校验问题码:designer-kit/schema 的通用问题码、报表自己的(REPORT_ISSUE_CODES),以及扩展的问题码(扩展 id 的末段、一个点、码)。 |
validate/document
| 名称 | 种类 | 说明 |
|---|---|---|
validateDocument | 函数 | 校验报表文档,返回全部问题;没有问题时为空数组。 |
ValidateOptions | 接口 | 校验选项。 |
