Skip to content

Commit fd077d1

Browse files
WIP compare/sort browse dialog
1 parent 07e5d5b commit fd077d1

File tree

8 files changed

+1350
-1225
lines changed

8 files changed

+1350
-1225
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"babel-loader": "^8.0.6",
6868
"babel-plugin-istanbul": "6.0.0",
6969
"coveralls": "3.0.7",
70-
"cypress": "6.2.1",
70+
"cypress": "^6.8.0",
7171
"eslint": "6.6.0",
7272
"eslint-config-prettier": "6.5.0",
7373
"eslint-plugin-chai-friendly": "0.5.0",

src/components/file/helpers.js

+12
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,15 @@ export const saveFile = async ({
7474
});
7575
return response;
7676
};
77+
78+
export const manifestFileComparer = async({
79+
repository, item1, item2,
80+
}) => {
81+
alert(JSON.stringify(repository));
82+
83+
return 0;
84+
85+
// contentObject = await readContent({
86+
// owner, repo, ref: branch, filepath, config,
87+
// });
88+
};

src/components/file/useFile.js

+2
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ function useFile({
174174
if (create) {
175175
component = components.create;
176176
} else {
177+
alert("!! browse\n\n" + JSON.stringify(repository));
178+
console.log(repository);
177179
component = components.browse;
178180
}
179181
}

src/components/tree-blob/Tree.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ function Tree({
2828
onBlob,
2929
depth,
3030
filepath,
31+
comparer,
3132
}) {
3233
const classes = useStyles();
3334
const [_tree, setTree] = useState(tree || []);
@@ -40,7 +41,7 @@ function Tree({
4041
const [selectedPath, setSelectedPath] = useState(_selectedPath);
4142

4243
const updateTree = async () => {
43-
const __tree = await fetchTree({ url, config });
44+
const __tree = await fetchTree({ url, config, comparer });
4445
setTree(__tree);
4546
};
4647

src/components/tree-blob/TreeObject.js

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ function TreeObject({
3535
onBlob,
3636
depth,
3737
filepath,
38+
comparer,
3839
}) {
3940
const classes = useStyles();
4041
const _filepath = Path.join(filepath || '', path);
@@ -67,6 +68,7 @@ function TreeObject({
6768
onBlob={onBlob}
6869
depth={depth + 1}
6970
filepath={_filepath}
71+
comparer={comparer}
7072
/>
7173
</>
7274
);

src/components/tree-blob/TreeObject.md

+25
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,31 @@ import { TreeObject } from 'gitea-react-toolkit';
3737
</Paper>
3838
```
3939

40+
### URL + Sorting Example
41+
42+
```js
43+
import { Paper } from '@material-ui/core';
44+
import { TreeObject } from 'gitea-react-toolkit';
45+
46+
<Paper>
47+
<TreeObject
48+
path=""
49+
type="tree"
50+
selected
51+
pathSelected="LICENSE.md"
52+
url="https://qa.door43.org/api/v1/repos/unfoldingWord/en_twl/git/trees/master?recursive=true"
53+
onBlob={(data) => alert(JSON.stringify(data, null, 2))}
54+
comparer={(item1,item2)=>{
55+
if (item1.path < item2.path)
56+
return 1;
57+
if ( item1.path > item2.path)
58+
return -1;
59+
return 0;
60+
}}
61+
/>
62+
</Paper>
63+
```
64+
4065
### Sample Data
4166

4267
```json

src/components/tree-blob/helpers.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
import { get } from '../../core';
22

3-
export const fetchTree = async ({ url, config }) => {
3+
export const fetchTree = async ({ url, config, comparer }) => {
44
const _config = {
55
cache: {
66
maxAge: 1 * 2 * 1000, // 2 sec cache override
77
},
88
...config,
99
};
1010
const response = await get({ url, config: _config });
11-
const { tree } = response;
11+
let { tree } = response;
12+
13+
if (comparer)
14+
{
15+
tree = tree.sort(comparer);
16+
}
17+
1218
return tree;
1319
};
1420

yarn.lock

+1,298-1,221
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)