@seafile/seafile-database 0.0.21 → 0.0.23
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/dist/api/api.js +21 -27
- package/dist/common/components/file-tag/index.js +2 -2
- package/dist/common/utils/icon-utils.js +2 -9
- package/dist/common/utils/utils.js +0 -28
- package/dist/components/cell-editors/index.js +2 -2
- package/dist/components/cell-editors/multiple-select-editor/index.js +2 -2
- package/dist/components/cell-editors/single-select-editor/index.js +2 -2
- package/dist/components/cell-editors/tags-editor/index.js +2 -1
- package/dist/components/context-menu/index.js +2 -2
- package/dist/components/data-process-setter/filter-setter.js +2 -1
- package/dist/components/data-process-setter/manage-setter.js +2 -1
- package/dist/components/data-process-setter/sort-setter.js +2 -2
- package/dist/components/icons/index.js +1 -14
- package/dist/components/image-previewer/_hooks/metadata-details.js +1 -1
- package/dist/components/image-previewer/_hooks/metadata-status.js +2 -2
- package/dist/components/image-previewer/image-detail/index.js +1 -1
- package/dist/components/image-previewer/index.js +2 -2
- package/dist/components/popover/groupbys-popover/index.js +5 -5
- package/dist/components/searcher/index.js +3 -3
- package/dist/components/view-toolbar/index.css +1 -54
- package/dist/components/view-toolbar/index.js +48 -40
- package/dist/components/view-toolbar/rows-toolbar/index.js +2 -2
- package/dist/components/view-toolbar/table-view-toolbar/index.js +1 -1
- package/dist/components/view-toolbar/views/all-views/index.css +85 -0
- package/dist/components/view-toolbar/views/all-views/index.js +165 -0
- package/dist/components/view-toolbar/views/index.css +22 -0
- package/dist/components/view-toolbar/views/index.js +215 -0
- package/dist/components/view-toolbar/views/view-item/index.css +83 -0
- package/dist/components/view-toolbar/views/view-item/index.js +159 -0
- package/dist/constants/event-bus-type.js +1 -3
- package/dist/constants/view/index.js +2 -32
- package/dist/context.js +34 -79
- package/dist/database.js +18 -11
- package/dist/global-settings.js +1 -3
- package/dist/hooks/{file-repo-context.js → app-context.js} +20 -25
- package/dist/hooks/collaborators.js +3 -9
- package/dist/hooks/index.js +14 -14
- package/dist/hooks/metadata.js +47 -45
- package/dist/hooks/tagsData.js +2 -8
- package/dist/hooks/viewsData.js +114 -0
- package/dist/index.js +3 -3
- package/dist/locale/en.js +1 -6
- package/dist/locale/zh_CN.js +1 -6
- package/dist/store/data-processor.js +0 -1
- package/dist/views/index.js +3 -5
- package/dist/views/table/editors/editor-container/index.js +2 -2
- package/dist/views/table/formatters/file-name.js +3 -3
- package/dist/views/table/index.js +3 -2
- package/dist/views/table/table-main/index.js +2 -2
- package/dist/views/table/table-main/rows/row/cell/formatter.js +2 -2
- package/dist/views/table/table-main/rows/row/cell/index.js +2 -2
- package/dist/views/table/table-main/rows-header/cell/dropdown-menu/index.js +1 -1
- package/dist/views/table/table-main/rows-header/cell/index.js +1 -1
- package/dist/views/table/table-main/rows-header/index.js +2 -2
- package/package.json +1 -1
- package/dist/assets/css/dropdown-menu.css +0 -96
- package/dist/components/dialogs/custom-modal-header/index.css +0 -34
- package/dist/components/dialogs/custom-modal-header/index.js +0 -34
- package/dist/components/dialogs/insert-view-dialog.js +0 -104
- package/dist/components/icons/arrow-down-icon.js +0 -19
- package/dist/components/icons/arrow-up-icon.js +0 -19
- package/dist/components/icons/close-icon.js +0 -23
- package/dist/components/icons/set-up-icon.js +0 -22
- package/dist/components/view-toolbar/card-view-toolbar/index.js +0 -89
- package/dist/components/view-toolbar/view-items/index.css +0 -55
- package/dist/components/view-toolbar/view-items/index.js +0 -98
- package/dist/components/view-toolbar/view-items/views-popover.js +0 -80
- package/dist/file-base.js +0 -31
- package/dist/hooks/file-view-context.js +0 -69
- package/dist/views/card/card-items/card-item/formatter.js +0 -45
- package/dist/views/card/card-items/card-item/index.css +0 -234
- package/dist/views/card/card-items/card-item/index.js +0 -206
- package/dist/views/card/card-items/index.css +0 -31
- package/dist/views/card/card-items/index.js +0 -189
- package/dist/views/card/context-menu/index.js +0 -165
- package/dist/views/card/index.js +0 -64
- package/dist/views/card/settings/index.css +0 -68
- package/dist/views/card/settings/index.js +0 -143
package/package.json
CHANGED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
.sea-database-dropdown-menu,
|
|
2
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-container {
|
|
3
|
-
min-width: 12rem;
|
|
4
|
-
padding: 8px 0;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-divider {
|
|
8
|
-
width: 100%;
|
|
9
|
-
height: 0;
|
|
10
|
-
margin: 0.5rem 0;
|
|
11
|
-
overflow: hidden;
|
|
12
|
-
border-top: 1px solid #e9ecef;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item {
|
|
16
|
-
height: 30px;
|
|
17
|
-
width: 100%;
|
|
18
|
-
padding: 4px 24px;
|
|
19
|
-
user-select: none;
|
|
20
|
-
display: flex;
|
|
21
|
-
align-items: center;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item-title {
|
|
25
|
-
color: #666;
|
|
26
|
-
padding: 3px 12px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item-title:hover {
|
|
30
|
-
background-color: unset !important;
|
|
31
|
-
cursor: initial !important;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item-no-results {
|
|
35
|
-
height: 30px;
|
|
36
|
-
width: 100%;
|
|
37
|
-
padding: 4px 24px;
|
|
38
|
-
user-select: none;
|
|
39
|
-
display: flex;
|
|
40
|
-
align-items: center;
|
|
41
|
-
font-size: 14px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item-hidden {
|
|
45
|
-
display: none;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item.disabled,
|
|
49
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item.disabled .sea-database-dropdown-item-content-icon {
|
|
50
|
-
color: #c2c2c2 !important;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item:hover {
|
|
54
|
-
background-color: #F5F5F5;
|
|
55
|
-
cursor: pointer;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item.disabled:hover {
|
|
59
|
-
background-color: unset;
|
|
60
|
-
cursor: default;
|
|
61
|
-
color: #c2c2c2;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.sea-database-dropdown-menu .sea-database-dropdown-menu-item .sea-database-dropdown-item-content {
|
|
65
|
-
display: flex;
|
|
66
|
-
align-items: center;
|
|
67
|
-
flex: 1;
|
|
68
|
-
font-size: 14px;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.sea-database-dropdown-menu .sea-database-dropdown-item-content .sea-database-dropdown-item-content-icon {
|
|
72
|
-
margin-right: 10px;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.sea-database-dropdown-menu .sea-database-arrow-right {
|
|
76
|
-
color: #666;
|
|
77
|
-
font-size: 12px !important;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.sea-database-dropdown-menu .sea-database-dropdown-item-with-left-icon {
|
|
81
|
-
min-height: 32px;
|
|
82
|
-
padding: 3px 12px;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.sea-database-dropdown-menu .sea-database-check-mark {
|
|
86
|
-
color: #666;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/* sub menu */
|
|
90
|
-
.sea-database-sub-dropdown-menu .popover {
|
|
91
|
-
left: -8px !important;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.sea-database-sub-dropdown-menu .bs-popover-auto[x-placement^="left"] {
|
|
95
|
-
left: 8px !important;
|
|
96
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
.modal .custom-modal-btn.close {
|
|
2
|
-
padding: 14px 16px;
|
|
3
|
-
opacity: 1;
|
|
4
|
-
margin: -1rem -1rem -1rem auto;
|
|
5
|
-
background-color: transparent;
|
|
6
|
-
border: 0;
|
|
7
|
-
float: right;
|
|
8
|
-
font-size: 1.40625rem;
|
|
9
|
-
font-weight: 700;
|
|
10
|
-
line-height: 1;
|
|
11
|
-
color: var(--bs-icon-color);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.modal .custom-modal-btn.close:not(:disabled):not(.disabled):hover {
|
|
15
|
-
opacity: 1;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.modal .custom-modal-btn .custom-modal-btn-inner {
|
|
19
|
-
display: inline-block;
|
|
20
|
-
width: 28px;
|
|
21
|
-
height: 28px;
|
|
22
|
-
border-radius: 3px;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.modal .custom-modal-btn .custom-modal-btn-inner:hover {
|
|
26
|
-
background-color: var(--bs-hover-bg);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.modal .custom-modal-btn .custom-modal-btn-inner .seafile-multicolor-icon {
|
|
30
|
-
width: 16px;
|
|
31
|
-
height: 16px;
|
|
32
|
-
color: var(--bs-icon-color);
|
|
33
|
-
font-size: 1rem;
|
|
34
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _reactstrap = require("reactstrap");
|
|
10
|
-
var _translate = _interopRequireDefault(require("../../../lang/translate"));
|
|
11
|
-
var _icons = _interopRequireDefault(require("../../icons"));
|
|
12
|
-
require("./index.css");
|
|
13
|
-
const CustomModalHeader = _ref => {
|
|
14
|
-
let {
|
|
15
|
-
children,
|
|
16
|
-
...props
|
|
17
|
-
} = _ref;
|
|
18
|
-
const customCloseBtn = /*#__PURE__*/_react.default.createElement("button", {
|
|
19
|
-
type: "button",
|
|
20
|
-
className: "close custom-modal-btn",
|
|
21
|
-
"data-dismiss": "modal",
|
|
22
|
-
"aria-label": _translate.default.gettext('Close'),
|
|
23
|
-
title: _translate.default.gettext('Close'),
|
|
24
|
-
onClick: props.toggle
|
|
25
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
26
|
-
className: "custom-modal-btn-inner"
|
|
27
|
-
}, /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
28
|
-
symbol: "close"
|
|
29
|
-
})));
|
|
30
|
-
return /*#__PURE__*/_react.default.createElement(_reactstrap.ModalHeader, Object.assign({}, props, {
|
|
31
|
-
close: customCloseBtn
|
|
32
|
-
}), children);
|
|
33
|
-
};
|
|
34
|
-
var _default = exports.default = CustomModalHeader;
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _reactstrap = require("reactstrap");
|
|
11
|
-
var _components = require("../../common/components");
|
|
12
|
-
var _translate = _interopRequireDefault(require("../../lang/translate"));
|
|
13
|
-
var _customModalHeader = _interopRequireDefault(require("./custom-modal-header"));
|
|
14
|
-
const VIEW_TYPES = {
|
|
15
|
-
TABLE: 'table',
|
|
16
|
-
CARD: 'card'
|
|
17
|
-
// GALLERY: 'gallery',
|
|
18
|
-
};
|
|
19
|
-
const VIEW_TYPE_OPTIONS = [{
|
|
20
|
-
label: _translate.default.gettext('Table'),
|
|
21
|
-
value: VIEW_TYPES.TABLE
|
|
22
|
-
}, {
|
|
23
|
-
label: _translate.default.gettext('Card'),
|
|
24
|
-
value: VIEW_TYPES.CARD
|
|
25
|
-
}
|
|
26
|
-
// { label: Translate.gettext('Gallery'), value: VIEW_TYPES.TABLE },
|
|
27
|
-
];
|
|
28
|
-
class InsertViewDialog extends _react.default.Component {
|
|
29
|
-
constructor(props) {
|
|
30
|
-
super(props);
|
|
31
|
-
(0, _defineProperty2.default)(this, "inputNewName", e => {
|
|
32
|
-
this.setState({
|
|
33
|
-
name: e.target.value
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
(0, _defineProperty2.default)(this, "handleKeyDown", e => {
|
|
37
|
-
if (e.key === 'Enter') {
|
|
38
|
-
this.handleSubmit();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
(0, _defineProperty2.default)(this, "handleSubmit", () => {
|
|
42
|
-
const viewName = this.state.name.trim();
|
|
43
|
-
if (!viewName) {
|
|
44
|
-
_components.toaster.danger(_translate.default.gettext('View name is required.'));
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const {
|
|
48
|
-
viewType
|
|
49
|
-
} = this.state;
|
|
50
|
-
if (!viewType) {
|
|
51
|
-
_components.toaster.danger(_translate.default.gettext('View type is required.'));
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
this.props.onAddView(viewName, viewType);
|
|
55
|
-
});
|
|
56
|
-
(0, _defineProperty2.default)(this, "toggle", () => {
|
|
57
|
-
this.props.toggleCancel();
|
|
58
|
-
});
|
|
59
|
-
(0, _defineProperty2.default)(this, "handleSelectChange", option => {
|
|
60
|
-
this.setState({
|
|
61
|
-
viewType: option
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
this.state = {
|
|
65
|
-
name: '',
|
|
66
|
-
isSubmitBtnActive: false,
|
|
67
|
-
selectedOption: null,
|
|
68
|
-
viewType: ''
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
render() {
|
|
72
|
-
const {
|
|
73
|
-
viewType
|
|
74
|
-
} = this.state;
|
|
75
|
-
const selectedOption = VIEW_TYPE_OPTIONS.find(item => item.value === viewType);
|
|
76
|
-
return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
|
|
77
|
-
isOpen: true,
|
|
78
|
-
autoFocus: false,
|
|
79
|
-
toggle: this.toggle
|
|
80
|
-
}, /*#__PURE__*/_react.default.createElement(_customModalHeader.default, {
|
|
81
|
-
toggle: this.toggle
|
|
82
|
-
}, _translate.default.gettext('Add view')), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, null, /*#__PURE__*/_react.default.createElement(_reactstrap.Label, null, _translate.default.gettext('View name')), /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
|
|
83
|
-
onKeyDown: this.handleKeyDown,
|
|
84
|
-
autoFocus: true,
|
|
85
|
-
value: this.state.name,
|
|
86
|
-
onChange: this.inputNewName,
|
|
87
|
-
name: "view-name"
|
|
88
|
-
}), /*#__PURE__*/_react.default.createElement(_reactstrap.Label, {
|
|
89
|
-
className: "mt-2"
|
|
90
|
-
}, _translate.default.gettext('View type')), /*#__PURE__*/_react.default.createElement(_components.CustomizeSelect, {
|
|
91
|
-
value: selectedOption,
|
|
92
|
-
options: VIEW_TYPE_OPTIONS,
|
|
93
|
-
onChange: this.handleSelectChange
|
|
94
|
-
})), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
|
|
95
|
-
color: "secondary",
|
|
96
|
-
onClick: this.toggle
|
|
97
|
-
}, _translate.default.gettext('Cancel')), /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
|
|
98
|
-
color: "primary",
|
|
99
|
-
onClick: this.handleSubmit,
|
|
100
|
-
disabled: !this.state.name.trim()
|
|
101
|
-
}, _translate.default.gettext('Submit'))));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
var _default = exports.default = InsertViewDialog;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
const ArrayDownIcon = props => /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
10
|
-
width: 32,
|
|
11
|
-
height: 32,
|
|
12
|
-
viewBox: "0 0 32 32",
|
|
13
|
-
fill: "none",
|
|
14
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
16
|
-
d: "M16.0605 24L28.1211 11.9395L26 9.81836L16.0605 19.7578L6.12109 9.81836L4 11.9395L16.0605 24Z",
|
|
17
|
-
fill: "currentColor"
|
|
18
|
-
}));
|
|
19
|
-
var _default = exports.default = ArrayDownIcon;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
const ArrayUpIcon = props => /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
10
|
-
width: 32,
|
|
11
|
-
height: 32,
|
|
12
|
-
viewBox: "0 0 32 32",
|
|
13
|
-
fill: "none",
|
|
14
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
16
|
-
d: "M16.0607 7.99988L28.1212 20.0604L26.0001 22.1815L16.0607 12.2421L6.12122 22.1815L4.00012 20.0604L16.0607 7.99988Z",
|
|
17
|
-
fill: "currentColor"
|
|
18
|
-
}));
|
|
19
|
-
var _default = exports.default = ArrayUpIcon;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
const CloseIcon = props => /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
10
|
-
t: 1718937171668,
|
|
11
|
-
className: "icon",
|
|
12
|
-
viewBox: "0 0 1024 1024",
|
|
13
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
-
"p-id": 18368,
|
|
15
|
-
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
16
|
-
width: 200,
|
|
17
|
-
height: 200
|
|
18
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
19
|
-
d: "M489.6 444.8l294.4-294.4 67.2 67.2-294.4 294.4 294.4 294.4-67.2 67.2-294.4-294.4-272 272-67.2-67.2 272-272-272-272 67.2-67.2z",
|
|
20
|
-
"p-id": 18369,
|
|
21
|
-
fill: "currentColor"
|
|
22
|
-
}));
|
|
23
|
-
var _default = exports.default = CloseIcon;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
const SetUpIcon = props => /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
10
|
-
width: 32,
|
|
11
|
-
height: 32,
|
|
12
|
-
viewBox: "0 0 32 32",
|
|
13
|
-
fill: "none",
|
|
14
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
16
|
-
d: "M12.3048 1.04102C13.0668 0.859993 13.8405 1.29543 14.0802 2.04102C14.3696 2.94055 15.1732 3.53862 16.1124 3.53223L16.3068 3.52344C17.2681 3.44595 18.0378 2.85385 18.341 2.18946L18.4035 2.06738C18.7413 1.47614 19.4426 1.18166 20.1095 1.36817C21.4489 1.74318 22.6896 2.28193 23.9728 3.06934C25.1023 3.76249 26.2908 4.71126 27.2365 5.74121C27.7325 6.28157 27.7653 7.10175 27.3136 7.67969C26.7469 8.4046 26.6346 9.27919 27.0704 10.208C27.5879 10.9886 28.5746 11.4613 29.4884 11.3984L29.6251 11.3955C30.3005 11.4102 30.8912 11.8779 31.0509 12.5459C31.668 15.1295 31.6716 18.0018 30.924 20.6621C30.7125 21.4138 29.9599 21.8777 29.1935 21.7285C28.4485 21.5834 27.587 21.9403 27.0617 22.792C26.5366 23.6433 26.6069 24.5663 27.0695 25.1602C27.5508 25.778 27.476 26.6625 26.8976 27.1904C24.8547 29.0546 22.284 30.344 19.6954 30.959C18.9335 31.14 18.1598 30.7046 17.9201 29.959C17.6489 29.1159 16.9257 28.5374 16.0626 28.4736L15.8878 28.4678C14.8367 28.4754 13.9827 29.102 13.6593 29.8105C13.3525 30.4825 12.6021 30.8308 11.8908 30.6318C10.5514 30.2568 9.31064 29.7181 8.02747 28.9307C6.89795 28.2375 5.70942 27.2888 4.7638 26.2588C4.26774 25.7184 4.23493 24.8982 4.68665 24.3203C5.25363 23.5951 5.36538 22.7203 4.92884 21.791C4.41118 21.0111 3.4253 20.5388 2.51185 20.6016C1.78077 20.6518 1.11971 20.1668 0.949349 19.4541C0.332247 16.8705 0.328662 13.9982 1.0763 11.3379C1.28775 10.5863 2.04037 10.1223 2.80677 10.2715C3.55176 10.4166 4.41323 10.0597 4.93861 9.20801C5.46366 8.35672 5.39341 7.43367 4.93079 6.83985C4.44946 6.22204 4.52418 5.3375 5.10267 4.80957C7.14554 2.94543 9.7162 1.65606 12.3048 1.04102ZM11.8673 4.28223C10.4992 4.73716 9.17485 5.41808 8.0138 6.29102C8.55023 7.76552 8.32683 9.43023 7.49232 10.7832C6.65717 12.1371 5.26815 13.0849 3.70814 13.2705C3.44526 14.7249 3.43696 16.2401 3.65931 17.6875C5.07739 17.9423 6.41655 18.7335 7.2931 19.9355L7.51283 20.2607L7.58216 20.3857C8.33408 21.8973 8.3938 23.5361 7.75208 24.9922C8.33344 25.5126 8.97641 25.9933 9.59681 26.374C10.3047 26.8084 10.9826 27.1412 11.674 27.4043C12.6652 26.2383 14.1905 25.4798 15.8663 25.4678H15.8673C17.6431 25.4556 19.203 26.3424 20.132 27.7168C21.5003 27.2619 22.8243 26.581 23.9855 25.708C23.4497 24.2338 23.6736 22.5694 24.5079 21.2168C25.3429 19.8631 26.7315 18.9143 28.2911 18.7285C28.5539 17.274 28.5625 15.759 28.34 14.3115C26.798 14.0342 25.3492 13.1229 24.4874 11.7393C24.4623 11.6988 24.4393 11.6569 24.4181 11.6143C23.6661 10.1025 23.6053 8.46308 24.2472 7.00684C23.6661 6.48681 23.0234 6.00642 22.4035 5.62598C21.6951 5.19132 21.0171 4.85788 20.3253 4.59473C19.3341 5.76081 17.8098 6.52017 16.1339 6.53223H16.1329C14.3566 6.54435 12.7962 5.65729 11.8673 4.28223Z",
|
|
17
|
-
fill: "currentColor"
|
|
18
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
19
|
-
d: "M18.5 16C18.5 14.6193 17.3807 13.5 16 13.5C14.6193 13.5 13.5 14.6193 13.5 16C13.5 17.3807 14.6193 18.5 16 18.5C17.3807 18.5 18.5 17.3807 18.5 16ZM21.5 16C21.5 19.0376 19.0376 21.5 16 21.5C12.9624 21.5 10.5 19.0376 10.5 16C10.5 12.9624 12.9624 10.5 16 10.5C19.0376 10.5 21.5 12.9624 21.5 16Z",
|
|
20
|
-
fill: "currentColor"
|
|
21
|
-
}));
|
|
22
|
-
var _default = exports.default = SetUpIcon;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _utils = require("../../../common/utils/utils");
|
|
11
|
-
var _iconButton = _interopRequireDefault(require("../../icon-button"));
|
|
12
|
-
var _constants = require("../../../constants");
|
|
13
|
-
var _hooks = require("../../../hooks");
|
|
14
|
-
var _translate = _interopRequireDefault(require("../../../lang/translate"));
|
|
15
|
-
var _dataProcessSetter = require("../../data-process-setter");
|
|
16
|
-
const CardViewToolbar = _ref => {
|
|
17
|
-
let {
|
|
18
|
-
isCustomPermission,
|
|
19
|
-
readOnly,
|
|
20
|
-
view,
|
|
21
|
-
collaborators,
|
|
22
|
-
modifyFilters,
|
|
23
|
-
modifySorts,
|
|
24
|
-
onToggleDetail = () => {},
|
|
25
|
-
onCloseDetail = () => {}
|
|
26
|
-
} = _ref;
|
|
27
|
-
const {
|
|
28
|
-
context
|
|
29
|
-
} = (0, _hooks.useFileRepoContext)();
|
|
30
|
-
const viewType = (0, _react.useMemo)(() => view.type, [view]);
|
|
31
|
-
const viewColumns = (0, _react.useMemo)(() => {
|
|
32
|
-
if (!view) return [];
|
|
33
|
-
return view.columns;
|
|
34
|
-
}, [view]);
|
|
35
|
-
|
|
36
|
-
// const filterColumns = useMemo(() => {
|
|
37
|
-
// return viewColumns.filter(c => c.key !== PRIVATE_COLUMN_KEY.FILE_TYPE);
|
|
38
|
-
// }, [viewColumns]);
|
|
39
|
-
|
|
40
|
-
const onToggleSettings = (0, _react.useCallback)(() => {
|
|
41
|
-
context.eventBus.dispatch(_constants.EVENT_BUS_TYPE.TOGGLE_CARD_SETTINGS);
|
|
42
|
-
onCloseDetail();
|
|
43
|
-
}, [context.eventBus, onCloseDetail]);
|
|
44
|
-
const toggleDetails = (0, _react.useCallback)(() => {
|
|
45
|
-
context.eventBus.dispatch(_constants.EVENT_BUS_TYPE.CLOSE_CARD_SETTINGS);
|
|
46
|
-
onToggleDetail();
|
|
47
|
-
}, [context.eventBus, onToggleDetail]);
|
|
48
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
49
|
-
className: "sea-metadata-tool-left-operations"
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(_dataProcessSetter.FilterSetter, {
|
|
51
|
-
wrapperClass: "sea-metadata-view-tool-operation-btn sea-metadata-view-tool-filter mr-2",
|
|
52
|
-
filtersClassName: "sea-metadata-filters",
|
|
53
|
-
target: `sea-metadata-filter-popover-${view._id}`,
|
|
54
|
-
readOnly: readOnly,
|
|
55
|
-
filterConjunction: view.filter_conjunction,
|
|
56
|
-
basicFilters: view.basic_filters,
|
|
57
|
-
filters: view.filters,
|
|
58
|
-
columns: viewColumns,
|
|
59
|
-
modifyFilters: modifyFilters,
|
|
60
|
-
collaborators: collaborators,
|
|
61
|
-
viewType: viewType
|
|
62
|
-
}), /*#__PURE__*/_react.default.createElement(_dataProcessSetter.SortSetter, {
|
|
63
|
-
wrapperClass: "sea-metadata-view-tool-operation-btn sea-metadata-view-tool-sort mr-2",
|
|
64
|
-
target: `sea-metadata-sort-popover-${view._id}`,
|
|
65
|
-
readOnly: readOnly,
|
|
66
|
-
sorts: view.sorts,
|
|
67
|
-
type: viewType,
|
|
68
|
-
columns: viewColumns,
|
|
69
|
-
modifySorts: modifySorts
|
|
70
|
-
}), !readOnly && /*#__PURE__*/_react.default.createElement(_iconButton.default, {
|
|
71
|
-
icon: "set-up",
|
|
72
|
-
className: "sf-metadata-view-tool-operation-btn sea-metadata-view-tool-setting",
|
|
73
|
-
size: 24,
|
|
74
|
-
role: "button",
|
|
75
|
-
"aria-label": _translate.default.gettext('Settings'),
|
|
76
|
-
title: _translate.default.gettext('Settings'),
|
|
77
|
-
tabIndex: 0,
|
|
78
|
-
onClick: onToggleSettings,
|
|
79
|
-
onKeyDown: _utils.Utils.onKeyDown
|
|
80
|
-
}), !isCustomPermission && /*#__PURE__*/_react.default.createElement(_iconButton.default, {
|
|
81
|
-
className: "cur-view-path-btn ml-2",
|
|
82
|
-
icon: "info",
|
|
83
|
-
title: _translate.default.gettext('Properties'),
|
|
84
|
-
onClick: toggleDetails
|
|
85
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
86
|
-
className: "sf-metadata-tool-right-operations"
|
|
87
|
-
}));
|
|
88
|
-
};
|
|
89
|
-
var _default = exports.default = CardViewToolbar;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
.sea-database-views-wrapper {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
flex-grow: 1;
|
|
5
|
-
position: relative;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.sea-database-views-wrapper .base-view-item {
|
|
9
|
-
display: flex;
|
|
10
|
-
align-items: center;
|
|
11
|
-
cursor: pointer;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.sea-database-views-wrapper .base-view-item .view-icons {
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: column;
|
|
17
|
-
align-items: center;
|
|
18
|
-
font-size: 8px;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.sea-database-views-dropdown-menu {
|
|
23
|
-
display: block;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.sea-database-views-dropdown-menu .sea-database-views-search-wrapper {
|
|
27
|
-
padding: 8px 16px;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.sea-database-views-dropdown-menu .sea-database-views-list-wrapper {
|
|
31
|
-
max-height: 240px;
|
|
32
|
-
min-height: 100px;
|
|
33
|
-
overflow-y: auto;
|
|
34
|
-
width: 300px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.sea-database-views-dropdown-menu .view-item {
|
|
38
|
-
display: flex;
|
|
39
|
-
justify-content: space-between;
|
|
40
|
-
align-items: center;
|
|
41
|
-
position: relative;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.sea-database-views-dropdown-menu .view-item .view-item-left .seafile-multicolor-icon:hover {
|
|
45
|
-
cursor: grab;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.sea-database-views-dropdown-menu .view-item .view-item-right {
|
|
49
|
-
margin-right: 0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.sea-database-views-dropdown-menu .add-item-btn {
|
|
53
|
-
padding-top: 8px;
|
|
54
|
-
height: 32px;
|
|
55
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = Views;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _components = require("../../../common/components");
|
|
11
|
-
var _utils = require("../../../common/utils/utils");
|
|
12
|
-
var _insertViewDialog = _interopRequireDefault(require("../../dialogs/insert-view-dialog"));
|
|
13
|
-
var _icons = _interopRequireDefault(require("../../icons"));
|
|
14
|
-
var _hooks = require("../../../hooks");
|
|
15
|
-
var _viewsPopover = _interopRequireDefault(require("./views-popover"));
|
|
16
|
-
require("./index.css");
|
|
17
|
-
function Views() {
|
|
18
|
-
const {
|
|
19
|
-
context
|
|
20
|
-
} = (0, _hooks.useFileRepoContext)();
|
|
21
|
-
const {
|
|
22
|
-
views,
|
|
23
|
-
currentViewId,
|
|
24
|
-
insertView
|
|
25
|
-
} = (0, _hooks.useViewContext)();
|
|
26
|
-
const viewRef = (0, _react.useRef)(null);
|
|
27
|
-
const [menuStyle, setMenuStyle] = (0, _react.useState)(null);
|
|
28
|
-
const [isShowViewsPopover, setIsShowViewsPopover] = (0, _react.useState)(false);
|
|
29
|
-
const [isShowAddViewDialog, setIsShowAddViewDialog] = (0, _react.useState)(false);
|
|
30
|
-
const currentView = (0, _react.useMemo)(() => {
|
|
31
|
-
return views.find(view => view._id === currentViewId);
|
|
32
|
-
}, [currentViewId, views]);
|
|
33
|
-
const onOpenViewsPopover = (0, _react.useCallback)(event => {
|
|
34
|
-
event && event.stopPropagation();
|
|
35
|
-
if (isShowViewsPopover) {
|
|
36
|
-
setIsShowViewsPopover(false);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const {
|
|
40
|
-
left,
|
|
41
|
-
bottom
|
|
42
|
-
} = viewRef.current.getBoundingClientRect();
|
|
43
|
-
setMenuStyle({
|
|
44
|
-
left,
|
|
45
|
-
top: bottom + 12
|
|
46
|
-
}); // 12 is (view item height) - (all views button height)
|
|
47
|
-
setIsShowViewsPopover(true);
|
|
48
|
-
}, [isShowViewsPopover]);
|
|
49
|
-
const onCloseViewsPopover = (0, _react.useCallback)(event => {
|
|
50
|
-
event && event.stopPropagation();
|
|
51
|
-
setIsShowViewsPopover(false);
|
|
52
|
-
}, []);
|
|
53
|
-
const onAddViewDialogToggle = (0, _react.useCallback)(() => {
|
|
54
|
-
setIsShowAddViewDialog(!isShowAddViewDialog);
|
|
55
|
-
setIsShowViewsPopover(false);
|
|
56
|
-
}, [isShowAddViewDialog]);
|
|
57
|
-
const onAddView = (0, _react.useCallback)((viewName, viewType) => {
|
|
58
|
-
context.insertView({
|
|
59
|
-
name: viewName,
|
|
60
|
-
type: viewType
|
|
61
|
-
}).then(res => {
|
|
62
|
-
const {
|
|
63
|
-
view
|
|
64
|
-
} = res.data;
|
|
65
|
-
insertView(view);
|
|
66
|
-
onAddViewDialogToggle();
|
|
67
|
-
}).catch(err => {
|
|
68
|
-
const errMessage = _utils.Utils.getErrorMsg(err);
|
|
69
|
-
_components.toaster.danger(errMessage);
|
|
70
|
-
});
|
|
71
|
-
}, [context, insertView, onAddViewDialogToggle]);
|
|
72
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
73
|
-
className: "sea-database-views-wrapper"
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
75
|
-
ref: viewRef,
|
|
76
|
-
className: "base-view-item",
|
|
77
|
-
onClick: onOpenViewsPopover
|
|
78
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
-
className: "view-name"
|
|
80
|
-
}, currentView.name), /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
-
className: "view-icons ml-2"
|
|
82
|
-
}, /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
83
|
-
width: "8px",
|
|
84
|
-
height: "8px",
|
|
85
|
-
symbol: 'arrow-up'
|
|
86
|
-
}), /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
87
|
-
width: "8px",
|
|
88
|
-
height: "8px",
|
|
89
|
-
symbol: 'arrow-down'
|
|
90
|
-
}))), isShowViewsPopover && /*#__PURE__*/_react.default.createElement(_viewsPopover.default, {
|
|
91
|
-
menuStyle: menuStyle,
|
|
92
|
-
onViewsPopoverToggle: onCloseViewsPopover,
|
|
93
|
-
onAddViewDialogToggle: onAddViewDialogToggle
|
|
94
|
-
}), isShowAddViewDialog && /*#__PURE__*/_react.default.createElement(_insertViewDialog.default, {
|
|
95
|
-
onAddView: onAddView,
|
|
96
|
-
toggleCancel: onAddViewDialogToggle
|
|
97
|
-
})));
|
|
98
|
-
}
|