vap1 0.3.6 → 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 (105) hide show
  1. package/components/Box/SelectBar.d.ts +4 -0
  2. package/components/Box/SelectBar.js +1 -1
  3. package/components/SearchBar/ByField.d.ts +6 -3
  4. package/components/SearchBar/ByField.js +5 -5
  5. package/components/SearchBar/ByKeyword.js +7 -1
  6. package/components/UForm/_input.js +2 -2
  7. package/components/Upload/UploadImage.d.ts +1 -0
  8. package/components/Upload/UploadImage.js +6 -5
  9. package/components/_adapt/Tabs.d.ts +15 -0
  10. package/components/_adapt/Tabs.js +38 -3
  11. package/components/_common/CountUp.d.ts +3 -1
  12. package/components/_common/CountUp.js +5 -1
  13. package/deps/app-audit/ESTable.js +1 -0
  14. package/deps/app-audit/LookUp.d.ts +27 -0
  15. package/deps/app-audit/LookUp.js +324 -0
  16. package/deps/app-audit/index.d.ts +1 -0
  17. package/deps/app-audit/index.js +7 -0
  18. package/deps/app-data/Const.d.ts +6 -0
  19. package/deps/app-data/Const.js +10 -0
  20. package/deps/app-data/SourceTable.js +137 -0
  21. package/deps/{apis → app-data}/useSource.js +18 -8
  22. package/deps/editor/Article.d.ts +20 -0
  23. package/deps/editor/Article.js +53 -0
  24. package/deps/editor/Editor.d.ts +43 -0
  25. package/deps/editor/Editor.js +110 -0
  26. package/deps/editor/EditorModal.d.ts +32 -0
  27. package/deps/editor/EditorModal.js +89 -0
  28. package/deps/editor/index.d.ts +4 -0
  29. package/deps/editor/index.js +9 -0
  30. package/deps/{registerEditor.js → editor/registerEditor.js} +4 -4
  31. package/deps/editor/support/buttons/ImageButton.d.ts +5 -0
  32. package/deps/editor/support/buttons/ImageButton.js +138 -0
  33. package/deps/editor/support/buttons/index.d.ts +1 -0
  34. package/deps/editor/support/buttons/index.js +5 -0
  35. package/deps/editor/support/element/ImageElement.d.ts +3 -0
  36. package/deps/editor/support/element/ImageElement.js +228 -0
  37. package/deps/editor/support/element/TableElement.d.ts +0 -0
  38. package/deps/editor/support/element/TableElement.js +0 -0
  39. package/deps/editor/support/element/VideoElement.d.ts +0 -0
  40. package/deps/editor/support/element/VideoElement.js +0 -0
  41. package/deps/editor/support/element/_Base.d.ts +9 -0
  42. package/deps/editor/support/element/_Base.js +9 -0
  43. package/deps/editor/support/element/_Element.d.ts +2 -0
  44. package/deps/{_editor/base/Element.js → editor/support/element/_Element.js} +9 -6
  45. package/deps/editor/support/element/_Leaf.d.ts +3 -0
  46. package/deps/{_editor/base/Leaf.js → editor/support/element/_Leaf.js} +2 -2
  47. package/deps/editor/support/index.d.ts +4 -0
  48. package/deps/editor/support/index.js +89 -0
  49. package/deps/{_editor → editor}/tools/Button.d.ts +1 -1
  50. package/deps/{_editor → editor}/tools/Button.js +7 -3
  51. package/deps/{_editor → editor}/tools/ToolBar.d.ts +1 -1
  52. package/deps/{_editor → editor}/tools/ToolBar.js +1 -1
  53. package/deps/{_editor → editor}/tools/_BlockButton.d.ts +1 -1
  54. package/deps/{_editor → editor}/tools/_BlockButton.js +3 -3
  55. package/deps/{_editor → editor}/tools/_InsertButton.d.ts +1 -2
  56. package/deps/editor/tools/_InsertButton.js +36 -0
  57. package/deps/{_editor → editor}/tools/_MarkButton.d.ts +1 -1
  58. package/deps/{_editor → editor}/tools/_MarkButton.js +4 -4
  59. package/deps/{_editor → editor}/tools/_TxtButton.d.ts +1 -1
  60. package/deps/{_editor → editor}/tools/_TxtButton.js +37 -50
  61. package/deps/{_editor/base → editor}/types.d.ts +47 -56
  62. package/deps/editor/types.js +2 -0
  63. package/deps/editor/utils/ParseHtml.d.ts +0 -0
  64. package/deps/editor/utils/index.d.ts +7 -0
  65. package/deps/editor/utils/index.js +60 -0
  66. package/hooks/_list.d.ts +2 -1
  67. package/hooks/useAjaxQuery.d.ts +7 -3
  68. package/hooks/useAjaxQuery.js +46 -25
  69. package/hooks/useApiBase.js +25 -26
  70. package/index.d.ts +1 -0
  71. package/package.json +1 -1
  72. package/uform/FormViewer.d.ts +6 -6
  73. package/uform/hooks/useEditor.js +0 -1
  74. package/utils/Format.d.ts +8 -1
  75. package/utils/Format.js +10 -2
  76. package/utils/Global.d.ts +4 -0
  77. package/utils/Global.js +1 -0
  78. package/utils/TipUtil.d.ts +4 -0
  79. package/utils/TipUtil.js +6 -4
  80. package/deps/_editor/advance/_Image.d.ts +0 -2
  81. package/deps/_editor/advance/_Image.js +0 -102
  82. package/deps/_editor/base/Element.d.ts +0 -5
  83. package/deps/_editor/base/Leaf.d.ts +0 -3
  84. package/deps/_editor/base/Support.d.ts +0 -2
  85. package/deps/_editor/base/Support.js +0 -78
  86. package/deps/_editor/base/types.js +0 -10
  87. package/deps/_editor/tools/_InsertButton.js +0 -69
  88. package/deps/api-audit.d.ts +0 -1
  89. package/deps/api-audit.js +0 -6
  90. package/deps/api-data.js +0 -1
  91. package/deps/editor.d.ts +0 -34
  92. package/deps/editor.js +0 -137
  93. /package/deps/{_editor/advance/_Audio.d.ts → app-audit/ESTable.d.ts} +0 -0
  94. /package/deps/{_editor/advance/_Table.d.ts → app-data/SourceTable.d.ts} +0 -0
  95. /package/deps/{apis → app-data}/useSource.d.ts +0 -0
  96. /package/deps/{_editor → editor}/i18n.d.ts +0 -0
  97. /package/deps/{_editor → editor}/i18n.js +0 -0
  98. /package/deps/{registerEditor.d.ts → editor/registerEditor.d.ts} +0 -0
  99. /package/deps/{_editor/advance/_Video.d.ts → editor/support/buttons/AudioButton.d.ts} +0 -0
  100. /package/deps/{_editor/advance/_Audio.js → editor/support/buttons/AudioButton.js} +0 -0
  101. /package/deps/{_editor/utils/ParseHtml.d.ts → editor/support/buttons/TableButton.d.ts} +0 -0
  102. /package/deps/{_editor/advance/_Table.js → editor/support/buttons/TableButton.js} +0 -0
  103. /package/deps/{api-data.d.ts → editor/support/buttons/VideoButton.d.ts} +0 -0
  104. /package/deps/{_editor/advance/_Video.js → editor/support/buttons/VideoButton.js} +0 -0
  105. /package/deps/{_editor → editor}/utils/ParseHtml.js +0 -0
@@ -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
+ });
@@ -0,0 +1,32 @@
1
+ import type { Descendant } from 'slate';
2
+ import type { FC, ReactNode } from 'react';
3
+ export type EditorModalProps = {
4
+ /**
5
+ * 弹框标题
6
+ */
7
+ title?: ReactNode;
8
+ /**
9
+ * 是否打开
10
+ */
11
+ open: boolean;
12
+ /**
13
+ * 初始数据
14
+ */
15
+ data?: Descendant[] | string;
16
+ /**
17
+ * 弹框宽度
18
+ */
19
+ width?: number;
20
+ /**
21
+ * onOk时 数据类型
22
+ * string = 字段串,
23
+ * ojbect = 对象(默认),可自动通过 JSON.stringify 转成字符串
24
+ */
25
+ dataType?: 'string' | 'object';
26
+ onCancel: () => void;
27
+ onOk: (data: any) => void;
28
+ };
29
+ export declare const useDestoryModal: (props: {
30
+ open?: boolean;
31
+ }) => [boolean, () => void];
32
+ export declare const EditorModal: FC<EditorModalProps>;
@@ -0,0 +1,89 @@
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 __read = (this && this.__read) || function (o, n) {
37
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
38
+ if (!m) return o;
39
+ var i = m.call(o), r, ar = [], e;
40
+ try {
41
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
+ }
43
+ catch (error) { e = { error: error }; }
44
+ finally {
45
+ try {
46
+ if (r && !r.done && (m = i["return"])) m.call(i);
47
+ }
48
+ finally { if (e) throw e.error; }
49
+ }
50
+ return ar;
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.EditorModal = exports.useDestoryModal = void 0;
54
+ var react_1 = __importStar(require("react"));
55
+ var index_1 = require("../../index");
56
+ var Editor_1 = require("./Editor");
57
+ var utils_1 = require("../../utils");
58
+ var useDestoryModal = function (props) {
59
+ var _a = __read((0, react_1.useState)(false), 2), open = _a[0], setOpen = _a[1];
60
+ (0, react_1.useLayoutEffect)(function () {
61
+ if (props.open)
62
+ setOpen(true);
63
+ }, [props.open]);
64
+ return [open, function () { return setOpen(false); }];
65
+ };
66
+ exports.useDestoryModal = useDestoryModal;
67
+ var _EditorModal = function (props) {
68
+ // const editor = useMemo(() => withHistory(withReact(createEditor())), [])
69
+ var editorRef = (0, react_1.useRef)();
70
+ var onOk = (0, react_1.useCallback)(function () {
71
+ if (props.dataType == 'string') {
72
+ props.onOk(JSON.stringify(editorRef.current.getValue()));
73
+ }
74
+ else {
75
+ props.onOk(editorRef.current.getValue());
76
+ }
77
+ }, []);
78
+ return react_1.default.createElement(index_1.Modal, { open: props.open, maskClosable: false,
79
+ // onCancel={props.onCancel}
80
+ title: props.title, width: props.width || 960, afterClose: props.afterClose, bodyStyle: { width: '100%', height: 480, padding: 0 } },
81
+ react_1.default.createElement(Editor_1.Editor, { value: props.data, ref: editorRef }));
82
+ };
83
+ var EditorModal = function (props) {
84
+ var _a = __read((0, exports.useDestoryModal)(props), 2), open = _a[0], afterClose = _a[1];
85
+ if (!open)
86
+ return utils_1.Const.NONE;
87
+ return react_1.default.createElement(_EditorModal, __assign({}, props, { afterClose: afterClose }));
88
+ };
89
+ exports.EditorModal = EditorModal;
@@ -0,0 +1,4 @@
1
+ export { Editor, type EditorProps } from './Editor';
2
+ export { Article } from './Article';
3
+ export type { ArticleProps } from './types';
4
+ export { EditorModal, type EditorModalProps } from './EditorModal';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EditorModal = exports.Article = exports.Editor = void 0;
4
+ var Editor_1 = require("./Editor");
5
+ Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return Editor_1.Editor; } });
6
+ var Article_1 = require("./Article");
7
+ Object.defineProperty(exports, "Article", { enumerable: true, get: function () { return Article_1.Article; } });
8
+ var EditorModal_1 = require("./EditorModal");
9
+ Object.defineProperty(exports, "EditorModal", { enumerable: true, get: function () { return EditorModal_1.EditorModal; } });
@@ -15,12 +15,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var react_1 = __importDefault(require("react"));
18
- var components_1 = require("../components");
19
- var editor_1 = require("./editor");
18
+ var components_1 = require("../../components");
19
+ var index_1 = require("./index");
20
20
  (0, components_1.registerFormField)('editor', function (props) {
21
21
  var disabled = props.disabled, value = props.value, onChange = props.onChange, field = props.field;
22
- return react_1.default.createElement(editor_1.Editor, __assign({ placeholder: (0, components_1.getPlaceholder)(field) }, field.config, { value: value, disabled: disabled, onChange: function (val) { return onChange(val); } }));
22
+ return react_1.default.createElement(index_1.Editor, __assign({ placeholder: (0, components_1.getPlaceholder)(field) }, field.config, { value: value, disabled: disabled, onChange: function (val) { return onChange(val); } }));
23
23
  }, {
24
24
  breakCol: true,
25
- render: function (value) { return react_1.default.createElement(editor_1.Article, { value: value }); }
25
+ render: function (value) { return react_1.default.createElement(index_1.Article, { value: value }); }
26
26
  });
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { Editor } from 'slate';
3
+ import type { ButtonProps } from '../../types';
4
+ export declare const insertImage: (editor: Editor, url: string) => void;
5
+ export declare const ImageButton: React.FC<ButtonProps>;