vap1 0.3.7 → 0.3.8

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.
Files changed (84) hide show
  1. package/components/SearchBar/ByField.d.ts +6 -3
  2. package/components/SearchBar/ByField.js +5 -5
  3. package/components/SearchBar/ByKeyword.js +7 -1
  4. package/components/Upload/UploadImage.d.ts +1 -0
  5. package/components/Upload/UploadImage.js +6 -5
  6. package/components/_adapt/Tabs.d.ts +15 -0
  7. package/components/_adapt/Tabs.js +38 -3
  8. package/deps/app-data/Const.d.ts +6 -0
  9. package/deps/app-data/Const.js +10 -0
  10. package/deps/app-data/SourceTable.js +137 -0
  11. package/deps/{apis → app-data}/useSource.js +18 -8
  12. package/deps/editor/Article.d.ts +20 -0
  13. package/deps/editor/Article.js +53 -0
  14. package/deps/editor/Editor.d.ts +43 -0
  15. package/deps/editor/Editor.js +110 -0
  16. package/deps/editor/EditorModal.d.ts +32 -0
  17. package/deps/editor/EditorModal.js +89 -0
  18. package/deps/editor/index.d.ts +4 -0
  19. package/deps/editor/index.js +9 -0
  20. package/deps/{registerEditor.js → editor/registerEditor.js} +4 -4
  21. package/deps/editor/support/buttons/ImageButton.d.ts +5 -0
  22. package/deps/editor/support/buttons/ImageButton.js +138 -0
  23. package/deps/editor/support/buttons/index.d.ts +1 -0
  24. package/deps/editor/support/buttons/index.js +5 -0
  25. package/deps/editor/support/element/ImageElement.d.ts +3 -0
  26. package/deps/editor/support/element/ImageElement.js +228 -0
  27. package/deps/editor/support/element/TableElement.js +0 -0
  28. package/deps/editor/support/element/VideoElement.d.ts +0 -0
  29. package/deps/editor/support/element/VideoElement.js +0 -0
  30. package/deps/editor/support/element/_Base.d.ts +9 -0
  31. package/deps/editor/support/element/_Base.js +9 -0
  32. package/deps/editor/support/element/_Element.d.ts +2 -0
  33. package/deps/{_editor/base/Element.js → editor/support/element/_Element.js} +9 -6
  34. package/deps/editor/support/element/_Leaf.d.ts +3 -0
  35. package/deps/{_editor/base/Leaf.js → editor/support/element/_Leaf.js} +2 -2
  36. package/deps/editor/support/index.d.ts +4 -0
  37. package/deps/editor/support/index.js +89 -0
  38. package/deps/{_editor → editor}/tools/Button.d.ts +1 -1
  39. package/deps/{_editor → editor}/tools/Button.js +7 -3
  40. package/deps/{_editor → editor}/tools/ToolBar.d.ts +1 -1
  41. package/deps/{_editor → editor}/tools/ToolBar.js +1 -1
  42. package/deps/{_editor → editor}/tools/_BlockButton.d.ts +1 -1
  43. package/deps/{_editor → editor}/tools/_BlockButton.js +3 -3
  44. package/deps/{_editor → editor}/tools/_InsertButton.d.ts +1 -2
  45. package/deps/editor/tools/_InsertButton.js +36 -0
  46. package/deps/{_editor → editor}/tools/_MarkButton.d.ts +1 -1
  47. package/deps/{_editor → editor}/tools/_MarkButton.js +4 -4
  48. package/deps/{_editor → editor}/tools/_TxtButton.d.ts +1 -1
  49. package/deps/{_editor → editor}/tools/_TxtButton.js +37 -50
  50. package/deps/{_editor/base → editor}/types.d.ts +47 -56
  51. package/deps/editor/types.js +2 -0
  52. package/deps/editor/utils/ParseHtml.d.ts +0 -0
  53. package/deps/editor/utils/index.d.ts +7 -0
  54. package/deps/editor/utils/index.js +60 -0
  55. package/package.json +1 -1
  56. package/uform/hooks/useEditor.js +0 -1
  57. package/utils/Global.d.ts +4 -0
  58. package/utils/Global.js +1 -0
  59. package/deps/_editor/advance/_Image.d.ts +0 -2
  60. package/deps/_editor/advance/_Image.js +0 -102
  61. package/deps/_editor/base/Element.d.ts +0 -5
  62. package/deps/_editor/base/Leaf.d.ts +0 -3
  63. package/deps/_editor/base/Support.d.ts +0 -2
  64. package/deps/_editor/base/Support.js +0 -78
  65. package/deps/_editor/base/types.js +0 -10
  66. package/deps/_editor/tools/_InsertButton.js +0 -69
  67. package/deps/api-audit.d.ts +0 -1
  68. package/deps/api-audit.js +0 -6
  69. package/deps/api-data.js +0 -1
  70. package/deps/editor.d.ts +0 -34
  71. package/deps/editor.js +0 -137
  72. /package/deps/{_editor/advance/_Audio.d.ts → app-data/SourceTable.d.ts} +0 -0
  73. /package/deps/{apis → app-data}/useSource.d.ts +0 -0
  74. /package/deps/{_editor → editor}/i18n.d.ts +0 -0
  75. /package/deps/{_editor → editor}/i18n.js +0 -0
  76. /package/deps/{registerEditor.d.ts → editor/registerEditor.d.ts} +0 -0
  77. /package/deps/{_editor/advance/_Table.d.ts → editor/support/buttons/AudioButton.d.ts} +0 -0
  78. /package/deps/{_editor/advance/_Audio.js → editor/support/buttons/AudioButton.js} +0 -0
  79. /package/deps/{_editor/advance/_Video.d.ts → editor/support/buttons/TableButton.d.ts} +0 -0
  80. /package/deps/{_editor/advance/_Table.js → editor/support/buttons/TableButton.js} +0 -0
  81. /package/deps/{_editor/utils/ParseHtml.d.ts → editor/support/buttons/VideoButton.d.ts} +0 -0
  82. /package/deps/{_editor/advance/_Video.js → editor/support/buttons/VideoButton.js} +0 -0
  83. /package/deps/{api-data.d.ts → editor/support/element/TableElement.d.ts} +0 -0
  84. /package/deps/{_editor → editor}/utils/ParseHtml.js +0 -0
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import type { SearchBarByFieldProps } from './index';
2
+ import type { FC, RefAttributes, ForwardRefExoticComponent } from 'react';
3
3
  /**
4
4
  * 仅内容使用
5
5
  */
@@ -17,6 +17,9 @@ type InnerSearchBarByFieldProps = SearchBarByFieldProps & {
17
17
  */
18
18
  __innnerPopup?: boolean;
19
19
  };
20
- export declare const InnerSearchBarByField: React.FC<InnerSearchBarByFieldProps>;
21
- export declare const SearchBarByField: React.FC<SearchBarByFieldProps>;
20
+ export type InnerSearchBarByFieldRef = {
21
+ clear: () => void;
22
+ };
23
+ export declare const InnerSearchBarByField: ForwardRefExoticComponent<InnerSearchBarByFieldProps & RefAttributes<InnerSearchBarByFieldRef>>;
24
+ export declare const SearchBarByField: FC<SearchBarByFieldProps>;
22
25
  export {};
@@ -63,11 +63,11 @@ var utils_1 = require("../../utils");
63
63
  var _i18n_1 = require("../_i18n");
64
64
  var SearchField_1 = require("./SearchField");
65
65
  var _register_1 = require("./_register");
66
- var InnerSearchBarByField = function (props) {
66
+ exports.InnerSearchBarByField = (0, react_1.forwardRef)(function (props, ref) {
67
67
  var isAwaysExpand = utils_1.GLOBAL.CONFIG.SEARCHBAR.AWAYS_EXPAND || props.__innerExpand;
68
68
  var _a = __read((0, react_1.useState)(props.default || {}), 2), data = _a[0], setData = _a[1];
69
69
  var _b = __read((0, react_1.useState)(isAwaysExpand), 2), isExpand = _b[0], _setIsExpand = _b[1];
70
- var clear = function () { return setData(function (prev) {
70
+ var clear = (0, react_1.useCallback)(function () { return setData(function (prev) {
71
71
  var data = {};
72
72
  lodash_1.default.keys(prev).map(function (item) {
73
73
  data[item] = null;
@@ -76,7 +76,8 @@ var InnerSearchBarByField = function (props) {
76
76
  return lodash_1.default.extend({}, data, props.default);
77
77
  }
78
78
  return data;
79
- }); };
79
+ }); }, []);
80
+ (0, react_1.useImperativeHandle)(ref, function () { return ({ clear: clear }); }, []);
80
81
  var search = function () { return props.onSearch(data); };
81
82
  var setIsExpand = function (isExpand) {
82
83
  if (isAwaysExpand)
@@ -240,7 +241,6 @@ var InnerSearchBarByField = function (props) {
240
241
  rowRender(layout.rows[0]),
241
242
  btnRender(layout.rows.length, isExpand)),
242
243
  isExpand && moreRender(layout)));
243
- };
244
- exports.InnerSearchBarByField = InnerSearchBarByField;
244
+ });
245
245
  var SearchBarByField = function (props) { return react_1.default.createElement(exports.InnerSearchBarByField, __assign({}, props)); };
246
246
  exports.SearchBarByField = SearchBarByField;
@@ -60,6 +60,7 @@ var _i18n_1 = require("../_i18n");
60
60
  var SearchBarByKeyword = function (props) {
61
61
  var _a = __read((0, react_1.useState)(false), 2), open = _a[0], setOpen = _a[1];
62
62
  var spanRef = (0, react_1.useRef)(null);
63
+ var barRef = (0, react_1.useRef)(null);
63
64
  var inputProps = (0, react_1.useMemo)(function () {
64
65
  var searchProps = {
65
66
  className: "c-searchbar-keyword",
@@ -73,6 +74,11 @@ var SearchBarByKeyword = function (props) {
73
74
  }
74
75
  return searchProps;
75
76
  }, []);
77
+ (0, react_1.useLayoutEffect)(function () {
78
+ if (open && barRef && barRef.current && utils_1.GLOBAL.CONFIG.SEARCHBAR.POPUP_CLEAR_ONOPEN) {
79
+ barRef.current.clear();
80
+ }
81
+ }, [open]);
76
82
  var suffixProps = {};
77
83
  if (props.fields && props.fields.length) {
78
84
  suffixProps.suffix = react_1.default.createElement(react_1.default.Fragment, null,
@@ -80,7 +86,7 @@ var SearchBarByKeyword = function (props) {
80
86
  react_1.default.createElement(Popover_1.Popover, { open: open, onOpenChange: setOpen, trigger: "click", placement: "bottom", content: react_1.default.createElement(react_1.default.Fragment, null,
81
87
  react_1.default.createElement("h3", null, utils_1.i18n.txt(_i18n_1.V.INPUT_SEARCH_ADVANCE)),
82
88
  react_1.default.createElement("div", { className: 'c-searchbar' },
83
- react_1.default.createElement(ByField_1.InnerSearchBarByField, __assign({}, props, { __innerExpand: true, __innerOutside: true, __innnerPopup: true, onSearch: function (param) {
89
+ react_1.default.createElement(ByField_1.InnerSearchBarByField, __assign({}, props, { ref: barRef, __innerExpand: true, __innerOutside: true, __innnerPopup: true, onSearch: function (param) {
84
90
  props.onSearch(param);
85
91
  setOpen(false);
86
92
  } })))), overlayClassName: 'c-searchbar-keyword-more', getPopupContainer: function (triggerNode) { return utils_1.PageUtil.getParentByClassName(triggerNode, 'c-searchbar'); } }));
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { BaseUploadProps } from './index';
3
3
  import type { PlainObject } from '../../basetype';
4
+ export declare const getImageUrl: (uri: string) => string;
4
5
  export type UploadImageProps = BaseUploadProps & {
5
6
  /**
6
7
  * 宽度,默认:80
@@ -64,7 +64,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
64
64
  return (mod && mod.__esModule) ? mod : { "default": mod };
65
65
  };
66
66
  Object.defineProperty(exports, "__esModule", { value: true });
67
- exports.UploadImage = void 0;
67
+ exports.UploadImage = exports.getImageUrl = void 0;
68
68
  var react_1 = __importStar(require("react"));
69
69
  var lodash_1 = __importDefault(require("lodash"));
70
70
  var antd_1 = require("antd");
@@ -81,6 +81,7 @@ var getImageUrl = function (uri) {
81
81
  return utils_1.PageUtil.resolveURL(uri);
82
82
  return utils_1.GLOBAL.CONFIG.UPLOAD.PREVIEW + uri;
83
83
  };
84
+ exports.getImageUrl = getImageUrl;
84
85
  var ImagePreview = function (props) {
85
86
  var state = props.state, width = props.width, height = props.height, showPreview = props.showPreview;
86
87
  var _a = __read((0, hooks_1.useToggle)(), 2), open = _a[0], show = _a[1];
@@ -88,8 +89,8 @@ var ImagePreview = function (props) {
88
89
  if (lodash_1.default.isFunction(props.preview))
89
90
  return props.preview(state.info);
90
91
  if (lodash_1.default.isString(state.info))
91
- return getImageUrl(state.info);
92
- return getImageUrl(state.info.guid || state.info.fileId);
92
+ return (0, exports.getImageUrl)(state.info);
93
+ return (0, exports.getImageUrl)(state.info.guid || state.info.fileId);
93
94
  }, [state.info]);
94
95
  var divProps = (0, react_1.useMemo)(function () {
95
96
  var param = {
@@ -231,8 +232,8 @@ var UploadImage = function (props) {
231
232
  }
232
233
  if (state.info == null) {
233
234
  return react_1.default.createElement("div", { style: { height: height }, className: 'c-upload-img-root' },
234
- react_1.default.createElement(antd_1.Upload, __assign({}, uploadProps, { onChange: onChange, style: { width: width, height: height }, disabled: state.uploading }),
235
- react_1.default.createElement("div", { style: { width: width, height: height } },
235
+ react_1.default.createElement(antd_1.Upload, __assign({}, uploadProps, { onChange: onChange, style: { width: width, height: height, }, disabled: state.uploading }),
236
+ react_1.default.createElement("div", { style: { width: width, height: height, display: "flex", justifyContent: 'center', alignItems: 'center' } },
236
237
  react_1.default.createElement("div", { className: 'c-upload-placehoder' },
237
238
  react_1.default.createElement(Icon_1.Icon, { type: state.uploading ? 'loading' : 'plus' }),
238
239
  react_1.default.createElement("span", { className: "c-upload-img-text" }, utils_1.i18n.getText(props.ik, props.label, _i18n_1.V.UPLOAD_PIC))))),
@@ -7,7 +7,22 @@ export interface Tab extends Omit<AntdTabPaneProps, 'tab'> {
7
7
  label: React.ReactNode;
8
8
  }
9
9
  export type TabsProps = AntdTabsProps & {
10
+ /**
11
+ * antd5:建议直接使用 items 传入
12
+ */
10
13
  items?: Tab[];
14
+ /**
15
+ * 隐藏最左边的 Border
16
+ */
17
+ hideLeftBorder?: boolean;
18
+ /**
19
+ * 隐藏上边的 Border
20
+ */
21
+ hideTopBorder?: boolean;
22
+ /**
23
+ * 隐藏左边的间隙
24
+ */
25
+ hideLeftSpace?: boolean;
11
26
  };
12
27
  type TabComponent = ExoticComponent<PropsWithChildren<TabsProps>> & {
13
28
  TabPane: typeof AntdTabs.TabPane;
@@ -10,19 +10,54 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
38
  };
16
39
  Object.defineProperty(exports, "__esModule", { value: true });
17
40
  exports.Tabs = void 0;
18
- var react_1 = __importDefault(require("react"));
41
+ var react_1 = __importStar(require("react"));
19
42
  var lodash_1 = __importDefault(require("lodash"));
20
43
  var antd_1 = require("antd");
21
44
  var _Tabs = function (props) {
45
+ var className = (0, react_1.useMemo)(function () {
46
+ var clazz = [];
47
+ if (props.className)
48
+ clazz.push(props.className);
49
+ if (props.hideLeftBorder)
50
+ clazz.push('tabs-hide-l');
51
+ if (props.hideTopBorder)
52
+ clazz.push('tabs-hide-t');
53
+ if (props.hideLeftSpace)
54
+ clazz.push('tabs-hide-ls');
55
+ return clazz.join(' ');
56
+ }, [props.className]);
22
57
  if (props.children == null && lodash_1.default.isArray(props.items) && props.items.length > 0) {
23
- return react_1.default.createElement(antd_1.Tabs, __assign({}, props), props.items.map(function (item) { return react_1.default.createElement(antd_1.Tabs.TabPane, __assign({}, item, { tab: item.label })); }));
58
+ return react_1.default.createElement(antd_1.Tabs, __assign({}, props, { className: className }), props.items.map(function (item) { return react_1.default.createElement(antd_1.Tabs.TabPane, __assign({}, item, { tab: item.label })); }));
24
59
  }
25
- return react_1.default.createElement(antd_1.Tabs, __assign({}, props));
60
+ return react_1.default.createElement(antd_1.Tabs, __assign({}, props, { className: className }));
26
61
  };
27
62
  exports.Tabs = _Tabs;
28
63
  exports.Tabs.TabPane = antd_1.Tabs.TabPane;
@@ -0,0 +1,6 @@
1
+ export declare const API_PREFIX = "/api-data";
2
+ export declare const IMAGE_PREFIX = "/data/images";
3
+ export declare enum SOURCE_TYPE {
4
+ ELASTIC = 1,
5
+ MYSQL = 2
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SOURCE_TYPE = exports.IMAGE_PREFIX = exports.API_PREFIX = void 0;
4
+ exports.API_PREFIX = '/api-data';
5
+ exports.IMAGE_PREFIX = '/data/images';
6
+ var SOURCE_TYPE;
7
+ (function (SOURCE_TYPE) {
8
+ SOURCE_TYPE[SOURCE_TYPE["ELASTIC"] = 1] = "ELASTIC";
9
+ SOURCE_TYPE[SOURCE_TYPE["MYSQL"] = 2] = "MYSQL";
10
+ })(SOURCE_TYPE || (exports.SOURCE_TYPE = SOURCE_TYPE = {}));
@@ -0,0 +1,137 @@
1
+ // import React, { useCallback, useLayoutEffect, useRef, useState } from 'react';
2
+ // import _ from 'lodash';
3
+ // import { VTable } from '../../index';
4
+ // import { useDoLoad, useEffectFunction } from 'vap2/hooks';
5
+ // import { Const, Renders } from '../../utils';
6
+ // import { SOURCE_TYPE } from '../utils/Global';
7
+ // import { getColumns, getFieldBySourceField, getSourceFieldsById } from '../utils/SourceUtil';
8
+ // import { filtersToQuery, } from '../utils/ConvertUtil';
9
+ // import { generate, search, orderBy } from 'utils/ContentUtil';
10
+ // import type { BaseTableProps } from '../..//components/Tables';
11
+ // import type { ListModel } from '../../hooks/_list';
12
+ // import type { Dayjs } from 'dayjs';
13
+ // import type { PlainObject } from '../../basetype';
14
+ // export type SourceTableProps = Partial<Omit<BaseTableProps, 'searchBar' | 'selectBar'>> & {
15
+ // sourceId: number,
16
+ // startTime: Dayjs,
17
+ // endTime: Dayjs,
18
+ // searchFields?: string[]
19
+ // // columns?: []
20
+ // };
21
+ // const useSourceTable = (sourceId: number, startTime: Dayjs, endTime: Dayjs): ListModel => {
22
+ // const [state, setState] = useDoLoad({
23
+ // rowKey: '_id',
24
+ // list: [],
25
+ // isQuerying: false,
26
+ // cost: 0,
27
+ // pageNo: 1,
28
+ // pageSize: 15,
29
+ // total: 0,
30
+ // totalAcc: 0,
31
+ // param: {}
32
+ // });
33
+ // // source: number[], startTime: Dayjs, endTime: Dayjs, q: string, query: RequestQuery = {}, professor: boolean = false, agg: boolean = false, domain: string = null
34
+ // let lastQuery = useRef({
35
+ // sourceType: SOURCE_TYPE.ELASTIC,
36
+ // sourceId: [sourceId],
37
+ // startTime, endTime,
38
+ // segment: null, query: '',
39
+ // sort: null
40
+ // });
41
+ // const queryHook = useCallback(async (
42
+ // param: PlainObject,
43
+ // ) => {
44
+ // let filters: Filter[] = [];
45
+ // let fields = _.keys(param);
46
+ // for (let field of fields) {
47
+ // // getFieldBySourceField
48
+ // let value = _.trim(param[field]);
49
+ // if (value == null || value == '') continue;
50
+ // let col = await getFieldBySourceField(sourceId, field);
51
+ // if (col && col.type == 'keyword') {
52
+ // let filter = { field } as Filter;
53
+ // filter.oper = col.dict ? 'eq' : 'like';
54
+ // filter.value = param[field];
55
+ // filters.push(filter);
56
+ // }
57
+ // }
58
+ // let query = filtersToQuery(filters, sourceId);
59
+ // setState({ isQuerying: true })
60
+ // let resp = await generate(lastQuery.current.sourceId, lastQuery.current.startTime, lastQuery.current.endTime, '', query);
61
+ // lastQuery.current.sort = orderBy(lastQuery.current.sourceId[0]);
62
+ // lastQuery.current.query = resp.query;
63
+ // lastQuery.current.segment = resp.segment;
64
+ // // this.setState({ query: info.query, segment: info.segment, total: info.total, totalAcc: info.totalAcc }, () => {
65
+ // if (resp.total == 0) {
66
+ // setState({ isQuerying: false, list: [], total: 0, totalAcc: 0 })
67
+ // } else {
68
+ // setState({ isQuerying: false, total: resp.total, totalAcc: resp.totalAcc })
69
+ // pageTo(1)
70
+ // // this.toPage(1);
71
+ // }
72
+ // // })
73
+ // }, [state])
74
+ // const changeTime = () => {
75
+ // }
76
+ // const query = async (param: PlainObject, clean?: boolean) => {
77
+ // queryHook(param)
78
+ // }
79
+ // const pageTo = useCallback(async (pageNo: number, size?: number) => {
80
+ // const { sourceType, segment, query, sort } = lastQuery.current;
81
+ // let pageSize = size || state.pageSize;
82
+ // setState({ isQuerying: true })
83
+ // const resp = await search({
84
+ // sourceType, segment, query,
85
+ // sort,
86
+ // start: pageSize * (pageNo - 1),
87
+ // count: pageSize
88
+ // });
89
+ // setState({ isQuerying: false, list: resp.list, pageNo, pageSize })
90
+ // }, [state.pageSize])
91
+ // const _orderBy = async (order: string, by: 'asc' | 'desc') => {
92
+ // let sort = null;
93
+ // if (order) {
94
+ // sort = orderBy(lastQuery.current.sort, order, by != 'asc')
95
+ // }
96
+ // pageTo(1)
97
+ // }
98
+ // return { ...state, query, pageTo, orderBy: _orderBy, changeTime } as ListModel
99
+ // }
100
+ // export default (props: SourceTableProps) => {
101
+ // const model = useSourceTable(props.sourceId, props.startTime, props.endTime);
102
+ // const [config, setConfig] = useState({ columns: [] });
103
+ // useEffectFunction(async () => {
104
+ // let tableProps: BaseTableProps = { columns: [] }
105
+ // if (_.isArray(props.columns) && props.columns.length) {
106
+ // tableProps.columns = props.columns;
107
+ // } else {
108
+ // [tableProps.columns] = await getColumns([props.sourceId])
109
+ // }
110
+ // if (_.has(props, 'searchFields') && _.isArray(props.searchFields) && props.searchFields.length > 0) {
111
+ // const fields = await getSourceFieldsById(props.sourceId)
112
+ // tableProps.searchBar = { fields: [] }
113
+ // props.searchFields.map(item => {
114
+ // let field = _.find(fields, { field: item });
115
+ // if (field) {
116
+ // if (field.dict) {
117
+ // tableProps.searchBar.fields.push({ label: field.name, field: field.field, type: 'select', options: Renders.DictRender(field.dict).options() })
118
+ // } else if (field.type == 'keyword') {
119
+ // tableProps.searchBar.fields.push({ label: field.name, field: field.field, config: { like: true } })
120
+ // }
121
+ // }
122
+ // });
123
+ // }
124
+ // setConfig(tableProps);
125
+ // }, [props.columns]);
126
+ // useLayoutEffect(() => {
127
+ // model.query({});
128
+ // }, [])
129
+ // if (config.columns.length == 0) return Const.NONE;
130
+ // return <VTable
131
+ // model={model}
132
+ // {...config}
133
+ // mode={props.mode}
134
+ // rowKey='_id'
135
+ // autoLoad={false}
136
+ // />
137
+ // }
@@ -1,14 +1,25 @@
1
- // import React, { useEffect ,useCallback} from 'react';
1
+ // import React, { useEffect } from 'react';
2
2
  // import _ from 'lodash';
3
3
  // import { Ajax, CacheUtil, } from "../../utils";
4
- // // import { message, Icon } from '../../components'
4
+ // import { message } from 'antd';
5
+ // import { Icon } from '../../components/_adapt/Icon'
6
+ // // import { BaseOption, message, Icon } from '../'
5
7
  // import { useApi, useSetState } from '../../hooks';
6
- // // import { API_PREFIX, SOURCE_TYPE } from '../../utils/Global'
7
- // // import { } from 'react';
8
- // // import { sourceTypeRender } from '../utils/Renders';
8
+ // import { API_PREFIX, SOURCE_TYPE } from '../../utils/Global'
9
+ // import { useCallback } from 'react';
10
+ // export const sourceTypeRender = (type: SOURCE_TYPE): React.ReactNode => {
11
+ // switch (type) {
12
+ // case 1:
13
+ // return <img src={`${IMAGE_PREFIX}/source-type/elastic-search.svg`} height={20} width={58} style={{ verticalAlign: 'middle' }} />
14
+ // case 2:
15
+ // return <img src={`${IMAGE_PREFIX}/source-type/mysql.svg`} height={20} width={30} style={{ verticalAlign: 'middle' }} />
16
+ // default:
17
+ // return <img src={`${IMAGE_PREFIX}/source-type/elastic-search.svg`} height={20} width={58} style={{ verticalAlign: 'middle' }} />
18
+ // }
19
+ // }
9
20
  // const SOURCE_API = API_PREFIX + '/source'
10
21
  // Ajax.SESSION(SOURCE_API);
11
- // type UseDataSource = {
22
+ // export type UseDataSource = {
12
23
  // sourceLoading: boolean;
13
24
  // all: Source[],
14
25
  // sourceMap: Map<number, Source>,
@@ -44,6 +55,7 @@
44
55
  // afterAll: (action, isSuccess) => {
45
56
  // if (isSuccess) {
46
57
  // Ajax.CLEAR(SOURCE_API);
58
+ // location.reload();
47
59
  // }
48
60
  // }
49
61
  // }
@@ -59,8 +71,6 @@
59
71
  // resp.data.map(item => {
60
72
  // all.push(item);
61
73
  // sourceMap.set(item.id, item);
62
- // // console.log(item.topicName, item.topicAlias)
63
- // // if (item.topicName) kafka.push(item)
64
74
  // if (item.type == 1) {
65
75
  // es.push(item);
66
76
  // } else if (item.type == 2) {
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import type { Descendant } from 'slate';
3
+ /**
4
+ * 富文本框
5
+ */
6
+ export type ArticleProps = {
7
+ /**
8
+ * 值,传JSON串,或是 JSON
9
+ */
10
+ value: string | Descendant[];
11
+ /**
12
+ * 样式名称
13
+ */
14
+ className?: string;
15
+ /**
16
+ * 自定义样式
17
+ */
18
+ sytle?: React.CSSProperties;
19
+ };
20
+ export declare const Article: React.FC<ArticleProps>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.Article = void 0;
38
+ var react_1 = __importStar(require("react"));
39
+ var utils_1 = require("./utils");
40
+ var slate_1 = require("slate");
41
+ var slate_react_1 = require("slate-react");
42
+ var support_1 = require("./support");
43
+ var utils_2 = require("../../utils");
44
+ var Article = function (props) {
45
+ var renderElement = (0, react_1.useCallback)(function (props) { return react_1.default.createElement(support_1.Element, __assign({}, props)); }, []);
46
+ var renderLeaf = (0, react_1.useCallback)(function (props) { return react_1.default.createElement(support_1.Leaf, __assign({}, props)); }, []);
47
+ var editor = (0, react_1.useMemo)(function () { return (0, slate_react_1.withReact)((0, slate_1.createEditor)()); }, []);
48
+ var initialValue = (0, utils_1.initValue)(props);
49
+ return react_1.default.createElement("div", { className: utils_2.StringUtil.className(['sv', props.className]), style: props.sytle },
50
+ react_1.default.createElement(slate_react_1.Slate, { editor: editor, initialValue: initialValue },
51
+ react_1.default.createElement(slate_react_1.Editable, { readOnly: true, renderElement: renderElement, renderLeaf: renderLeaf })));
52
+ };
53
+ exports.Article = Article;
@@ -0,0 +1,43 @@
1
+ import type { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ import type { Descendant } from 'slate';
3
+ import type { ArticleProps, CommandType } from './types';
4
+ export type EditorRef = {
5
+ getValue: () => Descendant[];
6
+ };
7
+ export type EditorProps = Partial<ArticleProps> & {
8
+ /**
9
+ * 微服务版本专用,
10
+ * 用于声明图片/文件上传的 namespace 空间
11
+ */
12
+ namespace?: string;
13
+ /**
14
+ * 是否禁用
15
+ */
16
+ disabled?: boolean;
17
+ /**
18
+ * 提示
19
+ */
20
+ placeholder?: string;
21
+ /**
22
+ * 操作栏:
23
+ * full 全操作
24
+ * simple : 简洁操作(默认)
25
+ *
26
+ * */
27
+ toolbar?: 'full' | 'simple' | CommandType[][];
28
+ /**
29
+ * 事件
30
+ */
31
+ onChange?: (value: Descendant[], isCtrlS: boolean) => void;
32
+ /**
33
+ * 变化时,延时触发onChange,避免onChange频繁调用,
34
+ * 默认 200
35
+ */
36
+ onChangeDelay?: number;
37
+ /**
38
+ * 图库
39
+ * 传此后,插入图片会多出从图库中选择的选项
40
+ */
41
+ imgages?: string[];
42
+ };
43
+ export declare const Editor: ForwardRefExoticComponent<EditorProps & RefAttributes<EditorRef>>;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.Editor = void 0;
41
+ var react_1 = __importStar(require("react"));
42
+ var lodash_1 = __importDefault(require("lodash"));
43
+ var slate_1 = require("slate");
44
+ var slate_react_1 = require("slate-react");
45
+ var slate_history_1 = require("slate-history");
46
+ var ToolBar_1 = require("./tools/ToolBar");
47
+ var support_1 = require("./support");
48
+ var utils_1 = require("./utils");
49
+ var utils_2 = require("../../utils");
50
+ exports.Editor = (0, react_1.forwardRef)(function (props, ref) {
51
+ var editor = (0, react_1.useMemo)(function () { return (0, support_1.supportAdvance)((0, slate_history_1.withHistory)((0, slate_react_1.withReact)((0, slate_1.createEditor)()))); }, []);
52
+ var renderElement = (0, react_1.useCallback)(function (props) { return react_1.default.createElement(support_1.Element, __assign({}, props, { isEditor: true })); }, []);
53
+ var renderLeaf = (0, react_1.useCallback)(function (props) { return react_1.default.createElement(support_1.Leaf, __assign({}, props)); }, []);
54
+ var initialValue = (0, utils_1.initValue)(props);
55
+ var PID = (0, react_1.useRef)(null);
56
+ (0, react_1.useImperativeHandle)(ref, function () { return ({
57
+ getValue: function () { return editor.children; }
58
+ }); }, []);
59
+ (0, react_1.useLayoutEffect)(function () {
60
+ if (!lodash_1.default.isFunction(props.onChange))
61
+ return;
62
+ var onKeyDown = function (evt) {
63
+ if (!evt.ctrlKey)
64
+ return;
65
+ if (evt.key == 's' || evt.key == 'S') {
66
+ evt.preventDefault();
67
+ evt.stopPropagation();
68
+ props.onChange(editor.children, true);
69
+ return;
70
+ }
71
+ };
72
+ document.addEventListener('keydown', onKeyDown, false);
73
+ return function () { return document.removeEventListener('keydown', onKeyDown); };
74
+ }, []);
75
+ var toolbar = (0, react_1.useMemo)(function () {
76
+ if (lodash_1.default.isArray(props.toolbar)) {
77
+ return props.toolbar;
78
+ }
79
+ if (lodash_1.default.isString(props.toolbar)) {
80
+ if (props.toolbar == 'full')
81
+ return utils_1.FULL_TOOLS;
82
+ if (props.toolbar == 'simple')
83
+ return utils_1.SIMPLE_TOOLS;
84
+ }
85
+ return utils_1.SIMPLE_TOOLS;
86
+ }, []);
87
+ var onChange = (0, react_1.useMemo)(function () {
88
+ if (!lodash_1.default.isFunction(props.onChange))
89
+ return undefined;
90
+ var delay = props.onChangeDelay || 200;
91
+ return function (value) {
92
+ var isAstChange = editor.operations.some(function (op) { return 'set_selection' !== op.type; });
93
+ if (isAstChange) {
94
+ clearTimeout(PID.current);
95
+ PID.current = setTimeout(function () { return props.onChange(value, false); }, delay);
96
+ }
97
+ };
98
+ }, []);
99
+ return react_1.default.createElement("div", { className: utils_2.StringUtil.className(['sv se', props.className]), style: props.sytle },
100
+ react_1.default.createElement(slate_react_1.Slate, { editor: editor, initialValue: initialValue, onChange: onChange },
101
+ react_1.default.createElement(ToolBar_1.Toolbar, { buttons: toolbar, disabled: props.disabled }),
102
+ react_1.default.createElement(slate_react_1.Editable, { renderElement: renderElement, renderLeaf: renderLeaf, spellCheck: true, autoFocus: true, placeholder: props.placeholder || '请输入文本',
103
+ // readOnly={props.disabled}
104
+ disabled: props.disabled, className: 'se-content', onKeyDown: function (event) {
105
+ if (event.ctrlKey && event.key == 'a' || event.key == 'A') {
106
+ event.preventDefault();
107
+ slate_1.Transforms.select(editor, []);
108
+ }
109
+ } })));
110
+ });