renamed folder database to xoonips.
45
.gitignore
vendored
@ -1,27 +1,30 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.eslintcache
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
# customize
|
||||
/public/data
|
||||
|
2
.vscode/launch.json
vendored
@ -5,7 +5,7 @@
|
||||
"name": "Vite Debugger",
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"url": "http://localhost:3000/",
|
||||
"url": "http://localhost:5173/",
|
||||
"webRoot": "${workspaceFolder}"
|
||||
}
|
||||
]
|
||||
|
601
package-lock.json
generated
18
package.json
@ -30,28 +30,28 @@
|
||||
"react-spinner-material": "^1.4.0",
|
||||
"sanitize.css": "^13.0.0",
|
||||
"xregexp": "^5.1.1",
|
||||
"yet-another-react-lightbox": "^3.11.4"
|
||||
"yet-another-react-lightbox": "^3.12.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/async-lock": "^1.4.0",
|
||||
"@types/jest": "^29.5.3",
|
||||
"@types/lokijs": "^1.5.8",
|
||||
"@types/node": "^18.17.1",
|
||||
"@types/react": "^18.2.17",
|
||||
"@types/node": "^18.17.3",
|
||||
"@types/react": "^18.2.18",
|
||||
"@types/react-dom": "^18.2.7",
|
||||
"@types/react-router-dom": "^5.3.3",
|
||||
"@types/react-router-hash-link": "^2.4.6",
|
||||
"@types/react-syntax-highlighter": "^15.5.7",
|
||||
"@typescript-eslint/eslint-plugin": "^6.2.0",
|
||||
"@typescript-eslint/parser": "^6.2.0",
|
||||
"@typescript-eslint/eslint-plugin": "^6.3.0",
|
||||
"@typescript-eslint/parser": "^6.3.0",
|
||||
"@vitejs/plugin-react-swc": "^3.3.2",
|
||||
"eslint": "^8.45.0",
|
||||
"eslint-plugin-react": "^7.33.0",
|
||||
"eslint": "^8.46.0",
|
||||
"eslint-plugin-react": "^7.33.1",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"eslint-plugin-react-refresh": "^0.4.3",
|
||||
"prettier": "^3.0.0",
|
||||
"prettier": "^3.0.1",
|
||||
"typescript": "^5.1.6",
|
||||
"vite": "^4.4.7",
|
||||
"vite": "^4.4.9",
|
||||
"vite-plugin-node-stdlib-browser": "^0.2.1",
|
||||
"vite-plugin-rewrite-all": "^1.0.1"
|
||||
}
|
||||
|
@ -4,8 +4,8 @@ import { Route, Routes } from 'react-router-dom';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import CoverPage from '../custom/CoverPage';
|
||||
import RelatedLink from '../custom/RelatedLink';
|
||||
import Database from '../database/Database';
|
||||
import DatabaseTop from '../database/DatabaseTop';
|
||||
import Xoonips from '../xoonips/Xoonips';
|
||||
import XoonipsTop from '../xoonips/XoonipsTop';
|
||||
import XoopsPathRedirect from './XoopsPathRedirect';
|
||||
|
||||
interface Props {
|
||||
@ -27,8 +27,8 @@ const MainContent: React.FC<Props> = (props) => {
|
||||
)
|
||||
) : (
|
||||
<Routes>
|
||||
<Route index element={<DatabaseTop lang={lang} type={type} />} />
|
||||
<Route path="modules/xoonips/*" element={<Database lang={lang} type={type} />} />
|
||||
<Route index element={<XoonipsTop lang={lang} type={type} />} />
|
||||
<Route path="modules/xoonips/*" element={<Xoonips lang={lang} type={type} />} />
|
||||
<Route path="*" element={<XoopsPathRedirect lang={lang} />} />
|
||||
</Routes>
|
||||
)}
|
||||
|
@ -3,6 +3,7 @@ import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import PageNotFound from '../common/lib/PageNotFound';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
|
||||
import styles from './CoverPage.module.css';
|
||||
|
||||
interface Props {
|
||||
|
@ -1,6 +1,7 @@
|
||||
import React from 'react';
|
||||
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
|
||||
import styles from './RelatedLink.module.css';
|
||||
|
||||
interface Props {
|
||||
|
@ -3,6 +3,7 @@ import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import NoticeSiteHasBeenArchived from '../common/lib/NoticeSiteHasBeenArchived';
|
||||
import { MultiLang } from '../config';
|
||||
|
||||
import styles from './SiteIndex.module.css';
|
||||
|
||||
interface Props {
|
||||
|
@ -5,16 +5,17 @@ import { Route, Routes, useLocation } from 'react-router-dom';
|
||||
import PageNotFound from '../common/lib/PageNotFound';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import Functions from '../functions';
|
||||
import styles from './Database.module.css';
|
||||
import DatabaseAdvancedSearch from './DatabaseAdvancedSearch';
|
||||
import DatabaseDetailItem from './DatabaseDetailItem';
|
||||
import DatabaseSearchByAdvancedKeyword from './DatabaseSearchByAdvancedKeyword';
|
||||
import DatabaseSearchByIndexId from './DatabaseSearchByIndexId';
|
||||
import DatabaseSearchByItemType from './DatabaseSearchByItemType';
|
||||
import DatabaseSearchByKeyword from './DatabaseSearchByKeyword';
|
||||
import DatabaseTop from './DatabaseTop';
|
||||
import XoonipsAdvancedSearch from './XoonipsAdvancedSearch';
|
||||
import XoonipsDetailItem from './XoonipsDetailItem';
|
||||
import XoonipsSearchByAdvancedKeyword from './XoonipsSearchByAdvancedKeyword';
|
||||
import XoonipsSearchByIndexId from './XoonipsSearchByIndexId';
|
||||
import XoonipsSearchByItemType from './XoonipsSearchByItemType';
|
||||
import XoonipsSearchByKeyword from './XoonipsSearchByKeyword';
|
||||
import XoonipsTop from './XoonipsTop';
|
||||
import { INDEX_ID_PUBLIC } from './lib/IndexUtil';
|
||||
|
||||
import styles from './Xoonips.module.css';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
type: BrainAtlasType;
|
||||
@ -27,7 +28,7 @@ const ItemDetail: React.FC<Props> = (props) => {
|
||||
const itemId_ = params.get('item_id') ?? '';
|
||||
const itemId = /^\d+$/.test(itemId_) ? parseInt(itemId_, 10) : 0;
|
||||
const doi = params.get('id') ?? '';
|
||||
return <DatabaseDetailItem lang={lang} id={itemId} doi={doi} type={type} />;
|
||||
return <XoonipsDetailItem lang={lang} id={itemId} doi={doi} type={type} />;
|
||||
};
|
||||
|
||||
const ItemList: React.FC<Props> = (props) => {
|
||||
@ -36,7 +37,7 @@ const ItemList: React.FC<Props> = (props) => {
|
||||
const params = new URLSearchParams(location.search);
|
||||
const id = params.get('index_id') ?? '';
|
||||
const indexId = /^\d+$/.test(id) ? parseInt(id, 10) : INDEX_ID_PUBLIC;
|
||||
return <DatabaseSearchByIndexId lang={lang} type={type} indexId={indexId} />;
|
||||
return <XoonipsSearchByIndexId lang={lang} type={type} indexId={indexId} />;
|
||||
};
|
||||
|
||||
const ItemSelect: React.FC<Props> = (props) => {
|
||||
@ -49,9 +50,7 @@ const ItemSelect: React.FC<Props> = (props) => {
|
||||
const searchItemtype = params.get('search_itemtype') ?? '';
|
||||
const match = searchItemtype.match(/^xnp([a-z]+)$/);
|
||||
const itemType = match !== null ? match[1] : '';
|
||||
return (
|
||||
<DatabaseSearchByItemType lang={lang} itemType={itemType} subItemType="" type={type} />
|
||||
);
|
||||
return <XoonipsSearchByItemType lang={lang} itemType={itemType} subItemType="" type={type} />;
|
||||
}
|
||||
case 'itemsubtypesearch': {
|
||||
const searchItemtype = params.get('search_itemtype') ?? '';
|
||||
@ -59,7 +58,7 @@ const ItemSelect: React.FC<Props> = (props) => {
|
||||
const itemType = match !== null ? match[1] : '';
|
||||
const subItemtype = params.get('search_subitemtype') ?? '';
|
||||
return (
|
||||
<DatabaseSearchByItemType
|
||||
<XoonipsSearchByItemType
|
||||
lang={lang}
|
||||
itemType={itemType}
|
||||
subItemType={subItemtype}
|
||||
@ -68,16 +67,16 @@ const ItemSelect: React.FC<Props> = (props) => {
|
||||
);
|
||||
}
|
||||
case 'quicksearch': {
|
||||
return <DatabaseSearchByKeyword lang={lang} type={type} />;
|
||||
return <XoonipsSearchByKeyword lang={lang} type={type} />;
|
||||
}
|
||||
case 'advanced': {
|
||||
return <DatabaseSearchByAdvancedKeyword lang={lang} type={type} />;
|
||||
return <XoonipsSearchByAdvancedKeyword lang={lang} type={type} />;
|
||||
}
|
||||
}
|
||||
return <PageNotFound lang={lang} />;
|
||||
};
|
||||
|
||||
const Database: React.FC<Props> = (props) => {
|
||||
const Xoonips: React.FC<Props> = (props) => {
|
||||
const { lang, type } = props;
|
||||
return (
|
||||
<div className={styles.database}>
|
||||
@ -88,14 +87,14 @@ const Database: React.FC<Props> = (props) => {
|
||||
</title>
|
||||
</Helmet>
|
||||
<Routes>
|
||||
<Route index element={<DatabaseTop lang={lang} type={type} />} />
|
||||
<Route path="index" element={<DatabaseTop lang={lang} type={type} />} />
|
||||
<Route index element={<XoonipsTop lang={lang} type={type} />} />
|
||||
<Route path="index.php" element={<XoonipsTop lang={lang} type={type} />} />
|
||||
<Route path="detail.php" element={<ItemDetail lang={lang} type={type} />} />
|
||||
<Route path="listitem.php" element={<ItemList lang={lang} type={type} />} />
|
||||
<Route path="itemselect.php" element={<ItemSelect lang={lang} type={type} />} />
|
||||
<Route
|
||||
path="advanced_search.php"
|
||||
element={<DatabaseAdvancedSearch lang={lang} type={type} />}
|
||||
element={<XoonipsAdvancedSearch lang={lang} type={type} />}
|
||||
/>
|
||||
<Route path="*" element={<PageNotFound lang={lang} />} />
|
||||
</Routes>
|
||||
@ -103,4 +102,4 @@ const Database: React.FC<Props> = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default Database;
|
||||
export default Xoonips;
|
@ -12,7 +12,7 @@ interface Props {
|
||||
type: BrainAtlasType;
|
||||
}
|
||||
|
||||
const DatabaseAdvancedSearch: React.FC<Props> = (props) => {
|
||||
const XoonipsAdvancedSearch: React.FC<Props> = (props) => {
|
||||
const { lang, type } = props;
|
||||
const query = new AdvancedSearchQuery();
|
||||
const navigate = useNavigate();
|
||||
@ -44,4 +44,4 @@ const DatabaseAdvancedSearch: React.FC<Props> = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseAdvancedSearch;
|
||||
export default XoonipsAdvancedSearch;
|
@ -15,7 +15,7 @@ interface Props {
|
||||
doi: string;
|
||||
}
|
||||
|
||||
const DatabaseDetailItem: React.FC<Props> = (props) => {
|
||||
const XoonipsDetailItem: React.FC<Props> = (props) => {
|
||||
const { lang, type, id, doi } = props;
|
||||
|
||||
const [loading, setLoading] = React.useState<boolean>(true);
|
||||
@ -60,4 +60,4 @@ const DatabaseDetailItem: React.FC<Props> = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseDetailItem;
|
||||
export default XoonipsDetailItem;
|
@ -2,15 +2,15 @@ import React from 'react';
|
||||
|
||||
import { useLocation } from 'react-router-dom';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import DatabaseListItem from './lib/DatabaseListItem';
|
||||
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
|
||||
import XoonipsListItem from './lib/XoonipsListItem';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
type: BrainAtlasType;
|
||||
}
|
||||
|
||||
const DatabaseSearchByAdvancedKeyword: React.FC<Props> = (props) => {
|
||||
const XoonipsSearchByAdvancedKeyword: React.FC<Props> = (props) => {
|
||||
const { lang, type } = props;
|
||||
const location = useLocation();
|
||||
const query = ItemUtil.getAdvancedSearchQueryByQuery(location.search);
|
||||
@ -24,9 +24,9 @@ const DatabaseSearchByAdvancedKeyword: React.FC<Props> = (props) => {
|
||||
return (
|
||||
<div className="list">
|
||||
<h3>Listing item</h3>
|
||||
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
<XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseSearchByAdvancedKeyword;
|
||||
export default XoonipsSearchByAdvancedKeyword;
|
@ -6,10 +6,10 @@ import Loading from '../common/lib/Loading';
|
||||
import PageNotFound from '../common/lib/PageNotFound';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import Functions from '../functions';
|
||||
import DatabaseListIndex from './lib/DatabaseListIndex';
|
||||
import DatabaseListItem from './lib/DatabaseListItem';
|
||||
import IndexUtil, { Index } from './lib/IndexUtil';
|
||||
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
|
||||
import XoonipsListIndex from './lib/XoonipsListIndex';
|
||||
import XoonipsListItem from './lib/XoonipsListItem';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
@ -17,7 +17,7 @@ interface Props {
|
||||
indexId: number;
|
||||
}
|
||||
|
||||
const DatabaseSearchByIndexId: React.FC<Props> = (props) => {
|
||||
const XoonipsSearchByIndexId: React.FC<Props> = (props) => {
|
||||
const { lang, type, indexId } = props;
|
||||
|
||||
const [notFound, setNotFound] = React.useState<boolean>(false);
|
||||
@ -83,10 +83,10 @@ const DatabaseSearchByIndexId: React.FC<Props> = (props) => {
|
||||
</Helmet>
|
||||
<h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3>
|
||||
<div>{parents.node}</div>
|
||||
<DatabaseListIndex lang={lang} index={index} type={type} />
|
||||
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
<XoonipsListIndex lang={lang} index={index} type={type} />
|
||||
<XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseSearchByIndexId;
|
||||
export default XoonipsSearchByIndexId;
|
@ -2,8 +2,8 @@ import React from 'react';
|
||||
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import Functions from '../functions';
|
||||
import DatabaseListItem from './lib/DatabaseListItem';
|
||||
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
|
||||
import XoonipsListItem from './lib/XoonipsListItem';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
@ -12,7 +12,7 @@ interface Props {
|
||||
type: BrainAtlasType;
|
||||
}
|
||||
|
||||
const DatabaseSearchByItemType: React.FC<Props> = (props) => {
|
||||
const XoonipsSearchByItemType: React.FC<Props> = (props) => {
|
||||
const { lang, itemType, subItemType, type } = props;
|
||||
|
||||
const searchFunc = (condition: SortCondition, func: SearchCallbackFunc) => {
|
||||
@ -29,9 +29,9 @@ const DatabaseSearchByItemType: React.FC<Props> = (props) => {
|
||||
return (
|
||||
<div className="list">
|
||||
<h3>{Functions.mlang('[en]Listing item[/en][ja]アイテム一覧[/ja]', lang)}</h3>
|
||||
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
<XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseSearchByItemType;
|
||||
export default XoonipsSearchByItemType;
|
@ -3,15 +3,15 @@ import React from 'react';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
import { BrainAtlasType, MultiLang } from '../config';
|
||||
import Functions from '../functions';
|
||||
import DatabaseListItem from './lib/DatabaseListItem';
|
||||
import ItemUtil, { SearchCallbackFunc, SortCondition } from './lib/ItemUtil';
|
||||
import XoonipsListItem from './lib/XoonipsListItem';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
type: BrainAtlasType;
|
||||
}
|
||||
|
||||
const DatabaseSearchByKeyword: React.FC<Props> = (props) => {
|
||||
const XoonipsSearchByKeyword: React.FC<Props> = (props) => {
|
||||
const { lang, type } = props;
|
||||
|
||||
const location = useLocation();
|
||||
@ -33,9 +33,9 @@ const DatabaseSearchByKeyword: React.FC<Props> = (props) => {
|
||||
<p>
|
||||
{Functions.mlang('[en]Search Keyword[/en][ja]検索キーワード[/ja]', lang)} : {query.keyword}
|
||||
</p>
|
||||
<DatabaseListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
<XoonipsListItem lang={lang} url={baseUrl} search={searchFunc} type={type} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseSearchByKeyword;
|
||||
export default XoonipsSearchByKeyword;
|
@ -1,15 +1,16 @@
|
||||
import React from 'react';
|
||||
|
||||
import Config, { BrainAtlasType, MultiLang } from '../config';
|
||||
import styles from './DatabaseTop.module.css';
|
||||
import ItemType from './item-type';
|
||||
|
||||
import styles from './XoonipsTop.module.css';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
type: BrainAtlasType;
|
||||
}
|
||||
|
||||
const DatabaseTop: React.FC<Props> = (props) => {
|
||||
const XoonipsTop: React.FC<Props> = (props) => {
|
||||
const { lang, type } = props;
|
||||
const types: string[][] = [];
|
||||
const len = Config.XOONIPS_ITEMTYPES.length;
|
||||
@ -41,4 +42,4 @@ const DatabaseTop: React.FC<Props> = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseTop;
|
||||
export default XoonipsTop;
|
@ -9,7 +9,7 @@ interface Props {
|
||||
lang: MultiLang;
|
||||
}
|
||||
|
||||
const DatabaseXoopsPathRedirect: React.FC<Props> = (props) => {
|
||||
const XoonipsXoopsPathRedirect: React.FC<Props> = (props) => {
|
||||
const { lang } = props;
|
||||
const location = useLocation();
|
||||
|
||||
@ -152,4 +152,4 @@ const DatabaseXoopsPathRedirect: React.FC<Props> = (props) => {
|
||||
return <Navigate to={url} />;
|
||||
};
|
||||
|
||||
export default DatabaseXoopsPathRedirect;
|
||||
export default XoonipsXoopsPathRedirect;
|
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 369 B |
Before Width: | Height: | Size: 375 B After Width: | Height: | Size: 375 B |
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 402 B |
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 479 B |
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 562 B After Width: | Height: | Size: 562 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 399 B After Width: | Height: | Size: 399 B |
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 538 B |
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 112 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@ -7,6 +7,7 @@ import Loading from '../../common/lib/Loading';
|
||||
import { BrainAtlasType, MultiLang } from '../../config';
|
||||
import Functions from '../../functions';
|
||||
import IndexUtil, { INDEX_ID_PUBLIC, Index } from '../lib/IndexUtil';
|
||||
|
||||
import styles from './IndexTree.module.css';
|
||||
|
||||
interface Props {
|
@ -1,9 +1,10 @@
|
||||
import { Link } from 'react-router-dom';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_binder.gif';
|
||||
import { ItemBinder } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_binder.gif';
|
||||
|
||||
class BinderList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,6 +1,7 @@
|
||||
import iconFile from '../../assets/images/icon_binder.gif';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_binder.gif';
|
||||
|
||||
class BinderTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|
@ -1,10 +1,11 @@
|
||||
import { Fragment } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_book.gif';
|
||||
import { ItemBook } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_book.gif';
|
||||
|
||||
class BookList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,6 +1,7 @@
|
||||
import iconFile from '../../assets/images/icon_book.gif';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_book.gif';
|
||||
|
||||
class BookTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|
@ -2,11 +2,12 @@ import React from 'react';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_conference.gif';
|
||||
import { ItemConference } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
import ConferenceUtil from './ConferenceUtil';
|
||||
|
||||
import iconFile from '../../assets/images/icon_conference.gif';
|
||||
|
||||
class ConferenceList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,7 +1,8 @@
|
||||
import iconFile from '../../assets/images/icon_conference.gif';
|
||||
import { ItemConferenceSubTypes } from '../../lib/ItemUtil';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_conference.gif';
|
||||
|
||||
class ConferenceTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|
@ -2,10 +2,11 @@ import React from 'react';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_data.gif';
|
||||
import { ItemData } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_data.gif';
|
||||
|
||||
class DataList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,7 +1,8 @@
|
||||
import iconFile from '../../assets/images/icon_data.gif';
|
||||
import { ItemDataSubTypes } from '../../lib/ItemUtil';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_data.gif';
|
||||
|
||||
class DataTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|
@ -1,10 +1,11 @@
|
||||
import { Link } from 'react-router-dom';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_files.gif';
|
||||
import { ItemFiles } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
import Contributor from '../lib/field/Contributor';
|
||||
|
||||
import iconFile from '../../assets/images/icon_files.gif';
|
||||
|
||||
class FilesList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,7 +1,8 @@
|
||||
import iconFile from '../../assets/images/icon_files.gif';
|
||||
import { ItemFilesSubTypes } from '../../lib/ItemUtil';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_files.gif';
|
||||
|
||||
class FilesTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|
@ -2,9 +2,10 @@ import React from 'react';
|
||||
|
||||
import { BrainAtlasType, MultiLang } from '../../../../config';
|
||||
import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil';
|
||||
import styles from './FileDownloadButton.module.css';
|
||||
import LicenseAgreementDialog from './LicenseAgreementDialog';
|
||||
|
||||
import styles from './FileDownloadButton.module.css';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
file: ItemBasicFile;
|
@ -7,9 +7,10 @@ import Functions from '../../../../functions';
|
||||
import ItemUtil, { ItemBasicFile } from '../../../lib/ItemUtil';
|
||||
import DateTime from './DateTime';
|
||||
import FileSize from './FileSize';
|
||||
import styles from './LicenseAgreementDialog.module.css';
|
||||
import Rights from './Rights';
|
||||
|
||||
import styles from './LicenseAgreementDialog.module.css';
|
||||
|
||||
interface Props {
|
||||
lang: MultiLang;
|
||||
file: ItemBasicFile;
|
@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
|
||||
import ItemType from '../..';
|
||||
import { BrainAtlasType, MultiLang } from '../../../../config';
|
||||
import ItemType from '../../../item-type';
|
||||
import ItemUtil from '../../../lib/ItemUtil';
|
||||
|
||||
interface Props {
|
@ -1,10 +1,11 @@
|
||||
import { Link } from 'react-router-dom';
|
||||
import XoopsCode from '../../../common/lib/XoopsCode';
|
||||
import Functions from '../../../functions';
|
||||
import iconFile from '../../assets/images/icon_memo.gif';
|
||||
import { ItemMemo } from '../../lib/ItemUtil';
|
||||
import ListBase, { ListBaseProps } from '../lib/ListBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_memo.gif';
|
||||
|
||||
class MemoList extends ListBase {
|
||||
constructor(props: ListBaseProps) {
|
||||
super(props);
|
@ -1,6 +1,7 @@
|
||||
import iconFile from '../../assets/images/icon_memo.gif';
|
||||
import TopBase, { TopBaseProps } from '../lib/TopBase';
|
||||
|
||||
import iconFile from '../../assets/images/icon_memo.gif';
|
||||
|
||||
class MemoTop extends TopBase {
|
||||
constructor(props: TopBaseProps) {
|
||||
super(props);
|