@gingkoo/pandora-explorer 0.0.1-alpha.33 → 0.0.1-alpha.35
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/lib/es/components/Dropdown/index.d.ts +1 -0
- package/lib/es/index.js +146 -51
- package/lib/es/index.js.map +1 -1
- package/lib/es/store.d.ts +2 -0
- package/lib/es/types.d.ts +2 -1
- package/package.json +1 -1
package/lib/es/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @gingkoo/pandora-explorer v0.0.1-alpha.
|
|
2
|
+
* @gingkoo/pandora-explorer v0.0.1-alpha.35
|
|
3
3
|
*/
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
import cx$1 from 'classnames';
|
|
6
6
|
import * as React from 'react';
|
|
7
|
-
import React__default, { createContext, useRef, useState, useImperativeHandle, useEffect, useMemo, useLayoutEffect, useContext, createElement } from 'react';
|
|
7
|
+
import React__default, { createContext, useRef, useState, useImperativeHandle, useEffect, useMemo, useLayoutEffect, useContext, createElement, forwardRef } from 'react';
|
|
8
8
|
import createEmotion from '@emotion/css/create-instance';
|
|
9
9
|
import { cx as cx$2 } from '@emotion/css';
|
|
10
10
|
import { createRoot } from 'react-dom/client';
|
|
@@ -1262,7 +1262,8 @@ function Dropdown(props) {
|
|
|
1262
1262
|
destroyPopupOnHide = false,
|
|
1263
1263
|
capture,
|
|
1264
1264
|
position,
|
|
1265
|
-
style
|
|
1265
|
+
style,
|
|
1266
|
+
onContextMenu
|
|
1266
1267
|
} = props;
|
|
1267
1268
|
const [expand, setExpand] = useState(false);
|
|
1268
1269
|
const [newDiv, setNewDiv] = useState(null);
|
|
@@ -1520,7 +1521,7 @@ function Dropdown(props) {
|
|
|
1520
1521
|
},
|
|
1521
1522
|
onContextMenu: e => {
|
|
1522
1523
|
e.preventDefault();
|
|
1523
|
-
e
|
|
1524
|
+
onContextMenu?.(e);
|
|
1524
1525
|
if (trigger == 'contextMenu') {
|
|
1525
1526
|
let x = 0;
|
|
1526
1527
|
let y = 0;
|
|
@@ -1834,6 +1835,14 @@ function Slider(props) {
|
|
|
1834
1835
|
const ref = useRef(null);
|
|
1835
1836
|
const [isdarg, setDarg] = useState(false);
|
|
1836
1837
|
const [size, setSize] = useState(null);
|
|
1838
|
+
useEffect(() => {
|
|
1839
|
+
document.addEventListener('mousemove', handleBodyMousemove);
|
|
1840
|
+
document.addEventListener('mouseup', handleBodyMouseup);
|
|
1841
|
+
return () => {
|
|
1842
|
+
document.removeEventListener('mousemove', handleBodyMousemove);
|
|
1843
|
+
document.removeEventListener('mouseup', handleBodyMouseup);
|
|
1844
|
+
};
|
|
1845
|
+
}, [isdarg, ref.current]);
|
|
1837
1846
|
useEffect(() => {
|
|
1838
1847
|
if (!size) return;
|
|
1839
1848
|
let d_value = max - min;
|
|
@@ -1845,22 +1854,25 @@ function Slider(props) {
|
|
|
1845
1854
|
let data = value - min;
|
|
1846
1855
|
setSize(data / d_value * 100);
|
|
1847
1856
|
}, [value]);
|
|
1857
|
+
function handleBodyMousemove(e) {
|
|
1858
|
+
if (!isdarg) return;
|
|
1859
|
+
if (!ref.current) return;
|
|
1860
|
+
e.preventDefault();
|
|
1861
|
+
let dom = ref.current.getBoundingClientRect();
|
|
1862
|
+
let cur = dom.top + 15;
|
|
1863
|
+
let num = e.clientY - cur;
|
|
1864
|
+
num > 100 ? num = 100 : null;
|
|
1865
|
+
num < 0 ? num = 0 : null;
|
|
1866
|
+
setSize(num);
|
|
1867
|
+
}
|
|
1868
|
+
function handleBodyMouseup(e) {
|
|
1869
|
+
e.preventDefault();
|
|
1870
|
+
e.stopPropagation();
|
|
1871
|
+
setDarg(false);
|
|
1872
|
+
}
|
|
1848
1873
|
return jsx("div", {
|
|
1849
1874
|
className: '_slider',
|
|
1850
1875
|
ref: ref,
|
|
1851
|
-
onMouseOut: () => {
|
|
1852
|
-
setDarg(false);
|
|
1853
|
-
},
|
|
1854
|
-
onMouseMove: e => {
|
|
1855
|
-
if (!isdarg) return;
|
|
1856
|
-
if (!ref.current) return;
|
|
1857
|
-
let dom = ref.current.getBoundingClientRect();
|
|
1858
|
-
let cur = dom.top + 15;
|
|
1859
|
-
let num = e.clientY - cur;
|
|
1860
|
-
num > 100 ? num = 100 : null;
|
|
1861
|
-
num < 0 ? num = 0 : null;
|
|
1862
|
-
setSize(num);
|
|
1863
|
-
},
|
|
1864
1876
|
children: jsx("div", {
|
|
1865
1877
|
className: '_slider-link',
|
|
1866
1878
|
onClick: e => {
|
|
@@ -1876,11 +1888,8 @@ function Slider(props) {
|
|
|
1876
1888
|
top: size + 'px'
|
|
1877
1889
|
},
|
|
1878
1890
|
className: '_slider-drop',
|
|
1879
|
-
onMouseDown:
|
|
1891
|
+
onMouseDown: e => {
|
|
1880
1892
|
setDarg(true);
|
|
1881
|
-
},
|
|
1882
|
-
onMouseUp: () => {
|
|
1883
|
-
setDarg(false);
|
|
1884
1893
|
}
|
|
1885
1894
|
})
|
|
1886
1895
|
})
|
|
@@ -1890,7 +1899,7 @@ function Slider(props) {
|
|
|
1890
1899
|
var css_248z$7 = ".explorer-menu {\n height: 100%;\n}\n";
|
|
1891
1900
|
styleInject(css_248z$7);
|
|
1892
1901
|
|
|
1893
|
-
var css_248z$6 = ".explorer-tree {\n width: 100%;\n height: 100%;\n}\n.explorer-tree-switch {\n height: 31px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n vertical-align: top !important;\n color: #aaa;\n border-radius: 2px;\n}\n.explorer-tree-switch:hover {\n color: #1890ff;\n background-color: rgba(0, 0, 0, 0.03);\n}\n.explorer-tree-switch.open {\n color: #1890ff;\n}\n.explorer-tree-switch.open > svg {\n transform: rotate(90deg);\n}\n.explorer-tree-switch.loading {\n background: transparent;\n animation: rotate 1s linear infinite;\n}\n.explorer-tree-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n margin: 6px 0px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n border-radius: 5px;\n font-style: normal;\n pointer-events: none;\n vertical-align: top;\n}\n.explorer-tree-node {\n display: flex;\n height: 100%;\n align-items: center;\n}\n.explorer-tree-node .node-title {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.explorer-tree-node .node-menu {\n display: none;\n flex-shrink: 0;\n width: 30px;\n justify-content: center;\n align-items: center;\n}\n.explorer-tree-node .node-menu .node-menu-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 14px;\n height: 14px;\n border: 1px solid #ccc;\n border-radius: 2px;\n cursor: pointer;\n z-index: 50;\n background: #fff;\n color: #ccc;\n font-size: 7px;\n transition: 0.3s;\n}\n.explorer-tree-node .node-menu .node-menu-icon > svg {\n transform: rotate(90deg);\n}\n.explorer-tree-node .node-menu .node-menu-icon:hover {\n border: 1px solid #1890ff;\n color: #1890ff;\n}\n.explorer-tree-node .node-input {\n display: inline-block;\n width: 100%;\n height: 24px;\n outline: 0;\n border: 1px solid #eee;\n border-radius: 3px;\n transition: 0.3s;\n padding: 0 5px;\n}\n.explorer-tree-node .node-input:hover {\n border: 1px solid #1890ff;\n}\n.explorer-tree-node .node-input:focus {\n border: 1px solid #1890ff;\n}\n.explorer-tree-node:hover .node-menu {\n display: flex;\n}\n.explorer-tree-row {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n}\n.explorer-tree-row .row-item {\n display: flex;\n padding: 0 10px;\n flex: 1 0 0;\n user-select: none;\n}\n.explorer-tree-row .row-item .row-item-content {\n flex: 1 0 0;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.explorer-tree-row .row-item .row-item-content > input {\n height: 24px;\n outline: none;\n width: 100%;\n outline: 0;\n border: 0;\n}\n.explorer-tree-row .row-item-check {\n display: flex;\n width: 19px;\n align-items: center;\n box-sizing: border-box;\n pointer-events: all;\n}\n.explorer-tree-row .row-item-check .btn-check {\n display: inline-block;\n height: 19px;\n width: 19px;\n flex-shrink: 0;\n z-index: 11;\n font-size: 20px;\n text-align: center;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.05);\n color: #fff;\n line-height: 0;\n opacity: 0;\n cursor: pointer;\n transition: opacity 0.3s;\n margin: 2px;\n}\n.explorer-tree-row .row-item-check .btn-check > svg {\n position: relative;\n width: 23px;\n height: 23px;\n left: -2px;\n top: -2px;\n}\n.explorer-tree-row .row-item-check.active .btn-check {\n opacity: 1;\n background: #3b8cff;\n}\n.explorer-tree.table .tree-scroll-x {\n width: 100%;\n overflow: hidden;\n overflow-x: auto;\n}\n.explorer-tree.table .tree-scroll-x::-webkit-scrollbar {\n display: none;\n}\n.explorer-tree.table .tree-scroll {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 10;\n overflow: auto;\n}\n.explorer-tree.table .rc-tree {\n height: calc(100% - 26px);\n}\n.explorer-tree.table .rc-tree-list-holder-inner {\n overflow: auto;\n}\n.explorer-tree.table .rc-tree-list {\n height: 100%;\n}\n.explorer-tree.table .rc-tree-checkbox {\n display: none !important;\n}\n.explorer-tree.table .rc-tree-treenode {\n border-radius: 2px;\n width: fit-content;\n opacity: 0.8;\n z-index: 100;\n pointer-events: all;\n}\n.explorer-tree.table .rc-tree-treenode:nth-child(odd) {\n background: #4664780d;\n}\n.explorer-tree.table .rc-tree-list-holder-inner {\n padding: 8px 0 0 8px;\n}\n.explorer-tree.table .rc-tree-treenode-leaf-last:last-child {\n height: 200px;\n width: 1px;\n}\n.explorer-tree.table .rc-tree-treenode-checkbox-checked {\n background: #cce8ff !important;\n border: 1px solid #99d1ff;\n}\n.explorer-tree .rc-tree-iconEle {\n height: 31px !important;\n vertical-align: top !important;\n width: auto !important;\n}\n.explorer-tree .rc-tree-treenode {\n position: relative;\n height: 31px;\n line-height: 31px;\n border: 1px solid transparent;\n display: flex;\n}\n.explorer-tree .rc-tree-treenode > .rc-tree-node-content-wrapper {\n height: 31px !important;\n display: flex !important;\n flex: 1;\n margin-left: calc(24px - 20px);\n}\n.explorer-tree .rc-tree-treenode > .rc-tree-node-selected {\n background-color: transparent;\n box-shadow: none;\n opacity: 1;\n}\n.explorer-tree .rc-tree-treenode.rc-tree-treenode-selected {\n background-color: #cce8ff !important;\n border: 1px solid #1890ff;\n opacity: 0.8;\n}\n.explorer-tree .rc-tree-treenode.rc-tree-treenode-selected .node-menu {\n display: flex;\n}\n.explorer-tree .rc-tree-treenode:hover {\n background: #e5f3ff !important;\n box-shadow: 0 0 0 1px transparent;\n}\n.explorer-tree .rc-tree-treenode.hover {\n background: #e5f3ff !important;\n}\n.explorer-tree .rc-tree-switcher {\n flex-shrink: 0;\n width: 20px !important;\n height: 31px !important;\n vertical-align: top !important;\n background-image: none !important;\n}\n.explorer-tree .rc-tree-title {\n display: inline-block;\n height: 31px;\n width: 100%;\n}\n.explorer-tree.showLine .rc-tree-indent {\n height: 31px;\n}\n.explorer-tree.showLine .rc-tree-indent > .rc-tree-indent-unit {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-indent > .rc-tree-indent-unit::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n height: 31px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-indent-unit {\n width: 20px;\n height: 31px;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child::before {\n content: '';\n display: inline-block;\n position: absolute;\n width: 8px;\n top: calc(31px / 2);\n left: 10px;\n height: 1px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n top: 0;\n height: calc(31px / 2);\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child::before {\n display: none;\n content: '';\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n height: 31px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.explorer-checks .rc-tree-treenode:hover .row-item-check .btn-check {\n opacity: 1;\n}\n.explorer-tree .rc-tree-list-scrollbar-thumb {\n background: #bbb !important;\n}\n.explorer-tree .rc-tree-list-scrollbar {\n width: 5px !important;\n}\n.explorer-tree .node-motion {\n transition: all 0.3s;\n overflow-y: hidden;\n}\n.explorer-tree .rc-tree-child-tree {\n display: block;\n}\n.explorer-table-header {\n display: flex;\n width: fit-content;\n min-width: 100%;\n height: 25px;\n line-height: 25px;\n color: #448;\n border-bottom: 1px solid #e3e3e3;\n box-shadow: 0 6px 10px rgba(0, 0, 0, 0.05);\n background: #fff;\n}\n.explorer-table-header .item {\n padding: 0 10px 0 0;\n flex: 1 0 0;\n margin-left: -10px;\n border-right: 1px solid #eee;\n user-select: none;\n min-width: 80px;\n}\n.explorer-table-header .item:first-child {\n padding-left: 20px;\n}\n.explorer-table-header .resize {\n position: relative;\n flex: 0 0 20px;\n width: 20px;\n z-index: 10;\n cursor: col-resize;\n left: -10px;\n transition: background 0.2s;\n}\n.explorer-table-header .resize::before {\n content: '';\n position: fixed;\n width: 1px;\n height: 2000px;\n z-index: 10;\n margin-left: 10px;\n visibility: hidden;\n opacity: 0;\n transition: all 0.2s;\n}\n.explorer-table-header .resize:hover {\n background: #1890ff30;\n}\n.explorer-table-header .resize.resize-focus {\n z-index: 9999;\n}\n.explorer-table-header .resize.resize-focus:before {\n opacity: 1;\n background: #1890ff;\n visibility: visible;\n}\n.explorer-table-header .resize:last-child {\n flex: 0 0 10px;\n width: 10px;\n}\n.explorer-table-header.item-resize {\n z-index: 10;\n}\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n";
|
|
1902
|
+
var css_248z$6 = ".explorer-tree {\n width: 100%;\n height: 100%;\n}\n.explorer-tree-switch {\n height: 31px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n vertical-align: top !important;\n color: #aaa;\n border-radius: 2px;\n}\n.explorer-tree-switch:hover {\n color: #1890ff;\n background-color: rgba(0, 0, 0, 0.03);\n}\n.explorer-tree-switch.open {\n color: #1890ff;\n}\n.explorer-tree-switch.open > svg {\n transform: rotate(90deg);\n}\n.explorer-tree-switch.loading {\n background: transparent;\n animation: rotate 1s linear infinite;\n}\n.explorer-tree-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n margin: 6px 0px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n border-radius: 5px;\n font-style: normal;\n pointer-events: none;\n vertical-align: top;\n}\n.explorer-tree-node {\n display: flex;\n height: 100%;\n align-items: center;\n}\n.explorer-tree-node .node-title {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.explorer-tree-node .node-menu {\n display: none;\n flex-shrink: 0;\n width: 30px;\n justify-content: center;\n align-items: center;\n}\n.explorer-tree-node .node-menu .node-menu-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 14px;\n height: 14px;\n border: 1px solid #ccc;\n border-radius: 2px;\n cursor: pointer;\n z-index: 50;\n background: #fff;\n color: #ccc;\n font-size: 7px;\n transition: 0.3s;\n}\n.explorer-tree-node .node-menu .node-menu-icon > svg {\n transform: rotate(90deg);\n}\n.explorer-tree-node .node-menu .node-menu-icon:hover {\n border: 1px solid #1890ff;\n color: #1890ff;\n}\n.explorer-tree-node .node-input {\n display: inline-block;\n width: 100%;\n height: 24px;\n outline: 0;\n border: 1px solid #eee;\n border-radius: 3px;\n transition: 0.3s;\n padding: 0 5px;\n}\n.explorer-tree-node .node-input:hover {\n border: 1px solid #1890ff;\n}\n.explorer-tree-node .node-input:focus {\n border: 1px solid #1890ff;\n}\n.explorer-tree-node:hover .node-menu {\n display: flex;\n}\n.explorer-tree-row {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n}\n.explorer-tree-row .row-item {\n display: flex;\n padding: 0 10px;\n flex: 1 0 0;\n user-select: none;\n}\n.explorer-tree-row .row-item .row-item-content {\n flex: 1 0 0;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.explorer-tree-row .row-item .row-item-content > input {\n height: 24px;\n outline: none;\n width: 100%;\n outline: 0;\n border: 0;\n}\n.explorer-tree-row .row-item-check {\n display: flex;\n width: 19px;\n align-items: center;\n box-sizing: border-box;\n pointer-events: all;\n}\n.explorer-tree-row .row-item-check .btn-check {\n display: inline-block;\n height: 19px;\n width: 19px;\n flex-shrink: 0;\n z-index: 11;\n font-size: 20px;\n text-align: center;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.05);\n color: #fff;\n line-height: 0;\n opacity: 0;\n cursor: pointer;\n transition: opacity 0.3s;\n margin: 2px;\n}\n.explorer-tree-row .row-item-check .btn-check > svg {\n position: relative;\n width: 23px;\n height: 23px;\n left: -2px;\n top: -2px;\n}\n.explorer-tree-row .row-item-check.active .btn-check {\n opacity: 1;\n background: #3b8cff;\n}\n.explorer-tree.table .tree-scroll-x {\n width: 100%;\n overflow: hidden;\n overflow-x: auto;\n}\n.explorer-tree.table .tree-scroll-x::-webkit-scrollbar {\n display: none;\n}\n.explorer-tree.table .tree-scroll {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 10;\n overflow: auto;\n}\n.explorer-tree.table .rc-tree {\n height: calc(100% - 26px);\n}\n.explorer-tree.table .rc-tree-list-holder-inner {\n overflow: auto;\n}\n.explorer-tree.table .rc-tree-list {\n height: 100%;\n}\n.explorer-tree.table .rc-tree-checkbox {\n display: none !important;\n}\n.explorer-tree.table .rc-tree-treenode {\n border-radius: 2px;\n width: fit-content;\n opacity: 0.8;\n z-index: 100;\n pointer-events: all;\n}\n.explorer-tree.table .rc-tree-treenode.rc-tree-treenode-selected {\n background: #4581a60d !important;\n}\n.explorer-tree.table .rc-tree-treenode:nth-child(odd) {\n background: #4664780d;\n}\n.explorer-tree.table .rc-tree-list-holder-inner {\n padding: 8px 0 0 8px;\n}\n.explorer-tree.table .rc-tree-treenode-leaf-last:last-child {\n height: 200px;\n width: 1px;\n}\n.explorer-tree.table .rc-tree-treenode-checkbox-checked {\n background: #cce8ff !important;\n border: 1px solid #99d1ff;\n}\n.explorer-tree .rc-tree-iconEle {\n height: 31px !important;\n vertical-align: top !important;\n width: auto !important;\n}\n.explorer-tree .rc-tree-treenode {\n position: relative;\n height: 31px;\n line-height: 31px;\n border: 1px solid transparent;\n user-select: none;\n display: flex;\n}\n.explorer-tree .rc-tree-treenode > .rc-tree-node-content-wrapper {\n height: 31px !important;\n display: flex !important;\n flex: 1;\n margin-left: calc(24px - 20px);\n}\n.explorer-tree .rc-tree-treenode > .rc-tree-node-selected {\n background-color: transparent;\n box-shadow: none;\n opacity: 1;\n}\n.explorer-tree .rc-tree-treenode.rc-tree-treenode-selected {\n background-color: #cce8ff !important;\n border: 1px solid #1890ff;\n opacity: 0.8;\n}\n.explorer-tree .rc-tree-treenode.rc-tree-treenode-selected .node-menu {\n display: flex;\n}\n.explorer-tree .rc-tree-treenode:hover {\n background: #e5f3ff !important;\n box-shadow: 0 0 0 1px transparent;\n}\n.explorer-tree .rc-tree-treenode.hover {\n background: #e5f3ff !important;\n}\n.explorer-tree .rc-tree-switcher {\n flex-shrink: 0;\n width: 20px !important;\n height: 31px !important;\n vertical-align: top !important;\n background-image: none !important;\n}\n.explorer-tree .rc-tree-title {\n display: inline-block;\n height: 31px;\n width: 100%;\n}\n.explorer-tree.showLine .rc-tree-indent {\n height: 31px;\n}\n.explorer-tree.showLine .rc-tree-indent > .rc-tree-indent-unit {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-indent > .rc-tree-indent-unit::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n height: 31px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-indent-unit {\n width: 20px;\n height: 31px;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child::before {\n content: '';\n display: inline-block;\n position: absolute;\n width: 8px;\n top: calc(31px / 2);\n left: 10px;\n height: 1px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:last-child::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n top: 0;\n height: calc(31px / 2);\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child {\n position: relative;\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child::before {\n display: none;\n content: '';\n}\n.explorer-tree.showLine .rc-tree-treenode-leaf-last .rc-tree-indent > .rc-tree-indent-unit:first-child::after {\n display: inline-block;\n position: absolute;\n content: '';\n width: 1px;\n left: 10px;\n height: 31px;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.explorer-tree.explorer-checks .rc-tree-treenode:hover .row-item-check .btn-check {\n opacity: 1;\n}\n.explorer-tree .rc-tree-list-scrollbar-thumb {\n background: #bbb !important;\n}\n.explorer-tree .rc-tree-list-scrollbar {\n width: 5px !important;\n}\n.explorer-tree .node-motion {\n transition: all 0.3s;\n overflow-y: hidden;\n}\n.explorer-tree .rc-tree-child-tree {\n display: block;\n}\n.explorer-table-header {\n display: flex;\n width: fit-content;\n min-width: 100%;\n height: 25px;\n line-height: 25px;\n color: #448;\n border-bottom: 1px solid #e3e3e3;\n box-shadow: 0 6px 10px rgba(0, 0, 0, 0.05);\n background: #fff;\n}\n.explorer-table-header .item {\n padding: 0 10px 0 0;\n flex: 1 0 0;\n margin-left: -10px;\n border-right: 1px solid #eee;\n user-select: none;\n min-width: 80px;\n}\n.explorer-table-header .item:first-child {\n padding-left: 20px;\n}\n.explorer-table-header .resize {\n position: relative;\n flex: 0 0 20px;\n width: 20px;\n z-index: 10;\n cursor: col-resize;\n left: -10px;\n transition: background 0.2s;\n}\n.explorer-table-header .resize::before {\n content: '';\n position: fixed;\n width: 1px;\n height: 2000px;\n z-index: 10;\n margin-left: 10px;\n visibility: hidden;\n opacity: 0;\n transition: all 0.2s;\n}\n.explorer-table-header .resize:hover {\n background: #1890ff30;\n}\n.explorer-table-header .resize.resize-focus {\n z-index: 9999;\n}\n.explorer-table-header .resize.resize-focus:before {\n opacity: 1;\n background: #1890ff;\n visibility: visible;\n}\n.explorer-table-header .resize:last-child {\n flex: 0 0 10px;\n width: 10px;\n}\n.explorer-table-header.item-resize {\n z-index: 10;\n}\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n";
|
|
1894
1903
|
styleInject(css_248z$6);
|
|
1895
1904
|
|
|
1896
1905
|
/**
|
|
@@ -5183,6 +5192,9 @@ function TableItem(props) {
|
|
|
5183
5192
|
style: {
|
|
5184
5193
|
height: '100%'
|
|
5185
5194
|
},
|
|
5195
|
+
onContextMenu: e => {
|
|
5196
|
+
e.stopPropagation();
|
|
5197
|
+
},
|
|
5186
5198
|
dropdownRender: ({
|
|
5187
5199
|
onClone
|
|
5188
5200
|
}) => {
|
|
@@ -5258,7 +5270,16 @@ function TableItem(props) {
|
|
|
5258
5270
|
autoFocus: true,
|
|
5259
5271
|
defaultValue: param[v?.key],
|
|
5260
5272
|
placeholder: '\u8BF7\u8F93\u5165',
|
|
5273
|
+
onFocus: e => {
|
|
5274
|
+
let i = param[v?.key]?.lastIndexOf('.');
|
|
5275
|
+
if (props?.suffix == 'folder') {
|
|
5276
|
+
e.target.setSelectionRange(0, param[v?.key]?.length);
|
|
5277
|
+
} else if (i !== -1) {
|
|
5278
|
+
e.target.setSelectionRange(0, i);
|
|
5279
|
+
}
|
|
5280
|
+
},
|
|
5261
5281
|
onBlur: e => {
|
|
5282
|
+
if (e.target.value === param[v?.key]) return;
|
|
5262
5283
|
onRename?.(e.target.value);
|
|
5263
5284
|
}
|
|
5264
5285
|
})
|
|
@@ -5336,6 +5357,14 @@ var TreeItem = (props => {
|
|
|
5336
5357
|
autoFocus: true,
|
|
5337
5358
|
value: title,
|
|
5338
5359
|
placeholder: '\u8BF7\u8F93\u5165',
|
|
5360
|
+
onFocus: e => {
|
|
5361
|
+
let i = title.lastIndexOf('.');
|
|
5362
|
+
if (props?.suffix == 'folder') {
|
|
5363
|
+
e.target.setSelectionRange(0, title.length);
|
|
5364
|
+
} else if (i !== -1) {
|
|
5365
|
+
e.target.setSelectionRange(0, i);
|
|
5366
|
+
}
|
|
5367
|
+
},
|
|
5339
5368
|
onChange: v => {
|
|
5340
5369
|
setTitle?.(v.target.value);
|
|
5341
5370
|
},
|
|
@@ -5867,13 +5896,17 @@ const ExplorerMenu = props => {
|
|
|
5867
5896
|
loadData,
|
|
5868
5897
|
loadNode,
|
|
5869
5898
|
onMenuClick,
|
|
5870
|
-
onChange
|
|
5899
|
+
onChange,
|
|
5900
|
+
onRename
|
|
5871
5901
|
} = props;
|
|
5872
5902
|
const store = useContext(ExampleContext);
|
|
5873
5903
|
const [eventKey, setEventKey] = useState([]);
|
|
5874
5904
|
const [loadKey, setLoadKey] = useState([]);
|
|
5875
5905
|
return jsx("div", {
|
|
5876
5906
|
className: 'frame-left',
|
|
5907
|
+
onContextMenu: e => {
|
|
5908
|
+
e.preventDefault();
|
|
5909
|
+
},
|
|
5877
5910
|
children: jsx(Tree, {
|
|
5878
5911
|
isload: true,
|
|
5879
5912
|
treeData: data,
|
|
@@ -5887,6 +5920,7 @@ const ExplorerMenu = props => {
|
|
|
5887
5920
|
onMenuClick: onMenuClick,
|
|
5888
5921
|
loadData: loadNode,
|
|
5889
5922
|
onChange: onChange,
|
|
5923
|
+
onRename: onRename,
|
|
5890
5924
|
onSelect: v => {
|
|
5891
5925
|
store.setPathDisplay(v?.pathDisplay);
|
|
5892
5926
|
loadData(v.key);
|
|
@@ -5953,6 +5987,7 @@ const VirtualScroll = ({
|
|
|
5953
5987
|
ref: containerRef,
|
|
5954
5988
|
children: jsx("div", {
|
|
5955
5989
|
style: {
|
|
5990
|
+
position: 'relative',
|
|
5956
5991
|
height: `${data.length * itemHeight}px`,
|
|
5957
5992
|
paddingTop: `${startIdx * itemHeight}px`
|
|
5958
5993
|
},
|
|
@@ -6013,7 +6048,7 @@ function Tile(props) {
|
|
|
6013
6048
|
[className || '']: className
|
|
6014
6049
|
}),
|
|
6015
6050
|
style: {
|
|
6016
|
-
height: '
|
|
6051
|
+
height: height + 'px'
|
|
6017
6052
|
},
|
|
6018
6053
|
onContextMenu: e => {
|
|
6019
6054
|
e.preventDefault();
|
|
@@ -6085,17 +6120,14 @@ function Tile(props) {
|
|
|
6085
6120
|
width: w + 'px',
|
|
6086
6121
|
height: w + 'px',
|
|
6087
6122
|
lineHeight: w + 'px'
|
|
6088
|
-
}) : jsx("
|
|
6089
|
-
className: 'picture',
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
height: w + 'px'
|
|
6097
|
-
}
|
|
6098
|
-
})
|
|
6123
|
+
}) : jsx("img", {
|
|
6124
|
+
className: 'picture-show',
|
|
6125
|
+
draggable: 'false',
|
|
6126
|
+
src: v.pic,
|
|
6127
|
+
style: {
|
|
6128
|
+
width: w + 'px',
|
|
6129
|
+
height: w + 'px'
|
|
6130
|
+
}
|
|
6099
6131
|
})
|
|
6100
6132
|
}), jsx("div", {
|
|
6101
6133
|
className: 'title-type-name',
|
|
@@ -7150,8 +7182,9 @@ const Layout$1 = props => {
|
|
|
7150
7182
|
},
|
|
7151
7183
|
onSelect: v => {
|
|
7152
7184
|
if (v?.type == 'folder' && v.expanded) {
|
|
7153
|
-
store.
|
|
7185
|
+
store.setCurSelectFile(v.key);
|
|
7154
7186
|
}
|
|
7187
|
+
store.setCurSelect(v.key);
|
|
7155
7188
|
},
|
|
7156
7189
|
onRename: onRename,
|
|
7157
7190
|
onMenuClick: onMenuClick,
|
|
@@ -7192,9 +7225,12 @@ function ExplorerInfo(props) {
|
|
|
7192
7225
|
const {
|
|
7193
7226
|
infoshow,
|
|
7194
7227
|
getIcons,
|
|
7195
|
-
curInfo
|
|
7228
|
+
curInfo,
|
|
7229
|
+
dataMap,
|
|
7230
|
+
curSelect
|
|
7196
7231
|
} = useContext(ExampleContext);
|
|
7197
7232
|
const [isEdit, setIsEdit] = useState(false);
|
|
7233
|
+
const [info, setInfo] = useState({});
|
|
7198
7234
|
useEffect(() => {
|
|
7199
7235
|
if (infoshow) {
|
|
7200
7236
|
props?.setSize(285);
|
|
@@ -7202,6 +7238,13 @@ function ExplorerInfo(props) {
|
|
|
7202
7238
|
props?.onMinimize();
|
|
7203
7239
|
}
|
|
7204
7240
|
}, [infoshow]);
|
|
7241
|
+
useEffect(() => {
|
|
7242
|
+
if (curSelect) {
|
|
7243
|
+
setInfo(dataMap?.[curSelect]);
|
|
7244
|
+
} else {
|
|
7245
|
+
setInfo(curInfo);
|
|
7246
|
+
}
|
|
7247
|
+
}, [curInfo, dataMap]);
|
|
7205
7248
|
function rednerInfo() {
|
|
7206
7249
|
return jsxs("div", {
|
|
7207
7250
|
className: 'panel-info',
|
|
@@ -7212,7 +7255,7 @@ function ExplorerInfo(props) {
|
|
|
7212
7255
|
children: "\u8DEF\u5F84:"
|
|
7213
7256
|
}), jsx("div", {
|
|
7214
7257
|
className: 'content',
|
|
7215
|
-
children:
|
|
7258
|
+
children: info?.pathDisplay || '-'
|
|
7216
7259
|
})]
|
|
7217
7260
|
}), jsxs("div", {
|
|
7218
7261
|
className: 'panel-col',
|
|
@@ -7221,7 +7264,7 @@ function ExplorerInfo(props) {
|
|
|
7221
7264
|
children: "\u5927\u5C0F:"
|
|
7222
7265
|
}), jsx("div", {
|
|
7223
7266
|
className: 'content',
|
|
7224
|
-
children: typeof
|
|
7267
|
+
children: typeof info?.size == 'number' ? convertBytesToSize(info?.size) : info?.size || '-'
|
|
7225
7268
|
})]
|
|
7226
7269
|
}), jsxs("div", {
|
|
7227
7270
|
className: 'panel-col',
|
|
@@ -7230,7 +7273,7 @@ function ExplorerInfo(props) {
|
|
|
7230
7273
|
children: "\u521B\u5EFA\u65F6\u95F4 :"
|
|
7231
7274
|
}), jsx("div", {
|
|
7232
7275
|
className: 'content',
|
|
7233
|
-
children: DateFormat(
|
|
7276
|
+
children: DateFormat(info?.createTime)
|
|
7234
7277
|
})]
|
|
7235
7278
|
}), jsxs("div", {
|
|
7236
7279
|
className: 'panel-col',
|
|
@@ -7239,7 +7282,7 @@ function ExplorerInfo(props) {
|
|
|
7239
7282
|
children: "\u4FEE\u6539\u65F6\u95F4 :"
|
|
7240
7283
|
}), jsx("div", {
|
|
7241
7284
|
className: 'content',
|
|
7242
|
-
children: DateFormat(
|
|
7285
|
+
children: DateFormat(info?.createTime)
|
|
7243
7286
|
})]
|
|
7244
7287
|
}), jsxs("div", {
|
|
7245
7288
|
className: 'panel-col',
|
|
@@ -7283,18 +7326,18 @@ function ExplorerInfo(props) {
|
|
|
7283
7326
|
className: 'info-header',
|
|
7284
7327
|
children: [jsx("div", {
|
|
7285
7328
|
className: 'file-icon',
|
|
7286
|
-
children: getIcons(
|
|
7329
|
+
children: getIcons(info, '')
|
|
7287
7330
|
}), jsxs("div", {
|
|
7288
7331
|
className: 'file-name',
|
|
7289
7332
|
children: [jsx("div", {
|
|
7290
7333
|
className: 'title',
|
|
7291
|
-
children:
|
|
7334
|
+
children: info?.title
|
|
7292
7335
|
}), jsxs("div", {
|
|
7293
7336
|
className: 'desc',
|
|
7294
7337
|
children: [jsx("span", {
|
|
7295
|
-
children: typeof
|
|
7338
|
+
children: typeof info?.size == 'number' ? convertBytesToSize(info?.size) : info?.size || '-'
|
|
7296
7339
|
}), jsx("span", {
|
|
7297
|
-
children:
|
|
7340
|
+
children: info?.fixTime || '-'
|
|
7298
7341
|
})]
|
|
7299
7342
|
})]
|
|
7300
7343
|
})]
|
|
@@ -7327,7 +7370,7 @@ const Layout = props => {
|
|
|
7327
7370
|
children: jsxs(Draggable, {
|
|
7328
7371
|
placement: 'horizontal',
|
|
7329
7372
|
poi: isNavtab ? [200] : [0, 'max'],
|
|
7330
|
-
fix: [
|
|
7373
|
+
fix: [true, false],
|
|
7331
7374
|
rang: [10, 350],
|
|
7332
7375
|
children: [jsx(ExplorerMenu, {
|
|
7333
7376
|
...props
|
|
@@ -7398,7 +7441,7 @@ const defaultColumns = [{
|
|
|
7398
7441
|
});
|
|
7399
7442
|
}
|
|
7400
7443
|
}];
|
|
7401
|
-
const Explorer = props => {
|
|
7444
|
+
const Explorer = /*#__PURE__*/forwardRef((props, ref) => {
|
|
7402
7445
|
const {
|
|
7403
7446
|
data,
|
|
7404
7447
|
columns,
|
|
@@ -7413,7 +7456,8 @@ const Explorer = props => {
|
|
|
7413
7456
|
const [curlist, setCurList] = useState([]);
|
|
7414
7457
|
const [curInfo, setCurInfo] = useState(null);
|
|
7415
7458
|
const [dataMap, setDataMap] = useState({});
|
|
7416
|
-
const [curSelect, setCurSelect] = useState(
|
|
7459
|
+
const [curSelect, setCurSelect] = useState(null); //当前选中信息
|
|
7460
|
+
const [curSelectFile, setCurSelectFile] = useState(''); //当前选中的文件
|
|
7417
7461
|
const [menuSize, setMenuSize] = useState(80);
|
|
7418
7462
|
const [reamekey, setReName] = useState(null);
|
|
7419
7463
|
const [logindex, setLogIndex] = useState(0); //前进
|
|
@@ -7422,6 +7466,17 @@ const Explorer = props => {
|
|
|
7422
7466
|
const [menutype, setMenutype] = useState('tile');
|
|
7423
7467
|
const [infoshow, setInfoShow] = useState(false);
|
|
7424
7468
|
const [loading, setLoading] = useState(ApiStatusEnum.READY);
|
|
7469
|
+
useImperativeHandle(ref, () => ({
|
|
7470
|
+
removeLog: () => {
|
|
7471
|
+
//清空日志
|
|
7472
|
+
setLog([]);
|
|
7473
|
+
},
|
|
7474
|
+
updateData: () => {
|
|
7475
|
+
if (curInfo?.key) {
|
|
7476
|
+
loadData(curInfo.key, curInfo);
|
|
7477
|
+
}
|
|
7478
|
+
}
|
|
7479
|
+
}));
|
|
7425
7480
|
const Icons = (v, className, style) => {
|
|
7426
7481
|
const IconMap = new Map([['favorite', jsx(FavoriteSvg, {})], ['space', jsx(SpaceSvg, {})], ['netdisk', jsx(NetdiskSvg, {})], ['album', jsx(AlbumSvg, {})], ['recycle', jsx(RecycleSvg, {})], ['recently', jsx(RecentlySvg, {})], ['coordination', jsx(LinkSvg, {})], ['text', jsx(TextSvg, {})], ['share', jsx(ShareLinkSvg, {})]]);
|
|
7427
7482
|
if (v?.label) {
|
|
@@ -7447,12 +7502,33 @@ const Explorer = props => {
|
|
|
7447
7502
|
});
|
|
7448
7503
|
}
|
|
7449
7504
|
let _file = ['folder', 'xls', 'xlsx', 'doc', 'docx', 'pptx', 'md', 'txt', 'js', 'css', 'pdf', 'html', 'json'];
|
|
7505
|
+
let css = ['css', 'less'];
|
|
7506
|
+
let js = ['js', 'jsx'];
|
|
7507
|
+
let ts = ['ts', 'tsx'];
|
|
7450
7508
|
if (v?.pic && typeof v?.pic == 'string') {
|
|
7451
7509
|
return jsx("img", {
|
|
7452
7510
|
className: cx$1(`${className || ''}`),
|
|
7453
7511
|
src: v.pic
|
|
7454
7512
|
});
|
|
7455
7513
|
}
|
|
7514
|
+
if (css.includes(v?.suffix)) {
|
|
7515
|
+
return jsx(SuffixIcon, {
|
|
7516
|
+
className: cx$1(`${className || ''}`),
|
|
7517
|
+
suffix: 'css'
|
|
7518
|
+
});
|
|
7519
|
+
}
|
|
7520
|
+
if (js.includes(v.suffix)) {
|
|
7521
|
+
return jsx(SuffixIcon, {
|
|
7522
|
+
className: cx$1(`${className || ''}`),
|
|
7523
|
+
suffix: 'js'
|
|
7524
|
+
});
|
|
7525
|
+
}
|
|
7526
|
+
if (ts.includes(v.suffix)) {
|
|
7527
|
+
return jsx(SuffixIcon, {
|
|
7528
|
+
className: cx$1(`${className || ''}`),
|
|
7529
|
+
suffix: 'txt'
|
|
7530
|
+
});
|
|
7531
|
+
}
|
|
7456
7532
|
if (_file.includes(v?.suffix)) {
|
|
7457
7533
|
return jsx(SuffixIcon, {
|
|
7458
7534
|
className: cx$1(`${className || ''}`),
|
|
@@ -7537,13 +7613,20 @@ const Explorer = props => {
|
|
|
7537
7613
|
function createFolder() {
|
|
7538
7614
|
const addData = (data, key, child) => {
|
|
7539
7615
|
let arr = data;
|
|
7616
|
+
let file = [];
|
|
7617
|
+
let folder = [];
|
|
7540
7618
|
if (key) {
|
|
7541
7619
|
let i = 0;
|
|
7542
7620
|
while (i < arr.length) {
|
|
7543
7621
|
let item = arr[i];
|
|
7544
7622
|
if (item.key == key) {
|
|
7545
7623
|
if (Array.isArray(item.children)) {
|
|
7546
|
-
item.children.
|
|
7624
|
+
item.children.forEach(v => {
|
|
7625
|
+
if (v.type == 'folder') folder.push(v);
|
|
7626
|
+
if (v.type == 'file') file.push(v);
|
|
7627
|
+
});
|
|
7628
|
+
folder.push(child);
|
|
7629
|
+
item.children = [...folder, ...file];
|
|
7547
7630
|
} else {
|
|
7548
7631
|
item.children = [child];
|
|
7549
7632
|
}
|
|
@@ -7556,7 +7639,16 @@ const Explorer = props => {
|
|
|
7556
7639
|
i++;
|
|
7557
7640
|
}
|
|
7558
7641
|
} else {
|
|
7559
|
-
arr.
|
|
7642
|
+
if (arr.length) {
|
|
7643
|
+
arr.forEach(v => {
|
|
7644
|
+
if (v.type == 'folder') folder.push(v);
|
|
7645
|
+
if (v.type == 'file') file.push(v);
|
|
7646
|
+
});
|
|
7647
|
+
folder.push(child);
|
|
7648
|
+
arr = [...folder, ...file];
|
|
7649
|
+
} else {
|
|
7650
|
+
arr.push(child);
|
|
7651
|
+
}
|
|
7560
7652
|
}
|
|
7561
7653
|
return arr || [];
|
|
7562
7654
|
};
|
|
@@ -7567,6 +7659,7 @@ const Explorer = props => {
|
|
|
7567
7659
|
title: '新建文件夹',
|
|
7568
7660
|
create_file: true
|
|
7569
7661
|
});
|
|
7662
|
+
console.log(list, 123);
|
|
7570
7663
|
setCurList(list);
|
|
7571
7664
|
}
|
|
7572
7665
|
return jsx(ExampleContext.Provider, {
|
|
@@ -7588,6 +7681,7 @@ const Explorer = props => {
|
|
|
7588
7681
|
checkMode,
|
|
7589
7682
|
reamekey,
|
|
7590
7683
|
curSelect,
|
|
7684
|
+
curSelectFile,
|
|
7591
7685
|
loadkey,
|
|
7592
7686
|
//icon
|
|
7593
7687
|
getIcons: Icons,
|
|
@@ -7606,6 +7700,7 @@ const Explorer = props => {
|
|
|
7606
7700
|
setLoading,
|
|
7607
7701
|
setReName,
|
|
7608
7702
|
setCurSelect,
|
|
7703
|
+
setCurSelectFile,
|
|
7609
7704
|
setLoadKey
|
|
7610
7705
|
},
|
|
7611
7706
|
children: jsx("div", {
|
|
@@ -7618,7 +7713,7 @@ const Explorer = props => {
|
|
|
7618
7713
|
})
|
|
7619
7714
|
})
|
|
7620
7715
|
});
|
|
7621
|
-
};
|
|
7716
|
+
});
|
|
7622
7717
|
|
|
7623
7718
|
export { ApiStatusEnum, Explorer as default, registerMenu };
|
|
7624
7719
|
//# sourceMappingURL=index.js.map
|