@ohayojp.com/components
Version:
Common business components of ohayojp.
1,351 lines • 78.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: st.interfaces.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function STWidthMode() { }
if (false) {
/**
* 宽度类型
* - `default` 默认行为
* - `strict` 严格模式,即强制按 `width` 指定的宽度呈现,并根据 `strictBehavior` 类型处理
* @type {?|undefined}
*/
STWidthMode.prototype.type;
/**
* 严格模式的处理行为
* - `wrap` 强制换行
* - `truncate` 截短
* @type {?|undefined}
*/
STWidthMode.prototype.strictBehavior;
}
/**
* @record
*/
export function STResetColumnsOption() { }
if (false) {
/** @type {?|undefined} */
STResetColumnsOption.prototype.pi;
/** @type {?|undefined} */
STResetColumnsOption.prototype.ps;
/** @type {?|undefined} */
STResetColumnsOption.prototype.columns;
/**
* Whether to pre-clear data, Default: `false`
* @type {?|undefined}
*/
STResetColumnsOption.prototype.preClearData;
/**
* Whether to trigger a data load, Default: `true`
* @type {?|undefined}
*/
STResetColumnsOption.prototype.emitReload;
}
/**
* @record
*/
export function STReq() { }
if (false) {
/**
* 分页类型,默认:`page`
* - `page` 使用 `pi`,`ps` 组合
* - `skip` 使用 `skip`,`limit` 组合
* @type {?|undefined}
*/
STReq.prototype.type;
/**
* 额外请求参数,默认自动附加 `pi`、`ps` 至URL
* - `{ status: 'new' }` => `url?pi=1&ps=10&status=new`
* @type {?|undefined}
*/
STReq.prototype.params;
/**
* 请求方法,默认:`GET`
* @type {?|undefined}
*/
STReq.prototype.method;
/**
* 请求体 `body`
* @type {?|undefined}
*/
STReq.prototype.body;
/**
* 请求体 `Header`
* @type {?|undefined}
*/
STReq.prototype.headers;
/**
* 重命名参数 `pi`、`ps`,默认:`{ pi: 'pi', ps: 'ps' }`
* - `{ pi: 'Page' }` => `pi` 会被替换成 Page
* @type {?|undefined}
*/
STReq.prototype.reName;
/**
* 是否将请求所有参数数据都放入 `body` 当中(`url` 地址本身参数除外),仅当 `method: 'POST'` 时有效,默认:`false`
* @type {?|undefined}
*/
STReq.prototype.allInBody;
/**
* 是否延迟加载数据,即渲染结束后不会主动发起请求,默认:`false`
* @type {?|undefined}
*/
STReq.prototype.lazyLoad;
/**
* 请求前数据处理
* @type {?|undefined}
*/
STReq.prototype.process;
}
/**
* @record
*/
export function STRequestOptions() { }
if (false) {
/** @type {?|undefined} */
STRequestOptions.prototype.body;
/** @type {?|undefined} */
STRequestOptions.prototype.headers;
/** @type {?|undefined} */
STRequestOptions.prototype.params;
/** @type {?|undefined} */
STRequestOptions.prototype.observe;
/** @type {?|undefined} */
STRequestOptions.prototype.reportProgress;
/** @type {?|undefined} */
STRequestOptions.prototype.responseType;
/** @type {?|undefined} */
STRequestOptions.prototype.withCredentials;
}
/**
* @record
*/
export function STLoadOptions() { }
if (false) {
/**
* 是否合并,默认:`false`
* @type {?|undefined}
*/
STLoadOptions.prototype.merge;
/**
* 是否跳转至顶部,若不指定由 `page.toTop` 来决定
* @type {?|undefined}
*/
STLoadOptions.prototype.toTop;
}
/**
* @record
*/
export function STRes() { }
if (false) {
/**
* 重命名返回参数 `total`、`list`
* - `{ total: 'Total' }` => Total 会被当作 `total`
* @type {?|undefined}
*/
STRes.prototype.reName;
/**
* 数据预处理
* @type {?|undefined}
*/
STRes.prototype.process;
}
/**
* @record
*/
export function STPage() { }
if (false) {
/**
* 前端分页,当 `data` 为`any[]` 或 `Observable<any[]>` 有效,默认:`true`
* - `true` 由 `st` 根据 `data` 长度受控分页,包括:排序、过滤等
* - `false` 由用户通过 `total` 和 `data` 参数受控分页,并维护 `(change)` 当分页变更时重新加载数据
* @type {?|undefined}
*/
STPage.prototype.front;
/**
* 后端分页是否采用`0`基索引,只在`data`类型为`string`时有效,默认:`false`
* @type {?|undefined}
*/
STPage.prototype.zeroIndexed;
/**
* 指定分页显示的位置,默认:`bottom`
* @type {?|undefined}
*/
STPage.prototype.position;
/**
* 指定分页分页方向,默认:`right`
* @type {?|undefined}
*/
STPage.prototype.placement;
/**
* 是否显示分页器,默认:`true`
* @type {?|undefined}
*/
STPage.prototype.show;
/**
* 是否显示分页器中改变页数,默认:`false`
* @type {?|undefined}
*/
STPage.prototype.showSize;
/**
* 分页器中每页显示条目数下拉框值,默认:`[10, 20, 30, 40, 50]`
* @type {?|undefined}
*/
STPage.prototype.pageSizes;
/**
* 是否显示分页器中快速跳转,默认:`false`
* @type {?|undefined}
*/
STPage.prototype.showQuickJumper;
/**
* 用于自定义页码的结构,用法参照 Pagination 组件
* @type {?|undefined}
*/
STPage.prototype.itemRender;
/**
* 当添加该属性时,显示为简单分页,默认:`false`
* @type {?|undefined}
*/
STPage.prototype.simple;
/**
* 是否显示总数据量
* - `boolean` 类型显示与否,默认模板:`共 {{total}} 条`
* - `string` 自定义模板,模板变量:
* - `{{total}}` 表示数据总量
* - `{{range[0]}}` 表示当前页开始数量值
* - `{{range[1]}}` 表示当前页结束数量值
* @type {?|undefined}
*/
STPage.prototype.total;
/**
* 切换分页时返回顶部,默认:`true`
* @type {?|undefined}
*/
STPage.prototype.toTop;
/**
* 返回顶部偏移值,默认:`100`
* @type {?|undefined}
*/
STPage.prototype.toTopOffset;
}
/**
* 数据源
* @record
*/
export function STData() { }
if (false) {
/**
* 选择框或单选框状态值
* @type {?|undefined}
*/
STData.prototype.checked;
/**
* 选择框或单选框 `disabled` 值
* @type {?|undefined}
*/
STData.prototype.disabled;
/**
* 是否展开状态
* @type {?|undefined}
*/
STData.prototype.expand;
/**
* 是否显示展开按钮
* @type {?|undefined}
*/
STData.prototype.showExpand;
/* Skipping unhandled member: [key: string]: any;*/
}
/**
* 列描述
* @record
*/
export function STColumn() { }
if (false) {
/**
* 用于定义数据源主键,例如:`statistical`
* @type {?|undefined}
*/
STColumn.prototype.key;
/**
* 列标题
* @type {?|undefined}
*/
STColumn.prototype.title;
/**
* 列数据在数据项中对应的 key,支持 `a.b.c` 的嵌套写法,例如:
* - `id`
* - `price.market`
* - `[ 'price', 'market' ]`
* @type {?|undefined}
*/
STColumn.prototype.index;
/**
* 类型
* - `no` 行号,计算规则:`index + noIndex`
* - `checkbox` 多选
* - `radio` 单选
* - `link` 链接,务必指定 `click`
* - `badge` [徽标](https://ng.ant.design/components/badge/zh),务必指定 `badge` 参数配置徽标对应值
* - `tag` [标签](https://ng.ant.design/components/tag/zh),务必指定 `tag` 参数配置标签对应值
* - `enum` 枚举转换,务必指定 `enum` 参数配置标签对应值
* - `img` 图片且居中(若 `className` 存在则优先)
* - `number` 数字且居右(若 `className` 存在则优先)
* - `currency` 货币且居右(若 `className` 存在则优先)
* - `date` 日期格式且居中(若 `className` 存在则优先),使用 `dateFormat` 自定义格式
* - `yn` 将`boolean`类型徽章化 [document](https://ohayojp.com/docs/data-render#yn)
* - `widget` 使用自定义小部件动态创建
* @type {?|undefined}
*/
STColumn.prototype.type;
/**
* 链接回调,若返回一个字符串表示导航URL会自动触发 `router.navigateByUrl`
* @type {?|undefined}
*/
STColumn.prototype.click;
/**
* 按钮组
* @type {?|undefined}
*/
STColumn.prototype.buttons;
/**
* 自定义渲染ID
* \@example
* <ng-template st-row="custom" let-item let-index="index" let-column="column">
* {{ c.title }}
* </ng-template>
* @type {?|undefined}
*/
STColumn.prototype.render;
/**
* 标题自定义渲染ID
* \@example
* <ng-template st-row="custom" type="title" let-c>
* {{ item | json }}
* </ng-template>
* @type {?|undefined}
*/
STColumn.prototype.renderTitle;
/**
* 列宽(数字型表示 `px` 值),例如:`100`、`10%`、`100px`
*
* **注意:** 若固定列必须是数字
* @type {?|undefined}
*/
STColumn.prototype.width;
/**
* 排序配置项,远程数据配置**优先**规则:
* - `true` 表示允许排序,且若数据源为本地时自动生成 `compare: (a, b) => a[index] - b[index]` 方法
* - `string` 表示远程数据排序相对应 `key` 值
* @type {?|undefined}
*/
STColumn.prototype.sort;
/**
* 过滤配置项
* @type {?|undefined}
*/
STColumn.prototype.filter;
/**
* 格式化列值
* @type {?|undefined}
*/
STColumn.prototype.format;
/**
* 自定义全/反选选择项
* @type {?|undefined}
*/
STColumn.prototype.selections;
/**
* 列 `class` 属性值(注:无须 `.` 点)多个用空格隔开,例如:
* - `text-center` 居中
* - `text-right` 居右
* - `text-success` 成功色
* - `text-error` 异常色
* @type {?|undefined}
*/
STColumn.prototype.className;
/**
* 合并列
* @type {?|undefined}
*/
STColumn.prototype.colSpan;
/**
* 数字格式,`type=number` 有效
* @type {?|undefined}
*/
STColumn.prototype.numberDigits;
/**
* 日期格式,`type=date` 有效,(默认:`yyyy-MM-dd HH:mm`)
* @type {?|undefined}
*/
STColumn.prototype.dateFormat;
/**
* 当 `type=yn` 有效
* @type {?|undefined}
*/
STColumn.prototype.yn;
/**
* 是否允许导出,默认 `true`
* @type {?|undefined}
*/
STColumn.prototype.exported;
/**
* 权限,等同 [ACLCanType](https://ohayojp.com/acl/getting-started/#ACLCanType) 参数值
* @type {?|undefined}
*/
STColumn.prototype.acl;
/**
* 当不存在数据时以默认值替代
* @type {?|undefined}
*/
STColumn.prototype.default;
/**
* 固定前后列,当指定时务必指定 `width` 否则视为无效,有若干 **注意:** 项:
*
* - 若列头与内容不对齐或出现列重复,请指定列的宽度 `width`
* - 建议指定 `scroll.x` 为大于表格宽度的固定值或百分比。注意,且非固定列宽度之和不要超过 `scroll.x`
* @type {?|undefined}
*/
STColumn.prototype.fixed;
/**
* 徽标配置项
* @type {?|undefined}
*/
STColumn.prototype.badge;
/**
* 标签配置项
* @type {?|undefined}
*/
STColumn.prototype.tag;
/**
* 行号索引,默认:`1`
* - 计算规则为:`index + noIndex`
* - 支持自定义方法
* @type {?|undefined}
*/
STColumn.prototype.noIndex;
/**
* 条件表达式
* - 仅赋值 `columns` 时执行一次
* - 可调用 `resetColumns()` 再一次触发
* @type {?|undefined}
*/
STColumn.prototype.iif;
/**
* 统计列数据
* - 若使用自定义统计函数可无须指定 `index`
* - 可以根据 `key` 来定义生成后需要的键名,如果未指定 `key` 则使用 `index` 来表示键名
* - 当无法找到有效键名时,使用下标(从 `0` 开始)来代替
* @type {?|undefined}
*/
STColumn.prototype.statistical;
/** @type {?|undefined} */
STColumn.prototype.widget;
/** @type {?|undefined} */
STColumn.prototype.enum;
/**
* 分组表头
* @type {?|undefined}
*/
STColumn.prototype.children;
/** @type {?|undefined} */
STColumn.prototype.rowSpan;
/**
* 调整表头配置
* - 注意:**不要忘记**在 `src/styles` 下增加 `nz-resizable` Less 样式文件:`\@import '~ng-zorro-antd/resizable/style/entry.less';`
* - **不支持多表头**
* @type {?|undefined}
*/
STColumn.prototype.resizable;
}
/**
* @record
*/
export function STWidgetColumn() { }
if (false) {
/** @type {?} */
STWidgetColumn.prototype.type;
/** @type {?|undefined} */
STWidgetColumn.prototype.params;
}
/**
* @record
*/
export function STColumnTitle() { }
if (false) {
/**
* Text of header, can be choose one of `text` or `i18n`
* @type {?|undefined}
*/
STColumnTitle.prototype.text;
/**
* I18n key of header, can be choose one of `text` or `i18n`
* @type {?|undefined}
*/
STColumnTitle.prototype.i18n;
/**
* Optional information of header
* @type {?|undefined}
*/
STColumnTitle.prototype.optional;
/**
* Optional help of header
* @type {?|undefined}
*/
STColumnTitle.prototype.optionalHelp;
/* Skipping unhandled member: [key: string]: any;*/
}
/**
* @record
*/
export function STStatistical() { }
if (false) {
/** @type {?} */
STStatistical.prototype.type;
/**
* 保留小数位数,默认:`2`
* @type {?|undefined}
*/
STStatistical.prototype.digits;
/**
* 是否需要货币格式化,默认以下情况为 `true`
* - `type` 为 `STStatisticalFn`、 `sum`、`average`、`max`、`min`
* @type {?|undefined}
*/
STStatistical.prototype.currency;
}
/**
* @record
*/
export function STStatisticalResults() { }
/**
* @record
*/
export function STStatisticalResult() { }
if (false) {
/** @type {?} */
STStatisticalResult.prototype.value;
/** @type {?|undefined} */
STStatisticalResult.prototype.text;
}
/**
* @record
*/
export function STColumnSort() { }
if (false) {
/**
* 排序的默认受控属性
* @type {?|undefined}
*/
STColumnSort.prototype.default;
/**
* 本地数据的排序函数,使用一个函数(参考 [Array.sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) 的 compareFunction)
* - `null` 忽略本地排序,但保持排序功能
* - 若数据源为本地时自动生成 `(a, b) => a[index] - b[index]` 方法
* @type {?|undefined}
*/
STColumnSort.prototype.compare;
/**
* 远程数据的排序时后端相对应的KEY,默认使用 `index` 属性
* - 若 `multiSort: false` 时:`key: 'name' => ?name=1&pi=1`
* - 若 `multiSort: true` 允许多个排序 key 存在,或使用 `STMultiSort` 指定多列排序key合并规则
* @type {?|undefined}
*/
STColumnSort.prototype.key;
/**
* 远程数据的排序时后端相对应的VALUE
* - `{ ascend: '0', descend: '1' }` 结果 `?name=1&pi=1`
* - `{ ascend: 'asc', descend: 'desc' }` 结果 `?name=desc&pi=1`
* @type {?|undefined}
*/
STColumnSort.prototype.reName;
}
/**
* @record
*/
export function STSortMap() { }
if (false) {
/**
* 是否启用排序
* @type {?|undefined}
*/
STSortMap.prototype.enabled;
/* Skipping unhandled member: [key: string]: any;*/
}
/**
* @record
*/
export function STColumnFilter() { }
if (false) {
/**
* 搜索方式
* - `defualt` 默认形式
* - `keyword` 文本框形式
* @type {?|undefined}
*/
STColumnFilter.prototype.type;
/**
* 表头的筛选菜单项,至少一项才会生效
* - 当 `type='keyword'` 时可为空
* @type {?|undefined}
*/
STColumnFilter.prototype.menus;
/**
* 本地数据的筛选函数
* @type {?|undefined}
*/
STColumnFilter.prototype.fn;
/**
* 标识数据是否已过滤,筛选图标会高亮
* @type {?|undefined}
*/
STColumnFilter.prototype.default;
/**
* 自定义 filter 图标
* - 当 `type='default'` 默认 `filter`
* - 当 `type='keyword'` 默认 `search`
* @type {?|undefined}
*/
STColumnFilter.prototype.icon;
/**
* 确认按钮文本,默认 `确认`
* @type {?|undefined}
*/
STColumnFilter.prototype.confirmText;
/**
* 清除按钮文本,默认 `重置`
* @type {?|undefined}
*/
STColumnFilter.prototype.clearText;
/**
* 是否多选,默认 `true`
* @type {?|undefined}
*/
STColumnFilter.prototype.multiple;
/**
* 远程数据的过滤时后端相对应的KEY,默认使用 `index` 属性
* `key: 'name'` 结果 `?name=1&pi=1`
* @type {?|undefined}
*/
STColumnFilter.prototype.key;
/**
* 远程数据的过滤时后端相对应的VALUE
* - 默认当 `multiple: true` 时以英文逗号拼接的字符串
* \@return 返回为 Object 对象
* @type {?|undefined}
*/
STColumnFilter.prototype.reName;
}
/**
* @record
*/
export function STColumnFilterMenu() { }
if (false) {
/**
* 文本
* - 当 `type: 'keyword'` 时表示 `placeholder`
* @type {?|undefined}
*/
STColumnFilterMenu.prototype.text;
/**
* 值
* @type {?|undefined}
*/
STColumnFilterMenu.prototype.value;
/**
* 是否选中
* @type {?|undefined}
*/
STColumnFilterMenu.prototype.checked;
/**
* 权限,等同 [ACLCanType](https://ohayojp.com/acl/getting-started/#ACLCanType) 参数值
* @type {?|undefined}
*/
STColumnFilterMenu.prototype.acl;
/* Skipping unhandled member: [key: string]: any;*/
}
/**
* @record
*/
export function STColumnSelection() { }
if (false) {
/**
* 选择项显示的文字
* @type {?}
*/
STColumnSelection.prototype.text;
/**
* 选择项点击回调,允许对参数 `data.checked` 进行操作
* @type {?}
*/
STColumnSelection.prototype.select;
/**
* 权限,等同 `can()` 参数值
* @type {?|undefined}
*/
STColumnSelection.prototype.acl;
}
/**
* 当 `type=yn` 有效
* @record
*/
export function STColumnYn() { }
if (false) {
/**
* 真值条件,(默认:`true`)
* @type {?|undefined}
*/
STColumnYn.prototype.truth;
/**
* 徽章 `true` 时文本,(默认:`是`)
* @type {?|undefined}
*/
STColumnYn.prototype.yes;
/**
* 徽章 `false` 时文本,(默认:`否`)
* @type {?|undefined}
*/
STColumnYn.prototype.no;
/**
* 徽章显示风格
* - `full` 图标和文本
* - `icon` 图标
* - `text` 文本
* @type {?|undefined}
*/
STColumnYn.prototype.mode;
}
/**
* @record
*/
export function STIcon() { }
if (false) {
/**
* 图标类型
* @type {?}
*/
STIcon.prototype.type;
/**
* 图标主题风格,默认:`outline`
* @type {?|undefined}
*/
STIcon.prototype.theme;
/**
* 是否有旋转动画,默认:`false`
* @type {?|undefined}
*/
STIcon.prototype.spin;
/**
* 仅适用双色图标,设置双色图标的主要颜色,仅对当前 icon 生效
* @type {?|undefined}
*/
STIcon.prototype.twoToneColor;
/**
* 指定来自 IconFont 的图标类型
* @type {?|undefined}
*/
STIcon.prototype.iconfont;
}
/**
* 按钮配置
* @record
*/
export function STColumnButton() { }
if (false) {
/**
* 文本
* @type {?|undefined}
*/
STColumnButton.prototype.text;
/**
* 文本 i18n
* @type {?|undefined}
*/
STColumnButton.prototype.i18n;
/**
* 图标
* @type {?|undefined}
*/
STColumnButton.prototype.icon;
/**
* 按钮类型
* - `none` 无任何互动
* - `del` 删除,默认开启 `pop: true`
* - `modal` 对话框,需要指定 `component` 才会生效
* - `static` 静态对话框,需要指定 `component` 才会生效
* - `drawer` 抽屉,需要指定 `component` 才会生效
* - `link` 链接,当 `click` 返回字符串时自动调用 `navigateByUrl` 导航
* - `divider` 分割线
* @type {?|undefined}
*/
STColumnButton.prototype.type;
/**
* 点击回调
* - Function
* - `type=modal` 只会在当有传回值时才会触发回调
* - reload:重新刷新当前页
* - load:重新加载数据,并重置页码为:`1`
*
* \@todo Bad parameter design
* @type {?|undefined}
*/
STColumnButton.prototype.click;
/**
* 气泡确认框参数,若 `string` 类型表示标题
* @type {?|undefined}
*/
STColumnButton.prototype.pop;
/**
* 对话框参数
* @type {?|undefined}
*/
STColumnButton.prototype.modal;
/**
* 抽屉参数
* @type {?|undefined}
*/
STColumnButton.prototype.drawer;
/**
* 下拉菜单,当存在时以 `dropdown` 形式渲染
* - 只支持一级
* @type {?|undefined}
*/
STColumnButton.prototype.children;
/**
* 权限,等同 [ACLCanType](https://ohayojp.com/acl/getting-started/#ACLCanType) 参数值
* @type {?|undefined}
*/
STColumnButton.prototype.acl;
/**
* Conditional expression
*
* \@todo Bad parameter design
* @type {?|undefined}
*/
STColumnButton.prototype.iif;
/**
* Conditional expression rendering behavior, can be set to `hide` (default) or `disabled`
* @type {?|undefined}
*/
STColumnButton.prototype.iifBehavior;
/** @type {?|undefined} */
STColumnButton.prototype.tooltip;
/**
* 按钮 `class` 属性值(注:无须 `.` 点)多个用空格隔开,例如:
* - `text-success` 成功色
* - `text-error` 错误色
* @type {?|undefined}
*/
STColumnButton.prototype.className;
/* Skipping unhandled member: [key: string]: any;*/
}
/**
* @record
*/
export function STColumnButtonOK() { }
if (false) {
/** @type {?} */
STColumnButtonOK.prototype.record;
/**
* Modal or drawer return value when trigger confirm.
* @type {?|undefined}
*/
STColumnButtonOK.prototype.ret;
/** @type {?|undefined} */
STColumnButtonOK.prototype.instance;
/** @type {?} */
STColumnButtonOK.prototype.event;
}
/**
* @record
*/
export function STColumnButtonModal() { }
if (false) {
/**
* 对话框组件对象
* @type {?|undefined}
*/
STColumnButtonModal.prototype.component;
/**
* 对话框参数
* @type {?|undefined}
*/
STColumnButtonModal.prototype.params;
/**
* 对话框目标组件的接收参数名,默认:`record`
* @type {?|undefined}
*/
STColumnButtonModal.prototype.paramsName;
}
/**
* @record
*/
export function STColumnButtonModalConfig() { }
if (false) {
/**
* 指定模态框目标组件的接收参数名,默认:`record`
* @type {?|undefined}
*/
STColumnButtonModalConfig.prototype.paramsName;
/**
* 大小;例如:lg、600,默认:`lg`
* @type {?|undefined}
*/
STColumnButtonModalConfig.prototype.size;
/**
* 对话框 [ModalOptions](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/modal/modal-types.ts) 参数
* @type {?|undefined}
*/
STColumnButtonModalConfig.prototype.modalOptions;
/**
* 是否精准(默认:`true`),若返回值非空值(`null`或`undefined`)视为成功,否则视为错误
* @type {?|undefined}
*/
STColumnButtonModalConfig.prototype.exact;
}
/**
* @record
*/
export function STColumnButtonDrawer() { }
if (false) {
/**
* 标题
* @type {?|undefined}
*/
STColumnButtonDrawer.prototype.title;
/**
* 抽屉组件对象
* @type {?|undefined}
*/
STColumnButtonDrawer.prototype.component;
/**
* 抽屉参数
* @type {?|undefined}
*/
STColumnButtonDrawer.prototype.params;
/**
* 抽屉目标组件的接收参数名,默认:`record`
* @type {?|undefined}
*/
STColumnButtonDrawer.prototype.paramsName;
}
/**
* @record
*/
export function STColumnButtonDrawerConfig() { }
if (false) {
/**
* 抽屉目标组件的接收参数名,默认:`record`
* @type {?|undefined}
*/
STColumnButtonDrawerConfig.prototype.paramsName;
/**
* 大小;例如:lg、600,默认:`md`
*
* | 类型 | 默认大小 |
* | --- | ------ |
* | `sm` | `300` |
* | `md` | `600` |
* | `lg` | `900` |
* | `xl` | `1200` |
*
* > 以上值,可通过覆盖相应的LESS参数自行调整
* @type {?|undefined}
*/
STColumnButtonDrawerConfig.prototype.size;
/**
* 是否包含底部工具条,默认:`true`
* @type {?|undefined}
*/
STColumnButtonDrawerConfig.prototype.footer;
/**
* 底部工具条高度,默认:`55`
* @type {?|undefined}
*/
STColumnButtonDrawerConfig.prototype.footerHeight;
/**
* 抽屉 [NzDrawerOptions](https://ng.ant.design/components/drawer/zh#nzdraweroptions) 参数
* @type {?|undefined}
*/
STColumnButtonDrawerConfig.prototype.drawerOptions;
}
/**
* @record
*/
export function STColumnButtonPop() { }
if (false) {
/**
* Title of the popover, default: `确认删除吗?`
* @type {?|undefined}
*/
STColumnButtonPop.prototype.title;
/**
* Popover trigger mode, default: `click`
* @type {?|undefined}
*/
STColumnButtonPop.prototype.trigger;
/**
* The position of the popover relative to the target, default: `top`
* @type {?|undefined}
*/
STColumnButtonPop.prototype.placement;
/**
* Class name of the popover card
* @type {?|undefined}
*/
STColumnButtonPop.prototype.overlayClassName;
/**
* Style of the popover card
* @type {?|undefined}
*/
STColumnButtonPop.prototype.overlayStyle;
/**
* Text of the Cancel button
* @type {?|undefined}
*/
STColumnButtonPop.prototype.cancelText;
/**
* Text of the Confirm button
* @type {?|undefined}
*/
STColumnButtonPop.prototype.okText;
/**
* Button `type` of the Confirm button
* @type {?|undefined}
*/
STColumnButtonPop.prototype.okType;
/**
* Customize icon of confirmation
* @type {?|undefined}
*/
STColumnButtonPop.prototype.icon;
/**
* Whether to directly emit `onConfirm` without showing Popconfirm, default: `() => false`
* @type {?|undefined}
*/
STColumnButtonPop.prototype.condition;
}
/**
* @record
*/
export function STReqReNameType() { }
if (false) {
/** @type {?|undefined} */
STReqReNameType.prototype.pi;
/** @type {?|undefined} */
STReqReNameType.prototype.ps;
/** @type {?|undefined} */
STReqReNameType.prototype.skip;
/** @type {?|undefined} */
STReqReNameType.prototype.limit;
}
/**
* @record
*/
export function STResReNameType() { }
if (false) {
/** @type {?|undefined} */
STResReNameType.prototype.total;
/** @type {?|undefined} */
STResReNameType.prototype.list;
}
/**
* @record
*/
export function STExportOptions() { }
if (false) {
/**
* Specify the currently exported data, default the current table data
* @type {?|undefined}
*/
STExportOptions.prototype.data;
/**
* Specify the currently exported column configuration, default the current table data
* @type {?|undefined}
*/
STExportOptions.prototype.columens;
/**
* 工作溥名
* @type {?|undefined}
*/
STExportOptions.prototype.sheetname;
/**
* 文件名
* @type {?|undefined}
*/
STExportOptions.prototype.filename;
/**
* triggers when saveas
* @type {?|undefined}
*/
STExportOptions.prototype.callback;
}
/**
* 单排序规则
* - 若不指定,则返回:`columnName=ascend|descend`
* - 若指定,则返回:`sort=columnName.(ascend|descend)`
* @record
*/
export function STSingleSort() { }
if (false) {
/**
* 请求参数名,默认:`sort`
* @type {?|undefined}
*/
STSingleSort.prototype.key;
/**
* 列名与状态间分隔符,默认:`.`
* @type {?|undefined}
*/
STSingleSort.prototype.nameSeparator;
}
/**
* 多排序相同排序 key 时合并规则
* @record
*/
export function STMultiSort() { }
if (false) {
/**
* 请求参数名,默认:`sort`
* @type {?|undefined}
*/
STMultiSort.prototype.key;
/**
* 不同属性间分隔符,默认:`-`
* @type {?|undefined}
*/
STMultiSort.prototype.separator;
/**
* 列名与状态间分隔符,默认:`.`
* @type {?|undefined}
*/
STMultiSort.prototype.nameSeparator;
/**
* 是否以数组的形式传递参数,默认:`false`
* - `true` 表示使用 `url?sort=name.asc&sort=age.desc` 形式
* - `false` 表示使用 `url?sort=name.asc-age.desc` 形式
* @type {?|undefined}
*/
STMultiSort.prototype.arrayParam;
/**
* 是否保持空值的键名,默认:`true`
* - `true` 表示不管是否有排序都会发送 `key` 键名
* - `false` 表示无排序动作时不会发送 `key` 键名
* @type {?|undefined}
*/
STMultiSort.prototype.keepEmptyKey;
/**
* ## 仅限全局配置项有效
*
* 是否全局多排序模式,默认:`true`
* - `true` 表示所有 `st` 默认为多排序
* - `false` 表示需要为每个 `st` 添加 `multiSort` 才会视为多排序模式
* @type {?|undefined}
*/
STMultiSort.prototype.global;
}
/**
* 徽标信息
* @record
*/
export function STColumnBadge() { }
/**
* @record
*/
export function STColumnBadgeValue() { }
if (false) {
/**
* 文本
* @type {?|undefined}
*/
STColumnBadgeValue.prototype.text;
/**
* 徽标颜色值
* @type {?|undefined}
*/
STColumnBadgeValue.prototype.color;
}
/**
* 标签信息
* @record
*/
export function STColumnTag() { }
/**
* @record
*/
export function STColumnTagValue() { }
if (false) {
/**
* 文本
* @type {?|undefined}
*/
STColumnTagValue.prototype.text;
/**
* 颜色值,支持预设和色值
* - 预设:geekblue,blue,purple,success,red,volcano,orange,gold,lime,green,cyan
* - 色值:#f50,#ff0
* @type {?|undefined}
*/
STColumnTagValue.prototype.color;
}
/**
* 回调数据
* @record
*/
export function STChange() { }
if (false) {
/**
* 回调类型
* @type {?}
*/
STChange.prototype.type;
/**
* 当前页码
* @type {?}
*/
STChange.prototype.pi;
/**
* 每页数量
* @type {?}
*/
STChange.prototype.ps;
/**
* 数据总量
* @type {?}
*/
STChange.prototype.total;
/**
* `loaded` 参数
* @type {?|undefined}
*/
STChange.prototype.loaded;
/**
* `checkbox` 参数
* @type {?|undefined}
*/
STChange.prototype.checkbox;
/**
* `radio` 参数
* @type {?|undefined}
*/
STChange.prototype.radio;
/**
* 排序参数
* @type {?|undefined}
*/
STChange.prototype.sort;
/**
* 过滤参数
* @type {?|undefined}
*/
STChange.prototype.filter;
/**
* 行点击参数
* @type {?|undefined}
*/
STChange.prototype.click;
/**
* 行双击参数
* @type {?|undefined}
*/
STChange.prototype.dblClick;
/**
* `expand` 参数
* @type {?|undefined}
*/
STChange.prototype.expand;
/**
* `resize` 参数
* @type {?|undefined}
*/
STChange.prototype.resize;
}
/**
* 行单击参数
* @record
*/
export function STChangeSort() { }
if (false) {
/** @type {?|undefined} */
STChangeSort.prototype.value;
/** @type {?|undefined} */
STChangeSort.prototype.map;
/** @type {?|undefined} */
STChangeSort.prototype.column;
}
/**
* 行单击参数
* @record
*/
export function STChangeRowClick() { }
if (false) {
/** @type {?|undefined} */
STChangeRowClick.prototype.e;
/** @type {?|undefined} */
STChangeRowClick.prototype.item;
/** @type {?|undefined} */
STChangeRowClick.prototype.index;
}
/**
* @record
*/
export function STError() { }
if (false) {
/** @type {?|undefined} */
STError.prototype.type;
/** @type {?|undefined} */
STError.prototype.error;
}
/**
* @record
*/
export function STColumnGroupType() { }
if (false) {
/** @type {?} */
STColumnGroupType.prototype.column;
/** @type {?} */
STColumnGroupType.prototype.colStart;
/** @type {?|undefined} */
STColumnGroupType.prototype.colEnd;
/** @type {?|undefined} */
STColumnGroupType.prototype.colSpan;
/** @type {?|undefined} */
STColumnGroupType.prototype.rowSpan;
/** @type {?|undefined} */
STColumnGroupType.prototype.hasSubColumns;
}
/**
* @record
*/
export function STResizable() { }
if (false) {
/**
* Disable resize, Default: `true`
* @type {?|undefined}
*/
STResizable.prototype.disabled;
/**
* Specifies resize boundaries, Default: `window`
* @type {?|undefined}
*/
STResizable.prototype.bounds;
/**
* Maximum width of resizable elemen, Default: `60`
* @type {?|undefined}
*/
STResizable.prototype.maxWidth;
/**
* Minimum width of resizable element, Default: `360`
* @type {?|undefined}
*/
STResizable.prototype.minWidth;
/**
* Enable preview when resizing, Default: `true`
* @type {?|undefined}
*/
STResizable.prototype.preview;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiJDOi9hbmRyb2lkL0BvaGF5b2pwL3BhY2thZ2VzL2NvbXBvbmVudHMvc3QvIiwic291cmNlcyI6WyJzdC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBU0EsaUNBYUM7Ozs7Ozs7O0lBUEMsMkJBQTRCOzs7Ozs7O0lBTTVCLHFDQUFxQzs7Ozs7QUFHdkMsMENBWUM7OztJQVhDLGtDQUFZOztJQUNaLGtDQUFZOztJQUNaLHVDQUFxQjs7Ozs7SUFJckIsNENBQXVCOzs7OztJQUl2QiwwQ0FBcUI7Ozs7O0FBR3ZCLDJCQW1DQzs7Ozs7Ozs7SUE3QkMscUJBQXVCOzs7Ozs7SUFLdkIsdUJBQWE7Ozs7O0lBRWIsdUJBQWdCOzs7OztJQUVoQixxQkFBVzs7Ozs7SUFFWCx3QkFBYzs7Ozs7O0lBS2QsdUJBQXlCOzs7OztJQUl6QiwwQkFBb0I7Ozs7O0lBSXBCLHlCQUFtQjs7Ozs7SUFJbkIsd0JBQWlFOzs7OztBQUduRSxzQ0FnQkM7OztJQWZDLGdDQUFXOztJQUNYLG1DQUlFOztJQUNGLGtDQUlFOztJQUNGLG1DQUF5Qzs7SUFDekMsMENBQXlCOztJQUN6Qix3Q0FBd0Q7O0lBQ3hELDJDQUEwQjs7Ozs7QUFHNUIsbUNBS0M7Ozs7OztJQUhDLDhCQUFnQjs7Ozs7SUFFaEIsOEJBQWdCOzs7OztBQUdsQiwyQkFVQzs7Ozs7OztJQUxDLHVCQUF5Qjs7Ozs7SUFJekIsd0JBQXNEOzs7OztBQUd4RCw0QkE0REM7Ozs7Ozs7O0lBdERDLHVCQUFnQjs7Ozs7SUFJaEIsNkJBQXNCOzs7OztJQUl0QiwwQkFBcUM7Ozs7O0lBSXJDLDJCQUF3Qzs7Ozs7SUFJeEMsc0JBQWU7Ozs7O0lBSWYsMEJBQW1COzs7OztJQUluQiwyQkFBcUI7Ozs7O0lBSXJCLGlDQUEwQjs7Ozs7SUFJMUIsNEJBQTZEOzs7OztJQUk3RCx3QkFBaUI7Ozs7Ozs7Ozs7SUFTakIsdUJBQXlCOzs7OztJQUl6Qix1QkFB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eyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBQ0xDYW5UeXBlIH0gZnJvbSAnQG9oYXlvL2FjbCc7XG5pbXBvcnQgeyBEcmF3ZXJIZWxwZXJPcHRpb25zLCBNb2RhbEhlbHBlck9wdGlvbnMsIFlOTW9kZSB9IGZyb20gJ0BvaGF5by90aGVtZSc7XG5pbXBvcnQgeyBOekRyYXdlck9wdGlvbnMgfSBmcm9tICduZy16b3Jyby1hbnRkL2RyYXdlcic7XG5pbXBvcnQgeyBNb2RhbE9wdGlvbnMgfSBmcm9tICduZy16b3Jyby1hbnRkL21vZGFsJztcbmltcG9ydCB7IFBhZ2luYXRpb25JdGVtUmVuZGVyQ29udGV4dCB9IGZyb20gJ25nLXpvcnJvLWFudGQvcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTVENvbXBvbmVudCB9IGZyb20gJy4vc3QuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBTVFdpZHRoTW9kZSB7XG4gIC8qKlxuICAgKiDlrr3luqbnsbvlnotcbiAgICogLSBgZGVmYXVsdGAg6buY6K6k6KGM5Li6XG4gICAqIC0gYHN0cmljdGAg5Lil5qC85qih5byP77yM5Y2z5by65Yi25oyJIGB3aWR0aGAg5oyH5a6a55qE5a695bqm5ZGI546w77yM5bm25qC55o2uIGBzdHJpY3RCZWhhdmlvcmAg57G75Z6L5aSE55CGXG4gICAqL1xuICB0eXBlPzogJ3N0cmljdCcgfCAnZGVmYXVsdCc7XG4gIC8qKlxuICAgKiDkuKXmoLzmqKHlvI/nmoTlpITnkIbooYzkuLpcbiAgICogLSBgd3JhcGAg5by65Yi25o2i6KGMXG4gICAqIC0gYHRydW5jYXRlYCDmiKrnn61cbiAgICovXG4gIHN0cmljdEJlaGF2aW9yPzogJ3dyYXAnIHwgJ3RydW5jYXRlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTVFJlc2V0Q29sdW1uc09wdGlvbiB7XG4gIHBpPzogbnVtYmVyO1xuICBwcz86IG51bWJlcjtcbiAgY29sdW1ucz86IFNUQ29sdW1uW107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZS1jbGVhciBkYXRhLCBEZWZhdWx0OiBgZmFsc2VgXG4gICAqL1xuICBwcmVDbGVhckRhdGE/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byB0cmlnZ2VyIGEgZGF0YSBsb2FkLCBEZWZhdWx0OiBgdHJ1ZWBcbiAgICovXG4gIGVtaXRSZWxvYWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNUUmVxIHtcbiAgLyoqXG4gICAqIOWIhumhteexu+Wei++8jOm7mOiupO+8mmBwYWdlYFxuICAgKiAtIGBwYWdlYCDkvb/nlKggYHBpYO+8jGBwc2Ag57uE5ZCIXG4gICAqIC0gYHNraXBgIOS9v+eUqCBgc2tpcGDvvIxgbGltaXRgIOe7hOWQiFxuICAgKi9cbiAgdHlwZT86ICdwYWdlJyB8ICdza2lwJztcbiAgLyoqXG4gICAqIOmineWkluivt+axguWPguaVsO+8jOm7mOiupOiHquWKqOmZhOWKoCBgcGlg44CBYHBzYCDoh7NVUkxcbiAgICogLSBgeyBzdGF0dXM6ICduZXcnIH1gID0+IGB1cmw/cGk9MSZwcz0xMCZzdGF0dXM9bmV3YFxuICAgKi9cbiAgcGFyYW1zPzogYW55O1xuICAvKiog6K+35rGC5pa55rOV77yM6buY6K6k77yaYEdFVGAgKi9cbiAgbWV0aG9kPzogc3RyaW5nO1xuICAvKiog6K+35rGC5L2TIGBib2R5YCAqL1xuICBib2R5PzogYW55O1xuICAvKiog6K+35rGC5L2TIGBIZWFkZXJgICovXG4gIGhlYWRlcnM/OiBhbnk7XG4gIC8qKlxuICAgKiDph43lkb3lkI3lj4LmlbAgYHBpYOOAgWBwc2DvvIzpu5jorqTvvJpgeyBwaTogJ3BpJywgcHM6ICdwcycgfWBcbiAgICogLSBgeyBwaTogJ1BhZ2UnIH1gID0+IGBwaWAg5Lya6KKr5pu/5o2i5oiQIFBhZ2VcbiAgICovXG4gIHJlTmFtZT86IFNUUmVxUmVOYW1lVHlwZTtcbiAgLyoqXG4gICAqIOaYr+WQpuWwhuivt+axguaJgOacieWPguaVsOaVsOaNrumDveaUvuWFpSBgYm9keWAg5b2T5Lit77yIYHVybGAg5Zyw5Z2A5pys6Lqr5Y+C5pWw6Zmk5aSW77yJ77yM5LuF5b2TIGBtZXRob2Q6ICdQT1NUJ2Ag5pe25pyJ5pWI77yM6buY6K6k77yaYGZhbHNlYFxuICAgKi9cbiAgYWxsSW5Cb2R5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaYr+WQpuW7tui/n+WKoOi9veaVsOaNru+8jOWNs+a4suafk+e7k+adn+WQjuS4jeS8muS4u+WKqOWPkei1t+ivt+axgu+8jOm7mOiupO+8mmBmYWxzZWBcbiAgICovXG4gIGxhenlMb2FkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOivt+axguWJjeaVsOaNruWkhOeQhlxuICAgKi9cbiAgcHJvY2Vzcz86IChyZXF1ZXN0T3B0aW9uczogU1RSZXF1ZXN0T3B0aW9ucykgPT4gU1RSZXF1ZXN0T3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTVFJlcXVlc3RPcHRpb25zIHtcbiAgYm9keT86IGFueTtcbiAgaGVhZGVycz86XG4gIHwgSHR0cEhlYWRlcnNcbiAgfCB7XG4gICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIHBhcmFtcz86XG4gIHwgSHR0cFBhcmFtc1xuICB8IHtcbiAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICBvYnNlcnZlPzogJ2JvZHknIHwgJ2V2ZW50cycgfCAncmVzcG9uc2UnO1xuICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gIHJlc3BvbnNlVHlwZT86ICdhcnJheWJ1ZmZlcicgfCAnYmxvYicgfCAnanNvbicgfCAndGV4dCc7XG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RMb2FkT3B0aW9ucyB7XG4gIC8qKiDmmK/lkKblkIjlubbvvIzpu5jorqTvvJpgZmFsc2VgICovXG4gIG1lcmdlPzogYm9vbGVhbjtcbiAgLyoqIOaYr+WQpui3s+i9rOiHs+mhtumDqO+8jOiLpeS4jeaMh+WumueUsSBgcGFnZS50b1RvcGAg5p2l5Yaz5a6aICovXG4gIHRvVG9wPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTVFJlcyB7XG4gIC8qKlxuICAgKiDph43lkb3lkI3ov5Tlm57lj4LmlbAgYHRvdGFsYOOAgWBsaXN0YFxuICAgKiAtIGB7IHRvdGFsOiAnVG90YWwnIH1gID0+IFRvdGFsIOS8muiiq+W9k+S9nCBgdG90YWxgXG4gICAqL1xuICByZU5hbWU/OiBTVFJlc1JlTmFtZVR5cGU7XG4gIC8qKlxuICAgKiDmlbDmja7pooTlpITnkIZcbiAgICovXG4gIHByb2Nlc3M/OiAoZGF0YTogU1REYXRhW10sIHJhd0RhdGE/OiBhbnkpID0+IFNURGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNUUGFnZSB7XG4gIC8qKlxuICAgKiDliY3nq6/liIbpobXvvIzlvZMgYGRhdGFgIOS4umBhbnlbXWAg5oiWIGBPYnNlcnZhYmxlPGFueVtdPmAg5pyJ5pWI77yM6buY6K6k77yaYHRydWVgXG4gICAqIC0gYHRydWVgIOeUsSBgc3RgIOagueaNriBgZGF0YWAg6ZW/5bqm5Y+X5o6n5YiG6aG177yM5YyF5ous77ya5o6S5bqP44CB6L+H5ruk562JXG4gICAqIC0gYGZhbHNlYCDnlLHnlKjmiLfpgJrov4cgYHRvdGFsYCDlkowgYGRhdGFgIOWPguaVsOWPl+aOp+WIhumhte+8jOW5tue7tOaKpCBgKGNoYW5nZSlgIOW9k+WIhumhteWPmOabtOaXtumHjeaWsOWKoOi9veaVsOaNrlxuICAgKi9cbiAgZnJvbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICog5ZCO56uv5YiG6aG15piv5ZCm6YeH55SoYDBg5Z+657Si5byV77yM5Y+q5ZyoYGRhdGFg57G75Z6L5Li6YHN0cmluZ2Dml7bmnInmlYjvvIzpu5jorqTvvJpgZmFsc2VgXG4gICAqL1xuICB6ZXJvSW5kZXhlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiDmjIflrprliIbpobXmmL7npLrnmoTkvY3nva7vvIzpu5jorqTvvJpgYm90dG9tYFxuICAgKi9cbiAgcG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nIHwgJ2JvdGgnO1xuICAvKipcbiAgICog5oyH5a6a5YiG6aG15YiG6aG15pa55ZCR77yM6buY6K6k77yaYHJpZ2h0YFxuICAgKi9cbiAgcGxhY2VtZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAvKipcbiAgICog5piv5ZCm5pi+56S65YiG6aG15Zmo77yM6buY6K6k77yaYHRydWVgXG4gICAqL1xuICBzaG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaYr+WQpuaYvuekuuWIhumhteWZqOS4reaUueWPmOmhteaVsO+8jOm7mOiupO+8mmBmYWxzZWBcbiAgICovXG4gIHNob3dTaXplPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOWIhumhteWZqOS4reavj+mhteaYvuekuuadoeebruaVsOS4i+aLieahhuWAvO+8jOm7mOiupO+8mmBbMTAsIDIwLCAzMCwgNDAsIDUwXWBcbiAgICovXG4gIHBhZ2VTaXplcz86IG51bWJlcltdO1xuICAvKipcbiAgICog5piv5ZCm5pi+56S65YiG6aG15Zmo5Lit5b+r6YCf6Lez6L2s77yM6buY6K6k77yaYGZhbHNlYFxuICAgKi9cbiAgc2hvd1F1aWNrSnVtcGVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOeUqOS6juiHquWumuS5iemhteeggeeahOe7k+aehO+8jOeUqOazleWPgueFpyBQYWdpbmF0aW9uIOe7hOS7tlxuICAgKi9cbiAgaXRlbVJlbmRlcj86IFRlbXBsYXRlUmVmPFBhZ2luYXRpb25JdGVtUmVuZGVyQ29udGV4dD4gfCBudWxsO1xuICAvKipcbiAgICog5b2T5re75Yqg6K+l5bGe5oCn5pe277yM5pi+56S65Li6566A5Y2V5YiG6aG177yM6buY6K6k77yaYGZhbHNlYFxuICAgKi9cbiAgc2ltcGxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaYr+WQpuaYvuekuuaAu+aVsOaNrumHj1xuICAgKiAtIGBib29sZWFuYCDnsbvlnovmmL7npLrkuI7lkKbvvIzpu5jorqTmqKHmnb/vvJpg5YWxIHt7dG90YWx9fSDmnaFgXG4gICAqIC0gYHN0cmluZ2Ag6Ieq5a6a5LmJ5qih5p2/77yM5qih5p2/5Y+Y6YeP77yaXG4gICAqICAtIGB7e3RvdGFsfX1gIOihqOekuuaVsOaNruaAu+mHj1xuICAgKiAgLSBge3tyYW5nZVswXX19YCDooajnpLrlvZPliY3pobXlvIDlp4vmlbDph4/lgLxcbiAgICogIC0gYHt7cmFuZ2VbMV19fWAg6KGo56S65b2T5YmN6aG157uT5p2f5pWw6YeP5YC8XG4gICAqL1xuICB0b3RhbD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKlxuICAgKiDliIfmjaLliIbpobXml7bov5Tlm57pobbpg6jvvIzpu5jorqTvvJpgdHJ1ZWBcbiAgICovXG4gIHRvVG9wPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOi/lOWbnumhtumDqOWBj+enu+WAvO+8jOm7mOiupO+8mmAxMDBgXG4gICAqL1xuICB0b1RvcE9mZnNldD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiDmlbDmja7mupBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTVERhdGEge1xuICAvKipcbiAgICog6YCJ5oup5qGG5oiW5Y2V6YCJ5qGG54q25oCB5YC8XG4gICAqL1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOmAieaLqeahhuaIluWNlemAieahhiBgZGlzYWJsZWRgIOWAvFxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICog5piv5ZCm5bGV5byA54q25oCBXG4gICAqL1xuICBleHBhbmQ/OiBib29sZWFuO1xuICAvKipcbiAgICog5piv5ZCm5pi+56S65bGV5byA5oyJ6ZKuXG4gICAqL1xuICBzaG93RXhwYW5kPzogYm9vbGVhbjtcblxuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbi8qKlxuICog5YiX5o+P6L+wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1RDb2x1bW4ge1xuICAvKipcbiAgICog55So5LqO5a6a5LmJ5pWw5o2u5rqQ5Li76ZSu77yM5L6L5aaC77yaYHN0YXRpc3RpY2FsYFxuICAgKi9cbiAga2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICog5YiX5qCH6aKYXG4gICAqL1xuICB0aXRsZT86IHN0cmluZyB8IFNUQ29sdW1uVGl0bGU7XG4gIC8qKlxuICAgKiDliJfmlbDmja7lnKjmlbDmja7pobnkuK3lr7nlupTnmoQga2V577yM5pSv5oyBIGBhLmIuY2Ag55qE5bWM5aWX5YaZ5rOV77yM5L6L5aaC77yaXG4gICAqIC0gYGlkYFxuICAgKiAtIGBwcmljZS5tYXJrZXRgXG4gICAqIC0gYFsgJ3ByaWNlJywgJ21hcmtldCcgXWBcbiAgICovXG4gIGluZGV4Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICAvKipcbiAgICog57G75Z6LXG4gICAqIC0gYG5vYCDooYzlj7fvvIzorqHnrpfop4TliJnvvJpgaW5kZXggKyBub0luZGV4YFxuICAgKiAtIGBjaGVja2JveGAg5aSa6YCJXG4gICAqIC0gYHJhZGlvYCDljZXpgIlcbiAgICogLSBgbGlua2Ag6ZO+5o6l77yM5Yqh5b+F5oyH5a6aIGBjbGlja2BcbiAgICogLSBgYmFkZ2VgIFvlvr3moIddKGh0dHBzOi8vbmcuYW50LmRlc2lnbi9jb21wb25lbnRzL2JhZGdlL3poKe+8jOWKoeW/heaMh+WumiBgYmFkZ2VgIOWPguaVsOmFjee9ruW+veagh+WvueW6lOWAvFxuICAgKiAtIGB0YWdgIFvmoIfnrb5dKGh0dHBzOi8vbmcuYW50LmRlc2lnbi9jb21wb25lbnRzL3RhZy96aCnvvIzliqHlv4XmjIflrpogYHRhZ2Ag5Y+C5pWw6YWN572u5qCH562+5a+55bqU5YC8XG4gICAqIC0gYGVudW1gIOaemuS4vui9rOaNou+8jOWKoeW/heaMh+WumiBgZW51bWAg5Y+C5pWw6YWN572u5qCH562+5a+55bqU5YC8XG4gICAqIC0gYGltZ2Ag5Zu+54mH5LiU5bGF5LitKOiLpSBgY2xhc3NOYW1lYCDlrZjlnKjliJnkvJjlhYgpXG4gICAqIC0gYG51bWJlcmAg5pWw5a2X5LiU5bGF5Y+zKOiLpSBgY2xhc3NOYW1lYCDlrZjlnKjliJnkvJjlhYgpXG4gICAqIC0gYGN1cnJlbmN5YCDotKfluIHkuJTlsYXlj7Mo6IulIGBjbGFzc05hbWVgIOWtmOWcqOWImeS8mOWFiClcbiAgICogLSBgZGF0ZWAg5pel5pyf5qC85byP5LiU5bGF5LitKOiLpSBgY2xhc3NOYW1lYCDlrZjlnKjliJnkvJjlhYgp77yM5L2/55SoIGBkYXRlRm9ybWF0YCDoh6rlrprkuYnmoLzlvI9cbiAgICogLSBgeW5gIOWwhmBib29sZWFuYOexu+Wei+W+veeroOWMliBbZG9jdW1lbnRdKGh0dHBzOi8vb2hheW9qcC5jb20vZG9jcy9kYXRhLXJlbmRlciN5bilcbiAgICogLSBgd2lkZ2V0YCDkvb/nlKjoh6rlrprkuYnlsI/pg6jku7bliqjmgIHliJvlu7pcbiAgICovXG4gIHR5cGU/OiAnJyB8ICdjaGVja2JveCcgfCAnbGluaycgfCAnYmFkZ2UnIHwgJ3RhZycgfCAnZW51bScgfCAncmFkaW8nIHwgJ2ltZycgfCAnY3VycmVuY3knIHwgJ251bWJlcicgfCAnZGF0ZScgfCAneW4nIHwgJ25vJyB8ICd3aWRnZXQnO1xuICAvKipcbiAgICog6ZO+5o6l5Zue6LCD77yM6Iul6L+U5Zue5LiA5Liq5a2X56ym5Liy6KGo56S65a+86IiqVVJM5Lya6Ieq5Yqo6Kem5Y+RIGByb3V0ZXIubmF2aWdhdGVCeVVybGBcbiAgICovXG4gIGNsaWNrPzogKHJlY29yZDogU1REYXRhLCBpbnN0YW5jZT86IFNUQ29tcG9uZW50KSA9PiBhbnk7XG4gIC8qKlxuICAgKiDmjInpkq7nu4RcbiAgICovXG4gIGJ1dHRvbnM/OiBTVENvbHVtbkJ1dHRvbltdO1xuICAvKipcbiAgICog6Ieq5a6a5LmJ5riy5p+TSURcbiAgICogQGV4YW1wbGVcbiAgICogPG5nLXRlbXBsYXRlIHN0LXJvdz1cImN1c3RvbVwiIGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCIgbGV0LWNvbHVtbj1cImNvbHVtblwiPlxuICAgKiAge3sgYy50aXRsZSB9fVxuICAgKiA8L25nLXRlbXBsYXRlPlxuICAgKi9cbiAgcmVuZGVyPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4gfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogU1REYXRhOyBpbmRleDogbnVtYmVyIH0+O1xuICAvKipcbiAgICog5qCH6aKY6Ieq5a6a5LmJ5riy5p+TSURcbiAgICogQGV4YW1wbGVcbiAgICogPG5nLXRlbXBsYXRlIHN0LXJvdz1cImN1c3RvbVwiIHR5cGU9XCJ0aXRsZVwiIGxldC1jPlxuICAgKiAge3sgaXRlbSB8IGpzb24gfX1cbiAgICogPC9uZy10ZW1wbGF0ZT5cbiAgICovXG4gIHJlbmRlclRpdGxlPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4gfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogU1RDb2x1bW47IGluZGV4OiBudW1iZXIgfT47XG4gIC8qKlxuICAgKiDliJflrr3vvIjmlbDlrZflnovooajnpLogYHB4YCDlgLzvvInvvIzkvovlpoLvvJpgMTAwYOOAgWAxMCVg44CBYDEwMHB4YFxuICAgKlxuICAgKiAqKuazqOaEj++8mioqIOiLpeWbuuWumuWIl+W/hemhu+aYr+aVsOWtl1xuICAgKi9cbiAgd2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKlxuICAgKiDmjpLluo/phY3nva7pobnvvIzov5znqIvmlbDmja7phY3nva4qKuS8mOWFiCoq6KeE5YiZ77yaXG4gICAqIC0gYHRydWVgIOihqOekuuWFgeiuuOaOkuW6j++8jOS4lOiLpeaVsOaNrua6kOS4uuacrOWcsOaXtuiHquWKqOeUn+aIkCBgY29tcGFyZTogKGEsIGIpID0+IGFbaW5kZXhdIC0gYltpbmRleF1gIOaWueazlVxuICAgKiAtIGBzdHJpbmdgIOihqOekuui/nOeoi+aVsOaNruaOkuW6j+ebuOWvueW6lCBga2V5YCDlgLxcbiAgICovXG4gIHNvcnQ/OiB0cnVlIHwgc3RyaW5nIHwgU1RDb2x1bW5Tb3J0O1xuICAvKipcbiAgICog6L+H5ruk6YWN572u6aG5XG4gICAqL1xuICBmaWx0ZXI/OiBTVENvbHVtbkZpbHRlcjtcbiAgLyoqXG4gICAqIOagvOW8j+WMluWIl+WAvFxuICAgKi9cbiAgZm9ybWF0PzogKGl0ZW06IFNURGF0YSwgY29sOiBTVENvbHVtbiwgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nO1xuICAvKipcbiAgICog6Ieq5a6a5LmJ5YWoL+WPjemAiemAieaLqemhuVxuICAgKi9cbiAgc2VsZWN0aW9ucz86IFNUQ29sdW1uU2VsZWN0aW9uW107XG4gIC8qKlxuICAgKiDliJcgYGNsYXNzYCDlsZ7mgKflgLzvvIjms6jvvJrml6DpobsgYC5gIOeCue+8ieWkmuS4queUqOepuuagvOmalOW8gO+8jOS+i+Wmgu+8mlxuICAgKiAtIGB0ZXh0LWNlbnRlcmAg5bGF5LitXG4gICAqIC0gYHRleHQtcmlnaHRgIOWxheWPs1xuICAgKiAtIGB0ZXh0LXN1Y2Nlc3NgIOaIkOWKn+iJslxuICAgKiAtIGB0ZXh0LWVycm9yYCDlvILluLjoibJcbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIC8qKlxuICAgKiDlkIjlubbliJdcbiAgICovXG4gIGNvbFNwYW4/OiBudW1iZXI7XG4gIC8qKlxuICAgKiDmlbDlrZfmoLzlvI/vvIxgdHlwZT1udW1iZXJgIOacieaViFxuICAgKi9cbiAgbnVtYmVyRGlnaXRzPzogc3RyaW5nO1xuICAvKipcbiAgICog5pel5pyf5qC85byP77yMYHR5cGU9ZGF0ZWAg5pyJ5pWI77yM77yI6buY6K6k77yaYHl5eXktTU0tZGQgSEg6bW1g77yJXG4gICAqL1xuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xuICAvKipcbiAgICog5b2TIGB0eXBlPXluYCDmnInmlYhcbiAgICovXG4gIHluPzogU1RDb2x1bW5ZbjtcbiAgLyoqXG4gICAqIOaYr+WQpuWFgeiuuOWvvOWHuu+8jOm7mOiupCBgdHJ1ZWBcbiAgICovXG4gIGV4cG9ydGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIOadg+mZkO+8jOetieWQjCBbQUNMQ2FuVHlwZV0oaHR0cHM6Ly9vaGF5b2pwLmNvbS9hY2wvZ2V0dGluZy1zdGFydGVkLyNBQ0xDYW5UeXBlKSDlj4LmlbDlgLxcbiAgICovXG4gIGFjbD86IEFDTENhblR5cGU7XG4gIC8qKiDlvZPkuI3lrZjlnKjmlbDmja7ml7bku6Xpu5jorqTlgLzmm7/ku6MgKi9cbiAgZGVmYXVsdD86IHN0cmluZztcbiAgLyoqXG4gICAqIOWbuuWumuWJjeWQjuWIl++8jOW9k+aMh+WumuaXtuWKoeW/heaMh+WumiBgd2lkdGhgIOWQpuWImeinhuS4uuaXoOaViO+8jOacieiLpeW5siAqKuazqOaEj++8mioqIOmhue+8mlxuICAgKlxuICAgKiAtIOiLpeWIl+WktOS4juWGheWuueS4jeWvuem9kOaIluWHuueOsOWIl+mHjeWkje+8jOivt+aMh+WumuWIl+eahOWuveW6piBgd2lkdGhgXG4gICAqIC0