mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-04 05:10:19 +08:00
Use new providerItem.
This commit is contained in:
@ -162,15 +162,15 @@ class ApplicationListPage extends React.Component {
|
||||
<List
|
||||
size="small"
|
||||
dataSource={providers}
|
||||
renderItem={(row, i) => {
|
||||
renderItem={(providerItem, i) => {
|
||||
return (
|
||||
<List.Item>
|
||||
<div style={{display: "inline"}}>
|
||||
<Tooltip placement="topLeft" title="Edit">
|
||||
<Button style={{marginRight: "5px"}} icon={<EditOutlined />} size="small" onClick={() => Setting.goToLinkSoft(this, `/providers/${row}`)} />
|
||||
<Button style={{marginRight: "5px"}} icon={<EditOutlined />} size="small" onClick={() => Setting.goToLinkSoft(this, `/providers/${providerItem.name}`)} />
|
||||
</Tooltip>
|
||||
<Link to={`/providers/${row}`}>
|
||||
{row}
|
||||
<Link to={`/providers/${providerItem.name}`}>
|
||||
{providerItem.name}
|
||||
</Link>
|
||||
</div>
|
||||
</List.Item>
|
||||
|
@ -179,16 +179,6 @@ class ProviderEditPage extends React.Component {
|
||||
}} />
|
||||
</Col>
|
||||
</Row>
|
||||
<Row style={{marginTop: '20px'}} >
|
||||
<Col style={{marginTop: '5px'}} span={2}>
|
||||
{i18next.t("application:Enable signup")}:
|
||||
</Col>
|
||||
<Col span={1} >
|
||||
<Switch checked={this.state.provider.enableSignUp} onChange={checked => {
|
||||
this.updateProviderField('enableSignUp', checked);
|
||||
}} />
|
||||
</Col>
|
||||
</Row>
|
||||
{
|
||||
this.state.provider.category === "Email" ? (
|
||||
<React.Fragment>
|
||||
|
@ -38,7 +38,7 @@ class ProviderTable extends React.Component {
|
||||
}
|
||||
|
||||
addRow(table) {
|
||||
let row = {name: "", canSignUp: false, canSignIn: true, canUnbind: true};
|
||||
let row = {name: "Please select a provider", canSignUp: false, canSignIn: true, canUnbind: true, alertType: "None"};
|
||||
if (table === undefined) {
|
||||
table = [];
|
||||
}
|
||||
@ -73,9 +73,11 @@ class ProviderTable extends React.Component {
|
||||
value={text}
|
||||
onChange={value => {
|
||||
this.updateField(table, index, 'name', value);
|
||||
const provider = this.props.providers.filter(provider => provider.name === value)[0];
|
||||
this.updateField(table, index, 'provider', provider);
|
||||
}} >
|
||||
{
|
||||
this.props.providers.map((provider, index) => <Option key={index} value={provider.name}>{provider.name}</Option>)
|
||||
this.props.providers.filter(provider => table.filter(providerItem => providerItem.name === provider.name).length === 0).map((provider, index) => <Option key={index} value={provider.name}>{provider.name}</Option>)
|
||||
}
|
||||
</Select>
|
||||
)
|
||||
@ -125,6 +127,27 @@ class ProviderTable extends React.Component {
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: i18next.t("provider:alertType"),
|
||||
dataIndex: 'alertType',
|
||||
key: 'alertType',
|
||||
width: '120px',
|
||||
render: (text, record, index) => {
|
||||
return (
|
||||
<Select virtual={false} style={{width: '100%'}} value={text} onChange={(value => {
|
||||
this.updateField(table, index, 'alertType', value);
|
||||
})}>
|
||||
{
|
||||
[
|
||||
{id: 'None', name: 'None'},
|
||||
{id: 'Once', name: 'Once'},
|
||||
{id: 'Always', name: 'Always'},
|
||||
].map((item, index) => <Option key={index} value={item.id}>{item.name}</Option>)
|
||||
}
|
||||
</Select>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: i18next.t("general:Action"),
|
||||
key: 'action',
|
||||
|
@ -38,24 +38,36 @@ function isLocalhost() {
|
||||
return hostname === "localhost";
|
||||
}
|
||||
|
||||
export function isProviderVisible(provider) {
|
||||
if (provider.type !== "GitHub") {
|
||||
export function isProviderVisible(providerItem) {
|
||||
if (providerItem.provider === undefined || providerItem.provider === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (providerItem.provider.type !== "GitHub") {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (isLocalhost()) {
|
||||
return provider.name.includes("localhost");
|
||||
return providerItem.provider.name.includes("localhost");
|
||||
} else {
|
||||
return !provider.name.includes("localhost");
|
||||
return !providerItem.provider.name.includes("localhost");
|
||||
}
|
||||
}
|
||||
|
||||
export function isProviderVisibleForSignUp(provider) {
|
||||
if (provider.enableSignUp === false) {
|
||||
export function isProviderVisibleForSignUp(providerItem) {
|
||||
if (providerItem.canSignUp === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isProviderVisible(provider);
|
||||
return isProviderVisible(providerItem);
|
||||
}
|
||||
|
||||
export function isProviderVisibleForSignIn(providerItem) {
|
||||
if (providerItem.canSignIn === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isProviderVisible(providerItem);
|
||||
}
|
||||
|
||||
export function parseJson(s) {
|
||||
|
@ -344,7 +344,7 @@ class UserEditPage extends React.Component {
|
||||
<Col span={22} >
|
||||
<div style={{marginBottom: 20}}>
|
||||
{
|
||||
this.state.application?.providerObjs.filter(provider => Setting.isProviderVisible(provider)).map((provider, index) => this.renderIdp(provider))
|
||||
this.state.application?.providers.filter(providerItem => Setting.isProviderVisible(providerItem)).map((providerItem, index) => this.renderIdp(providerItem.provider))
|
||||
}
|
||||
</div>
|
||||
</Col>
|
||||
|
@ -224,8 +224,8 @@ class LoginPage extends React.Component {
|
||||
</Form.Item>
|
||||
<Form.Item>
|
||||
{
|
||||
application.providerObjs.filter(provider => Setting.isProviderVisibleForSignUp(provider)).map(provider => {
|
||||
return this.renderProviderLogo(provider, application, 30, 5, "small");
|
||||
application.providers.filter(providerItem => Setting.isProviderVisibleForSignIn(providerItem)).map(providerItem => {
|
||||
return this.renderProviderLogo(providerItem.provider, application, 30, 5, "small");
|
||||
})
|
||||
}
|
||||
</Form.Item>
|
||||
@ -245,8 +245,8 @@ class LoginPage extends React.Component {
|
||||
</div>
|
||||
<br/>
|
||||
{
|
||||
application.providerObjs.filter(provider => Setting.isProviderVisibleForSignUp(provider)).map(provider => {
|
||||
return this.renderProviderLogo(provider, application, 40, 10, "big");
|
||||
application.providers.filter(providerItem => Setting.isProviderVisibleForSignIn(providerItem)).map(providerItem => {
|
||||
return this.renderProviderLogo(providerItem.provider, application, 40, 10, "big");
|
||||
})
|
||||
}
|
||||
{
|
||||
|
Reference in New Issue
Block a user