amis 1.4.1 → 1.4.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/Schema.d.ts +17 -0
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert.js +3 -1
- package/lib/components/Alert.js.map +2 -2
- package/lib/components/Badge.d.ts +2 -2
- package/lib/components/Badge.js +12 -6
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.js +1 -1
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +91 -0
- package/lib/components/Link.js +44 -0
- package/lib/components/Link.js.map +13 -0
- package/lib/components/MonthRangePicker.js +1 -1
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/RichText.js +17 -53
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.js +3 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/SparkLine.d.ts +85 -84
- package/lib/components/SparkLine.js +2 -2
- package/lib/components/SparkLine.js.map +2 -2
- package/lib/components/Toast.js +2 -2
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Tree.js +5 -3
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/icons.js +12 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/icons/clock.js +10 -0
- package/lib/icons/status-close.js +11 -0
- package/lib/icons/status-fail.js +11 -0
- package/lib/icons/status-info.js +10 -0
- package/lib/icons/status-success.js +11 -0
- package/lib/icons/status-warning.js +10 -0
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +2 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +3 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +7 -0
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.js +21 -6
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Collapse.js +2 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.js +0 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +0 -3
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +5 -1
- package/lib/renderers/DropDownButton.js +8 -6
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -0
- package/lib/renderers/Form/Checkbox.js +4 -0
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.js +2 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +2 -2
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +5 -3
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Options.js +6 -3
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Picker.js +2 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +2 -2
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +2 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.d.ts +1 -0
- package/lib/renderers/Image.js +15 -1
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Link.d.ts +16 -3
- package/lib/renderers/Link.js +16 -13
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/Log.d.ts +2 -2
- package/lib/renderers/Log.js +7 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Nav.d.ts +62 -36
- package/lib/renderers/Nav.js +248 -90
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
- package/lib/renderers/Table/ColumnToggler.js +216 -0
- package/lib/renderers/Table/ColumnToggler.js.map +13 -0
- package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
- package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
- package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
- package/lib/renderers/Table/TableBody.d.ts +4 -0
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +14 -1
- package/lib/renderers/Table/index.js +116 -36
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/store/table.d.ts +257 -1
- package/lib/store/table.js +41 -6
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +393 -90
- package/lib/themes/ang.css +393 -90
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +393 -90
- package/lib/themes/antd.css +393 -90
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +904 -263
- package/lib/themes/cxd.css +904 -263
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +393 -90
- package/lib/themes/dark.css +393 -90
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +904 -263
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +4 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/handleAction.d.ts +7 -0
- package/lib/utils/handleAction.js +30 -0
- package/lib/utils/handleAction.js.map +13 -0
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +3 -3
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -1
- package/lib/utils/tpl-builtin.js +25 -15
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +322 -261
- package/scss/_properties.scss +39 -4
- package/scss/_utilities.scss +4 -0
- package/scss/components/_button.scss +4 -5
- package/scss/components/_collapse.scss +26 -8
- package/scss/components/_column-toggler.scss +234 -0
- package/scss/components/_dropdown.scss +2 -1
- package/scss/components/_images.scss +2 -1
- package/scss/components/_link.scss +6 -0
- package/scss/components/_nav.scss +231 -223
- package/scss/components/_page.scss +5 -4
- package/scss/components/_progress.scss +2 -0
- package/scss/components/_steps.scss +1 -1
- package/scss/components/_table.scss +25 -1
- package/scss/components/form/_color.scss +1 -0
- package/scss/components/form/_date-range.scss +2 -0
- package/scss/components/form/_date.scss +2 -0
- package/scss/components/form/_fieldset.scss +1 -2
- package/scss/components/form/_file.scss +5 -4
- package/scss/components/form/_image.scss +7 -2
- package/scss/components/form/_list.scss +1 -0
- package/scss/components/form/_location.scss +1 -1
- package/scss/components/form/_text.scss +13 -0
- package/scss/components/form/_textarea.scss +10 -0
- package/scss/components/form/_transfer.scss +2 -0
- package/scss/themes/_common.scss +2 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +215 -90
- package/scss/themes/cxd.scss +366 -0
- package/sdk/ang-ie11.css +569 -235
- package/sdk/ang.css +512 -151
- package/sdk/antd-ie11.css +558 -224
- package/sdk/antd.css +512 -151
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1506 -870
- package/sdk/cxd.css +1064 -324
- package/sdk/dark-ie11.css +569 -235
- package/sdk/dark.css +512 -151
- package/sdk/exceljs.js +1 -1
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +2 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +22 -22
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1506 -870
- package/sdk/sdk.css +1064 -324
- package/sdk/sdk.js +1138 -1118
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +18 -0
- package/src/components/Alert.tsx +3 -1
- package/src/components/Badge.tsx +36 -24
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- package/src/components/InputBox.tsx +1 -1
- package/src/components/Link.tsx +94 -0
- package/src/components/MonthRangePicker.tsx +10 -2
- package/src/components/RichText.tsx +17 -57
- package/src/components/Select.tsx +3 -0
- package/src/components/SparkLine.tsx +4 -1
- package/src/components/Toast.tsx +5 -5
- package/src/components/Tree.tsx +6 -8
- package/src/components/icons.tsx +13 -0
- package/src/icons/clock.svg +1 -0
- package/src/icons/status-close.svg +10 -0
- package/src/icons/status-fail.svg +10 -0
- package/src/icons/status-info.svg +8 -0
- package/src/icons/status-success.svg +10 -0
- package/src/icons/status-warning.svg +8 -0
- package/src/locale/de-DE.ts +2 -0
- package/src/locale/en-US.ts +2 -0
- package/src/locale/zh-CN.ts +3 -1
- package/src/renderers/Action.tsx +5 -0
- package/src/renderers/CRUD.tsx +31 -26
- package/src/renderers/Collapse.tsx +1 -1
- package/src/renderers/Dialog.tsx +0 -4
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +19 -14
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/InputFile.tsx +2 -1
- package/src/renderers/Form/InputImage.tsx +5 -2
- package/src/renderers/Form/Options.tsx +16 -5
- package/src/renderers/Form/Picker.tsx +3 -2
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/IFrame.tsx +2 -1
- package/src/renderers/Image.tsx +10 -0
- package/src/renderers/Link.tsx +36 -11
- package/src/renderers/Log.tsx +16 -3
- package/src/renderers/Nav.tsx +255 -100
- package/src/renderers/SparkLine.tsx +5 -0
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/index.tsx +179 -47
- package/src/store/table.ts +57 -6
- package/src/utils/api.ts +13 -4
- package/src/utils/handleAction.ts +41 -0
- package/src/utils/helper.ts +4 -4
- package/src/utils/tpl-builtin.ts +48 -17
- package/sdk.zip +0 -0
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { RendererProps } from '../../factory';
|
3
3
|
import { SchemaNode, Action } from '../../types';
|
4
|
+
import './ColumnToggler';
|
4
5
|
import { ITableStore, IColumn, IRow } from '../../store/table';
|
5
6
|
import Sortable from 'sortablejs';
|
6
7
|
import { TableCell } from './TableCell';
|
@@ -9,6 +10,7 @@ import { SchemaPopOver } from '../PopOver';
|
|
9
10
|
import { SchemaQuickEdit } from '../QuickEdit';
|
10
11
|
import { SchemaCopyable } from '../Copyable';
|
11
12
|
import { SchemaRemark } from '../Remark';
|
13
|
+
import { BadgeSchema } from '../../components/Badge';
|
12
14
|
/**
|
13
15
|
* 表格列,不指定类型时默认为文本类型。
|
14
16
|
*/
|
@@ -48,7 +50,7 @@ export declare type TableColumnObject = {
|
|
48
50
|
/**
|
49
51
|
* 是否可快速搜索
|
50
52
|
*/
|
51
|
-
searchable?: boolean;
|
53
|
+
searchable?: boolean | SchemaObject;
|
52
54
|
/**
|
53
55
|
* 配置是否默认展示
|
54
56
|
*/
|
@@ -191,6 +193,14 @@ export interface TableSchema extends BaseSchema {
|
|
191
193
|
* 行样式表表达式
|
192
194
|
*/
|
193
195
|
rowClassNameExpr?: string;
|
196
|
+
/**
|
197
|
+
* 行角标
|
198
|
+
*/
|
199
|
+
itemBadge?: BadgeSchema;
|
200
|
+
/**
|
201
|
+
* 开启查询区域,会根据列元素的searchable属性值,自动生成查询条件表单
|
202
|
+
*/
|
203
|
+
autoGenerateFilter?: boolean;
|
194
204
|
}
|
195
205
|
export interface TableProps extends RendererProps {
|
196
206
|
title?: string;
|
@@ -245,6 +255,7 @@ export interface TableProps extends RendererProps {
|
|
245
255
|
popOverContainer?: any;
|
246
256
|
canAccessSuperData?: boolean;
|
247
257
|
reUseRow?: boolean;
|
258
|
+
itemBadge?: BadgeSchema;
|
248
259
|
}
|
249
260
|
declare type ExportExcelToolbar = SchemaNode & {
|
250
261
|
api?: SchemaApi;
|
@@ -323,6 +334,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
323
334
|
handleColResizeMouseDown(e: React.MouseEvent<HTMLElement>): void;
|
324
335
|
handleColResizeMouseMove(e: MouseEvent): void;
|
325
336
|
handleColResizeMouseUp(e: MouseEvent): void;
|
337
|
+
handleColumnToggle(columns: Array<IColumn>): void;
|
338
|
+
renderAutoFilterForm(): React.ReactNode;
|
326
339
|
renderHeading(): JSX.Element | null;
|
327
340
|
renderHeadCell(column: IColumn, props?: any): JSX.Element;
|
328
341
|
renderCell(region: string, column: IColumn, item: IRow, props: any, ignoreDrag?: boolean): JSX.Element | null;
|
@@ -7,7 +7,7 @@ var react_dom_1 = require("react-dom");
|
|
7
7
|
var factory_1 = require("../../factory");
|
8
8
|
var forEach_1 = (0, tslib_1.__importDefault)(require("lodash/forEach"));
|
9
9
|
var tpl_1 = require("../../utils/tpl");
|
10
|
-
|
10
|
+
require("./ColumnToggler");
|
11
11
|
var Checkbox_1 = (0, tslib_1.__importDefault)(require("../../components/Checkbox"));
|
12
12
|
var Button_1 = (0, tslib_1.__importDefault)(require("../../components/Button"));
|
13
13
|
var table_1 = require("../../store/table");
|
@@ -26,6 +26,8 @@ var TableContent_1 = require("./TableContent");
|
|
26
26
|
var image_1 = require("../../utils/image");
|
27
27
|
var TableBody_1 = require("./TableBody");
|
28
28
|
var mobx_state_tree_1 = require("mobx-state-tree");
|
29
|
+
var ItemActionsWrapper_1 = (0, tslib_1.__importDefault)(require("./ItemActionsWrapper"));
|
30
|
+
var ColumnToggler_1 = (0, tslib_1.__importDefault)(require("./ColumnToggler"));
|
29
31
|
/**
|
30
32
|
* 将 url 转成绝对地址
|
31
33
|
*/
|
@@ -75,6 +77,8 @@ var Table = /** @class */ (function (_super) {
|
|
75
77
|
_this.handleMouseMove = _this.handleMouseMove.bind(_this);
|
76
78
|
_this.handleMouseLeave = _this.handleMouseLeave.bind(_this);
|
77
79
|
_this.subFormRef = _this.subFormRef.bind(_this);
|
80
|
+
_this.handleColumnToggle = _this.handleColumnToggle.bind(_this);
|
81
|
+
_this.renderAutoFilterForm = _this.renderAutoFilterForm.bind(_this);
|
78
82
|
var store = props.store, columns = props.columns, selectable = props.selectable, columnsTogglable = props.columnsTogglable, draggable = props.draggable, orderBy = props.orderBy, orderDir = props.orderDir, multiple = props.multiple, footable = props.footable, primaryField = props.primaryField, itemCheckableOn = props.itemCheckableOn, itemDraggableOn = props.itemDraggableOn, hideCheckToggler = props.hideCheckToggler, combineFromIndex = props.combineFromIndex, expandConfig = props.expandConfig, formItem = props.formItem, keepItemSelectionOnPageChange = props.keepItemSelectionOnPageChange, maxKeepItemSelectionLength = props.maxKeepItemSelectionLength;
|
79
83
|
var combineNum = props.combineNum;
|
80
84
|
if (typeof combineNum === 'string') {
|
@@ -199,8 +203,12 @@ var Table = /** @class */ (function (_super) {
|
|
199
203
|
Table.syncRows(store, props, prevProps) && this.syncSelected();
|
200
204
|
}
|
201
205
|
else if ((0, helper_1.isArrayChildrenModified)(prevProps.selected, props.selected)) {
|
206
|
+
var prevSelectedRows = store.selectedRows
|
207
|
+
.map(function (item) { return item.id; })
|
208
|
+
.join(',');
|
202
209
|
store.updateSelected(props.selected || [], props.valueField);
|
203
|
-
|
210
|
+
var selectedRows = store.selectedRows.map(function (item) { return item.id; }).join(',');
|
211
|
+
prevSelectedRows !== selectedRows && this.syncSelected();
|
204
212
|
}
|
205
213
|
this.updateTableInfoLazy();
|
206
214
|
};
|
@@ -515,7 +523,7 @@ var Table = /** @class */ (function (_super) {
|
|
515
523
|
return (0, react_dom_1.findDOMNode)(this);
|
516
524
|
};
|
517
525
|
Table.prototype.handleMouseMove = function (e) {
|
518
|
-
var tr = e.target.closest('tr[data-
|
526
|
+
var tr = e.target.closest('tr[data-id]');
|
519
527
|
if (!tr) {
|
520
528
|
return;
|
521
529
|
}
|
@@ -526,17 +534,17 @@ var Table = /** @class */ (function (_super) {
|
|
526
534
|
(!itemActions || !itemActions.filter(function (item) { return !item.hiddenOnHover; }).length)) {
|
527
535
|
return;
|
528
536
|
}
|
529
|
-
var
|
530
|
-
|
537
|
+
var id = tr.getAttribute('data-id');
|
538
|
+
var row = store.hoverRow;
|
539
|
+
if ((row === null || row === void 0 ? void 0 : row.id) === id) {
|
531
540
|
return;
|
532
541
|
}
|
533
|
-
store.rows
|
542
|
+
(0, helper_1.eachTree)(store.rows, function (item) { return item.setIsHover(item.id === id); });
|
534
543
|
};
|
535
544
|
Table.prototype.handleMouseLeave = function () {
|
536
545
|
var store = this.props.store;
|
537
|
-
|
538
|
-
|
539
|
-
}
|
546
|
+
var row = store.hoverRow;
|
547
|
+
row === null || row === void 0 ? void 0 : row.setIsHover(false);
|
540
548
|
};
|
541
549
|
Table.prototype.handleDragStart = function (e) {
|
542
550
|
var store = this.props.store;
|
@@ -674,6 +682,87 @@ var Table = /** @class */ (function (_super) {
|
|
674
682
|
document.removeEventListener('mousemove', this.handleColResizeMouseMove);
|
675
683
|
document.removeEventListener('mouseup', this.handleColResizeMouseUp);
|
676
684
|
};
|
685
|
+
Table.prototype.handleColumnToggle = function (columns) {
|
686
|
+
var store = this.props.store;
|
687
|
+
store.update({ columns: columns });
|
688
|
+
};
|
689
|
+
Table.prototype.renderAutoFilterForm = function () {
|
690
|
+
var _a = this.props, render = _a.render, store = _a.store, onSearchableFromReset = _a.onSearchableFromReset, onSearchableFromSubmit = _a.onSearchableFromSubmit, onSearchableFromInit = _a.onSearchableFromInit, cx = _a.classnames, __ = _a.translate;
|
691
|
+
var searchableColumns = store.searchableColumns;
|
692
|
+
var activedSearchableColumns = store.activedSearchableColumns;
|
693
|
+
if (!searchableColumns.length) {
|
694
|
+
return null;
|
695
|
+
}
|
696
|
+
var groupedSearchableColumns = [
|
697
|
+
{ body: [], md: 4 },
|
698
|
+
{ body: [], md: 4 },
|
699
|
+
{ body: [], md: 4 }
|
700
|
+
];
|
701
|
+
activedSearchableColumns.forEach(function (column, index) {
|
702
|
+
var _a, _b, _c, _d;
|
703
|
+
groupedSearchableColumns[index % 3].body.push((0, tslib_1.__assign)((0, tslib_1.__assign)({}, column.searchable), { name: (_b = (_a = column.searchable) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : column.name, label: (_d = (_c = column.searchable) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : column.label, mode: 'horizontal' }));
|
704
|
+
});
|
705
|
+
return render('searchable-form', {
|
706
|
+
type: 'form',
|
707
|
+
api: null,
|
708
|
+
title: '',
|
709
|
+
mode: 'normal',
|
710
|
+
submitText: __('search'),
|
711
|
+
body: [
|
712
|
+
{
|
713
|
+
type: 'grid',
|
714
|
+
columns: groupedSearchableColumns
|
715
|
+
}
|
716
|
+
],
|
717
|
+
actions: [
|
718
|
+
{
|
719
|
+
type: 'dropdown-button',
|
720
|
+
label: __('Table.searchFields'),
|
721
|
+
className: cx('Table-searchableForm-dropdown', 'mr-2'),
|
722
|
+
level: 'link',
|
723
|
+
trigger: 'click',
|
724
|
+
size: 'sm',
|
725
|
+
align: 'right',
|
726
|
+
buttons: searchableColumns.map(function (column) {
|
727
|
+
var _a, _b, _c, _d;
|
728
|
+
return {
|
729
|
+
type: 'checkbox',
|
730
|
+
className: cx('Table-searchableForm-checkbox'),
|
731
|
+
name: "__search_" + ((_b = (_a = column.searchable) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : column.name),
|
732
|
+
option: (_d = (_c = column.searchable) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : column.label,
|
733
|
+
value: column.enableSearch,
|
734
|
+
badge: {
|
735
|
+
offset: [-10, 5],
|
736
|
+
visibleOn: "" + (column.toggable && !column.toggled && column.enableSearch)
|
737
|
+
},
|
738
|
+
onChange: function (value) {
|
739
|
+
column.setEnableSearch(value);
|
740
|
+
}
|
741
|
+
};
|
742
|
+
})
|
743
|
+
},
|
744
|
+
{
|
745
|
+
type: 'submit',
|
746
|
+
label: __('search'),
|
747
|
+
level: 'primary',
|
748
|
+
className: 'w-18'
|
749
|
+
},
|
750
|
+
{
|
751
|
+
type: 'reset',
|
752
|
+
label: __('reset'),
|
753
|
+
className: 'w-18'
|
754
|
+
}
|
755
|
+
]
|
756
|
+
}, {
|
757
|
+
key: 'searchable-form',
|
758
|
+
panelClassName: cx('Table-searchableForm'),
|
759
|
+
actionsClassName: cx('Table-searchableForm-footer'),
|
760
|
+
onReset: onSearchableFromReset,
|
761
|
+
onSubmit: onSearchableFromSubmit,
|
762
|
+
onInit: onSearchableFromInit,
|
763
|
+
formStore: undefined
|
764
|
+
});
|
765
|
+
};
|
677
766
|
Table.prototype.renderHeading = function () {
|
678
767
|
var _a = this.props, title = _a.title, store = _a.store, hideQuickSaveBtn = _a.hideQuickSaveBtn, data = _a.data, cx = _a.classnames, saveImmediately = _a.saveImmediately, headingClassName = _a.headingClassName, quickSaveApi = _a.quickSaveApi, __ = _a.translate;
|
679
768
|
if (title ||
|
@@ -705,7 +794,7 @@ var Table = /** @class */ (function (_super) {
|
|
705
794
|
return null;
|
706
795
|
};
|
707
796
|
Table.prototype.renderHeadCell = function (column, props) {
|
708
|
-
var _a = this.props, store = _a.store, query = _a.query, onQuery = _a.onQuery, multiple = _a.multiple, env = _a.env, render = _a.render, ns = _a.classPrefix, resizable = _a.resizable, cx = _a.classnames;
|
797
|
+
var _a = this.props, store = _a.store, query = _a.query, onQuery = _a.onQuery, multiple = _a.multiple, env = _a.env, render = _a.render, ns = _a.classPrefix, resizable = _a.resizable, cx = _a.classnames, autoGenerateFilter = _a.autoGenerateFilter;
|
709
798
|
if (column.type === '__checkme') {
|
710
799
|
return (react_1.default.createElement("th", (0, tslib_1.__assign)({}, props, { className: cx(column.pristine.className) }), store.rows.length && multiple ? (react_1.default.createElement(Checkbox_1.default, { classPrefix: ns, partial: !store.allChecked, checked: store.someChecked, disabled: store.disabledHeadCheckbox, onChange: this.handleCheckAll })) : ('\u00A0')));
|
711
800
|
}
|
@@ -724,7 +813,7 @@ var Table = /** @class */ (function (_super) {
|
|
724
813
|
react_1.default.createElement(icons_1.Icon, { icon: "right-arrow-bold", className: "icon" })))));
|
725
814
|
}
|
726
815
|
var affix = null;
|
727
|
-
if (column.searchable && column.name) {
|
816
|
+
if (column.searchable && column.name && !autoGenerateFilter) {
|
728
817
|
affix = (react_1.default.createElement(HeadCellSearchDropdown_1.HeadCellSearchDropDown, (0, tslib_1.__assign)({}, this.props, { onQuery: onQuery, name: column.name, searchable: column.searchable, sortable: column.sortable, type: column.type, data: query, orderBy: store.orderBy, orderDir: store.orderDir, popOverContainer: this.getPopOverContainer })));
|
729
818
|
}
|
730
819
|
else if (column.sortable && column.name) {
|
@@ -793,7 +882,7 @@ var Table = /** @class */ (function (_super) {
|
|
793
882
|
};
|
794
883
|
Table.prototype.renderCell = function (region, column, item, props, ignoreDrag) {
|
795
884
|
if (ignoreDrag === void 0) { ignoreDrag = false; }
|
796
|
-
var _a = this.props, render = _a.render, store = _a.store, multiple = _a.multiple, ns = _a.classPrefix, cx = _a.classnames, checkOnItemClick = _a.checkOnItemClick, popOverContainer = _a.popOverContainer, canAccessSuperData = _a.canAccessSuperData;
|
885
|
+
var _a = this.props, render = _a.render, store = _a.store, multiple = _a.multiple, ns = _a.classPrefix, cx = _a.classnames, checkOnItemClick = _a.checkOnItemClick, popOverContainer = _a.popOverContainer, canAccessSuperData = _a.canAccessSuperData, itemBadge = _a.itemBadge;
|
797
886
|
if (column.name && item.rowSpans[column.name] === 0) {
|
798
887
|
return null;
|
799
888
|
}
|
@@ -826,7 +915,9 @@ var Table = /** @class */ (function (_super) {
|
|
826
915
|
}
|
827
916
|
var subProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props), { btnDisabled: store.dragging, data: item.locals, value: column.name
|
828
917
|
? (0, tpl_builtin_1.resolveVariable)(column.name, canAccessSuperData ? item.locals : item.data)
|
829
|
-
: column.value, popOverContainer: popOverContainer || this.getPopOverContainer, rowSpan: item.rowSpans[column.name], quickEditFormRef: this.subFormRef, prefix: prefix, onImageEnlarge: this.handleImageEnlarge, canAccessSuperData: canAccessSuperData
|
918
|
+
: column.value, popOverContainer: popOverContainer || this.getPopOverContainer, rowSpan: item.rowSpans[column.name], quickEditFormRef: this.subFormRef, prefix: prefix, onImageEnlarge: this.handleImageEnlarge, canAccessSuperData: canAccessSuperData, row: item, itemBadge: itemBadge, showBadge: !props.isHead &&
|
919
|
+
itemBadge &&
|
920
|
+
store.firstToggledColumnIndex === props.colIndex });
|
830
921
|
delete subProps.label;
|
831
922
|
return render(region, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, column.pristine), { column: column.pristine, type: 'cell' }), subProps);
|
832
923
|
};
|
@@ -907,14 +998,15 @@ var Table = /** @class */ (function (_super) {
|
|
907
998
|
return void 0;
|
908
999
|
};
|
909
1000
|
Table.prototype.renderColumnsToggler = function (config) {
|
910
|
-
var _a
|
1001
|
+
var _a;
|
1002
|
+
var _b = this.props, className = _b.className, store = _b.store, ns = _b.classPrefix, cx = _b.classnames, rest = (0, tslib_1.__rest)(_b, ["className", "store", "classPrefix", "classnames"]);
|
911
1003
|
var __ = rest.translate;
|
912
1004
|
var env = rest.env;
|
913
1005
|
var render = this.props.render;
|
914
1006
|
if (!store.columnsTogglable) {
|
915
1007
|
return null;
|
916
1008
|
}
|
917
|
-
return (react_1.default.createElement(
|
1009
|
+
return (react_1.default.createElement(ColumnToggler_1.default, (0, tslib_1.__assign)({}, rest, ((0, helper_1.isObject)(config) ? config : {}), { tooltip: (config === null || config === void 0 ? void 0 : config.tooltip) || __('Table.columnsVisibility'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, align: (_a = config === null || config === void 0 ? void 0 : config.align) !== null && _a !== void 0 ? _a : 'left', isActived: store.hasColumnHidden(), classnames: cx, classPrefix: ns, key: "columns-toggable", size: (config === null || config === void 0 ? void 0 : config.size) || 'sm', label: (config === null || config === void 0 ? void 0 : config.label) || react_1.default.createElement(icons_1.Icon, { icon: "columns", className: "icon m-r-none" }), draggable: config === null || config === void 0 ? void 0 : config.draggable, columns: store.columnsData, onColumnToggle: this.handleColumnToggle }), store.toggableColumns.map(function (column) { return (react_1.default.createElement("li", { className: cx('ColumnToggler-menuItem'), key: column.index, onClick: column.toggleToggle },
|
918
1010
|
react_1.default.createElement(Checkbox_1.default, { size: "sm", classPrefix: ns, checked: column.toggled }, column.label ? render('tpl', column.label) : null))); })));
|
919
1011
|
};
|
920
1012
|
Table.prototype.renderDragToggler = function () {
|
@@ -1247,27 +1339,13 @@ var Table = /** @class */ (function (_super) {
|
|
1247
1339
|
if (!finalActions.length) {
|
1248
1340
|
return null;
|
1249
1341
|
}
|
1250
|
-
|
1251
|
-
var heights = this.heights;
|
1252
|
-
var height = 40;
|
1253
|
-
var top = 0;
|
1254
|
-
if (heights && heights[rowIndex]) {
|
1255
|
-
height = heights[rowIndex];
|
1256
|
-
top += heights.header;
|
1257
|
-
for (var i = rowIndex - 1; i >= 0; i--) {
|
1258
|
-
top += heights[i];
|
1259
|
-
}
|
1260
|
-
}
|
1261
|
-
return (react_1.default.createElement("div", { className: cx('Table-itemActions-wrap'), style: {
|
1262
|
-
top: top,
|
1263
|
-
height: height
|
1264
|
-
} },
|
1342
|
+
return (react_1.default.createElement(ItemActionsWrapper_1.default, { store: store, classnames: cx },
|
1265
1343
|
react_1.default.createElement("div", { className: cx('Table-itemActions') }, finalActions.map(function (action, index) {
|
1266
1344
|
return render("itemAction/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, action), { isMenuItem: true }), {
|
1267
1345
|
key: index,
|
1268
|
-
item: store.
|
1269
|
-
data: store.
|
1270
|
-
rowIndex:
|
1346
|
+
item: store.hoverRow,
|
1347
|
+
data: store.hoverRow.locals,
|
1348
|
+
rowIndex: store.hoverRow.index
|
1271
1349
|
});
|
1272
1350
|
}))));
|
1273
1351
|
};
|
@@ -1279,7 +1357,7 @@ var Table = /** @class */ (function (_super) {
|
|
1279
1357
|
return (react_1.default.createElement(TableContent_1.TableContent, { tableClassName: cx(store.combineNum > 0 ? 'Table-table--withCombine' : '', tableClassName), itemAction: itemAction, classnames: cx, columns: store.filteredColumns, columnsGroup: store.columnGroup, rows: store.rows, placeholder: placeholder, render: render, onMouseMove: this.handleMouseMove, onScroll: this.handleOutterScroll, tableRef: this.tableRef, renderHeadCell: this.renderHeadCell, renderCell: this.renderCell, onCheck: this.handleCheck, onQuickChange: store.dragging ? undefined : this.handleQuickChange, footable: store.footable, footableColumns: store.footableColumns, checkOnItemClick: checkOnItemClick, buildItemProps: buildItemProps, onAction: this.handleAction, rowClassNameExpr: rowClassNameExpr, rowClassName: rowClassName, data: store.data, prefixRow: prefixRow, affixRow: affixRow, locale: locale, translate: translate }));
|
1280
1358
|
};
|
1281
1359
|
Table.prototype.render = function () {
|
1282
|
-
var _a = this.props, className = _a.className, store = _a.store, cx = _a.classnames, affixColumns = _a.affixColumns;
|
1360
|
+
var _a = this.props, className = _a.className, store = _a.store, cx = _a.classnames, affixColumns = _a.affixColumns, autoGenerateFilter = _a.autoGenerateFilter;
|
1283
1361
|
this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了,已经渲染了就不重复渲染了。
|
1284
1362
|
var heading = this.renderHeading();
|
1285
1363
|
var header = this.renderHeader();
|
@@ -1288,6 +1366,7 @@ var Table = /** @class */ (function (_super) {
|
|
1288
1366
|
return (react_1.default.createElement("div", { className: cx('Table', className, {
|
1289
1367
|
'Table--unsaved': !!store.modified || !!store.moved
|
1290
1368
|
}) },
|
1369
|
+
autoGenerateFilter ? this.renderAutoFilterForm() : null,
|
1291
1370
|
header,
|
1292
1371
|
heading,
|
1293
1372
|
react_1.default.createElement("div", { className: cx('Table-contentWrap'), onMouseLeave: this.handleMouseLeave },
|
@@ -1298,7 +1377,7 @@ var Table = /** @class */ (function (_super) {
|
|
1298
1377
|
? this.renderFixedColumns(store.rows, store.rightFixedColumns, false, tableClassName)
|
1299
1378
|
: null),
|
1300
1379
|
this.renderTableContent(),
|
1301
|
-
|
1380
|
+
store.hoverRow ? this.renderItemActions() : null),
|
1302
1381
|
this.renderAffixHeader(tableClassName),
|
1303
1382
|
footer));
|
1304
1383
|
};
|
@@ -1341,7 +1420,8 @@ var Table = /** @class */ (function (_super) {
|
|
1341
1420
|
'popOverContainer',
|
1342
1421
|
'headerToolbarClassName',
|
1343
1422
|
'toolbarClassName',
|
1344
|
-
'footerToolbarClassName'
|
1423
|
+
'footerToolbarClassName',
|
1424
|
+
'itemBadge'
|
1345
1425
|
];
|
1346
1426
|
Table.defaultProps = {
|
1347
1427
|
className: '',
|