<Tab disabled={isTabsDisabled} tabId={tabIds.SP_LIMITS} data-test-id='sp-limits-tab' title={i18n('SP Limits')}>
{selectedTab === tabIds.SP_LIMITS &&
<EntitlementPoolsLimits
+ isReadOnlyMode={isReadOnlyMode}
limitType={limitType.SERVICE_PROVIDER}
limitsList={limitsList.filter(item => item.type === limitType.SERVICE_PROVIDER)}
selectedLimit={this.state.selectedLimit}
<Tab disabled={isTabsDisabled} tabId={tabIds.VENDOR_LIMITS} data-test-id='vendor-limits-tab' title={i18n('Vendor Limits')}>
{selectedTab === tabIds.VENDOR_LIMITS &&
<EntitlementPoolsLimits
+ isReadOnlyMode={isReadOnlyMode}
limitType={limitType.VENDOR}
limitsList={limitsList.filter(item => item.type === limitType.VENDOR)}
selectedLimit={this.state.selectedLimit}
onCloseLimitEditor={() => this.onCloseLimitEditor()}
onSelectLimit={limit => this.onSelectLimit(limit)}/>}
</Tab>
- {selectedTab !== tabIds.GENERAL ?
- <Button disabled={this.state.selectedLimit} className='add-limit-button' tabId={tabIds.ADD_LIMIT_BUTTON} btnType='link' iconName='plus'>{i18n('Add Limit')}</Button> :
+ {
+ selectedTab !== tabIds.GENERAL ?
+ <Button
+ disabled={this.state.selectedLimit || isReadOnlyMode}
+ className='add-limit-button'
+ tabId={tabIds.ADD_LIMIT_BUTTON}
+ btnType='link'
+ iconName='plus'>
+ {i18n('Add Limit')}
+ </Button>
+ :
<div></div> // Render empty div to not break tabs
}
</Tabs>
<GridSection className='license-model-modal-buttons entitlement-pools-editor-buttons'>
- {!this.state.selectedLimit && <Button btnType='default' disabled={!this.props.isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>}
+ {!this.state.selectedLimit &&
+ <Button btnType='default' disabled={!this.props.isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>
+ {i18n('Save')}
+ </Button>
+ }
<Button btnType={this.state.selectedLimit ? 'default' : 'outline'} onClick={() => this.props.onCancel()} type='reset'>
{i18n('Cancel')}
</Button>
limitsList={limitsList.filter(item => item.type === limitType.SERVICE_PROVIDER)}
selectedLimit={this.state.selectedLimit}
onCloseLimitEditor={() => this.onCloseLimitEditor()}
- onSelectLimit={limit => this.onSelectLimit(limit)}/>}
+ onSelectLimit={limit => this.onSelectLimit(limit)}
+ isReadOnlyMode={isReadOnlyMode} />}
</Tab>
<Tab tabId={tabIds.VENDOR_LIMITS} disabled={isTabsDisabled} data-test-id='general-tab' title={i18n('Vendor Limits')}>
{selectedTab === tabIds.VENDOR_LIMITS &&
limitsList={limitsList.filter(item => item.type === limitType.VENDOR)}
selectedLimit={this.state.selectedLimit}
onCloseLimitEditor={() => this.onCloseLimitEditor()}
- onSelectLimit={limit => this.onSelectLimit(limit)}/>}
+ onSelectLimit={limit => this.onSelectLimit(limit)}
+ isReadOnlyMode={isReadOnlyMode} />}
</Tab>
{selectedTab !== tabIds.GENERAL ?
- <Button disabled={this.state.selectedLimit} className='add-limit-button' tabId={tabIds.ADD_LIMIT_BUTTON} btnType='link' iconName='plus'>{i18n('Add Limit')}</Button> :
+ <Button
+ className='add-limit-button'
+ tabId={tabIds.ADD_LIMIT_BUTTON}
+ btnType='link'
+ iconName='plus'
+ disabled={this.state.selectedLimit || isReadOnlyMode}>
+ {i18n('Add Limit')}
+ </Button>
+ :
<div></div> // Render empty div to not break tabs
}
</Tabs>
<GridSection className='license-model-modal-buttons license-key-group-editor-buttons'>
- {!this.state.selectedLimit && <Button btnType='default' disabled={!this.props.isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>}
+ {!this.state.selectedLimit &&
+ <Button btnType='default' disabled={!this.props.isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>
+ {i18n('Save')}
+ </Button>
+ }
<Button btnType={this.state.selectedLimit ? 'default' : 'outline'} onClick={() => this.props.onCancel()} type='reset'>
{i18n('Cancel')}
</Button>
</GridItem>
</GridSection>
<GridSection className='limit-editor-buttons'>
- <Button btnType='outline' disabled={!isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>
+ <Button btnType='outline' disabled={!isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>
<Button btnType='outline' color='gray' onClick={onCancel} type='reset'>{i18n('Cancel')}</Button>
</GridSection>
</Form>
}
return (
<div className='license-model-limits-view'>
- <ListEditorView
- isReadOnlyMode={isReadOnlyMode}>
+ <ListEditorView isReadOnlyMode={isReadOnlyMode}>
{this.props.selectedLimit === NEW_LIMIT_TEMP_ID && limitEditor.data &&
- <LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()}/>
+ <LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()} isReadOnlyMode={isReadOnlyMode}/>
}
{limitsList.length === 0 && !limitEditor.data && <div className='no-limits-text'>{i18n('There are no limits')}</div>}
{limitsList.map(limit =>
clickable={!selectedLimit}
isReadOnlyMode={isReadOnlyMode}
limit={limit}/>
- {limit.id === selectedLimit && limitEditor.data && <LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()}/>}
+ {limit.id === selectedLimit && limitEditor.data &&
+ <LimitEditor
+ limitsNames={limitsNames}
+ onCancel={onCloseLimitEditor}
+ onSubmit={ () => this.submit()}
+ isReadOnlyMode={isReadOnlyMode} />
+ }
</div> )}
</ListEditorView>