amis 1.9.1-beta.3 → 1.9.1-beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/lib/SchemaRenderer.js +6 -9
  2. package/lib/SchemaRenderer.js.map +2 -2
  3. package/lib/actions/CmptAction.js +4 -4
  4. package/lib/actions/CmptAction.js.map +2 -2
  5. package/lib/components/WithRemoteConfig.d.ts +2 -2
  6. package/lib/components/WithRemoteConfig.js +6 -3
  7. package/lib/components/WithRemoteConfig.js.map +2 -2
  8. package/lib/components/table/ItemActionsWrapper.d.ts +10 -0
  9. package/lib/components/table/ItemActionsWrapper.js +25 -0
  10. package/lib/components/table/ItemActionsWrapper.js.map +13 -0
  11. package/lib/components/table/index.d.ts +48 -41
  12. package/lib/components/table/index.js +46 -18
  13. package/lib/components/table/index.js.map +2 -2
  14. package/lib/index.js +1 -1
  15. package/lib/renderers/Form/JSONSchema.js +3 -3
  16. package/lib/renderers/Form/JSONSchema.js.map +2 -2
  17. package/lib/renderers/Form/Options.js +11 -5
  18. package/lib/renderers/Form/Options.js.map +2 -2
  19. package/lib/renderers/Form/wrapControl.js.map +2 -2
  20. package/lib/renderers/Table-v2/index.d.ts +14 -2
  21. package/lib/renderers/Table-v2/index.js +33 -3
  22. package/lib/renderers/Table-v2/index.js.map +2 -2
  23. package/package.json +1 -1
  24. package/schema.json +13 -2
  25. package/sdk/barcode.js +51 -51
  26. package/sdk/charts.js +14 -14
  27. package/sdk/codemirror.js +7 -7
  28. package/sdk/color-picker.js +65 -65
  29. package/sdk/cropperjs.js +2 -2
  30. package/sdk/exceljs.js +1 -1
  31. package/sdk/markdown.js +69 -69
  32. package/sdk/papaparse.js +1 -1
  33. package/sdk/renderers/Form/CityDB.js +1 -1
  34. package/sdk/rest.js +16 -16
  35. package/sdk/rich-text.js +62 -62
  36. package/sdk/sdk.js +1299 -1297
  37. package/sdk/thirds/hls.js/hls.js +1 -1
  38. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  39. package/sdk/tinymce.js +57 -57
  40. package/src/SchemaRenderer.tsx +1 -4
  41. package/src/actions/CmptAction.ts +4 -4
  42. package/src/components/WithRemoteConfig.tsx +20 -11
  43. package/src/components/table/ItemActionsWrapper.tsx +32 -0
  44. package/src/components/table/index.tsx +115 -58
  45. package/src/renderers/Form/JSONSchema.tsx +3 -3
  46. package/src/renderers/Form/Options.tsx +17 -7
  47. package/src/renderers/Form/wrapControl.tsx +0 -1
  48. package/src/renderers/Table-v2/index.tsx +65 -2
@@ -24,6 +24,7 @@ var Spinner_1 = (0, tslib_1.__importDefault)(require("../Spinner"));
24
24
  var HeadCellSort_1 = (0, tslib_1.__importDefault)(require("./HeadCellSort"));
25
25
  var HeadCellFilter_1 = (0, tslib_1.__importDefault)(require("./HeadCellFilter"));
26
26
  var HeadCellSelect_1 = (0, tslib_1.__importDefault)(require("./HeadCellSelect"));
27
+ var ItemActionsWrapper_1 = (0, tslib_1.__importDefault)(require("./ItemActionsWrapper"));
27
28
  var Cell_1 = (0, tslib_1.__importDefault)(require("./Cell"));
28
29
  function getMaxLevelThRowSpan(columns) {
29
30
  var maxLevel = 0;
@@ -152,7 +153,8 @@ var Table = /** @class */ (function (_super) {
152
153
  expandedRowKeys: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (props.expandable ? props.expandable.expandedRowKeys || [] : []), true), (props.expandable
153
154
  ? props.expandable.defaultExpandedRowKeys || []
154
155
  : []), true),
155
- colWidths: []
156
+ colWidths: [],
157
+ hoverRow: null
156
158
  };
157
159
  _this.onTableContentScroll = _this.onTableContentScroll.bind(_this);
158
160
  _this.getPopOverContainer = _this.getPopOverContainer.bind(_this);
@@ -716,7 +718,7 @@ var Table = /** @class */ (function (_super) {
716
718
  sort,
717
719
  filter,
718
720
  resizable ? (react_1.default.createElement("i", { className: cx('Table-thead-resizable'), onMouseDown: function (e) { return _this.onResizeMouseDown(e, item.key); } })) : null));
719
- return (react_1.default.createElement(Cell_1.default, { wrapperComponent: "th", rowSpan: item.rowSpan, colSpan: item.colSpan, key: 'cell' + (item.key || i), fixed: item.fixed === true ? 'left' : item.fixed, className: cx({
721
+ return (react_1.default.createElement(Cell_1.default, { wrapperComponent: "th", rowSpan: item.rowSpan, colSpan: item.colSpan, key: "cell-".concat(i), fixed: item.fixed === true ? 'left' : item.fixed, className: cx({
720
722
  'Table-cell-last': i === maxCount - 1 && i === data.length - 1
721
723
  }), groupId: item.groupId, depth: item.depth }, typeof item.title === 'function'
722
724
  ? item.title(children)
@@ -747,8 +749,16 @@ var Table = /** @class */ (function (_super) {
747
749
  td.classList.add(cx('Table-cell-row-hover')); // 保证有列fixed的时候样式一致
748
750
  }
749
751
  }
750
- if (record && onRow) {
751
- onRow.onRowMouseEnter && onRow.onRowMouseEnter(event, record, rowIndex);
752
+ if (record) {
753
+ var target = event.target;
754
+ if (target.tagName !== 'TR') {
755
+ target = target.closest('tr');
756
+ }
757
+ this.setState({ hoverRow: { target: target, rowIndex: rowIndex, record: record } }, function () {
758
+ if (onRow) {
759
+ onRow.onRowMouseEnter && onRow.onRowMouseEnter(event, record, rowIndex);
760
+ }
761
+ });
752
762
  }
753
763
  };
754
764
  Table.prototype.onRowMouseLeave = function (event, record, rowIndex) {
@@ -763,10 +773,15 @@ var Table = /** @class */ (function (_super) {
763
773
  td.classList.remove(cx('Table-cell-row-hover'));
764
774
  }
765
775
  }
766
- if (record && onRow) {
767
- onRow.onRowMouseLeave && onRow.onRowMouseLeave(event, record, rowIndex);
776
+ if (record) {
777
+ if (onRow) {
778
+ onRow.onRowMouseLeave && onRow.onRowMouseLeave(event, record, rowIndex);
779
+ }
768
780
  }
769
781
  };
782
+ Table.prototype.onMouseLeave = function (event) {
783
+ this.setState({ hoverRow: null });
784
+ };
770
785
  Table.prototype.onExpandRow = function (data) {
771
786
  var expandedRowKeys = this.state.expandedRowKeys;
772
787
  var expandable = this.props.expandable;
@@ -897,9 +912,10 @@ var Table = /** @class */ (function (_super) {
897
912
  var hasChildrenRow = this.hasChildrenRow(data);
898
913
  var isExpanded = !!(0, find_1.default)(this.state.expandedRowKeys, function (key) { return key == data[_this.getExpandableKeyField()]; }); // == 匹配 否则'3'、3匹配不上
899
914
  // 设置缩进效果
900
- var indentDom = levels.length > 0 ? (react_1.default.createElement("span", { className: cx('Table-row-indent', "indent-level-".concat(levels.length)), style: { paddingLeft: indentSize * levels.length + 'px' } })) : null;
915
+ var indentDom = levels.length > 0 ? (react_1.default.createElement("span", { className: cx('Table-row-indent', "indent-level-".concat(levels.length)), style: levels.length > 0
916
+ ? { paddingLeft: (indentSize * levels.length) + 'px' } : {} })) : null;
901
917
  var cells = tdColumns.map(function (item, i) {
902
- var _a;
918
+ var _a, _b;
903
919
  var render = item.render && typeof item.render === 'function'
904
920
  ? item.render(data[item.key], data, rowIndex, i)
905
921
  : null;
@@ -913,12 +929,16 @@ var Table = /** @class */ (function (_super) {
913
929
  props.rowSpan === 1;
914
930
  }
915
931
  }
916
- return props.rowSpan === 0 || props.colSpan === 0 ? null : (react_1.default.createElement(Cell_1.default, (0, tslib_1.__assign)({ key: i }, props, { fixed: item.fixed === true ? 'left' : item.fixed, column: item, groupId: item.groupId }),
917
- react_1.default.createElement("div", { className: cx('Table-cell-wrapper', (_a = {},
918
- _a[cx('Table-cell-wrapper-prefix')] = i === 0 &&
919
- (!!indentDom || (levels.length === 0 && hasChildrenRow)),
920
- _a[cx("Table-cell-height-".concat(lineHeight))] = !!lineHeight,
921
- _a)) },
932
+ var className = typeof item.className === 'function'
933
+ ? item.className(data, rowIndex) : '';
934
+ return props.rowSpan === 0 || props.colSpan === 0 ? null : (react_1.default.createElement(Cell_1.default, (0, tslib_1.__assign)({ key: i }, props, { fixed: item.fixed === true ? 'left' : item.fixed, column: item, groupId: item.groupId, className: cx((_a = {},
935
+ _a["".concat(className)] = !!className,
936
+ _a)) }),
937
+ react_1.default.createElement("div", { className: cx('Table-cell-wrapper', (_b = {},
938
+ _b[cx('Table-cell-wrapper-prefix')] = i === 0 &&
939
+ (!!indentDom || levels.length === 0 && hasChildrenRow),
940
+ _b[cx("Table-cell-height-".concat(lineHeight))] = !!lineHeight,
941
+ _b)) },
922
942
  i === 0 && levels.length > 0 ? indentDom : null,
923
943
  i === 0 && hasChildrenRow
924
944
  ? _this.getExpandedIcons(isExpanded, data)
@@ -1096,10 +1116,14 @@ var Table = /** @class */ (function (_super) {
1096
1116
  return (react_1.default.createElement("div", { className: cx('Table-loading') }, typeof loading === 'boolean' ? react_1.default.createElement(Spinner_1.default, null) : loading));
1097
1117
  };
1098
1118
  Table.prototype.renderTable = function () {
1099
- var _a = this.props, scroll = _a.scroll, footSummary = _a.footSummary, loading = _a.loading, showHeader = _a.showHeader, cx = _a.classnames;
1119
+ var _a = this.props, scroll = _a.scroll, footSummary = _a.footSummary, loading = _a.loading, showHeader = _a.showHeader, itemActions = _a.itemActions, cx = _a.classnames;
1100
1120
  // 设置了横向滚动轴 则table的table-layout为fixed
1101
1121
  var hasScrollX = scroll && scroll.x;
1102
- return (react_1.default.createElement("div", { ref: this.contentDom, className: cx('Table-content'), style: hasScrollX ? { overflow: 'auto hidden' } : {} },
1122
+ var hoverRow = this.state.hoverRow;
1123
+ return (react_1.default.createElement("div", { ref: this.contentDom, className: cx('Table-content'), style: hasScrollX ? { overflow: 'auto hidden' } : {}, onMouseLeave: this.onMouseLeave.bind(this) },
1124
+ itemActions && hoverRow
1125
+ ? react_1.default.createElement(ItemActionsWrapper_1.default, { dom: hoverRow.target, classnames: cx }, typeof itemActions === 'function'
1126
+ ? itemActions(hoverRow.record, hoverRow.rowIndex) : null) : null,
1103
1127
  react_1.default.createElement("table", { style: hasScrollX
1104
1128
  ? { width: scroll.x + 'px', tableLayout: 'fixed' }
1105
1129
  : { tableLayout: 'auto' }, className: cx('Table-table') },
@@ -1132,7 +1156,7 @@ var Table = /** @class */ (function (_super) {
1132
1156
  headSummary ? (react_1.default.createElement("tbody", null, this.renderSummaryRow(headSummary))) : null)));
1133
1157
  };
1134
1158
  Table.prototype.renderScrollTableBody = function () {
1135
- var _a = this.props, scroll = _a.scroll, cx = _a.classnames;
1159
+ var _a = this.props, scroll = _a.scroll, itemActions = _a.itemActions, cx = _a.classnames;
1136
1160
  var style = {};
1137
1161
  var tableStyle = {};
1138
1162
  if (scroll && (scroll.y || scroll.x)) {
@@ -1145,7 +1169,11 @@ var Table = /** @class */ (function (_super) {
1145
1169
  tableLayout: 'fixed'
1146
1170
  });
1147
1171
  }
1148
- return (react_1.default.createElement("div", { ref: this.bodyDom, className: cx('Table-body'), style: style },
1172
+ var hoverRow = this.state.hoverRow;
1173
+ return (react_1.default.createElement("div", { ref: this.bodyDom, className: cx('Table-body'), style: style, onMouseLeave: this.onMouseLeave.bind(this) },
1174
+ itemActions && hoverRow
1175
+ ? react_1.default.createElement(ItemActionsWrapper_1.default, { dom: hoverRow.target, classnames: cx }, typeof itemActions === 'function'
1176
+ ? itemActions(hoverRow.record, hoverRow.rowIndex) : null) : null,
1149
1177
  react_1.default.createElement("table", { className: cx('Table-table'), style: tableStyle },
1150
1178
  this.renderColGroup(),
1151
1179
  this.renderTBody())));