@giteeteam/apps-team-components 1.10.11 → 1.11.0-alpha.2
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 -0
- package/dist/components/fields/editor/ReadView.d.ts +3 -0
- package/dist/components/fields/editor/ReadView.js +25 -0
- package/dist/components/fields/long-text/ReadView.d.ts +5 -1
- package/dist/components/fields/long-text/ReadView.js +15 -4
- package/dist/components/fields/long-text/style/index.d.ts +2 -0
- package/dist/components/fields/long-text/style/index.js +8 -1
- package/dist/components/fields/types.d.ts +1 -0
- package/dist/components/table-components/index.js +2 -1
- package/dist/components/table-components/utils.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { memo, useEffect } from 'react';
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import { proximaSdk } from '@giteeteam/proxima-sdk-js';
|
|
5
|
+
import EmptyField from '../../common/EmptyField.js';
|
|
6
|
+
|
|
7
|
+
const SPECIAL_EDITOR_KEY = '__editor__html';
|
|
8
|
+
const EditorCellStyle = css `
|
|
9
|
+
&.editor-cell {
|
|
10
|
+
white-space: pre-wrap;
|
|
11
|
+
word-break: break-word;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
const EditorReadView = memo(({ itemValues, fieldKey }) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const htmlStr = (_a = itemValues === null || itemValues === void 0 ? void 0 : itemValues[SPECIAL_EDITOR_KEY]) === null || _a === void 0 ? void 0 : _a[fieldKey];
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (fieldKey && htmlStr) {
|
|
19
|
+
proximaSdk.execute('ReadViewValueChange', { fieldKey, value: htmlStr });
|
|
20
|
+
}
|
|
21
|
+
}, [htmlStr, fieldKey]);
|
|
22
|
+
return htmlStr ? (jsx("div", { className: "editor-cell", css: EditorCellStyle, dangerouslySetInnerHTML: { __html: htmlStr } })) : (jsx(EmptyField, { readonly: true }));
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { EditorReadView as default };
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { ReadViewBaseProps } from '../types';
|
|
2
|
-
|
|
2
|
+
type LongTextReadViewProps = ReadViewBaseProps & {
|
|
3
|
+
isReadingTableCell?: boolean;
|
|
4
|
+
noPadding?: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare const LongTextReadView: import("react").NamedExoticComponent<LongTextReadViewProps>;
|
|
3
7
|
export default LongTextReadView;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
-
import { memo } from 'react';
|
|
2
|
+
import { memo, useEffect } from 'react';
|
|
3
3
|
import { css } from '@emotion/react';
|
|
4
|
+
import { proximaSdk } from '@giteeteam/proxima-sdk-js';
|
|
4
5
|
import EmptyField from '../../common/EmptyField.js';
|
|
5
6
|
import BaseOverflowTooltip from '../../common/overflow-tooltip/BaseOverflowTooltip.js';
|
|
6
|
-
import { whiteSpacePreStyle } from './style/index.js';
|
|
7
|
+
import { whiteSpacePreStyle, textStyle, noPaddingStyle } from './style/index.js';
|
|
7
8
|
|
|
8
|
-
const
|
|
9
|
-
|
|
9
|
+
const OverflowWrapper = ({ needOverflow, children }) => {
|
|
10
|
+
if (needOverflow)
|
|
11
|
+
return jsx(BaseOverflowTooltip, { maxline: 1, children: children });
|
|
12
|
+
return jsx(Fragment, { children: children });
|
|
13
|
+
};
|
|
14
|
+
const LongTextReadView = memo(({ value, readonly, isReadingTableCell, fieldKey, noPadding }) => {
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (fieldKey && value) {
|
|
17
|
+
proximaSdk.execute('ReadViewValueChange', { fieldKey, value });
|
|
18
|
+
}
|
|
19
|
+
}, [value, fieldKey]);
|
|
20
|
+
return (jsx(Fragment, { children: value ? (jsx(OverflowWrapper, { needOverflow: !isReadingTableCell, children: jsx("span", { css: css(whiteSpacePreStyle, textStyle, noPadding ? noPaddingStyle : undefined), dangerouslySetInnerHTML: { __html: value } }) })) : (jsx(EmptyField, { readonly: readonly })) }));
|
|
10
21
|
});
|
|
11
22
|
LongTextReadView.displayName = 'LongTextReadView';
|
|
12
23
|
|
|
@@ -1 +1,3 @@
|
|
|
1
1
|
export declare const whiteSpacePreStyle = "\n padding-top: 5px;\n padding-bottom: 5px;\n word-break: break-all;\n white-space: pre-wrap;\n";
|
|
2
|
+
export declare const textStyle = "\n line-height: 22px;\n color: #2e405e;\n";
|
|
3
|
+
export declare const noPaddingStyle = "\n padding: 0;\n";
|
|
@@ -4,5 +4,12 @@ const whiteSpacePreStyle = `
|
|
|
4
4
|
word-break: break-all;
|
|
5
5
|
white-space: pre-wrap;
|
|
6
6
|
`;
|
|
7
|
+
const textStyle = `
|
|
8
|
+
line-height: 22px;
|
|
9
|
+
color: #2e405e;
|
|
10
|
+
`;
|
|
11
|
+
const noPaddingStyle = `
|
|
12
|
+
padding: 0;
|
|
13
|
+
`;
|
|
7
14
|
|
|
8
|
-
export { whiteSpacePreStyle };
|
|
15
|
+
export { noPaddingStyle, textStyle, whiteSpacePreStyle };
|
|
@@ -43,6 +43,7 @@ const BaseTableCell = ({ className, cellData, column, rowData, readComponents =
|
|
|
43
43
|
const timeoutCurrent = useRef();
|
|
44
44
|
const ReadComponent = readComponents[column.cellType] || readComponents[column.componentType];
|
|
45
45
|
const EditComponent = editComponents[column.cellType] || editComponents[column.componentType];
|
|
46
|
+
const fieldKey = column.dataIndex || column.dataKey || column.key;
|
|
46
47
|
const handleMouseOver = useCallback(() => {
|
|
47
48
|
if (!isEmpty(editComponents)) {
|
|
48
49
|
timeoutCurrent.current = setTimeout(() => {
|
|
@@ -56,7 +57,7 @@ const BaseTableCell = ({ className, cellData, column, rowData, readComponents =
|
|
|
56
57
|
return (jsx("div", { className: cls, children: jsx(EditTableCell, { Component: EditComponent, workspaceId: (_a = rowData.workspace) === null || _a === void 0 ? void 0 : _a.objectId, itemTypeId: (_b = rowData.itemType) === null || _b === void 0 ? void 0 : _b.objectId, property: property, data: data, id: rowData.objectId, readonly: readonly, objectId: objectId, text: cellData, type: column.componentType, handleChange: handleChange, dataSource: column.dataSource }) }));
|
|
57
58
|
}
|
|
58
59
|
if (ReadComponent) {
|
|
59
|
-
return (jsx("div", { className: cls, onMouseOver: handleMouseOver, children: jsx(ReadComponent, { readonly: readonly, value: cellData, ...column.property, userData: column.data, options: ((_c = column.data) === null || _c === void 0 ? void 0 : _c.customData) || EMPTY_ARRAY, itemValues: rowData, objectId: column.objectId, dataSource: column.dataSource }) }));
|
|
60
|
+
return (jsx("div", { className: cls, onMouseOver: handleMouseOver, children: jsx(ReadComponent, { readonly: readonly, value: cellData, ...column.property, userData: column.data, options: ((_c = column.data) === null || _c === void 0 ? void 0 : _c.customData) || EMPTY_ARRAY, itemValues: rowData, objectId: column.objectId, dataSource: column.dataSource, fieldKey: fieldKey, isReadingTableCell: column.isReadingList, noPadding: column.noPadding }) }));
|
|
60
61
|
}
|
|
61
62
|
const text = transferItem(cellData !== null && cellData !== void 0 ? cellData : rowData[column.dataIndex], readonly);
|
|
62
63
|
return jsx("div", { className: cls, children: text });
|
|
@@ -12,6 +12,7 @@ import DataQuoteReadView from '../fields/data-quote/ReadView.js';
|
|
|
12
12
|
import DateReadView from '../fields/date/ReadView.js';
|
|
13
13
|
import DropdownCell from '../fields/dropdown/Cell.js';
|
|
14
14
|
import DropdownReadView from '../fields/dropdown/ReadView.js';
|
|
15
|
+
import EditorReadView from '../fields/editor/ReadView.js';
|
|
15
16
|
import FileReadView from '../fields/file/ReadView.js';
|
|
16
17
|
import FormulaReadView from '../fields/formula/ReadView.js';
|
|
17
18
|
import HyperLinkCell from '../fields/hyper-link/ReadView.js';
|
|
@@ -88,6 +89,7 @@ const getAllReadComponents = () => {
|
|
|
88
89
|
[FIELD_TYPE_KEY_MAPPINGS.Script]: ScriptReadView,
|
|
89
90
|
[FIELD_TYPE_KEY_MAPPINGS.Tree]: TreeReadView,
|
|
90
91
|
[FIELD_TYPE_KEY_MAPPINGS.Reporter]: ReporterReadView,
|
|
92
|
+
[FIELD_TYPE_KEY_MAPPINGS.Editor]: EditorReadView,
|
|
91
93
|
};
|
|
92
94
|
return allReadComponents;
|
|
93
95
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { default as DataQuoteReadView } from './components/fields/data-quote/Rea
|
|
|
14
14
|
export { default as DateReadView } from './components/fields/date/ReadView';
|
|
15
15
|
export { default as DropdownCell } from './components/fields/dropdown/Cell';
|
|
16
16
|
export { default as DropdownReadView } from './components/fields/dropdown/ReadView';
|
|
17
|
+
export { default as EditorReadView } from './components/fields/editor/ReadView';
|
|
17
18
|
export { default as FileReadView } from './components/fields/file/ReadView';
|
|
18
19
|
export { default as FormulaReadView } from './components/fields/formula/ReadView';
|
|
19
20
|
export { default as HyperLinkReadView } from './components/fields/hyper-link/ReadView';
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { default as DataQuoteReadView } from './components/fields/data-quote/Rea
|
|
|
14
14
|
export { default as DateReadView } from './components/fields/date/ReadView.js';
|
|
15
15
|
export { default as DropdownCell } from './components/fields/dropdown/Cell.js';
|
|
16
16
|
export { default as DropdownReadView } from './components/fields/dropdown/ReadView.js';
|
|
17
|
+
export { default as EditorReadView } from './components/fields/editor/ReadView.js';
|
|
17
18
|
export { default as FileReadView } from './components/fields/file/ReadView.js';
|
|
18
19
|
export { default as FormulaReadView } from './components/fields/formula/ReadView.js';
|
|
19
20
|
export { default as HyperLinkReadView } from './components/fields/hyper-link/ReadView.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giteeteam/apps-team-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0-alpha.2",
|
|
4
4
|
"description": "Gitee team components",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"prepare": "husky install && pnpm build",
|
|
9
9
|
"dev": "rollup -c -w",
|
|
10
10
|
"build": "rimraf dist && rollup -c",
|
|
11
|
-
"publish:alpha": "npm publish --tag alpha",
|
|
11
|
+
"publish:alpha": "npm publish --access public --tag alpha",
|
|
12
12
|
"prepublishOnly": "pnpm build",
|
|
13
13
|
"lint": "eslint . --ext ts --ext tsx --ext js --ext json",
|
|
14
14
|
"pre-commit": "lint-staged",
|