@qn-pandora/pandora-component 4.0.3 → 4.0.5
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/CHANGELOG.json +46 -0
- package/CHANGELOG.md +17 -1
- package/es/components/FileResumable/constants.d.ts +33 -0
- package/es/components/FileResumable/constants.js +0 -0
- package/es/components/FileResumable/index.d.ts +13 -0
- package/es/components/FileResumable/index.js +327 -0
- package/es/components/FileResumable/style.css +777 -0
- package/es/components/FileResumable/style.less +94 -0
- package/es/components/FileResumable/utils.d.ts +1 -0
- package/es/components/FileResumable/utils.js +17 -0
- package/es/components/Menu/Option.d.ts +4 -0
- package/es/components/Table/index.js +4 -1
- package/es/components/Table/style.css +3 -0
- package/es/components/Table/style.less +5 -0
- package/es/components/Transfer/List/index.js +15 -8
- package/es/constants/language/en.js +3 -1
- package/es/constants/language/type.d.ts +2 -0
- package/es/constants/language/upload/en.d.ts +3 -0
- package/es/constants/language/upload/en.js +20 -0
- package/es/constants/language/upload/type.d.ts +20 -0
- package/es/constants/language/upload/type.js +4 -0
- package/es/constants/language/upload/zh.d.ts +3 -0
- package/es/constants/language/upload/zh.js +20 -0
- package/es/constants/language/zh.js +3 -1
- package/es/index.css +5545 -4775
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/es/index.less +16 -15
- package/es/style/theme.less +1 -0
- package/lib/components/FileResumable/constants.d.ts +33 -0
- package/lib/components/FileResumable/constants.js +2 -0
- package/lib/components/FileResumable/index.d.ts +13 -0
- package/lib/components/FileResumable/index.js +340 -0
- package/lib/components/FileResumable/style.css +777 -0
- package/lib/components/FileResumable/style.less +94 -0
- package/lib/components/FileResumable/utils.d.ts +1 -0
- package/lib/components/FileResumable/utils.js +19 -0
- package/lib/components/Menu/Option.d.ts +4 -0
- package/lib/components/Table/index.js +4 -1
- package/lib/components/Table/style.css +3 -0
- package/lib/components/Table/style.less +5 -0
- package/lib/components/Transfer/List/index.js +14 -7
- package/lib/constants/language/en.js +6 -1
- package/lib/constants/language/type.d.ts +2 -0
- package/lib/constants/language/upload/en.d.ts +3 -0
- package/lib/constants/language/upload/en.js +22 -0
- package/lib/constants/language/upload/type.d.ts +20 -0
- package/lib/constants/language/upload/type.js +9 -0
- package/lib/constants/language/upload/zh.d.ts +3 -0
- package/lib/constants/language/upload/zh.js +22 -0
- package/lib/constants/language/zh.js +6 -1
- package/lib/index.css +4039 -3269
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -0
- package/lib/index.less +17 -16
- package/lib/style/theme.less +1 -0
- package/package.json +6 -4
@@ -0,0 +1,94 @@
|
|
1
|
+
@import 'antd/lib/upload/style/index.less';
|
2
|
+
@import '../../style/theme.less';
|
3
|
+
|
4
|
+
.@{sdk-prefix}-file-resumable {
|
5
|
+
cursor: pointer;
|
6
|
+
}
|
7
|
+
|
8
|
+
.@{sdk-prefix}-file-resumable-run-container {
|
9
|
+
text-align: right;
|
10
|
+
.@{sdk-prefix}-file-resumable-run-container-icon {
|
11
|
+
color: @theme-color;
|
12
|
+
cursor: pointer;
|
13
|
+
font-size: 14px;
|
14
|
+
margin: 0 6px;
|
15
|
+
}
|
16
|
+
|
17
|
+
.@{sdk-prefix}-file-resumable-run-container-icon-disabled {
|
18
|
+
color: @font-disable-color;
|
19
|
+
&:hover {
|
20
|
+
cursor: not-allowed;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
.@{sdk-prefix}-file-resumable-upload-icon {
|
26
|
+
font-size: 50px;
|
27
|
+
color: @icon-color;
|
28
|
+
}
|
29
|
+
|
30
|
+
.downloadIcon {
|
31
|
+
color: @theme-color;
|
32
|
+
cursor: pointer;
|
33
|
+
font-size: 20px;
|
34
|
+
}
|
35
|
+
|
36
|
+
.@{sdk-prefix}-file-resumable:hover {
|
37
|
+
border-color: @theme-color;
|
38
|
+
}
|
39
|
+
|
40
|
+
.@{sdk-prefix}-file-resumable-img-container {
|
41
|
+
background: @normal-color;
|
42
|
+
border: 1px dashed @border-color-1;
|
43
|
+
width: 50px;
|
44
|
+
height: 50px;
|
45
|
+
padding: 4px;
|
46
|
+
border-radius: 2px;
|
47
|
+
align-items: center;
|
48
|
+
cursor: pointer;
|
49
|
+
position: relative;
|
50
|
+
font-size: 16px;
|
51
|
+
display: flex;
|
52
|
+
justify-content: center;
|
53
|
+
.@{sdk-prefix}-file-resumable-img-operator {
|
54
|
+
display: flex;
|
55
|
+
justify-content: center;
|
56
|
+
align-items: center;
|
57
|
+
position: absolute;
|
58
|
+
top: 4px;
|
59
|
+
left: 4px;
|
60
|
+
right: 4px;
|
61
|
+
bottom: 4px;
|
62
|
+
.anticon {
|
63
|
+
font-size: 16px;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
.@{sdk-prefix}-file-resumable-img-hidden-plus-icon {
|
67
|
+
display: none;
|
68
|
+
}
|
69
|
+
|
70
|
+
.@{sdk-prefix}-file-resumable-img-box {
|
71
|
+
max-width: 100%;
|
72
|
+
max-height: 100%;
|
73
|
+
padding: 4px;
|
74
|
+
}
|
75
|
+
|
76
|
+
&:hover {
|
77
|
+
.@{sdk-prefix}-file-resumable-img-operator {
|
78
|
+
background: @image-operator-hover-bg;
|
79
|
+
display: flex;
|
80
|
+
.anticon {
|
81
|
+
font-size: 16px;
|
82
|
+
color: @normal-color;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
.@{sdk-prefix}-file-resumable-img.ant-upload.ant-upload-drag {
|
88
|
+
width: 50px;
|
89
|
+
height: 50px;
|
90
|
+
border: none;
|
91
|
+
.@{ant-prefix}-upload-btn {
|
92
|
+
padding: 0;
|
93
|
+
}
|
94
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const isJpgOrPngOrSvg: (type?: string, hexValue?: string) => boolean;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
var lodash_1 = require("lodash");
|
4
|
+
var MIME_IMAGE_TYPE = [
|
5
|
+
'image/png',
|
6
|
+
'image/jpeg',
|
7
|
+
'image/jpeg',
|
8
|
+
'image/svg+xml',
|
9
|
+
'image/vnd.microsoft.icon'
|
10
|
+
];
|
11
|
+
exports.isJpgOrPngOrSvg = function (type, hexValue) {
|
12
|
+
if (type === void 0) { type = ''; }
|
13
|
+
if (hexValue === void 0) { hexValue = ''; }
|
14
|
+
return (lodash_1.includes(MIME_IMAGE_TYPE, type.toLocaleLowerCase()) &&
|
15
|
+
(lodash_1.includes(hexValue.toLowerCase(), '100') || // ico
|
16
|
+
lodash_1.includes(hexValue.toLowerCase(), 'ffd8ff') ||
|
17
|
+
lodash_1.includes(hexValue.toLowerCase(), '3c3f786d') || // svg
|
18
|
+
lodash_1.includes(hexValue.toLowerCase(), '89504e47')));
|
19
|
+
};
|
@@ -238,9 +238,12 @@ var Table = /** @class */ (function (_super) {
|
|
238
238
|
: rowClassName(record, index, indent));
|
239
239
|
};
|
240
240
|
Table.prototype.getDisabledStatus = function (option) {
|
241
|
+
var _this = this;
|
241
242
|
var noneSelected = this.selectedRowKeys.length === 0;
|
242
243
|
var disabled = typeof option.disabled === 'function'
|
243
|
-
? option.disabled(__spread(this.undisabledData)
|
244
|
+
? option.disabled(__spread(this.undisabledData.filter(function (item, index) {
|
245
|
+
return _this.selectedRowKeys.indexOf(_this.getRowKey(item, index)) !== -1;
|
246
|
+
})))
|
244
247
|
: option.disabled;
|
245
248
|
return noneSelected || disabled;
|
246
249
|
};
|
@@ -1512,6 +1512,9 @@ textarea.ant-pagination-options-quick-jumper input {
|
|
1512
1512
|
.pandora-sdk-table-wrapper .ant-table-tbody > tr > td:last-child {
|
1513
1513
|
padding-right: 20px;
|
1514
1514
|
}
|
1515
|
+
.pandora-sdk-table-wrapper .ant-table-tbody > tr > td:first-child:has(.pandora-sdk-table-empty) {
|
1516
|
+
padding: 0;
|
1517
|
+
}
|
1515
1518
|
.pandora-sdk-table-wrapper .ant-table-thead > tr > th .anticon-filter {
|
1516
1519
|
line-height: 20px;
|
1517
1520
|
}
|
@@ -42,6 +42,11 @@
|
|
42
42
|
.@{ant-prefix}-table-tbody > tr > td:last-child {
|
43
43
|
padding-right: 20px;
|
44
44
|
}
|
45
|
+
.@{ant-prefix}-table-tbody
|
46
|
+
> tr
|
47
|
+
> td:first-child:has(.@{sdk-prefix}-table-empty) {
|
48
|
+
padding: 0;
|
49
|
+
}
|
45
50
|
|
46
51
|
.@{ant-prefix}-table-thead > tr > th .anticon-filter {
|
47
52
|
line-height: 20px;
|
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
33
|
var react_1 = __importStar(require("react"));
|
34
34
|
var antd_1 = require("antd");
|
35
35
|
var config_provider_1 = require("antd/es/config-provider");
|
36
|
+
var lodash_1 = require("lodash");
|
36
37
|
var pandora_component_icons_1 = require("@qn-pandora/pandora-component-icons");
|
37
38
|
var ListBody_1 = __importDefault(require("../ListBody"));
|
38
39
|
var language_1 = require("../../../utils/language");
|
@@ -42,17 +43,23 @@ function List(props) {
|
|
42
43
|
var _a = __read(react_1.useState(''), 2), searchValue = _a[0], setSearchValue = _a[1];
|
43
44
|
var locale = react_1.useContext(config_provider_1.ConfigContext).locale;
|
44
45
|
var title = props.title, type = props.type, searchPlaceHolder = props.searchPlaceHolder, _b = props.dataSource, dataSource = _b === void 0 ? [] : _b, _c = props.targetKeys, targetKeys = _c === void 0 ? [] : _c, selectAllTitle = props.selectAllTitle, onTargetKeysChange = props.onTargetKeysChange;
|
46
|
+
var filterDataSource = react_1.useMemo(function () {
|
47
|
+
return dataSource.filter(function (item) { return item.name.includes(searchValue); });
|
48
|
+
}, [dataSource, searchValue]);
|
45
49
|
var onToggleAll = react_1.useCallback(function (e) {
|
50
|
+
var newTargetKeys = [];
|
51
|
+
var allTargetKeys = filterDataSource.map(function (item) { return item.key; });
|
46
52
|
if (e.target.checked === true) {
|
47
|
-
|
48
|
-
onTargetKeysChange(targetKeys_1);
|
53
|
+
newTargetKeys = __spread(new Set(__spread(targetKeys, allTargetKeys)));
|
49
54
|
}
|
50
55
|
else {
|
51
|
-
|
56
|
+
newTargetKeys = targetKeys.filter(function (item) { return !lodash_1.includes(allTargetKeys, item); });
|
52
57
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
58
|
+
onTargetKeysChange(newTargetKeys);
|
59
|
+
}, [filterDataSource, targetKeys, onTargetKeysChange]);
|
60
|
+
var selectedAllNode = (react_1.default.createElement(antd_1.Checkbox, { className: style_1.SDK_PREFIX + "-transfer-mb10", checked: !!filterDataSource.length &&
|
61
|
+
filterDataSource.every(function (item) { return item.checked; }), indeterminate: filterDataSource.some(function (item) { return item.checked; }) &&
|
62
|
+
!filterDataSource.every(function (item) { return item.checked; }), onChange: onToggleAll },
|
56
63
|
react_1.default.createElement("strong", null, selectAllTitle || language_1.formatString(type_1.TransferLocale.select_all, locale))));
|
57
64
|
var onCheckboxChange = react_1.useCallback(function (key, checked) {
|
58
65
|
var keys = __spread(targetKeys);
|
@@ -70,6 +77,6 @@ function List(props) {
|
|
70
77
|
react_1.default.createElement(antd_1.Input, { placeholder: searchPlaceHolder ||
|
71
78
|
language_1.formatString(type_1.TransferLocale.placeholder, locale), value: searchValue, onChange: function (e) { return setSearchValue(e.target.value); }, className: style_1.SDK_PREFIX + "-transfer-mb10", prefix: react_1.default.createElement(pandora_component_icons_1.Search, { className: style_1.SDK_PREFIX + "-search-icon" }) })),
|
72
79
|
type === "source" /* Source */ && selectedAllNode,
|
73
|
-
react_1.default.createElement(ListBody_1.default, { dataSource:
|
80
|
+
react_1.default.createElement(ListBody_1.default, { dataSource: filterDataSource, onChange: onCheckboxChange })));
|
74
81
|
}
|
75
82
|
exports.default = List;
|
@@ -1,4 +1,7 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
var en_1 = require("./check_transform_list/en");
|
4
7
|
var en_2 = require("./datetime/en");
|
@@ -6,11 +9,13 @@ var en_3 = require("./range_input/en");
|
|
6
9
|
var en_4 = require("./steps/en");
|
7
10
|
var en_5 = require("./table/en");
|
8
11
|
var en_6 = require("./transfer/en");
|
12
|
+
var en_7 = __importDefault(require("./upload/en"));
|
9
13
|
exports.component_en = {
|
10
14
|
check_transform_list: en_1.check_transform_list_en,
|
11
15
|
datetime: en_2.datetime_en,
|
12
16
|
range_input: en_3.range_input_en,
|
13
17
|
steps: en_4.steps_en,
|
14
18
|
table: en_5.table_en,
|
15
|
-
transfer: en_6.transfer_en
|
19
|
+
transfer: en_6.transfer_en,
|
20
|
+
upload: en_7.default
|
16
21
|
};
|
@@ -4,6 +4,7 @@ import { IRangeInputLocale } from './range_input/type';
|
|
4
4
|
import { IStepsLocale } from './steps/type';
|
5
5
|
import { ITableLocale } from './table/type';
|
6
6
|
import { ITransferLocale } from './transfer/type';
|
7
|
+
import { IUploadLocale } from './upload/type';
|
7
8
|
export interface IComponentLocal {
|
8
9
|
check_transform_list: ICheckTransformListLocale;
|
9
10
|
datetime: IDateTimeLocale;
|
@@ -11,5 +12,6 @@ export interface IComponentLocal {
|
|
11
12
|
steps: IStepsLocale;
|
12
13
|
table: ITableLocale;
|
13
14
|
transfer: ITransferLocale;
|
15
|
+
upload: IUploadLocale;
|
14
16
|
}
|
15
17
|
export declare const ComponentLocale: IComponentLocal;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
var upload_en = {
|
4
|
+
play: 'Play',
|
5
|
+
pause: 'Pause',
|
6
|
+
stop: 'Stop',
|
7
|
+
error: 'Upload failed, try again later',
|
8
|
+
text: 'Drop file here to upload',
|
9
|
+
file: {
|
10
|
+
content: 'Drop your data file here',
|
11
|
+
steps: {
|
12
|
+
upload: 'Uploading',
|
13
|
+
complete: 'Done'
|
14
|
+
}
|
15
|
+
},
|
16
|
+
select_file: 'Selected',
|
17
|
+
min_size_error_msg: 'File size cannot be smaller than',
|
18
|
+
max_size_error_msg: 'File size cannot be larger than',
|
19
|
+
empty_file_error_msg: 'Cannot upload empty files',
|
20
|
+
byte: 'bytes'
|
21
|
+
};
|
22
|
+
exports.default = upload_en;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
export interface IUploadLocale {
|
2
|
+
text: string;
|
3
|
+
play: string;
|
4
|
+
pause: string;
|
5
|
+
stop: string;
|
6
|
+
error: string;
|
7
|
+
file: {
|
8
|
+
content: string;
|
9
|
+
steps: {
|
10
|
+
upload: string;
|
11
|
+
complete: string;
|
12
|
+
};
|
13
|
+
};
|
14
|
+
select_file: string;
|
15
|
+
min_size_error_msg: string;
|
16
|
+
max_size_error_msg: string;
|
17
|
+
empty_file_error_msg: string;
|
18
|
+
byte: string;
|
19
|
+
}
|
20
|
+
export declare const UploadLocale: IUploadLocale;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
var languageLocale_1 = require("../../../utils/languageLocale");
|
7
|
+
var zh_1 = __importDefault(require("./zh"));
|
8
|
+
var prefix = 'upload.';
|
9
|
+
exports.UploadLocale = languageLocale_1.languageLocale(prefix, zh_1.default);
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
var upload_zh = {
|
4
|
+
play: '恢复',
|
5
|
+
pause: '暂停',
|
6
|
+
stop: '停止',
|
7
|
+
error: '上传文件失败,请稍后重试',
|
8
|
+
text: '点击或将配置文件拖拽到这里上传',
|
9
|
+
file: {
|
10
|
+
content: '点击或将文件拖拽到这里上传',
|
11
|
+
steps: {
|
12
|
+
upload: '上传文件',
|
13
|
+
complete: '完成'
|
14
|
+
}
|
15
|
+
},
|
16
|
+
select_file: '选择文件',
|
17
|
+
min_size_error_msg: '文件大小不能小于',
|
18
|
+
max_size_error_msg: '文件大小不能大于',
|
19
|
+
empty_file_error_msg: '不能上传空文件',
|
20
|
+
byte: '字节'
|
21
|
+
};
|
22
|
+
exports.default = upload_zh;
|
@@ -1,4 +1,7 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
var zh_1 = require("./check_transform_list/zh");
|
4
7
|
var zh_2 = require("./datetime/zh");
|
@@ -6,11 +9,13 @@ var zh_3 = require("./range_input/zh");
|
|
6
9
|
var zh_4 = require("./steps/zh");
|
7
10
|
var zh_5 = require("./table/zh");
|
8
11
|
var zh_6 = require("./transfer/zh");
|
12
|
+
var zh_7 = __importDefault(require("./upload/zh"));
|
9
13
|
exports.component_zh = {
|
10
14
|
check_transform_list: zh_1.check_transform_list_zh,
|
11
15
|
datetime: zh_2.datetime_zh,
|
12
16
|
range_input: zh_3.range_input_zh,
|
13
17
|
steps: zh_4.steps_zh,
|
14
18
|
table: zh_5.table_zh,
|
15
|
-
transfer: zh_6.transfer_zh
|
19
|
+
transfer: zh_6.transfer_zh,
|
20
|
+
upload: zh_7.default
|
16
21
|
};
|