mirror of https://github.com/halo-dev/halo
Refactor theme files comparision rule
parent
0e208448e6
commit
6a37a9ae01
|
@ -3,6 +3,7 @@ package run.halo.app.model.support;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,7 +14,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ToString
|
@ToString
|
||||||
public class ThemeFile {
|
public class ThemeFile implements Comparator<ThemeFile> {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
@ -24,4 +25,17 @@ public class ThemeFile {
|
||||||
private Boolean editable;
|
private Boolean editable;
|
||||||
|
|
||||||
private List<ThemeFile> node;
|
private List<ThemeFile> node;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(ThemeFile leftFile, ThemeFile rightFile) {
|
||||||
|
if (leftFile.isFile && !rightFile.isFile) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!leftFile.isFile && rightFile.isFile) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return leftFile.getName().compareTo(rightFile.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -343,7 +343,7 @@ public class ThemeServiceImpl implements ThemeService {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Sort with isFile param
|
// Sort with isFile param
|
||||||
themeFiles.sort(Comparator.comparing(ThemeFile::getIsFile));
|
themeFiles.sort(new ThemeFile());
|
||||||
|
|
||||||
return themeFiles;
|
return themeFiles;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
Loading…
Reference in New Issue