Skip to content

Commit eef84db

Browse files
committed
refactor: add reusable folder with DocsLink component
1 parent be5d1f0 commit eef84db

File tree

38 files changed

+207
-175
lines changed

38 files changed

+207
-175
lines changed

jsconfig.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": "."
4+
},
5+
"include": ["src"]
6+
}

src/reusable/DocsLink.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import React from 'react'
2+
import { CLink } from '@coreui/react'
3+
4+
const DocsLink = props => {
5+
const {
6+
name,
7+
text,
8+
...rest
9+
} = props
10+
11+
const href = name ? `https://coreui.io/react/docs/components/${name}` : props.href
12+
13+
return (
14+
<div className="card-header-actions">
15+
<CLink
16+
{...rest}
17+
href={href}
18+
rel="noreferrer noopener"
19+
target="_blank"
20+
className="card-header-action"
21+
>
22+
<small className="text-muted">{ text || 'docs' }</small>
23+
</CLink>
24+
</div>
25+
)
26+
}
27+
28+
export default React.memo(DocsLink)

src/reusable/index.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import DocsLink from './DocsLink'
2+
3+
export {
4+
DocsLink
5+
}

src/views/base/breadcrumbs/Breadcrumbs.js

+2-10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
CCol,
1111
CRow
1212
} from '@coreui/react'
13+
import { DocsLink } from 'src/reusable'
1314
import routes from '../../../routes'
1415

1516
const Breadcrumbs = () => {
@@ -19,16 +20,7 @@ const Breadcrumbs = () => {
1920
<CCard>
2021
<CCardHeader>
2122
Bootstrap Breadcrumb
22-
<div className="card-header-actions">
23-
<a
24-
href="https://coreui.github.io/components/breadcrumbs/"
25-
rel="noreferrer noopener"
26-
target="_blank"
27-
className="card-header-action"
28-
>
29-
<small className="text-muted">docs</small>
30-
</a>
31-
</div>
23+
<DocsLink name="CBreadcrumb"/>
3224
</CCardHeader>
3325
<CCardBody>
3426
<h6>CBreadcrumbRouter wrapper component</h6>

src/views/base/cards/Cards.js

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
CLink
1414
} from '@coreui/react'
1515
import CIcon from '@coreui/icons-react'
16+
import { DocsLink } from 'src/reusable'
17+
1618

1719
const Cards = () => {
1820
const [collapsed, setCollapsed] = React.useState(true)
@@ -25,6 +27,7 @@ const Cards = () => {
2527
<CCard>
2628
<CCardHeader>
2729
Card title
30+
<DocsLink name="CCard"/>
2831
</CCardHeader>
2932
<CCardBody>
3033
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut

src/views/base/carousels/Carousels.js

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
CCol,
1313
CRow
1414
} from '@coreui/react'
15+
import { DocsLink } from 'src/reusable'
1516

1617
const slides = [
1718
'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1607923e7e2%20text%20%7B%20fill%3A%23555%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1607923e7e2%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23777%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22285.9296875%22%20y%3D%22217.75625%22%3EFirst%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E',
@@ -28,6 +29,7 @@ const Carousels = () => {
2829
<CCard>
2930
<CCardHeader>
3031
Carousel with controls
32+
<DocsLink name="CCarousel"/>
3133
</CCardHeader>
3234
<CCardBody>
3335
<CCarousel>

src/views/base/collapses/Collapses.js

+3-10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
CFade,
1111
CRow
1212
} from '@coreui/react';
13+
import { DocsLink } from 'src/reusable'
1314

1415
const Collapses = () => {
1516

@@ -51,11 +52,7 @@ const Collapses = () => {
5152
<CCard>
5253
<CCardHeader>
5354
Collapse
54-
<div className="card-header-actions">
55-
<a href="https://coreui.github.io/components/collapse/" rel="noreferrer noopener" target="_blank" className="card-header-action">
56-
<small className="text-muted">docs</small>
57-
</a>
58-
</div>
55+
<DocsLink name="CCollapse"/>
5956
</CCardHeader>
6057
<CCollapse show={collapse}>
6158
<CCardBody>
@@ -129,11 +126,7 @@ const Collapses = () => {
129126
<CCard>
130127
<CCardHeader>
131128
Fade
132-
<div className="card-header-actions">
133-
<a href="https://coreui.github.io/components/fade/" rel="noreferrer noopener" target="_blank" className="card-header-action">
134-
<small className="text-muted">docs</small>
135-
</a>
136-
</div>
129+
<DocsLink name="CFade"/>
137130
</CCardHeader>
138131
<CCardBody>
139132
<CFade timeout={300} in={fade} tag="h5" className="mt-3">

src/views/base/forms/BasicForms.js

+2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import {
3131
CRow
3232
} from '@coreui/react'
3333
import CIcon from '@coreui/icons-react'
34+
import { DocsLink } from 'src/reusable'
3435

3536
const BasicForms = () => {
3637
const [collapsed, setCollapsed] = React.useState(true)
@@ -44,6 +45,7 @@ const BasicForms = () => {
4445
<CCardHeader>
4546
Credit Card
4647
<small> Form</small>
48+
<DocsLink name="-Input"/>
4749
</CCardHeader>
4850
<CCardBody>
4951
<CRow>

src/views/base/index.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import Breadcrumbs from './Breadcrumbs';
2+
import Cards from './Cards';
3+
import Carousels from './Carousels';
4+
import Collapses from './Collapses';
5+
import Dropdowns from './Dropdowns';
6+
import Jumbotrons from './Jumbotrons';
7+
import ListGroups from './ListGroups';
8+
import Navbars from './Navbars';
9+
import Navs from './Navs';
10+
import Paginations from './Paginations';
11+
import Popovers from './Popovers';
12+
import ProgressBar from './ProgressBar';
13+
import Switches from './Switches';
14+
import Tabs from './Tabs';
15+
import Tooltips from './Tooltips';
16+
17+
export {
18+
Breadcrumbs, Cards, Carousels, Collapses, Dropdowns, Jumbotrons, ListGroups, Navbars, Navs, Popovers, ProgressBar, Switches, Tabs, Tooltips, Paginations,
19+
};
20+

src/views/base/jumbotrons/Jumbotrons.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
CEmbed,
1212
CEmbedItem
1313
} from '@coreui/react'
14+
import { DocsLink } from 'src/reusable'
1415

1516
const Jumbotrons = () => {
1617

@@ -21,11 +22,7 @@ const Jumbotrons = () => {
2122
<CCard>
2223
<CCardHeader>
2324
Jumbotron
24-
<div className="card-header-actions">
25-
<a href="https://coreui.github.io/components/jumbotron/" rel="noreferrer noopener" target="_blank" className="card-header-action">
26-
<small className="text-muted">docs</small>
27-
</a>
28-
</div>
25+
<DocsLink name="CJumbotron"/>
2926
</CCardHeader>
3027
<CCardBody>
3128
<CJumbotron className="border">

src/views/base/list-groups/ListGroups.js

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from 'react';
1+
import React, { useState } from 'react'
22
import {
33
CBadge,
44
CCard,
@@ -10,7 +10,9 @@ import {
1010
CRow,
1111
CTabContent,
1212
CTabPane
13-
} from '@coreui/react';
13+
} from '@coreui/react'
14+
import { DocsLink } from 'src/reusable'
15+
1416

1517
const ListGroups = () => {
1618
const [activeTab, setActiveTab] = useState(1)
@@ -23,11 +25,7 @@ const ListGroups = () => {
2325
<CCard>
2426
<CCardHeader>
2527
List group
26-
<div className="card-header-actions">
27-
<a href="https://coreui.github.io/components/listgroup/" rel="noreferrer noopener" target="_blank" className="card-header-action">
28-
<small className="text-muted">docs</small>
29-
</a>
30-
</div>
28+
<DocsLink name="CListGroup"/>
3129
</CCardHeader>
3230
<CCardBody>
3331
<CListGroup>

src/views/base/navbars/Navbars.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
CButton,
2020
CImg
2121
} from '@coreui/react'
22-
// import CIcon from '@coreui/icons-react'
22+
import { DocsLink } from 'src/reusable'
2323

2424
const CNavbars = () => {
2525
const [isOpen, setIsOpen] = useState(false)
@@ -32,6 +32,7 @@ const CNavbars = () => {
3232
<CCard>
3333
<CCardHeader>
3434
CNavbar
35+
<DocsLink name="CNavbar"/>
3536
</CCardHeader>
3637
<CCardBody>
3738
<CNavbar expandable="sm" color="info" >

src/views/base/navs/Navs.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
CNavItem,
1414
CNavLink
1515
} from '@coreui/react'
16+
import { DocsLink } from 'src/reusable'
1617

1718
const Navs = () => {
1819
return (
@@ -22,11 +23,7 @@ const Navs = () => {
2223
<CCard>
2324
<CCardHeader>
2425
Navs
25-
<div className="card-header-actions">
26-
<a href="https://coreui.github.io/components/navs/" rel="noreferrer noopener" target="_blank" className="card-header-action">
27-
<small className="text-muted">docs</small>
28-
</a>
29-
</div>
26+
<DocsLink name="CNav"/>
3027
</CCardHeader>
3128
<CCardBody>
3229
<small>List Based</small>

src/views/base/paginations/Pagnations.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import {
55
CCardHeader,
66
CPagination
77
} from '@coreui/react'
8+
import { DocsLink } from 'src/reusable'
9+
810

911
const Paginations = () => {
1012
const [currentPage, setCurrentPage] = useState(2)
@@ -14,11 +16,7 @@ const Paginations = () => {
1416
<CCard>
1517
<CCardHeader>
1618
Pagination
17-
<div className="card-header-actions">
18-
<a href="https://coreui.github.io/components/pagination/" rel="noreferrer noopener" target="_blank" className="card-header-action">
19-
<small className="text-muted">docs</small>
20-
</a>
21-
</div>
19+
<DocsLink name="CPagination"/>
2220
</CCardHeader>
2321
<CCardBody>
2422
<h6>Default</h6>

src/views/base/popovers/Popovers.js

+2-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
CCol,
1010
CLink
1111
} from '@coreui/react'
12+
import { DocsLink } from 'src/reusable'
1213

1314
const Popovers = () => {
1415
const placements = [
@@ -23,16 +24,7 @@ const Popovers = () => {
2324
<CCard>
2425
<CCardHeader>
2526
Popovers
26-
<div className="card-header-actions">
27-
<a
28-
href="https://coreui.github.io/components/popovers/"
29-
rel="noreferrer noopener"
30-
target="_blank"
31-
className="card-header-action"
32-
>
33-
<small className="text-muted">docs</small>
34-
</a>
35-
</div>
27+
<DocsLink name="CPopover"/>
3628
</CCardHeader>
3729
<CCardBody>
3830
{/*eslint-disable-next-line*/}

src/views/base/progress-bar/ProgressBar.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,15 @@ import {
66
CProgress,
77
CProgressBar
88
} from '@coreui/react'
9+
import { DocsLink } from 'src/reusable'
910

1011
const ProgressBar = () => {
1112
return (
1213
<>
1314
<CCard>
1415
<CCardHeader>
1516
Progress
16-
<div className="card-header-actions">
17-
<a href="https://coreui.github.io/components/progress/" rel="noreferrer noopener" target="_blank" className="card-header-action">
18-
<small className="text-muted">docs</small>
19-
</a>
20-
</div>
17+
<DocsLink name="CProgressBar"/>
2118
</CCardHeader>
2219
<CCardBody>
2320
<CProgress className="mb-3" />

src/views/base/switches/Switches.js

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
CRow,
88
CSwitch
99
} from '@coreui/react'
10+
import { DocsLink } from 'src/reusable'
1011

1112
const Switches = () => {
1213
return (
@@ -15,6 +16,7 @@ const Switches = () => {
1516
<CCard>
1617
<CCardHeader>
1718
3d Switch
19+
<DocsLink name="CSwitch"/>
1820
</CCardHeader>
1921
<CCardBody>
2022
<CSwitch className={'mx-1'} variant={'3d'} color={'primary'} defaultChecked onChange={(e)=>console.log(e.target.checked)}/>

src/views/base/tables/Tables.js

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
CDataTable,
99
CRow
1010
} from '@coreui/react'
11+
import { DocsLink } from 'src/reusable'
1112

1213
import usersData from '../../users/UsersData'
1314

@@ -30,6 +31,7 @@ const Tables = () => {
3031
<CCard>
3132
<CCardHeader>
3233
Simple Table
34+
<DocsLink name="CModal"/>
3335
</CCardHeader>
3436
<CCardBody>
3537
<CDataTable

src/views/base/tabs/Tabs.js

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
CCardHeader
1414
} from '@coreui/react'
1515
import CIcon from '@coreui/icons-react'
16+
import { DocsLink } from 'src/reusable'
1617

1718
const Tabs = () => {
1819
const [active, setActive] = useState(1)
@@ -24,6 +25,7 @@ const Tabs = () => {
2425
<CCard>
2526
<CCardHeader>
2627
Index indentifiers
28+
<DocsLink name="CTabs"/>
2729
</CCardHeader>
2830
<CCardBody>
2931
<CTabs>

0 commit comments

Comments
 (0)