1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-05 08:53:14 +00:00

Share to user support select user from department (#7361)

* update

* remove 'All users' in org user department

* change style

---------

Co-authored-by: lian <imwhatiam123@gmail.com>
This commit is contained in:
Michael An
2025-01-15 13:57:24 +08:00
committed by GitHub
parent 3a4ce4e59f
commit 019cf75a67
5 changed files with 48 additions and 186 deletions

View File

@@ -52,10 +52,10 @@ class Item extends Component {
<td width="13%">
<input type="checkbox" className="vam" checked='checked' disabled/>
</td>
<td width="11%"><img className="avatar" src={member.avatar_url} alt=""/></td>
<td width="12%"><img className="avatar" src={member.avatar_url} alt=""/></td>
<td width="60%">{member.name}</td>
<td width="16%" className={this.state.highlight ? 'visible' : 'invisible' }>
<i className="sf3-font-help sf3-font" id={`no-select-${index}`}></i>
<td width="15%" className={this.state.highlight ? 'visible' : 'invisible' } id={`no-select-${index}`}>
<i className="sf3-font-help sf3-font"></i>
<Tooltip placement='bottom' isOpen={this.state.tooltipOpen} toggle={this.toggleTooltip} target={`no-select-${index}`} delay={{ show: 0, hide: 0 }} fade={false}>
{tip}
</Tooltip>
@@ -107,12 +107,7 @@ class DepartmentGroupMembers extends Component {
render() {
const { members, memberSelected, loading, selectedMemberMap, currentDepartment, usedFor } = this.props;
let headerTitle;
if (currentDepartment.id === -1) {
headerTitle = gettext('All users');
} else {
headerTitle = currentDepartment.name + ' ' + gettext('members');
}
let headerTitle = (currentDepartment.name || '') + ' ' + gettext('members');
if (loading) {
return (
<div className="department-dialog-member pt-4">

View File

@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Loading from '../../../components/loading';
import { gettext, isOrgContext } from '../../../utils/constants';
import { isOrgContext } from '../../../utils/constants';
const ItemPropTypes = {
department: PropTypes.object,
@@ -30,7 +30,7 @@ class Item extends Component {
renderSubDepartments = () => {
const { departments } = this.props;
return (
<div style={{ paddingLeft: '10px' }}>
<div>
{departments.map((department, index) => {
if (department.parent_group_id !== this.props.department.id) return null;
return (
@@ -43,6 +43,7 @@ class Item extends Component {
toggleExpanded={this.props.toggleExpanded}
currentDepartment={this.props.currentDepartment}
allMembersClick={this.props.allMembersClick}
padding={this.props.padding + 10}
/>
);
})}
@@ -56,12 +57,12 @@ class Item extends Component {
const { hasChild, isExpanded } = department;
return (
<>
<div className={isCurrent ? 'tr-highlight group-item' : 'group-item'} onClick={this.getMembers}>
<div className={isCurrent ? 'tr-highlight group-item' : 'group-item'} onClick={this.getMembers} style={{ paddingLeft: `${this.props.padding}px` }}>
{hasChild &&
<span
className={`sf3-font sf3-font-down ${isExpanded ? '' : 'rotate-270'} d-inline-block`}
onClick={this.toggleExpanded}
style={{ color: isCurrent ? '#fff' : '#999', fontSize: '12px' }}
style={{ color: '#666' }}
>
</span>
}
@@ -112,19 +113,9 @@ class DepartmentGroup extends Component {
if (loading) {
return (<Loading/>);
}
const { allMembersClick } = this.state;
return (
<div className="department-dialog-group">
<div>
{isOrgContext &&
<div className={allMembersClick ? 'tr-highlight group-item' : 'group-item'}>
<span
className={'pr-2'}
style={{ color: allMembersClick ? '#fff' : '#999', fontSize: '12px' }}
/>
<span>{gettext('All users')}</span>
</div>
}
{departments.length > 0 && departments.map((department, index) => {
if (department.parent_group_id !== -1) return null;
return (
@@ -137,6 +128,7 @@ class DepartmentGroup extends Component {
toggleExpanded={this.toggleExpanded}
currentDepartment={this.props.currentDepartment}
allMembersClick={this.state.allMembersClick}
padding={10}
/>
);
})}