mirror of
https://github.com/openharmony/applications_filepicker.git
synced 2026-07-01 22:33:59 -04:00
+1
-1
@@ -5,7 +5,7 @@
|
||||
"name": "default",
|
||||
"signingConfig": "default",
|
||||
"compileSdkVersion": 12,
|
||||
"compatibleSdkVersion": 9,
|
||||
"compatibleSdkVersion": 12,
|
||||
"runtimeOS": "OpenHarmony"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -14,29 +14,29 @@
|
||||
*/
|
||||
|
||||
// 缩略图获取尺寸
|
||||
export const THUMBNAIL_SIZE = {
|
||||
WIDTH: 98,
|
||||
HEIGHT: 98
|
||||
export enum ThumbnailSize {
|
||||
WIDTH = 98,
|
||||
HEIGHT = 98
|
||||
}
|
||||
|
||||
export const Z_INDEX = {
|
||||
TOP: 999,
|
||||
MIDDLE: 99,
|
||||
LOW: 9,
|
||||
LEVEL10: 10,
|
||||
LEVEL100: 100,
|
||||
LEVEL101: 101
|
||||
export enum ZIndex {
|
||||
TOP = 999,
|
||||
MIDDLE = 99,
|
||||
LOW = 9,
|
||||
LEVEL10 = 10,
|
||||
LEVEL100 = 100,
|
||||
LEVEL101 = 101
|
||||
}
|
||||
|
||||
export const TREE_LAYER = 15
|
||||
|
||||
export const BOTTOM_BAR_COLOR = {
|
||||
enabled: 1,
|
||||
disabled: 0.3
|
||||
export enum BottomBarColor {
|
||||
enabled = 1,
|
||||
disabled = 0.3
|
||||
}
|
||||
|
||||
export const SYSTEM_BAR_COLOR = {
|
||||
WHITE: '#ffffff',
|
||||
BLACK: '#000000',
|
||||
LIGHT_GRAY: '#f0f1f6'
|
||||
export enum SystemBarColor {
|
||||
WHITE = '#ffffff',
|
||||
BLACK = '#000000',
|
||||
LIGHT_GRAY = '#f0f1f6'
|
||||
}
|
||||
@@ -18,6 +18,7 @@ import prompt from '@ohos.prompt';
|
||||
import { getResourceString } from './Tools';
|
||||
import { MILLISECOND, FILENAME_REGEXP } from '../constants/Constant';
|
||||
import Logger from '../log/Logger';
|
||||
import type { BusinessError } from '@ohos.base';
|
||||
|
||||
const TAG = 'commonUtil';
|
||||
|
||||
@@ -41,7 +42,7 @@ export const toast = (text: string | Resource, time = MILLISECOND.ONE_SECOND) =>
|
||||
*/
|
||||
export const setSystemBar = async (navigationBarColor?: string, statusBarColor?: string,
|
||||
navigationBarContentColor?: string, statusBarContentColor?: string) => {
|
||||
let w = await window.getTopWindow(getContext(this));
|
||||
let w = await window.getTopWindow(getContext());
|
||||
await w.setSystemBarProperties({
|
||||
navigationBarColor,
|
||||
statusBarColor,
|
||||
@@ -60,12 +61,11 @@ export const setImmersion = (isImmersion: boolean) => {
|
||||
if (!globalThis.windowClass) {
|
||||
return;
|
||||
}
|
||||
globalThis.windowClass.setFullScreen(isImmersion, (err, data) => {
|
||||
globalThis.windowClass.setFullScreen(isImmersion, (err: BusinessError) => {
|
||||
if (err.code) {
|
||||
Logger.e(TAG, 'Failed to enable the full-screen mode. Cause:' + JSON.stringify(err));
|
||||
return;
|
||||
}
|
||||
Logger.i(TAG, 'Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data));
|
||||
})
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ export const setImmersion = (isImmersion: boolean) => {
|
||||
* @param fileName 文件名
|
||||
* @return 是否合法
|
||||
*/
|
||||
export function isValidFileName(fileName): boolean {
|
||||
export function isValidFileName(fileName: string): boolean {
|
||||
return FILENAME_REGEXP.test(fileName);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,17 +22,27 @@ import LanguageUtil from './LanguageUtil';
|
||||
const TAG = 'DateTimeUtil';
|
||||
|
||||
namespace DateTimeUtil {
|
||||
|
||||
export interface DateFormat {
|
||||
YYYY_MM_DD: string,
|
||||
MM_DD: string,
|
||||
DATE_TIME: string,
|
||||
YYYY_MM_DD_CHINESE: string,
|
||||
MM_DD_CHINESE: string,
|
||||
DATE_TIME_CHINESE: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期格式常量
|
||||
*/
|
||||
export const DATE_FORMAT = {
|
||||
let DATE_FORMAT: DateFormat = {
|
||||
YYYY_MM_DD: 'yyyy/mm/dd',
|
||||
MM_DD: 'mm/dd',
|
||||
DATE_TIME: 'yyyy/mm/dd HH:MM:SS',
|
||||
YYYY_MM_DD_CHINESE: 'yyyy年mm月dd日',
|
||||
MM_DD_CHINESE: 'm月d日',
|
||||
DATE_TIME_CHINESE: 'yyyy年mm月dd日 HH:MM'
|
||||
};
|
||||
DATE_TIME_CHINESE: 'yyyy年mm月dd日 HH:MM',
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 获取指定时间戳当天0点的时间戳
|
||||
@@ -94,11 +104,11 @@ namespace DateTimeUtil {
|
||||
* @param format 格式(可选)
|
||||
* @example formatDate(new Date(), "YYYY-mm-dd HH:MM:SS") => 2021-11-02 09:39:59
|
||||
*/
|
||||
export function formatDate(timestamp, format = DATE_FORMAT.YYYY_MM_DD) {
|
||||
export function formatDate(timestamp: number, format:string = DATE_FORMAT.YYYY_MM_DD): string {
|
||||
let res = '';
|
||||
try {
|
||||
const date = new Date(timestamp);
|
||||
const opt = {
|
||||
const opt: Record<string, string> = {
|
||||
'y+': date.getFullYear().toString(), // 年
|
||||
'm+': (date.getMonth() + 1).toString(), // 月
|
||||
'd+': date.getDate().toString(), // 日
|
||||
@@ -106,7 +116,7 @@ namespace DateTimeUtil {
|
||||
'M+': date.getMinutes().toString(), // 分
|
||||
'S+': date.getSeconds().toString(), // 秒
|
||||
};
|
||||
for (let key in opt) {
|
||||
Object.keys(opt).forEach((key) => {
|
||||
const reg = new RegExp(key);
|
||||
let ret = reg.exec(format);
|
||||
if (ret) {
|
||||
@@ -114,7 +124,7 @@ namespace DateTimeUtil {
|
||||
reg, ret[0].length == 1 ? opt[key] : opt[key].padStart(ret[0].length, '0')
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
res = format;
|
||||
} catch (error) {
|
||||
Logger.e(TAG, 'formatDate error: ' + error.toString());
|
||||
@@ -165,7 +175,7 @@ namespace DateTimeUtil {
|
||||
* 往年:YYYY/MM/DD
|
||||
*/
|
||||
export function getDateStringForRecentCard(timeStamp: number): Resource | string {
|
||||
let dateString = undefined;
|
||||
let dateString : Resource | string;
|
||||
const date = new Date();
|
||||
const now = date.getTime();
|
||||
const nowYear = date.getFullYear();
|
||||
|
||||
@@ -12,27 +12,26 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
let eventMap = new Map<string, Function[]>();
|
||||
|
||||
let eventMap = {}
|
||||
|
||||
export const emit = (event, ...argument) => {
|
||||
export const emit = (event: string, ...argument: ESObject[]) => {
|
||||
if (Array.isArray(eventMap[event])) {
|
||||
eventMap[event].forEach((fn: Function) => {
|
||||
fn.apply(this, argument)
|
||||
fn(...argument)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const on = (event, callback) => {
|
||||
export const on = (event: string, callback: Function) => {
|
||||
if (!eventMap[event]) {
|
||||
eventMap[event] = []
|
||||
}
|
||||
eventMap[event].push(callback)
|
||||
}
|
||||
|
||||
export const off = (event, callback, flag = true) => {
|
||||
export const off = (event: string, callback: Function, flag = true) => {
|
||||
if (flag) {
|
||||
const index = eventMap[event].indexOf(item => item === callback)
|
||||
const index: number = eventMap[event].indexOf((item: Function) => item === callback)
|
||||
if (index !== -1) {
|
||||
eventMap[event].splice(index, 1)
|
||||
}
|
||||
|
||||
@@ -25,17 +25,18 @@ import fileExtensionInfo from '@ohos.file.fileExtensionInfo';
|
||||
import { FileBase } from '../../databases/model/base/FileBase';
|
||||
import ObjectUtil from './ObjectUtil';
|
||||
import { FileUtil } from './FileUtil';
|
||||
import { BusinessError } from '@kit.BasicServicesKit';
|
||||
|
||||
const TAG = 'FileAccessExec';
|
||||
|
||||
namespace FileAccessExec {
|
||||
|
||||
// 创建文件夹
|
||||
export function createFolder(sourceUri: string, folderName: string): any {
|
||||
return new Promise((resolve, reject) => {
|
||||
export function createFolder(sourceUri: string, folderName: string): ESObject {
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
try {
|
||||
globalThis.fileAcsHelper.mkDir(sourceUri, folderName, (ret, data) => {
|
||||
if (ret && ret.code !== '0') {
|
||||
globalThis.fileAcsHelper.mkDir(sourceUri, folderName, (ret: BusinessError, data: string) => {
|
||||
if (ret && ret.code !== 0) {
|
||||
reject(ret);
|
||||
Logger.e(TAG, 'createFolder fail:' + JSON.stringify(ret));
|
||||
} else {
|
||||
@@ -50,11 +51,11 @@ namespace FileAccessExec {
|
||||
}
|
||||
|
||||
// 创建文件
|
||||
export function createFile(sourceUri: string, fileName: string): any {
|
||||
return new Promise((resolve, reject) => {
|
||||
export function createFile(sourceUri: string, fileName: string): ESObject {
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
try {
|
||||
globalThis.fileAcsHelper.createFile(sourceUri, fileName, (ret, data) => {
|
||||
if (ret && ret.code !== '0') {
|
||||
globalThis.fileAcsHelper.createFile(sourceUri, fileName, (ret: BusinessError, data: string) => {
|
||||
if (ret && ret.code !== 0) {
|
||||
reject(ret);
|
||||
Logger.e(TAG, 'createFile fail:' + JSON.stringify(ret));
|
||||
} else {
|
||||
@@ -68,19 +69,15 @@ namespace FileAccessExec {
|
||||
})
|
||||
}
|
||||
|
||||
export function getFileData(): any {
|
||||
export function getFileData(): ESObject {
|
||||
let folderList: FilesData[] = [];
|
||||
let fileList: FilesData[] = [];
|
||||
const allData = getRootFolder();
|
||||
allData.forEach((item) => {
|
||||
if (item.isFolder) {
|
||||
folderList.push(new FilesData({
|
||||
...item
|
||||
}));
|
||||
folderList.push(new FilesData(item));
|
||||
} else {
|
||||
fileList.push(new FilesData({
|
||||
...item
|
||||
}));
|
||||
fileList.push(new FilesData(item));
|
||||
}
|
||||
})
|
||||
|
||||
@@ -98,18 +95,18 @@ namespace FileAccessExec {
|
||||
let result = fileIterator.next();
|
||||
let isDone = result.done;
|
||||
while (!isDone) {
|
||||
const {fileName, relativePath,uri, mode, size, mtime, mimeType} = result.value;
|
||||
let tempFile = new FilesData({
|
||||
id: randomId(),
|
||||
fileName,
|
||||
relativePath,
|
||||
uri,
|
||||
mode,
|
||||
size,
|
||||
mtime,
|
||||
mimeType,
|
||||
fileIterator: result.value
|
||||
});
|
||||
const data = result.value;
|
||||
// const {fileName, relativePath,uri, mode, size, mtime, mimeType} = result.value;
|
||||
let tempFile = new FilesData();
|
||||
tempFile.id = randomId();
|
||||
tempFile.fileName = data.fileName;
|
||||
tempFile.relativePath = data.relativePath;
|
||||
tempFile.uri = data.uri;
|
||||
tempFile.mode = data.mode.toString();
|
||||
tempFile.size = data.size;
|
||||
tempFile.mtime = data.mtime;
|
||||
tempFile.mimeType = data.mimeType;
|
||||
tempFile.fileIterator = result.value;
|
||||
fileList.push(tempFile);
|
||||
result = fileIterator.next();
|
||||
isDone = result.done;
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
import { MimeType } from '../../databases/model/MimeType';
|
||||
import StringUtil from '../../base/utils/StringUtil';
|
||||
|
||||
const FILE_TYPE_APK = 'APK';
|
||||
const FILE_TYPE_JAD = 'JAD';
|
||||
/**
|
||||
* 文件媒体类型
|
||||
*/
|
||||
@@ -141,13 +143,13 @@ export class FileMimeTypeUtil {
|
||||
public static FILE_TYPE_UNKNOW: number = 200;
|
||||
public static SUFFIX_DLP = 'DLP';
|
||||
private static UNKNOW_MIMETYPE: MimeType = new MimeType(
|
||||
null,
|
||||
'',
|
||||
MimeType.FILE_CATEGORY_UNKNOW,
|
||||
FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'),
|
||||
$r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'),
|
||||
null
|
||||
''
|
||||
);
|
||||
private static fileMimeTypeMap: Map<string, MimeType> = new Map<string, MimeType>();
|
||||
|
||||
@@ -158,533 +160,535 @@ export class FileMimeTypeUtil {
|
||||
FileMimeTypeUtil.fileMimeTypeMap.set(extension, mType);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static setFileMimeTypeMap() {
|
||||
// 图片
|
||||
this.addFileMimeType('PNG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_PNG,
|
||||
FileMimeTypeUtil.addFileMimeType('PNG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_PNG,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/png');
|
||||
this.addFileMimeType('WBMP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_WBMP,
|
||||
FileMimeTypeUtil.addFileMimeType('WBMP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_WBMP,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/vnd.wap.wbmp');
|
||||
this.addFileMimeType('BMP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_BMP,
|
||||
FileMimeTypeUtil.addFileMimeType('BMP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_BMP,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/bmp');
|
||||
this.addFileMimeType('GIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_GIF,
|
||||
FileMimeTypeUtil.addFileMimeType('GIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_GIF,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/gif');
|
||||
this.addFileMimeType('JPEG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPEG,
|
||||
FileMimeTypeUtil.addFileMimeType('JPEG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPEG,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/jpeg');
|
||||
this.addFileMimeType('JPG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPG,
|
||||
FileMimeTypeUtil.addFileMimeType('JPG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPG,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/jpeg');
|
||||
this.addFileMimeType('JPE', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPEG,
|
||||
FileMimeTypeUtil.addFileMimeType('JPE', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_JPEG,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/jpeg');
|
||||
this.addFileMimeType('CR2', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_CR2,
|
||||
FileMimeTypeUtil.addFileMimeType('CR2', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_CR2,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/cr2');
|
||||
this.addFileMimeType('PSD', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_PSD,
|
||||
FileMimeTypeUtil.addFileMimeType('PSD', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_PSD,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/psd');
|
||||
this.addFileMimeType('HEIC', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_HEIC,
|
||||
FileMimeTypeUtil.addFileMimeType('HEIC', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_HEIC,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/heif');
|
||||
this.addFileMimeType('HEIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_HEIC,
|
||||
FileMimeTypeUtil.addFileMimeType('HEIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_HEIC,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/heif');
|
||||
this.addFileMimeType('DNG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_RAW,
|
||||
FileMimeTypeUtil.addFileMimeType('DNG', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_RAW,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/x-adobe-dng');
|
||||
this.addFileMimeType('WEBP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_WEBP,
|
||||
FileMimeTypeUtil.addFileMimeType('WEBP', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_WEBP,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/webp');
|
||||
this.addFileMimeType('TIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_TIF,
|
||||
FileMimeTypeUtil.addFileMimeType('TIF', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_TIF,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/tiff');
|
||||
this.addFileMimeType('ICO', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_ICO,
|
||||
FileMimeTypeUtil.addFileMimeType('ICO', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_ICO,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/x-icon');
|
||||
this.addFileMimeType('ARW', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_RAW,
|
||||
FileMimeTypeUtil.addFileMimeType('ARW', MimeType.FILE_CATEGORY_IMAGE, FileMimeTypeUtil.FILE_TYPE_RAW,
|
||||
$r('app.media.hidisk_icon_picture'), $r('app.media.hidisk_icon_picture_grid'),
|
||||
$r('app.media.hidisk_icon_picture_grid_local'), 'image/x-sony-arw');
|
||||
|
||||
// 视频
|
||||
this.addFileMimeType('RMVB', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_RMVB,
|
||||
FileMimeTypeUtil.addFileMimeType('RMVB', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_RMVB,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-pn-realvideo');
|
||||
this.addFileMimeType('M4U', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_M4U,
|
||||
FileMimeTypeUtil.addFileMimeType('M4U', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_M4U,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/vnd.mpegurl');
|
||||
this.addFileMimeType('M4V', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_M4V,
|
||||
FileMimeTypeUtil.addFileMimeType('M4V', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_M4V,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-m4v');
|
||||
this.addFileMimeType('MOV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MOV,
|
||||
FileMimeTypeUtil.addFileMimeType('MOV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MOV,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/quicktime');
|
||||
this.addFileMimeType('MP4', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
FileMimeTypeUtil.addFileMimeType('MP4', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mp4');
|
||||
this.addFileMimeType('MPE', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
FileMimeTypeUtil.addFileMimeType('MPE', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mpeg');
|
||||
this.addFileMimeType('MPEG', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2PS,
|
||||
FileMimeTypeUtil.addFileMimeType('MPEG', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2PS,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mpeg');
|
||||
this.addFileMimeType('MPG4', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
FileMimeTypeUtil.addFileMimeType('MPG4', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mpeg');
|
||||
this.addFileMimeType('MKV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MKV,
|
||||
FileMimeTypeUtil.addFileMimeType('MKV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MKV,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-matroska');
|
||||
this.addFileMimeType('WEBM', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_WEBM,
|
||||
FileMimeTypeUtil.addFileMimeType('WEBM', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_WEBM,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-matroska');
|
||||
this.addFileMimeType('3GPP', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP,
|
||||
FileMimeTypeUtil.addFileMimeType('3GPP', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/3gpp');
|
||||
this.addFileMimeType('ASF', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_ASF,
|
||||
FileMimeTypeUtil.addFileMimeType('ASF', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_ASF,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-ms-asf');
|
||||
this.addFileMimeType('ASX', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_ASF,
|
||||
FileMimeTypeUtil.addFileMimeType('ASX', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_ASF,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-ms-asf');
|
||||
this.addFileMimeType('AVI', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_AVI,
|
||||
FileMimeTypeUtil.addFileMimeType('AVI', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_AVI,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-msvideo');
|
||||
this.addFileMimeType('FLV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_FLV,
|
||||
FileMimeTypeUtil.addFileMimeType('FLV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_FLV,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-flv');
|
||||
this.addFileMimeType('M2TS', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2PS,
|
||||
FileMimeTypeUtil.addFileMimeType('M2TS', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2PS,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mpeg');
|
||||
this.addFileMimeType('3G2', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP2,
|
||||
FileMimeTypeUtil.addFileMimeType('3G2', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP2,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/3gpp2');
|
||||
this.addFileMimeType('WMV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_WMV,
|
||||
FileMimeTypeUtil.addFileMimeType('WMV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_WMV,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-ms-wmv');
|
||||
this.addFileMimeType('MPG', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
FileMimeTypeUtil.addFileMimeType('MPG', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP4,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/video/mp2p');
|
||||
this.addFileMimeType('3GP', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP,
|
||||
FileMimeTypeUtil.addFileMimeType('3GP', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_3GPP,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/video/3gpp');
|
||||
this.addFileMimeType('RV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_RV,
|
||||
FileMimeTypeUtil.addFileMimeType('RV', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_RV,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-pn-realvideo');
|
||||
this.addFileMimeType('TS', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2TS,
|
||||
FileMimeTypeUtil.addFileMimeType('TS', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_MP2TS,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/mp2ts');
|
||||
this.addFileMimeType('DIVX', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_DIVX,
|
||||
FileMimeTypeUtil.addFileMimeType('DIVX', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_DIVX,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/divx');
|
||||
this.addFileMimeType('F4V', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_F4V,
|
||||
FileMimeTypeUtil.addFileMimeType('F4V', MimeType.FILE_CATEGORY_VIDEO, FileMimeTypeUtil.FILE_TYPE_F4V,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'video/x-f4v');
|
||||
|
||||
// 文档
|
||||
this.addFileMimeType('DOCX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOCX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
|
||||
this.addFileMimeType('DOC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'), 'application/msword');
|
||||
this.addFileMimeType('DOCM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOCM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
|
||||
this.addFileMimeType('DOTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
|
||||
this.addFileMimeType('WPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('WPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'), 'application/wpt');
|
||||
this.addFileMimeType('XLS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/vnd.ms-excel');
|
||||
this.addFileMimeType('XLSX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLSX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
||||
this.addFileMimeType('XLSM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLSM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/vnd.ms-excel.sheet.macroEnabled.12');
|
||||
this.addFileMimeType('XLTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/vnd.ms-excel.template.macroEnabled.12');
|
||||
this.addFileMimeType('ET', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('ET', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/et');
|
||||
this.addFileMimeType('PPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint');
|
||||
this.addFileMimeType('PPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint');
|
||||
this.addFileMimeType('PPTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.presentation');
|
||||
this.addFileMimeType('PPTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint.presentation.macroEnabled.12');
|
||||
this.addFileMimeType('PPSM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPSM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12');
|
||||
this.addFileMimeType('POTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('POTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint.presentation.macroEnabled.12');
|
||||
this.addFileMimeType('DPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('DPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/dps');
|
||||
this.addFileMimeType('DPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('DPT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/dpt');
|
||||
this.addFileMimeType('MSG', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('MSG', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'application/vnd.ms-outlook');
|
||||
this.addFileMimeType('PDF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_PDF,
|
||||
FileMimeTypeUtil.addFileMimeType('PDF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_PDF,
|
||||
$r('app.media.hidisk_icon_pdf'), $r('app.media.hidisk_icon_pdf_grid'),
|
||||
$r('app.media.hidisk_icon_pdf_grid_local'), 'application/pdf');
|
||||
this.addFileMimeType('RTF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('RTF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'), 'application/rtf');
|
||||
this.addFileMimeType('WPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('WPS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'), 'application/vnd.ms-works');
|
||||
this.addFileMimeType('XHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('XHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_xml'), $r('app.media.hidisk_icon_xml_grid'),
|
||||
$r('app.media.hidisk_icon_xml_grid_local'), 'application/xhtml+xml');
|
||||
this.addFileMimeType('MPC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('MPC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/vnd.mpohun.certificate');
|
||||
this.addFileMimeType('JS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('JS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'application/x-javascript');
|
||||
this.addFileMimeType('C', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('C', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('CONF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('CONF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('CPP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('CPP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('H', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('H', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('HTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
FileMimeTypeUtil.addFileMimeType('HTM', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
$r('app.media.hidisk_icon_html'), $r('app.media.hidisk_icon_html_grid'),
|
||||
$r('app.media.hidisk_icon_html_grid_local'), 'text/html');
|
||||
this.addFileMimeType('HTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
FileMimeTypeUtil.addFileMimeType('HTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
$r('app.media.hidisk_icon_html'), $r('app.media.hidisk_icon_html_grid'),
|
||||
$r('app.media.hidisk_icon_html_grid_local'), 'text/html');
|
||||
this.addFileMimeType('JAVA', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('JAVA', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('LOG', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('LOG', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_log'), $r('app.media.hidisk_icon_log_grid'),
|
||||
$r('app.media.hidisk_icon_log_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('PROP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('PROP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('RC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('RC', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('SH', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('SH', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('TXT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('TXT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_TEXT,
|
||||
$r('app.media.hidisk_icon_text'), $r('app.media.hidisk_icon_text_grid'),
|
||||
$r('app.media.hidisk_icon_text_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('XML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_XML,
|
||||
FileMimeTypeUtil.addFileMimeType('XML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_XML,
|
||||
$r('app.media.hidisk_icon_xml'), $r('app.media.hidisk_icon_xml_grid'),
|
||||
$r('app.media.hidisk_icon_xml_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('SUB', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('SUB', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/x-subviewer');
|
||||
this.addFileMimeType('ASS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('ASS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/x-ssa');
|
||||
this.addFileMimeType('SSA', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('SSA', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/x-ssa');
|
||||
this.addFileMimeType('JAD', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType(FILE_TYPE_JAD, MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/vnd.sun.j2me.app-descriptor');
|
||||
this.addFileMimeType('DHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
FileMimeTypeUtil.addFileMimeType('DHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
$r('app.media.hidisk_icon_html'), $r('app.media.hidisk_icon_html_grid'),
|
||||
$r('app.media.hidisk_icon_html_grid_local'), 'text/html');
|
||||
this.addFileMimeType('SHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
FileMimeTypeUtil.addFileMimeType('SHTML', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_HTML,
|
||||
$r('app.media.hidisk_icon_html'), $r('app.media.hidisk_icon_html_grid'),
|
||||
$r('app.media.hidisk_icon_html_grid_local'), 'text/html');
|
||||
this.addFileMimeType('TEXT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('TEXT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_TEXT,
|
||||
$r('app.media.hidisk_icon_text'), $r('app.media.hidisk_icon_text_grid'),
|
||||
$r('app.media.hidisk_icon_text_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('INI', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('INI', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/plain');
|
||||
this.addFileMimeType('VCS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('VCS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/x-vcalendar');
|
||||
this.addFileMimeType('ICS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('ICS', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/calendar');
|
||||
this.addFileMimeType('JSP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('JSP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/html');
|
||||
this.addFileMimeType('ASP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('ASP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/html');
|
||||
this.addFileMimeType('PHP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
FileMimeTypeUtil.addFileMimeType('PHP', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MORE_TEXT,
|
||||
$r('app.media.hidisk_icon_file'), $r('app.media.hidisk_icon_file_grid'),
|
||||
$r('app.media.hidisk_icon_file_grid_local'), 'text/html');
|
||||
this.addFileMimeType('DOTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.template');
|
||||
this.addFileMimeType('DOT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
FileMimeTypeUtil.addFileMimeType('DOT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_WORD,
|
||||
$r('app.media.hidisk_icon_doc'), $r('app.media.hidisk_icon_doc_grid'),
|
||||
$r('app.media.hidisk_icon_doc_grid_local'), 'application/msword');
|
||||
this.addFileMimeType('XLT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'application/vnd.ms-excel');
|
||||
this.addFileMimeType('XLTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('XLTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.template');
|
||||
this.addFileMimeType('CSV', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
FileMimeTypeUtil.addFileMimeType('CSV', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_EXCEL,
|
||||
$r('app.media.hidisk_icon_xls'), $r('app.media.hidisk_icon_xls_grid'),
|
||||
$r('app.media.hidisk_icon_xls_grid_local'), 'text/comma-separated-values');
|
||||
this.addFileMimeType('POT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('POT', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'), 'application/vnd.ms-powerpoint');
|
||||
this.addFileMimeType('POTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('POTX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.template');
|
||||
this.addFileMimeType('PPSX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
FileMimeTypeUtil.addFileMimeType('PPSX', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_MS_POWERPOINT,
|
||||
$r('app.media.hidisk_icon_ppt'), $r('app.media.hidisk_icon_ppt_grid'),
|
||||
$r('app.media.hidisk_icon_ppt_grid_local'),
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.slideshow');
|
||||
this.addFileMimeType('VCF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_VCF,
|
||||
FileMimeTypeUtil.addFileMimeType('VCF', MimeType.FILE_CATEGORY_TXT, FileMimeTypeUtil.FILE_TYPE_VCF,
|
||||
$r('app.media.hidisk_icon_vcard'), $r('app.media.hidisk_icon_vcard_grid'),
|
||||
$r('app.media.hidisk_icon_vcard_grid_local'), 'text/x-vcard');
|
||||
|
||||
// 音频
|
||||
this.addFileMimeType('3GPP2', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_3GPP2,
|
||||
FileMimeTypeUtil.addFileMimeType('3GPP2', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_3GPP2,
|
||||
$r('app.media.hidisk_icon_video'), $r('app.media.hidisk_icon_video_grid'),
|
||||
$r('app.media.hidisk_icon_video_grid_local'), 'audio/3gpp2');
|
||||
this.addFileMimeType('IMY', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_IMY,
|
||||
FileMimeTypeUtil.addFileMimeType('IMY', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_IMY,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/imelody');
|
||||
this.addFileMimeType('AAC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AAC,
|
||||
FileMimeTypeUtil.addFileMimeType('AAC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AAC,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/aac');
|
||||
this.addFileMimeType('AMR', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AMR,
|
||||
FileMimeTypeUtil.addFileMimeType('AMR', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AMR,
|
||||
$r('app.media.hidisk_icon_music_amr'), $r('app.media.hidisk_icon_audio_amr_grid'),
|
||||
$r('app.media.hidisk_icon_audio_amr_grid_local'), 'audio/amr');
|
||||
this.addFileMimeType('MID', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('MID', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('MPGA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MPGA,
|
||||
FileMimeTypeUtil.addFileMimeType('MPGA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MPGA,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/mpeg');
|
||||
this.addFileMimeType('MXMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MXMF,
|
||||
FileMimeTypeUtil.addFileMimeType('MXMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MXMF,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/mobile-xmf');
|
||||
this.addFileMimeType('RTTTL', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('RTTTL', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('RTX', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('RTX', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('SMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_SMF,
|
||||
FileMimeTypeUtil.addFileMimeType('SMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_SMF,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/sp-midi');
|
||||
this.addFileMimeType('WAV', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WAV,
|
||||
FileMimeTypeUtil.addFileMimeType('WAV', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WAV,
|
||||
$r('app.media.hidisk_icon_music_wav'), $r('app.media.hidisk_icon_audio_wav_grid'),
|
||||
$r('app.media.hidisk_icon_audio_wav_grid_local'), 'audio/x-wav');
|
||||
this.addFileMimeType('WMA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WMA,
|
||||
FileMimeTypeUtil.addFileMimeType('WMA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WMA,
|
||||
$r('app.media.hidisk_icon_music_wma'), $r('app.media.hidisk_icon_audio_wma_grid'),
|
||||
$r('app.media.hidisk_icon_audio_wma_grid_local'), 'audio/x-ms-wma');
|
||||
this.addFileMimeType('OTA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('OTA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('XMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('XMF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('OGG', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_OGG,
|
||||
FileMimeTypeUtil.addFileMimeType('OGG', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_OGG,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/ogg');
|
||||
this.addFileMimeType('PLS', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_PLS,
|
||||
FileMimeTypeUtil.addFileMimeType('PLS', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_PLS,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-scpls');
|
||||
this.addFileMimeType('RA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RA,
|
||||
FileMimeTypeUtil.addFileMimeType('RA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RA,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-pn-realaudio');
|
||||
this.addFileMimeType('RAM', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RAM,
|
||||
FileMimeTypeUtil.addFileMimeType('RAM', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RAM,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-pn-realaudio');
|
||||
this.addFileMimeType('MIDI', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
FileMimeTypeUtil.addFileMimeType('MIDI', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MID,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/midi');
|
||||
this.addFileMimeType('M3U', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_M3U,
|
||||
FileMimeTypeUtil.addFileMimeType('M3U', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_M3U,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-mpegurl');
|
||||
this.addFileMimeType('M4A', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_M4A,
|
||||
FileMimeTypeUtil.addFileMimeType('M4A', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_M4A,
|
||||
$r('app.media.hidisk_icon_music_m4a'), $r('app.media.hidisk_icon_audio_m4a_grid'),
|
||||
$r('app.media.hidisk_icon_audio_m4a_grid_local'), 'audio/mp4a-latm');
|
||||
this.addFileMimeType('M4B', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP4A,
|
||||
FileMimeTypeUtil.addFileMimeType('M4B', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP4A,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/mp4a-latm');
|
||||
this.addFileMimeType('M4P', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP4A,
|
||||
FileMimeTypeUtil.addFileMimeType('M4P', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP4A,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/mp4a-latm');
|
||||
this.addFileMimeType('AWB', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AWB,
|
||||
FileMimeTypeUtil.addFileMimeType('AWB', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AWB,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/amr-wb');
|
||||
this.addFileMimeType('MP2', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP2,
|
||||
FileMimeTypeUtil.addFileMimeType('MP2', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP2,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-mpeg');
|
||||
this.addFileMimeType('MP3', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP3,
|
||||
FileMimeTypeUtil.addFileMimeType('MP3', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MP3,
|
||||
$r('app.media.hidisk_icon_music_mp3'), $r('app.media.hidisk_icon_audio_mp3_grid'),
|
||||
$r('app.media.hidisk_icon_audio_mp3_grid_local'), 'audio/x-mpeg');
|
||||
this.addFileMimeType('AU', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AU,
|
||||
FileMimeTypeUtil.addFileMimeType('AU', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AU,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/basic');
|
||||
this.addFileMimeType('OGA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_OGG,
|
||||
FileMimeTypeUtil.addFileMimeType('OGA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_OGG,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'application/ogg');
|
||||
this.addFileMimeType('WPL', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WPL,
|
||||
FileMimeTypeUtil.addFileMimeType('WPL', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_WPL,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'application/vnd.ms-wpl');
|
||||
this.addFileMimeType('AC3', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AC3,
|
||||
FileMimeTypeUtil.addFileMimeType('AC3', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AC3,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/ac3');
|
||||
this.addFileMimeType('MKA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MKA,
|
||||
FileMimeTypeUtil.addFileMimeType('MKA', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_MKA,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-matroska');
|
||||
this.addFileMimeType('FLAC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_FLAC,
|
||||
FileMimeTypeUtil.addFileMimeType('FLAC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_FLAC,
|
||||
$r('app.media.hidisk_icon_music_flac'), $r('app.media.hidisk_icon_audio_flac_grid'),
|
||||
$r('app.media.hidisk_icon_audio_flac_grid_local'), 'audio/flac');
|
||||
this.addFileMimeType('AIF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
FileMimeTypeUtil.addFileMimeType('AIF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-aiff');
|
||||
this.addFileMimeType('AIFF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
FileMimeTypeUtil.addFileMimeType('AIFF', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-aiff');
|
||||
this.addFileMimeType('AIFC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
FileMimeTypeUtil.addFileMimeType('AIFC', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_AIFF,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-aiff');
|
||||
this.addFileMimeType('APE', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_APE,
|
||||
FileMimeTypeUtil.addFileMimeType('APE', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_APE,
|
||||
$r('app.media.hidisk_icon_music_ape'), $r('app.media.hidisk_icon_audio_ape_grid'),
|
||||
$r('app.media.hidisk_icon_audio_ape_grid_local'), 'audio/x-ape');
|
||||
this.addFileMimeType('RM', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RM_AUDIO,
|
||||
FileMimeTypeUtil.addFileMimeType('RM', MimeType.FILE_CATEGORY_AUDIO, FileMimeTypeUtil.FILE_TYPE_RM_AUDIO,
|
||||
$r('app.media.hidisk_icon_music'), $r('app.media.hidisk_icon_audio_grid'),
|
||||
$r('app.media.hidisk_icon_audio_grid_local'), 'audio/x-pn-realaudio');
|
||||
|
||||
// 压缩包
|
||||
this.addFileMimeType('GTAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_ZIP,
|
||||
FileMimeTypeUtil.addFileMimeType('GTAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_ZIP,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-gtar');
|
||||
this.addFileMimeType('RAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_RAR,
|
||||
FileMimeTypeUtil.addFileMimeType('RAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_RAR,
|
||||
$r('app.media.hidisk_icon_rar'), $r('app.media.hidisk_icon_rar_grid'),
|
||||
$r('app.media.hidisk_icon_rar_grid_local'), 'application/x-rar-compressed');
|
||||
this.addFileMimeType('TAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_TAR,
|
||||
FileMimeTypeUtil.addFileMimeType('TAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_TAR,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-tar');
|
||||
this.addFileMimeType('TGZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_TGZ,
|
||||
FileMimeTypeUtil.addFileMimeType('TGZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_TGZ,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-compressed');
|
||||
this.addFileMimeType('Z', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_Z,
|
||||
FileMimeTypeUtil.addFileMimeType('Z', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_Z,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-compressed');
|
||||
this.addFileMimeType('ZIP', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_ZIP,
|
||||
FileMimeTypeUtil.addFileMimeType('ZIP', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_ZIP,
|
||||
$r('app.media.hidisk_icon_zip'), $r('app.media.hidisk_icon_zip_grid'),
|
||||
$r('app.media.hidisk_icon_zip_grid_local'), 'application/zip');
|
||||
this.addFileMimeType('JAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_JAR,
|
||||
FileMimeTypeUtil.addFileMimeType('JAR', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_JAR,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'text/vnd.sun.j2me.app-descriptor');
|
||||
this.addFileMimeType('GZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_GZ,
|
||||
FileMimeTypeUtil.addFileMimeType('GZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_GZ,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-gzip');
|
||||
this.addFileMimeType('BZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_BZ,
|
||||
FileMimeTypeUtil.addFileMimeType('BZ', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_BZ,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-bzip');
|
||||
this.addFileMimeType('BZ2', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_BZ2,
|
||||
FileMimeTypeUtil.addFileMimeType('BZ2', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_BZ2,
|
||||
$r('app.media.hidisk_icon_compressed_files'), $r('app.media.hidisk_icon_compress_grid'),
|
||||
$r('app.media.hidisk_icon_compress_grid_local'), 'application/x-bzip2');
|
||||
this.addFileMimeType('7Z', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_7Z,
|
||||
FileMimeTypeUtil.addFileMimeType('7Z', MimeType.FILE_CATEGORY_ZIP, FileMimeTypeUtil.FILE_TYPE_7Z,
|
||||
$r('app.media.hidisk_icon_7z'), $r('app.media.hidisk_icon_7z_grid'),
|
||||
$r('app.media.hidisk_icon_7z_grid_local'), 'application/x-7z-compressed');
|
||||
|
||||
// 安装包
|
||||
this.addFileMimeType('APK', MimeType.FILE_CATEGORY_PKG, FileMimeTypeUtil.FILE_TYPE_APK,
|
||||
FileMimeTypeUtil.addFileMimeType(FILE_TYPE_APK, MimeType.FILE_CATEGORY_PKG, FileMimeTypeUtil.FILE_TYPE_APK,
|
||||
$r('app.media.hidisk_icon_application'), $r('app.media.hidisk_icon_application_grid'),
|
||||
$r('app.media.hidisk_icon_application_grid_local'), 'application/vnd.android.package-archive');
|
||||
this.addFileMimeType('HAP', MimeType.FILE_CATEGORY_PKG, FileMimeTypeUtil.FILE_TYPE_HAP,
|
||||
FileMimeTypeUtil.addFileMimeType('HAP', MimeType.FILE_CATEGORY_PKG, FileMimeTypeUtil.FILE_TYPE_HAP,
|
||||
$r('app.media.hidisk_icon_application'), $r('app.media.hidisk_icon_application_grid'),
|
||||
$r('app.media.hidisk_icon_application_grid_local'), 'file/*');
|
||||
|
||||
// 未知
|
||||
this.addFileMimeType('EXE', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('EXE', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('BIN', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('BIN', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('CLASS', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('CLASS', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('RAW', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('RAW', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('EPUB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('EPUB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/epub+zip');
|
||||
this.addFileMimeType('EBK3', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('EBK3', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-expandedbook');
|
||||
this.addFileMimeType('SAMI', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('SAMI', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-sami');
|
||||
this.addFileMimeType('SMI', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('SMI', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-sami');
|
||||
this.addFileMimeType('STR', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('STR', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-subrip');
|
||||
this.addFileMimeType('SWF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('SWF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-shockwave-flash');
|
||||
this.addFileMimeType('CAB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('CAB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/x-shockwave-flash');
|
||||
this.addFileMimeType('CHM', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('CHM', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_chm'), $r('app.media.hidisk_icon_chm_grid'),
|
||||
$r('app.media.hidisk_icon_chm_grid_local'), 'application/x-chm');
|
||||
this.addFileMimeType('UMD', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('UMD', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/umd');
|
||||
this.addFileMimeType('PDB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('PDB', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/ebook');
|
||||
this.addFileMimeType('DCF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('DCF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/vnd.oma.drm.content');
|
||||
this.addFileMimeType('K3G', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('K3G', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('MPO', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
FileMimeTypeUtil.addFileMimeType('MPO', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
this.addFileMimeType('MMF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_MMF,
|
||||
FileMimeTypeUtil.addFileMimeType('MMF', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_MMF,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/vnd.smaf');
|
||||
this.addFileMimeType('QCP', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_QCP,
|
||||
FileMimeTypeUtil.addFileMimeType('QCP', MimeType.FILE_CATEGORY_UNKNOW, FileMimeTypeUtil.FILE_TYPE_QCP,
|
||||
$r('app.media.hidisk_icon_unknown'), $r('app.media.hidisk_icon_unknown_grid'),
|
||||
$r('app.media.hidisk_icon_unknown_grid_local'), 'application/octet-stream');
|
||||
}
|
||||
@@ -714,8 +718,8 @@ export class FileMimeTypeUtil {
|
||||
}
|
||||
suffix = splitList[splitList.length-2].toUpperCase();
|
||||
}
|
||||
const fileMiMeTypeMap = this.getFileMiMeTypeMap();
|
||||
const mimeType: MimeType = fileMiMeTypeMap.get(suffix);
|
||||
const fileMiMeTypeMap = FileMimeTypeUtil.getFileMiMeTypeMap();
|
||||
const mimeType: MimeType | undefined = fileMiMeTypeMap.get(suffix);
|
||||
if (!mimeType) {
|
||||
return FileMimeTypeUtil.UNKNOW_MIMETYPE;
|
||||
}
|
||||
@@ -745,7 +749,7 @@ export class FileMimeTypeUtil {
|
||||
}
|
||||
|
||||
public static getFileTypeOrder(fileName: string): number {
|
||||
const mimeType = this.getFileMimeType(fileName);
|
||||
const mimeType = FileMimeTypeUtil.getFileMimeType(fileName);
|
||||
return mimeType.getFileTypeSort();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,20 @@ import Logger from '../log/Logger';
|
||||
import { PickerWindowType } from '../constants/FilePickerItems';
|
||||
import { StartModeOptions } from '../model/StartModeOptions';
|
||||
import AbilityCommonUtil from './AbilityCommonUtil';
|
||||
import { FilesData } from '../../databases/model/FileData';
|
||||
|
||||
import ctx from '@ohos.app.ability.common';
|
||||
|
||||
interface abilityResultInterface {
|
||||
export interface abilityResultInterface {
|
||||
want: Want,
|
||||
resultCode: number
|
||||
};
|
||||
|
||||
export interface PickerStatus {
|
||||
exceedLimit: boolean,
|
||||
differentTypes: boolean
|
||||
}
|
||||
|
||||
const TAG = 'FilePickerUtil';
|
||||
|
||||
export namespace FilePickerUtil {
|
||||
@@ -105,20 +112,21 @@ export namespace FilePickerUtil {
|
||||
* @param checkedNum 选中数量
|
||||
* @return 是否超限 选择类型是否不匹配
|
||||
*/
|
||||
export function pickerStatus(item, checkedNum, startModeOptions:StartModeOptions) {
|
||||
return {
|
||||
export function pickerStatus(item: FilesData, checkedNum: number, startModeOptions:StartModeOptions): PickerStatus {
|
||||
let status: PickerStatus = {
|
||||
// 选择是否超限
|
||||
exceedLimit: checkedNum >= globalThis.filePickNum && !item.isChecked,
|
||||
// 选择类型是否不匹配
|
||||
differentTypes: !checkFileSelectable(item, startModeOptions)
|
||||
};
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件后缀判断文件是否可选
|
||||
* @param item
|
||||
*/
|
||||
function checkFileSelectable(item, startModeOptions: StartModeOptions): boolean {
|
||||
function checkFileSelectable(item: FilesData, startModeOptions: StartModeOptions): boolean {
|
||||
// selectMode检查
|
||||
let selectMode: number = startModeOptions.selectMode;
|
||||
let isFolder = false;
|
||||
@@ -221,7 +229,7 @@ function checkFileMimetype(fileName: string, startModeOptions: StartModeOptions)
|
||||
export const filePickerTip = (startModeOptions: StartModeOptions) => {
|
||||
globalThis.abilityContext.resourceManager.getPluralString($r('app.plural.filePickerTip').id,
|
||||
startModeOptions.maxSelectNumber)
|
||||
.then((value) => {
|
||||
.then((value: string) => {
|
||||
toast(value)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@ import { photoAccessHelper } from '@kit.MediaLibraryKit';
|
||||
|
||||
const TAG = 'FileUtil';
|
||||
|
||||
export class ErrCodeMessage {
|
||||
code: number = 0;
|
||||
message: string = '';
|
||||
|
||||
}
|
||||
export class ErrUri {
|
||||
err: ErrCodeMessage = new ErrCodeMessage();
|
||||
uri: string = '';
|
||||
}
|
||||
|
||||
export class FileUtil {
|
||||
/**
|
||||
* uri 格式开头
|
||||
@@ -230,36 +240,28 @@ export class FileUtil {
|
||||
* @param newName newName
|
||||
* @returns {err, uri}
|
||||
*/
|
||||
public static async rename(fileAccessHelper: fileAccess.FileAccessHelper, oldUri: string, newName: string): Promise<{
|
||||
err,
|
||||
uri
|
||||
}> {
|
||||
let uri: string = '';
|
||||
let err: any;
|
||||
public static async rename(fileAccessHelper: fileAccess.FileAccessHelper, oldUri: string, newName: string): Promise<ErrUri> {
|
||||
let errUri: ErrUri = new ErrUri();
|
||||
try {
|
||||
uri = await fileAccessHelper.rename(oldUri, newName);
|
||||
errUri.uri = await fileAccessHelper.rename(oldUri, newName);
|
||||
} catch (error) {
|
||||
err = { code: error.code, message: error.message };
|
||||
errUri.err = { code: error.code, message: error.message };
|
||||
Logger.e(TAG, 'rename error occurred:' + error.code + ', ' + error.message);
|
||||
}
|
||||
return { err: err, uri: uri };
|
||||
return errUri;
|
||||
}
|
||||
|
||||
public static async createFile(fileAccessHelper: fileAccess.FileAccessHelper, parentUri: string,
|
||||
fileName: string): Promise<{
|
||||
err,
|
||||
uri
|
||||
}> {
|
||||
let retUri: string = '';
|
||||
let err: any;
|
||||
fileName: string): Promise<ErrUri> {
|
||||
let errUri: ErrUri = new ErrUri();
|
||||
try {
|
||||
Logger.i(TAG, 'createFile ' + fileAccessHelper + '; ' + parentUri + " ; " + fileName);
|
||||
retUri = await fileAccessHelper.createFile(parentUri, fileName);
|
||||
errUri.uri = await fileAccessHelper.createFile(parentUri, fileName);
|
||||
} catch (e) {
|
||||
Logger.e(TAG, 'createFile error: ' + e.code + ', ' + e.message);
|
||||
err = { code: e.code, message: e.message };
|
||||
errUri.err = { code: e.code, message: e.message };
|
||||
}
|
||||
return { err: err, uri: retUri };
|
||||
return errUri;
|
||||
}
|
||||
|
||||
public static hasSubFolder(loadPath: string, curFolderPath: string): boolean {
|
||||
|
||||
@@ -19,13 +19,14 @@ import { FileMimeTypeUtil } from './FileMimeTypeUtil';
|
||||
import { MimeType } from '../../databases/model/MimeType';
|
||||
import Logger from '../log/Logger';
|
||||
import { FileBase } from '../../databases/model/base/FileBase';
|
||||
import { FilesData } from '../../databases/model/FileData';
|
||||
|
||||
const TAG = 'Tools';
|
||||
|
||||
/**
|
||||
* 格式化显示大小
|
||||
*/
|
||||
export const renderSize = (value, carry = BYTE.ONE_KB) => {
|
||||
export const renderSize = (value: string, carry = BYTE.ONE_KB) => {
|
||||
if (!value) {
|
||||
return '0 B';
|
||||
}
|
||||
@@ -53,14 +54,14 @@ export const formatSuffix = (fileName: string) => {
|
||||
if (newValue[newValue.length - 1].toUpperCase() === FileMimeTypeUtil.SUFFIX_DLP) {
|
||||
newValue.pop();
|
||||
}
|
||||
return newValue.pop().toUpperCase();
|
||||
return newValue.pop()?.toUpperCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 多选框选中状态
|
||||
* @param flag 是否选中
|
||||
*/
|
||||
export const getRightIcon = (flag) => {
|
||||
export const getRightIcon = (flag: boolean) => {
|
||||
return flag ? $r('app.media.checkbox_b') : $r('app.media.checkbox_g');
|
||||
}
|
||||
|
||||
@@ -84,7 +85,7 @@ export const randomId = (): string => {
|
||||
* @param resource: 指定资源
|
||||
* @return
|
||||
*/
|
||||
export function getResourceString(resource: Resource, ...args): string {
|
||||
export function getResourceString(resource: Resource, ...args: (string | number)[]): string {
|
||||
let isString = /%s/; // 字符串类型
|
||||
let isNum = /%d/; // 数字类型
|
||||
let resStr = '';
|
||||
@@ -116,13 +117,13 @@ export function getResourceString(resource: Resource, ...args): string {
|
||||
export const getFileIcon = (fileName: string, isFolder: boolean = false): MimeType => {
|
||||
if (isFolder) {
|
||||
return new MimeType(
|
||||
null,
|
||||
'',
|
||||
MimeType.FILE_CATEGORY_UNKNOW,
|
||||
FileMimeTypeUtil.FILE_TYPE_UNKNOW,
|
||||
$r('app.media.hidisk_icon_folder'),
|
||||
$r('app.media.hidisk_icon_folder_grid'),
|
||||
$r('app.media.hidisk_icon_folder_grid'),
|
||||
null
|
||||
''
|
||||
);
|
||||
}
|
||||
return FileMimeTypeUtil.getFileMimeType(fileName);
|
||||
@@ -132,11 +133,11 @@ export const getFileIcon = (fileName: string, isFolder: boolean = false): MimeTy
|
||||
* @description 实现文件排序,时间倒序
|
||||
* @param dataList: 待排序的文件列表
|
||||
*/
|
||||
export const sortDataByTime = (dataList) => {
|
||||
export const sortDataByTime = (dataList: FilesData[]): FilesData[] => {
|
||||
// 按照时间排序
|
||||
// 规避@State修饰的数组变量执行sort方法不生效问题
|
||||
const fileList = dataList.filter(item => item);
|
||||
return fileList.sort((a, b) => {
|
||||
// const fileList: FilesData[] = dataList.filter(((item: bool) => {return item});
|
||||
return [...dataList].sort((a, b): number => {
|
||||
if (b.mtime !== a.mtime) {
|
||||
return b.mtime - a.mtime;
|
||||
} else {
|
||||
@@ -150,7 +151,7 @@ function compareStr(str1: string, str2: string) {
|
||||
return str2.localeCompare(str1, language);
|
||||
}
|
||||
|
||||
export const gridName = (fileName) => {
|
||||
export const gridName = (fileName: string): string => {
|
||||
// 文件名超长是中间部分'...'显示
|
||||
const MAX_LENGTH = 11;
|
||||
if (fileName.length > MAX_LENGTH) {
|
||||
@@ -165,9 +166,9 @@ export const gridName = (fileName) => {
|
||||
* @param value: 文件名
|
||||
* @result true/false
|
||||
*/
|
||||
export const isDlpFile = (value): boolean => {
|
||||
export const isDlpFile = (value: string): boolean => {
|
||||
let newValue = value.split('.');
|
||||
if (newValue.pop().toUpperCase() === 'DLP') {
|
||||
if (newValue.pop()?.toUpperCase() === 'DLP') {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -20,7 +20,7 @@ export class BasicDataSource implements IDataSource {
|
||||
return 0
|
||||
}
|
||||
|
||||
public getData(index: number): any {
|
||||
public getData(index: number): ESObject {
|
||||
return undefined
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import DateTimeUtil from '../../base/utils/DateTimeUtil';
|
||||
import { FileMimeTypeUtil } from '../../base/utils/FileMimeTypeUtil';
|
||||
import LanguageUtil from '../../base/utils/LanguageUtil';
|
||||
import { MimeType } from './MimeType';
|
||||
import { THUMBNAIL_SIZE } from '../../base/constants/UiConstant';
|
||||
import { ThumbnailSize } from '../../base/constants/UiConstant';
|
||||
import { BasicDataSource } from './BasicDataSource';
|
||||
import AbilityCommonUtil, { ResultCodePicker } from '../../base/utils/AbilityCommonUtil';
|
||||
import { StartModeOptions } from '../../base/model/StartModeOptions';
|
||||
@@ -56,7 +56,7 @@ export class FileAssetLazyModel extends BasicDataSource {
|
||||
});
|
||||
}
|
||||
|
||||
public getIndex(uri): number {
|
||||
public getIndex(uri: string): number {
|
||||
return this.dataArray.findIndex(item => item.uri === uri);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ export class FileAssetLazyModel extends BasicDataSource {
|
||||
return this.dataArray.filter(item => item.isChecked);
|
||||
}
|
||||
|
||||
public replaceData(index, data: FileAssetModel): void {
|
||||
public replaceData(index: number, data: FileAssetModel): void {
|
||||
this.dataArray.splice(index, 1, data);
|
||||
this.notifyDataChange(index);
|
||||
}
|
||||
@@ -117,16 +117,16 @@ export class FileAssetModel {
|
||||
public fileName: string;
|
||||
public fullPath: string;
|
||||
public isChecked: boolean = false;
|
||||
public suffix: string;
|
||||
public suffix: string = '';
|
||||
public icon: Resource | PixelMap;
|
||||
public gridIcon: Resource | PixelMap;
|
||||
public localGridIcon: Resource | PixelMap;
|
||||
public lastModifiedDate: string | Resource;
|
||||
public thumbUri: string;
|
||||
public thumbUri: string = '';
|
||||
public sortLabel: string = '';
|
||||
public mimeTypeObj: MimeType;
|
||||
|
||||
constructor(file) {
|
||||
constructor(file: FileAssetModel) {
|
||||
this.id = file.id;
|
||||
this.uri = file.uri;
|
||||
this.mimeType = file.mimeType;
|
||||
@@ -152,14 +152,18 @@ export class FileAssetModel {
|
||||
this.fileName = file.displayName;
|
||||
this.mimeTypeObj = FileMimeTypeUtil.getFileMimeType(this.fileName);
|
||||
this.fullPath = getFullPath(this);
|
||||
this.suffix = formatSuffix(file.fileName);
|
||||
|
||||
let suffix = formatSuffix(this.fileName);
|
||||
if (suffix !== undefined) {
|
||||
this.suffix = suffix;
|
||||
}
|
||||
this.icon = this.mimeTypeObj.getResID();
|
||||
this.gridIcon = this.mimeTypeObj.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj.getLocalGridResID();
|
||||
this.lastModifiedDate = DateTimeUtil.getDateStringForCategory(this.dateModified);
|
||||
this.sortLabel = file.sortLabel;
|
||||
if (this.mimeTypeObj.isMedia()) {
|
||||
this.thumbUri = `${this.uri}/thumbnail/${THUMBNAIL_SIZE.WIDTH}/${THUMBNAIL_SIZE.HEIGHT}`;
|
||||
this.thumbUri = `${this.uri}/thumbnail/${ThumbnailSize.WIDTH}/${ThumbnailSize.HEIGHT}`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +175,7 @@ export class FileAssetModel {
|
||||
this.gridIcon = this.mimeTypeObj.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj.getLocalGridResID();
|
||||
if (this.mimeTypeObj.isMedia()) {
|
||||
this.thumbUri = `${this.uri}/thumbnail/${THUMBNAIL_SIZE.WIDTH}/${THUMBNAIL_SIZE.HEIGHT}`;
|
||||
this.thumbUri = `${this.uri}/thumbnail/${ThumbnailSize.WIDTH}/${ThumbnailSize.HEIGHT}`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,9 +191,9 @@ export class FileAssetModel {
|
||||
* @param isDesc 是否倒序
|
||||
* @return 排序后的数组
|
||||
*/
|
||||
function sortFileAssetList(dataList) {
|
||||
function sortFileAssetList(dataList: FileAssetModel[]): FileAssetModel[] {
|
||||
const language = LanguageUtil.getSystemLanguage();
|
||||
return dataList.sort((a, b) => {
|
||||
return dataList.sort((a: FileAssetModel, b: FileAssetModel) => {
|
||||
if (b.dateModified !== a.dateModified) {
|
||||
return b.dateModified - a.dateModified;
|
||||
} else {
|
||||
@@ -303,7 +307,7 @@ export function getFullPath(file: FileAssetModel): string {
|
||||
* @param order 排序规则
|
||||
* @return 设置了label的文件数组
|
||||
*/
|
||||
export function addSortLabel(fileAssetList): FileAssetModel[] {
|
||||
export function addSortLabel(fileAssetList: FileAssetModel[]): FileAssetModel[] {
|
||||
fileAssetList.forEach((fileAsset: FileAssetModel) => {
|
||||
fileAsset.sortLabel = DateTimeUtil.getDateStringForCategory(fileAsset.dateModified);
|
||||
});
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
import { getFileIcon, randomId, formatSuffix } from '../../base/utils/Tools';
|
||||
import { MILLISECOND } from '../../base/constants/Constant';
|
||||
import fileAccess from '@ohos.file.fileAccess';
|
||||
import { THUMBNAIL_SIZE } from '../../base/constants/UiConstant';
|
||||
import { ThumbnailSize } from '../../base/constants/UiConstant';
|
||||
import { MimeType } from './MimeType';
|
||||
import { BasicDataSource } from './BasicDataSource';
|
||||
import AbilityCommonUtil, { ResultCodePicker } from '../../base/utils/AbilityCommonUtil';
|
||||
@@ -25,15 +25,25 @@ import { ArrayUtil } from '../../base/utils/ArrayUtil';
|
||||
import { StartModeOptions } from '../../base/model/StartModeOptions';
|
||||
|
||||
export class BreadData {
|
||||
public title: string;
|
||||
public url: string;
|
||||
public title: string = '';
|
||||
public url: string = '';
|
||||
public fileIterator?: fileAccess.FileInfo;
|
||||
}
|
||||
|
||||
constructor(obj) {
|
||||
this.title = obj.title;
|
||||
this.url = obj.url;
|
||||
this.fileIterator = obj.fileIterator;
|
||||
}
|
||||
export interface TransList {
|
||||
fileList: FilesData[];
|
||||
folderList: FilesData[]
|
||||
}
|
||||
|
||||
export class MkDirItem {
|
||||
mkdirName: string = '';
|
||||
path: string = ''
|
||||
}
|
||||
|
||||
export class MoveCallBackParams {
|
||||
cancel: boolean = false;
|
||||
fileName: string = '';
|
||||
selectUri: string = ''
|
||||
}
|
||||
|
||||
export class FileDataSource extends BasicDataSource {
|
||||
@@ -62,13 +72,13 @@ export class FileDataSource extends BasicDataSource {
|
||||
return this.dataArray[index];
|
||||
}
|
||||
|
||||
public selectAll(isSelected): void {
|
||||
public selectAll(isSelected: boolean): void {
|
||||
this.dataArray.forEach(item => {
|
||||
item.isChecked = isSelected;
|
||||
});
|
||||
}
|
||||
|
||||
public getIndex(uri): number {
|
||||
public getIndex(uri: string): number {
|
||||
return this.dataArray.findIndex(item => item.uri === uri);
|
||||
}
|
||||
|
||||
@@ -76,7 +86,7 @@ export class FileDataSource extends BasicDataSource {
|
||||
return this.dataArray.filter(item => item.isChecked);
|
||||
}
|
||||
|
||||
public replaceData(index, data: FilesData): void {
|
||||
public replaceData(index: number, data: FilesData): void {
|
||||
this.dataArray.splice(index, 1, data);
|
||||
this.notifyDataChange(index);
|
||||
}
|
||||
@@ -101,24 +111,25 @@ export class FileDataSource extends BasicDataSource {
|
||||
}
|
||||
|
||||
export class FilesData {
|
||||
public id: string;
|
||||
public uri: string;
|
||||
public thumbUri: string;
|
||||
public displayName: string;
|
||||
public deviceId: string;
|
||||
public flags: number;
|
||||
public name: string;
|
||||
public fileName: string;
|
||||
public mode: string;
|
||||
public size: number;
|
||||
public mtime: number;
|
||||
public suffix: string;
|
||||
public mimeType: string;
|
||||
public icon: any;
|
||||
public gridIcon: any;
|
||||
public localGridIcon: any;
|
||||
public isChecked: boolean;
|
||||
public id: string = '';
|
||||
public uri: string = '';
|
||||
public thumbUri: string = '';
|
||||
public displayName: string = '';
|
||||
public deviceId: string = '';
|
||||
public flags: number = 0;
|
||||
public name: string ='';
|
||||
public fileName: string = '';
|
||||
public mode: string = '';
|
||||
public size: number = 0;
|
||||
public mtime: number = 0;
|
||||
public suffix: string | undefined;
|
||||
public mimeType: string = '';
|
||||
public icon: ESObject;
|
||||
public gridIcon: ESObject;
|
||||
public localGridIcon: ESObject;
|
||||
public isChecked: boolean = false;
|
||||
public path?: string;
|
||||
public relativePath: string = '';
|
||||
public sub?: number;
|
||||
public scale?: number;
|
||||
public angle?: number;
|
||||
@@ -132,23 +143,28 @@ export class FilesData {
|
||||
public isVideo: boolean = false;
|
||||
public isAudio: boolean = false;
|
||||
public isFolder: boolean = false;
|
||||
public duration: number;
|
||||
public mimeTypeObj: MimeType;
|
||||
public subFolderList: FilesData[];
|
||||
public subFileList: FilesData[];
|
||||
public layer: number;
|
||||
public duration: number = 0;
|
||||
public mimeTypeObj: MimeType | undefined = undefined;
|
||||
public subFolderList: FilesData[] = [];
|
||||
public subFileList: FilesData[] = [];
|
||||
public layer: number = 0;
|
||||
public autoShow: boolean = false;
|
||||
public currentDir?: string;
|
||||
|
||||
constructor(obj) {
|
||||
this.isFolder = obj.isFolder || FileUtil.isFolder(obj.mode);
|
||||
constructor(obj?: FilesData) {
|
||||
if (obj === undefined) {
|
||||
return;
|
||||
}
|
||||
this.isFolder = obj.isFolder || FileUtil.isFolder(parseInt(obj.mode));
|
||||
this.id = obj.id || randomId();
|
||||
this.uri = obj.uri || '';
|
||||
this.deviceId = obj.deviceId || '';
|
||||
this.flags = obj.flags || 0;
|
||||
this.name = obj.name || '';
|
||||
this.fileName = obj.fileName || obj.displayName || '';
|
||||
this.suffix = formatSuffix(this.fileName);
|
||||
if (formatSuffix(this.fileName) !== undefined) {
|
||||
this.suffix = formatSuffix(this.fileName);
|
||||
}
|
||||
this.mode = obj.mode || '';
|
||||
this.size = obj.size || 0;
|
||||
this.mtime = obj.mtime * MILLISECOND.ONE_SECOND || 0;
|
||||
@@ -165,13 +181,13 @@ export class FilesData {
|
||||
this.fileIterator = obj.fileIterator;
|
||||
this.duration = obj.duration || 0;
|
||||
this.mimeTypeObj = getFileIcon(this.fileName, this.isFolder);
|
||||
this.icon = this.mimeTypeObj.getResID();
|
||||
this.gridIcon = this.mimeTypeObj.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj.getLocalGridResID();
|
||||
if (this.mimeTypeObj.isMedia()) {
|
||||
this.icon = this.mimeTypeObj?.getResID();
|
||||
this.gridIcon = this.mimeTypeObj?.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj?.getLocalGridResID();
|
||||
if (this.mimeTypeObj?.isMedia()) {
|
||||
this.thumbUri = this.uri;
|
||||
}
|
||||
if (this.isFolder) {
|
||||
if (this.isFolder && this.fileIterator !== undefined) {
|
||||
this.sub = getSubFileNum(this.fileIterator);
|
||||
}
|
||||
this.currentDir = FileUtil.getCurrentDir(this.path, this.isFolder);
|
||||
@@ -180,11 +196,11 @@ export class FilesData {
|
||||
setFileName(fileName: string): void {
|
||||
this.fileName = fileName;
|
||||
this.mimeTypeObj = getFileIcon(this.fileName);
|
||||
this.icon = this.mimeTypeObj.getResID();
|
||||
this.gridIcon = this.mimeTypeObj.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj.getLocalGridResID();
|
||||
if (this.mimeTypeObj.isMedia()) {
|
||||
this.thumbUri = `${this.uri}/thumbnail/${THUMBNAIL_SIZE.WIDTH}/${THUMBNAIL_SIZE.HEIGHT}`;
|
||||
this.icon = this.mimeTypeObj?.getResID();
|
||||
this.gridIcon = this.mimeTypeObj?.getGridResID();
|
||||
this.localGridIcon = this.mimeTypeObj?.getLocalGridResID();
|
||||
if (this.mimeTypeObj?.isMedia()) {
|
||||
this.thumbUri = `${this.uri}/thumbnail/${ThumbnailSize.WIDTH}/${ThumbnailSize.HEIGHT}`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,10 +286,10 @@ export class SelectedFileData {
|
||||
public isFolder: boolean;
|
||||
public displayName?: string;
|
||||
|
||||
constructor(obj) {
|
||||
this.id = obj.id || -1;
|
||||
constructor(obj: SelectedFileData) {
|
||||
this.id = obj.id || '-1';
|
||||
this.uri = obj.uri || '';
|
||||
this.mimeType = obj.mimetype || '';
|
||||
this.mimeType = obj.mimeType || '';
|
||||
this.thumbUri = obj.thumbUri || '';
|
||||
this.title = obj.title || '';
|
||||
this.fileName = obj.fileName || obj.displayName || '';
|
||||
@@ -317,9 +333,9 @@ export class FileDetail {
|
||||
public key: string | Resource;
|
||||
public value: string | Resource;
|
||||
public path?: string = '';
|
||||
public params?: any;
|
||||
public params?: ESObject;
|
||||
|
||||
constructor(key: string, value: string, path: string, params: any) {
|
||||
constructor(key: string, value: string, path: string, params: ESObject) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
this.path = path;
|
||||
|
||||
@@ -18,9 +18,9 @@ import Logger from '../base/log/Logger';
|
||||
import ErrorCodeConst from '../base//constants/ErrorCodeConst';
|
||||
import { toast } from '../base/utils/Common';
|
||||
import AbilityCommonUtil, { ResultCodePicker } from '../base/utils/AbilityCommonUtil';
|
||||
import { SYSTEM_BAR_COLOR } from '../base/constants/UiConstant';
|
||||
import { SystemBarColor } from '../base/constants/UiConstant';
|
||||
import StringUtil from '../base/utils/StringUtil';
|
||||
import { FileUtil } from '../base/utils/FileUtil';
|
||||
import { FileUtil, ErrUri, ErrCodeMessage } from '../base/utils/FileUtil';
|
||||
import ObjectUtil from '../base/utils/ObjectUtil';
|
||||
import fileAccess from '@ohos.file.fileAccess';
|
||||
import { ArrayUtil } from '../base/utils/ArrayUtil';
|
||||
@@ -28,6 +28,8 @@ import { UiUtil } from '../base/utils/UiUtil';
|
||||
import { StartModeOptions } from '../base/model/StartModeOptions';
|
||||
import { FilePickerUtil } from '../base/utils/FilePickerUtil';
|
||||
import { photoAccessHelper } from '@kit.MediaLibraryKit';
|
||||
import { BusinessError } from '@ohos.base';
|
||||
import { MoveCallBackParams } from '../databases/model/FileData'
|
||||
|
||||
const TAG = 'PathSelector';
|
||||
let storage = LocalStorage.getShared();
|
||||
@@ -39,10 +41,10 @@ struct PathSelector {
|
||||
@State createResultType: number = ErrorCodeConst.PICKER.NORMAL;
|
||||
|
||||
aboutToAppear() {
|
||||
UiUtil.setWindowBackground(SYSTEM_BAR_COLOR.LIGHT_GRAY);
|
||||
UiUtil.setWindowBackground(SystemBarColor.LIGHT_GRAY);
|
||||
}
|
||||
|
||||
async saveFileCallback(res, startModeOptions: StartModeOptions): Promise<void> {
|
||||
async saveFileCallback(res: MoveCallBackParams, startModeOptions: StartModeOptions): Promise<void> {
|
||||
if (res?.cancel) {
|
||||
AbilityCommonUtil.terminatePathPicker([], ResultCodePicker.CANCEL, startModeOptions);
|
||||
return;
|
||||
@@ -54,7 +56,7 @@ struct PathSelector {
|
||||
}
|
||||
this.saveFiles(res.selectUri, fileNameList).then((createdFileList) => {
|
||||
AbilityCommonUtil.terminatePathPicker(createdFileList, ResultCodePicker.SUCCESS, startModeOptions);
|
||||
}).catch((err) => {
|
||||
}).catch((err: BusinessError) => {
|
||||
let errorMessage = '';
|
||||
let errorCode = 0;
|
||||
Logger.e(TAG, JSON.stringify(err));
|
||||
@@ -76,7 +78,7 @@ struct PathSelector {
|
||||
errorCode = ErrorCodeConst.PICKER.OTHER_ERROR;
|
||||
}
|
||||
} else {
|
||||
errorMessage = err.message ? err.message : err;
|
||||
errorMessage = err.message ? err.message : '';
|
||||
errorCode = ErrorCodeConst.PICKER.OTHER_ERROR;
|
||||
}
|
||||
AbilityCommonUtil.terminatePathPicker([], errorCode, startModeOptions);
|
||||
@@ -99,7 +101,7 @@ struct PathSelector {
|
||||
}
|
||||
let fileNameArr = nameList;
|
||||
let successArr: string[] = [];
|
||||
let resultErr: any;
|
||||
let resultErr: ErrCodeMessage = new ErrCodeMessage();
|
||||
let len: number = fileNameArr.length;
|
||||
let fileNameList: string[] = [];
|
||||
if (len > 1) {
|
||||
@@ -109,7 +111,7 @@ struct PathSelector {
|
||||
Logger.i(TAG, 'saveFiles subList: ' + JSON.stringify(fileNameList) + ' ; ');
|
||||
for (let i = 0; i < len; i++) {
|
||||
const currName = fileNameArr[i];
|
||||
let result;
|
||||
let result: ErrUri = new ErrUri();
|
||||
if (len === 1) {
|
||||
result = await FileUtil.createFile(fileAccessHelper, dirPath, currName);
|
||||
} else {
|
||||
@@ -122,7 +124,8 @@ struct PathSelector {
|
||||
}
|
||||
Logger.i(TAG, 'saveFiles err: ' + result.err.code);
|
||||
// 失败
|
||||
resultErr = { code: result.err.code, message: result.err.message };
|
||||
resultErr.code = result.err.code;
|
||||
resultErr.message = result.err.message;
|
||||
let photoManageHelper: photoAccessHelper.PhotoAccessHelper = AbilityCommonUtil.getPhotoManageHelper();
|
||||
if (ObjectUtil.isNullOrUndefined(photoManageHelper)) {
|
||||
break;
|
||||
@@ -158,7 +161,7 @@ struct PathSelector {
|
||||
|
||||
private getFilesByIterator(fileIterator: fileAccess.FileIterator): string[] {
|
||||
if (ObjectUtil.isNull(fileIterator)) {
|
||||
return null;
|
||||
return [];
|
||||
}
|
||||
let result: string[] = [];
|
||||
let isDone = false;
|
||||
@@ -181,10 +184,7 @@ struct PathSelector {
|
||||
}
|
||||
|
||||
private async tryRenameFileOperate(fileAccessHelper: fileAccess.FileAccessHelper, fileName: string,
|
||||
dirUri: string, renameCount: number, fileNameList: string[] = []): Promise<{
|
||||
err,
|
||||
uri
|
||||
}> {
|
||||
dirUri: string, renameCount: number, fileNameList: string[] = []): Promise<ErrUri> {
|
||||
let index = fileName.lastIndexOf('.');
|
||||
let name = fileName;
|
||||
let suffix = '';
|
||||
@@ -252,7 +252,7 @@ struct PathSelector {
|
||||
fileTree({
|
||||
startModeOptions: this.startModeOptions,
|
||||
createFileFailType: $createResultType,
|
||||
moveCallback: (e) => {
|
||||
moveCallback: (e: MoveCallBackParams) => {
|
||||
this.saveFileCallback(e, this.startModeOptions);
|
||||
}
|
||||
})
|
||||
|
||||
@@ -20,7 +20,7 @@ import { FilesList } from '../../component/myphone/FilesList';
|
||||
import { setSystemBar, setImmersion } from '../../../base/utils/Common';
|
||||
import router from '@ohos.router';
|
||||
import FileAccessExec from '../../../base/utils/FileAccessExec';
|
||||
import { SYSTEM_BAR_COLOR } from '../../../base/constants/UiConstant';
|
||||
import { SystemBarColor } from '../../../base/constants/UiConstant';
|
||||
import { getResourceString } from '../../../base/utils/Tools';
|
||||
import { TopOperateBar } from '../../component/common/TopOperateBar';
|
||||
import { FileMkdirDialog } from '../../component/dialog/FileMkdirDialog';
|
||||
@@ -109,8 +109,8 @@ struct MyPhone {
|
||||
}
|
||||
data = FileUtil.getPathWithFileSplit(data);
|
||||
|
||||
let fileIterator;
|
||||
let fileData;
|
||||
let fileIterator: fileAccess.FileInfo | fileAccess.RootInfo | undefined = undefined;
|
||||
let fileData: FilesData[];
|
||||
let isContinue: boolean = true;
|
||||
let isRoot: boolean = true;
|
||||
while (isContinue) {
|
||||
@@ -129,7 +129,8 @@ struct MyPhone {
|
||||
let currentDir: string = FileUtil.getPathWithFileSplit(fileData[i].currentDir);
|
||||
if (data.startsWith(currentDir)) {
|
||||
if (fileData[i].isFolder) {
|
||||
this.direList.push({ title: fileName, url: fileData[i].uri, fileIterator: fileData[i].fileIterator });
|
||||
let bread: BreadData = { title: fileName, url: fileData[i].uri, fileIterator: fileData[i].fileIterator }
|
||||
this.direList.push(bread);
|
||||
fileIterator = fileData[i].fileIterator;
|
||||
if (data === currentDir) {
|
||||
isContinue = false;
|
||||
@@ -158,7 +159,7 @@ struct MyPhone {
|
||||
return;
|
||||
}
|
||||
setImmersion(false);
|
||||
setSystemBar(SYSTEM_BAR_COLOR.WHITE, SYSTEM_BAR_COLOR.WHITE, SYSTEM_BAR_COLOR.BLACK, SYSTEM_BAR_COLOR.BLACK);
|
||||
setSystemBar(SystemBarColor.WHITE, SystemBarColor.WHITE, SystemBarColor.BLACK, SystemBarColor.BLACK);
|
||||
}
|
||||
|
||||
getRootListFile() {
|
||||
@@ -167,14 +168,14 @@ struct MyPhone {
|
||||
this.getVideoAudioDuration(fileList);
|
||||
}
|
||||
|
||||
getListFile(fileInfo) {
|
||||
getListFile(fileInfo: fileAccess.FileInfo | fileAccess.RootInfo) {
|
||||
let fileList = FileAccessExec.getFileByCurIterator(fileInfo);
|
||||
this.fileListSource.setData(fileList);
|
||||
this.getVideoAudioDuration(fileList);
|
||||
}
|
||||
|
||||
async getVideoAudioDuration(fileList: FilesData[]) {
|
||||
const videoAudioList = fileList.filter(item => item.mimeTypeObj.isVideo() || item.mimeTypeObj.isAudio());
|
||||
const videoAudioList = fileList.filter(item => item.mimeTypeObj?.isVideo() || item.mimeTypeObj?.isAudio());
|
||||
for (let item of videoAudioList) {
|
||||
const mediaType: photoAccessHelper.PhotoType = getMediaType(item.fileName);
|
||||
await getDurationByUri(mediaType, item.uri).then((duration) => {
|
||||
@@ -222,7 +223,9 @@ struct MyPhone {
|
||||
refreshData() {
|
||||
if (this.direList.length) {
|
||||
const lastBread = this.direList[this.direList.length-1];
|
||||
this.getListFile(lastBread.fileIterator);
|
||||
if (lastBread.fileIterator !== undefined) {
|
||||
this.getListFile(lastBread.fileIterator);
|
||||
}
|
||||
} else {
|
||||
this.getRootListFile();
|
||||
}
|
||||
@@ -243,7 +246,6 @@ struct MyPhone {
|
||||
}
|
||||
|
||||
aboutToDisappear() {
|
||||
this.fileMkdirDialog = null;
|
||||
}
|
||||
|
||||
getParams(startModeOptions: StartModeOptions): string {
|
||||
@@ -251,9 +253,9 @@ struct MyPhone {
|
||||
if (!ObjectUtil.isNullOrUndefined(defaultPickPath)) {
|
||||
return defaultPickPath;
|
||||
}
|
||||
let params = router.getParams();
|
||||
let params = router.getParams() as Record<string, string>;
|
||||
if (!ObjectUtil.isNullOrUndefined(params)) {
|
||||
defaultPickPath = params['path'];
|
||||
defaultPickPath = params.path as string;
|
||||
if (!ObjectUtil.isNullOrUndefined(defaultPickPath)) {
|
||||
return defaultPickPath;
|
||||
}
|
||||
@@ -268,7 +270,9 @@ struct MyPhone {
|
||||
this.setShowLoading(true);
|
||||
if (this.direList.length) {
|
||||
const lastBreadCrumb = this.direList[this.direList.length-1];
|
||||
this.getListFile(lastBreadCrumb.fileIterator);
|
||||
if (lastBreadCrumb.fileIterator !== undefined) {
|
||||
this.getListFile(lastBreadCrumb.fileIterator);
|
||||
}
|
||||
} else {
|
||||
this.getRootListFile();
|
||||
}
|
||||
@@ -294,7 +298,9 @@ struct MyPhone {
|
||||
direList.splice(-1, 1);
|
||||
if (direList.length) {
|
||||
const lastDir = direList[direList.length-1];
|
||||
this.getListFile(lastDir.fileIterator);
|
||||
if (lastDir.fileIterator !== undefined) {
|
||||
this.getListFile(lastDir.fileIterator);
|
||||
}
|
||||
} else {
|
||||
this.getRootListFile();
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { FilesData } from '../../databases/model/FileData';
|
||||
import { FilesData, TransList, MkDirItem } from '../../databases/model/FileData';
|
||||
import { on } from '../../base/utils/EventBus';
|
||||
import FileAccessExec from '../../base/utils/FileAccessExec';
|
||||
import { TREE_LAYER } from '../../base/constants/UiConstant';
|
||||
@@ -25,6 +25,7 @@ import Logger from '../../base/log/Logger';
|
||||
import fileAccess from '@ohos.file.fileAccess';
|
||||
import ObjectUtil from '../../base/utils/ObjectUtil';
|
||||
|
||||
|
||||
@Styles
|
||||
function pressedStyles() {
|
||||
.backgroundColor($r('app.color.hicloud_hmos_bg'))
|
||||
@@ -34,8 +35,8 @@ const TAG = 'TreeItem';
|
||||
|
||||
@Component
|
||||
export struct TreeItem {
|
||||
fileItem: FilesData = new FilesData({});
|
||||
loadPath?: string = '';
|
||||
fileItem: FilesData = new FilesData();
|
||||
loadPath: string = '';
|
||||
isNeedExpand: boolean = false;
|
||||
@State iconRotate: boolean = false;
|
||||
@State subFolderList: FilesData[] = [];
|
||||
@@ -67,9 +68,9 @@ export struct TreeItem {
|
||||
let queryRes = await this.getPickPathListFiles(dirUri, defaultExpandPath, this.fileItem.layer);
|
||||
this.isLoading = false;
|
||||
let subList: FilesData[] = this.fileBaseToFileData(queryRes);
|
||||
let { folderList, fileList } = this.transfer(subList);
|
||||
this.fileList = fileList
|
||||
call(folderList);
|
||||
let transList: TransList = this.transfer(subList);
|
||||
this.fileList = transList.fileList
|
||||
call(transList.folderList);
|
||||
}
|
||||
|
||||
private async getPickPathListFiles(dirUri: string, expandPath: string, level: number): Promise<FileBase[]> {
|
||||
@@ -77,31 +78,33 @@ export struct TreeItem {
|
||||
let fileInfo: fileAccess.FileInfo = await FileUtil.getFileInfoByUri(dirUri, fileHelper);
|
||||
if (ObjectUtil.isNullOrUndefined(fileInfo) || !FileUtil.isFolder(fileInfo.mode)) {
|
||||
Logger.e(TAG, 'uri is not folder');
|
||||
return;
|
||||
return [];
|
||||
}
|
||||
let queryRes = FileAccessExec.getPathPickSubFiles(fileInfo, expandPath, level);
|
||||
if (ObjectUtil.isNull(queryRes)) {
|
||||
Logger.e(TAG, 'files is null');
|
||||
return;
|
||||
return [];
|
||||
}
|
||||
return queryRes;
|
||||
}
|
||||
|
||||
transfer(list: FilesData[]) {
|
||||
let folderList: FilesData[] = [];
|
||||
let fileList: FilesData[] = [];
|
||||
transfer(list: FilesData[]): TransList {
|
||||
let transList: TransList = {
|
||||
folderList: [],
|
||||
fileList: []
|
||||
}
|
||||
if (ArrayUtil.isEmpty(list)) {
|
||||
return { folderList, fileList };
|
||||
return transList;
|
||||
}
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
let fileData = list[i];
|
||||
if (fileData.isFolder) {
|
||||
folderList.push(fileData);
|
||||
transList.folderList.push(fileData);
|
||||
} else {
|
||||
fileList.push(fileData);
|
||||
transList.fileList.push(fileData);
|
||||
}
|
||||
}
|
||||
return { folderList, fileList };
|
||||
return transList;
|
||||
}
|
||||
|
||||
fileBaseToFileData(list: FileBase[]): FilesData[] {
|
||||
@@ -111,7 +114,7 @@ export struct TreeItem {
|
||||
}
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
let data = list[i];
|
||||
let fileData = new FilesData([]);
|
||||
let fileData = new FilesData();
|
||||
fileData.uri = data.uri;
|
||||
fileData.fileName = data.fileName;
|
||||
fileData.isFolder = data.isFolder;
|
||||
@@ -160,16 +163,16 @@ export struct TreeItem {
|
||||
}
|
||||
|
||||
aboutToAppear() {
|
||||
on('fileMkdir', async (e) => {
|
||||
on('fileMkdir', async (e: MkDirItem) => {
|
||||
if (this.selectUri === this.fileItem.uri) {
|
||||
// 获取当前选中文件夹下的所有子文件
|
||||
let queryArray = await this.getPickPathListFiles(this.fileItem.uri, '', this.fileItem.layer);
|
||||
let subList: FilesData[] = this.fileBaseToFileData(queryArray);
|
||||
let { folderList, fileList } = this.transfer(subList);
|
||||
this.fileList = fileList;
|
||||
let subList: FilesData[] = this.fileBaseToFileData(queryArray)
|
||||
let transList: TransList = this.transfer(subList);
|
||||
this.fileList = transList.fileList;
|
||||
// 获取当前选中文件夹下的所有子文件
|
||||
this.subFolderList = folderList;
|
||||
this.expandSubFolderCall(folderList);
|
||||
this.subFolderList = transList.folderList;
|
||||
this.expandSubFolderCall(transList.folderList);
|
||||
// 查找刚刚新建的文件夹index
|
||||
const index = this.subFolderList.findIndex(item => item.fileName === e.mkdirName);
|
||||
if (index !== -1 && this.canExpandPath()) {
|
||||
@@ -196,7 +199,7 @@ export struct TreeItem {
|
||||
if (this.iconRotate) {
|
||||
this.iconRotate = !this.iconRotate;
|
||||
this.changeSelectItem(this.fileItem, false);
|
||||
this.fileItem.subFileList = null;
|
||||
this.fileItem.subFileList = [];
|
||||
this.folderList = this.fileItem.subFolderList;
|
||||
} else {
|
||||
if (this.canExpandPath()) {
|
||||
@@ -266,7 +269,7 @@ export struct TreeItem {
|
||||
})
|
||||
|
||||
if (this.subFolderList.length && this.iconRotate) {
|
||||
ForEach(this.subFolderList, (item) => {
|
||||
ForEach(this.subFolderList, (item: FilesData) => {
|
||||
TreeItem({
|
||||
fileItem: item,
|
||||
loadPath: this.loadPath,
|
||||
|
||||
@@ -26,7 +26,13 @@ function normalStyles() {
|
||||
|
||||
@Component
|
||||
export struct DialogTitle {
|
||||
title: Resource;
|
||||
title: Resource = $r('app.string.addFolder');
|
||||
|
||||
constructor(title: Resource) {
|
||||
super();
|
||||
this.title = title; // 通过构造函数初始化
|
||||
}
|
||||
|
||||
|
||||
build() {
|
||||
Text(this.title)
|
||||
@@ -43,11 +49,11 @@ export struct DialogTitle {
|
||||
|
||||
@Component
|
||||
export struct DialogButton {
|
||||
text: Resource;
|
||||
text: Resource = $r('app.string.cancel');
|
||||
color: Resource = $r('app.color.dialog_button_blue');
|
||||
bgColor: Resource = $r('app.color.transparent_color');
|
||||
@Prop isDisabled: boolean;
|
||||
click: Function;
|
||||
click: Function = () => {};
|
||||
|
||||
build() {
|
||||
Row() {
|
||||
|
||||
@@ -18,6 +18,7 @@ import { renderSize } from '../../../base/utils/Tools';
|
||||
import AbilityCommonUtil, { ResultCodePicker } from '../../../base//utils/AbilityCommonUtil';
|
||||
import { StartModeOptions } from '../../../base/model/StartModeOptions';
|
||||
import { FilePickerUtil } from '../../../base/utils/FilePickerUtil';
|
||||
import { FilesData } from '../../../databases/model/FileData';
|
||||
|
||||
@Styles
|
||||
function pressedStyles() {
|
||||
@@ -40,18 +41,18 @@ function subtitleStyles(fontSize: Resource) {
|
||||
@Component
|
||||
export struct TopBar {
|
||||
private startModeOptions: StartModeOptions = FilePickerUtil.getStartOptionsFromStorage();
|
||||
private title?: string = '';
|
||||
private title: string = '';
|
||||
private subtitle?: string = '';
|
||||
private fileSize?: number = 0;
|
||||
@Prop selectAll: boolean;
|
||||
@Prop isMulti: boolean;
|
||||
@Link checkedNum: number;
|
||||
@Link checkedList: any[];
|
||||
@Link checkedList: ESObject[];
|
||||
@State active: boolean = false;
|
||||
@State rActive: boolean = false;
|
||||
public backCallback: () => void; // 点击返回键的事件回调
|
||||
public menuCallback: () => void; // 点击全选的事件回调
|
||||
filterCallBack: Function;
|
||||
public backCallback: () => void = () => {}; // 点击返回键的事件回调
|
||||
public menuCallback: () => void = () => {}; // 点击全选的事件回调
|
||||
filterCallBack: Function = () => {};
|
||||
|
||||
aboutToAppear() {
|
||||
|
||||
@@ -80,7 +81,7 @@ export struct TopBar {
|
||||
if (!this.checkedNum) {
|
||||
return false;
|
||||
}
|
||||
if (this.checkedList.some(item => item.isFolder)) {
|
||||
if (this.checkedList.some((item: FilesData) => item.isFolder)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -90,8 +91,8 @@ export struct TopBar {
|
||||
if (!this.checkSelectedFileList()) {
|
||||
return;
|
||||
}
|
||||
const uriList = this.checkedList.map(item => item.uri);
|
||||
const fileNameList = this.checkedList.map(item => item.fileName);
|
||||
const uriList: string[] = this.checkedList.map((item: FilesData): string => item.uri);
|
||||
const fileNameList: string[] = this.checkedList.map((item: FilesData): string => item.fileName);
|
||||
AbilityCommonUtil.terminateFilePicker(uriList, ResultCodePicker.SUCCESS, this.startModeOptions);
|
||||
}
|
||||
|
||||
@@ -114,7 +115,7 @@ export struct TopBar {
|
||||
normal: normalStyles
|
||||
})
|
||||
.onClick(() => {
|
||||
this.backCallback.call(this);
|
||||
this.backCallback();
|
||||
})
|
||||
|
||||
Column() {
|
||||
@@ -125,7 +126,7 @@ export struct TopBar {
|
||||
.maxLines(1)
|
||||
.textOverflow({ overflow: TextOverflow.Ellipsis })
|
||||
if (this.fileSize && this.isMulti) {
|
||||
Text($r('app.string.choose_size', renderSize(this.fileSize)))
|
||||
Text($r('app.string.choose_size', renderSize(this.fileSize.toString())))
|
||||
.fontColor($r('app.color.black'))
|
||||
.subtitleStyles($r('app.float.common_font_size14'))
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ function normalStyles() {
|
||||
|
||||
@Component
|
||||
export struct TopOperateBar {
|
||||
public addFolder: () => void; // 点击新建的事件回调
|
||||
public addFolder: Function = () => {}; // 点击新建的事件回调
|
||||
// 是否可用
|
||||
@Prop isDisabled: boolean = false;
|
||||
// 列表或宫格
|
||||
@@ -58,7 +58,7 @@ export struct TopOperateBar {
|
||||
if (this.isDisabled) {
|
||||
return;
|
||||
}
|
||||
this.addFolder.call(this);
|
||||
this.addFolder();
|
||||
})
|
||||
|
||||
Column() {
|
||||
|
||||
@@ -13,12 +13,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { FilesData } from '../../../databases/model/FileData'
|
||||
import { FilesData, MkDirItem } from '../../../databases/model/FileData'
|
||||
import FileAccessExec from '../../../base/utils/FileAccessExec'
|
||||
import { toast, isValidFileName } from '../../../base/utils/Common'
|
||||
import { getResourceString } from '../../../base/utils/Tools'
|
||||
import Logger from '../../../base/log/Logger'
|
||||
import { DialogTitle, DialogButton, DialogButtonDivider } from '../common/DialogComponent'
|
||||
import { BusinessError } from '@ohos.base';
|
||||
|
||||
const TAG = 'FileMkdirDialog'
|
||||
|
||||
@@ -26,11 +27,11 @@ const TAG = 'FileMkdirDialog'
|
||||
@CustomDialog
|
||||
export struct FileMkdirDialog {
|
||||
controller: CustomDialogController
|
||||
cancel: Function
|
||||
confirm: Function
|
||||
cancel: Function = () => {};
|
||||
confirm: Function = (data: MkDirItem) => {};
|
||||
@State folderName: string = ''
|
||||
@State errorText: Resource = null
|
||||
fileItems: Array<FilesData>
|
||||
@State errorText: Resource = $r('app.string.illegal');
|
||||
fileItems: Array<FilesData> = [];
|
||||
getCurrentDir: string = ''
|
||||
|
||||
aboutToAppear() {
|
||||
@@ -51,7 +52,7 @@ export struct FileMkdirDialog {
|
||||
}
|
||||
|
||||
isSameName() {
|
||||
let nameArr = []
|
||||
let nameArr: string[] = [];
|
||||
this.fileItems.forEach(item => {
|
||||
nameArr.push(item.fileName)
|
||||
})
|
||||
@@ -74,7 +75,7 @@ export struct FileMkdirDialog {
|
||||
})
|
||||
.onChange((value: string) => {
|
||||
this.folderName = value
|
||||
this.errorText = null
|
||||
this.errorText = $r('app.string.illegal')
|
||||
})
|
||||
Divider().vertical(false).strokeWidth(1).color(Color.Gray)
|
||||
.margin({
|
||||
@@ -106,12 +107,13 @@ export struct FileMkdirDialog {
|
||||
} else if (this.isSameName()) {
|
||||
this.errorText = $r('app.string.sameName')
|
||||
} else {
|
||||
FileAccessExec.createFolder(this.getCurrentDir, this.folderName).then(folderUri => {
|
||||
this.confirm({
|
||||
FileAccessExec.createFolder(this.getCurrentDir, this.folderName).then((folderUri: string) => {
|
||||
let data: MkDirItem = {
|
||||
mkdirName: this.folderName,
|
||||
path: folderUri
|
||||
})
|
||||
}).catch(err => {
|
||||
}
|
||||
this.confirm(data)
|
||||
}).catch((err: BusinessError) => {
|
||||
Logger.e(TAG, 'create Folder err: ' + JSON.stringify(err))
|
||||
toast($r('app.string.addFolder_fail'))
|
||||
})
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { FilesData } from '../../../databases/model/FileData';
|
||||
import { FilesData, TransList, MkDirItem } from '../../../databases/model/FileData';
|
||||
import FileAccessExec from '../../../base/utils/FileAccessExec';
|
||||
import { toast, isValidFileName } from '../../../base/utils/Common';
|
||||
import { TreeItem } from '../TreeItem';
|
||||
@@ -52,11 +52,11 @@ export struct fileTree {
|
||||
@State rootData: FilesData[] = [];
|
||||
@State selectUri: string = '';
|
||||
@State @Watch('nameChange') selectName: string = getResourceString($r('app.string.myPhone'));
|
||||
public moveCallback: (e) => void;
|
||||
@State @Watch('selectChange') chooseItem: FilesData = new FilesData({});
|
||||
public moveCallback:Function = () => {};
|
||||
@State @Watch('selectChange') chooseItem: FilesData = new FilesData();
|
||||
@State folderList: FilesData[] = [];
|
||||
@State fileList: FilesData[] = [];
|
||||
@State changeTitle: Resource = undefined;
|
||||
@State changeTitle: Resource = $r('app.string.to_save', this.selectName);
|
||||
@State fileName: string = '';
|
||||
@State suffix: string = '';
|
||||
fileMkdirDialog: CustomDialogController = new CustomDialogController({
|
||||
@@ -70,11 +70,11 @@ export struct fileTree {
|
||||
offset: { dx: 0, dy: -80 }
|
||||
});
|
||||
@State isSelectRootPath: boolean = true;
|
||||
@State errorText: Resource = undefined;
|
||||
@State errorText: Resource | undefined = undefined;
|
||||
@State isNeedLoadDefaultPath: boolean = false;
|
||||
@State isClickExpand: boolean = false;
|
||||
@Link @Watch('createFileFailTypeChange') createFileFailType: number;
|
||||
lastSelectPath: string = AppStorage.Get<string>(FILE_MANAGER_PREFERENCES.lastSelectPath.key);
|
||||
lastSelectPath: string | undefined = AppStorage.Get<string>(FILE_MANAGER_PREFERENCES.lastSelectPath.key);
|
||||
defaultExpandPath: string = '';
|
||||
scroller: Scroller = new Scroller();
|
||||
context: Context = globalThis.abilityContext;
|
||||
@@ -100,9 +100,9 @@ export struct fileTree {
|
||||
}
|
||||
this.nameChange();
|
||||
this.isSelectRootPath = true;
|
||||
let { folderList, fileList } = FileAccessExec.getFileData();
|
||||
this.fileList = fileList;
|
||||
this.rootData = folderList;
|
||||
let transList: TransList = FileAccessExec.getFileData();
|
||||
this.fileList = transList.fileList;
|
||||
this.rootData = transList.folderList;
|
||||
this.folderList = this.rootData;
|
||||
this.topRotate = !this.topRotate;
|
||||
if (globalThis.documentInfo) {
|
||||
@@ -112,15 +112,14 @@ export struct fileTree {
|
||||
}
|
||||
|
||||
aboutToDisappear() {
|
||||
this.fileMkdirDialog = null;
|
||||
}
|
||||
|
||||
fileMkdir(e) {
|
||||
fileMkdir(e: MkDirItem) {
|
||||
emit('fileMkdir', e)
|
||||
if (this.isSelectRootPath) {
|
||||
// 获取当前选中文件夹下的所有子文件
|
||||
let { folderList, fileList } = FileAccessExec.getFileData();
|
||||
this.rootData = folderList;
|
||||
let transList: TransList = FileAccessExec.getFileData();
|
||||
this.rootData = transList.folderList;
|
||||
// 查找刚刚新建的文件夹index
|
||||
const index = this.rootData.findIndex(item => item.fileName === e.mkdirName);
|
||||
if (index !== -1) {
|
||||
@@ -131,8 +130,8 @@ export struct fileTree {
|
||||
this.fileList = [];
|
||||
this.folderList = [];
|
||||
} else {
|
||||
this.fileList = fileList;
|
||||
this.folderList = folderList;
|
||||
this.fileList = transList.fileList;
|
||||
this.folderList = transList.folderList;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -243,7 +242,7 @@ export struct fileTree {
|
||||
})
|
||||
.interpolation(ImageInterpolation.Medium)
|
||||
.onClick(() => {
|
||||
this.moveCallback.call(this, {
|
||||
this.moveCallback({
|
||||
cancel: true
|
||||
});
|
||||
})
|
||||
@@ -290,7 +289,7 @@ export struct fileTree {
|
||||
} else if (!isValidFileName(fileName)) {
|
||||
this.errorText = $r('app.string.input_invalid');
|
||||
} else {
|
||||
this.errorText = null;
|
||||
this.errorText = $r('app.string.input_invalid');
|
||||
this.moveCallback({
|
||||
selectUri: this.selectUri,
|
||||
fileName: fileName
|
||||
@@ -338,7 +337,7 @@ export struct fileTree {
|
||||
.backgroundColor($r('app.color.text_input_bg_color'))
|
||||
.onChange((newVal) => {
|
||||
this.fileName = newVal
|
||||
this.errorText = null
|
||||
this.errorText = undefined
|
||||
})
|
||||
Divider().vertical(false).strokeWidth(1).color(Color.Gray)
|
||||
.margin({
|
||||
@@ -396,10 +395,10 @@ export struct fileTree {
|
||||
this.selectName = getResourceString($r('app.string.myPhone'));
|
||||
this.selectUri = globalThis.documentInfo && globalThis.documentInfo?.uri;
|
||||
this.isSelectRootPath = true;
|
||||
let { folderList, fileList } = await FileAccessExec.getFileData();
|
||||
let transList: TransList = await FileAccessExec.getFileData();
|
||||
this.topRotate = !this.topRotate;
|
||||
this.fileList = fileList;
|
||||
this.rootData = folderList;
|
||||
this.fileList = transList.fileList;
|
||||
this.rootData = transList.folderList;
|
||||
this.folderList = this.rootData;
|
||||
this.isClickExpand = true;
|
||||
this.defaultExpandPath = '';
|
||||
@@ -408,7 +407,7 @@ export struct fileTree {
|
||||
Scroll(this.scroller) {
|
||||
Column() {
|
||||
if (this.rootData.length && this.topRotate) {
|
||||
ForEach(this.rootData, (item) => {
|
||||
ForEach(this.rootData, (item: FilesData) => {
|
||||
if (this.isNeedLoadDefaultPath) {
|
||||
TreeItem({
|
||||
fileItem: item,
|
||||
|
||||
@@ -69,13 +69,13 @@ export struct BreadCrumb {
|
||||
|
||||
Scroll(this.scroller) {
|
||||
Row() {
|
||||
ForEach(this.direList, (item, index) => {
|
||||
ForEach(this.direList, (item: BreadData, index) => {
|
||||
BreadCrumbItem({
|
||||
direItem: item,
|
||||
index: index,
|
||||
direList: $direList,
|
||||
})
|
||||
}, item => item.url.toString())
|
||||
}, (item: BreadData) => item.url.toString())
|
||||
}
|
||||
}
|
||||
.layoutWeight(1)
|
||||
@@ -89,8 +89,8 @@ export struct BreadCrumb {
|
||||
|
||||
@Component
|
||||
struct BreadCrumbItem {
|
||||
direItem: BreadData;
|
||||
index: number;
|
||||
direItem: BreadData | undefined = undefined;
|
||||
index: number = 0;
|
||||
@Link direList: BreadData[];
|
||||
|
||||
getTitle(breadCrumb: string) {
|
||||
@@ -104,7 +104,7 @@ struct BreadCrumbItem {
|
||||
|
||||
build() {
|
||||
Row() {
|
||||
Text(this.getTitle('' + this.direItem.title))
|
||||
Text(this.getTitle('' + this.direItem?.title))
|
||||
.fontSize($r('app.float.common_font_size12'))
|
||||
.opacity($r('app.float.common_opacity9'))
|
||||
.fontColor(this.isLast() ? $r('app.color.black') : $r('app.color.detail_path_text_color'))
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
import { BreadData, FilesData, FileDataSource } from '../../../databases/model/FileData';
|
||||
import { renderSize, gridName, isDlpFile } from '../../../base/utils/Tools';
|
||||
import DateTimeUtil from '../../../base/utils/DateTimeUtil';
|
||||
import { pickerStatus, filePickerTip, FilePickerUtil } from '../../../base/utils/FilePickerUtil';
|
||||
import { Z_INDEX } from '../../../base/constants/UiConstant';
|
||||
import { pickerStatus, filePickerTip, FilePickerUtil, PickerStatus } from '../../../base/utils/FilePickerUtil';
|
||||
import { ZIndex } from '../../../base/constants/UiConstant';
|
||||
import Logger from '../../../base/log/Logger';
|
||||
import { NoContent } from '../common/NoContent';
|
||||
import { VideoDurationTag } from '../common/VideoDurationTag';
|
||||
@@ -82,7 +82,7 @@ export struct FilesList {
|
||||
@Builder
|
||||
buildListView() {
|
||||
List() {
|
||||
LazyForEach(this.fileListSource, (item, index) => {
|
||||
LazyForEach(this.fileListSource, (item: FilesData, index: number) => {
|
||||
ListItem() {
|
||||
FileListItem({
|
||||
startModeOptions: this.startModeOptions,
|
||||
@@ -93,7 +93,7 @@ export struct FilesList {
|
||||
isMulti: $isMulti
|
||||
})
|
||||
}
|
||||
}, item => item?.id.toString())
|
||||
}, (item: FilesData) => item?.id.toString())
|
||||
}
|
||||
.align(Alignment.TopStart)
|
||||
.edgeEffect(EdgeEffect.None)
|
||||
@@ -102,7 +102,7 @@ export struct FilesList {
|
||||
@Builder
|
||||
buildGridView() {
|
||||
Grid() {
|
||||
LazyForEach(this.fileListSource, (item, index) => {
|
||||
LazyForEach(this.fileListSource, (item: FilesData, index) => {
|
||||
GridItem() {
|
||||
FileListItem({
|
||||
startModeOptions: this.startModeOptions,
|
||||
@@ -113,7 +113,7 @@ export struct FilesList {
|
||||
isMulti: $isMulti
|
||||
})
|
||||
}
|
||||
}, item => item?.id.toString())
|
||||
}, (item: FilesData) => item?.id.toString())
|
||||
}
|
||||
.columnsTemplate('1fr 1fr 1fr')
|
||||
.columnsGap($r('app.float.file_list_columns_gap'))
|
||||
@@ -128,7 +128,7 @@ export struct FilesList {
|
||||
struct FileListItem {
|
||||
private startModeOptions: StartModeOptions = FilePickerUtil.getStartOptionsFromStorage();
|
||||
@Consume isList: boolean;
|
||||
@State fileItem: FilesData = new FilesData({});
|
||||
@State fileItem: FilesData = new FilesData();
|
||||
@Link fileListSource: FileDataSource;
|
||||
@Link direList: BreadData[];
|
||||
@Link @Watch('isMultiChange') isMulti: boolean;
|
||||
@@ -137,8 +137,8 @@ struct FileListItem {
|
||||
@State filePickerViewFlag: boolean = true;
|
||||
@State isImageLoaded: boolean = true;
|
||||
|
||||
isShowThumbnail(item) {
|
||||
return this.isImageLoaded && item.thumbUri;
|
||||
isShowThumbnail(item: FilesData): boolean {
|
||||
return this.isImageLoaded && (item.thumbUri != '');
|
||||
}
|
||||
|
||||
isMultiChange() {
|
||||
@@ -153,14 +153,16 @@ struct FileListItem {
|
||||
}
|
||||
}
|
||||
|
||||
getRightIcon(item): Resource {
|
||||
getRightIcon(item: FilesData): Resource | undefined {
|
||||
if (this.isMulti) {
|
||||
if (pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions).differentTypes) {
|
||||
return;
|
||||
return undefined;
|
||||
}
|
||||
return item.isChecked ? $r('app.media.checkbox_b') : $r('app.media.checkbox_g');
|
||||
} else if (item.isFolder && this.isList) {
|
||||
return $r('app.media.ic_arrow_right');
|
||||
} else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +200,7 @@ struct FileListItem {
|
||||
if (this.fileItem.isFolder) {
|
||||
return;
|
||||
}
|
||||
let status = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
let status: PickerStatus = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
if (status.exceedLimit) {
|
||||
filePickerTip(this.startModeOptions);
|
||||
return;
|
||||
@@ -215,7 +217,7 @@ struct FileListItem {
|
||||
|
||||
onClickEvent() {
|
||||
Logger.i(TAG, 'onClickEvent start');
|
||||
let status = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
let status: PickerStatus = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
if (this.isMulti) {
|
||||
if (this.fileItem.isFolder) {
|
||||
return;
|
||||
@@ -265,7 +267,7 @@ struct FileListItem {
|
||||
}
|
||||
|
||||
calOpacity() {
|
||||
const statusObj = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
const statusObj: PickerStatus = pickerStatus(this.fileItem, this.checkedNum, this.startModeOptions);
|
||||
return statusObj.exceedLimit || (!this.fileItem.isFolder && statusObj.differentTypes) ||
|
||||
(this.isMulti && this.fileItem.isFolder) ? $r('app.float.common_opacity2') : $r('app.float.common_opacity10');
|
||||
}
|
||||
@@ -290,10 +292,10 @@ struct FileListItem {
|
||||
.objectFit(ImageFit.Fill)
|
||||
.width($r('app.float.common_size6'))
|
||||
.height($r('app.float.common_size8'))
|
||||
.zIndex(Z_INDEX.LEVEL10)
|
||||
.zIndex(ZIndex.LEVEL10)
|
||||
.position({ x: $r('app.float.common_position24'), y: $r('app.float.common_position26') })
|
||||
}
|
||||
if (this.fileItem.mimeTypeObj.isVideo() && this.isShowThumbnail(this.fileItem)) {
|
||||
if (this.fileItem.mimeTypeObj?.isVideo() && this.isShowThumbnail(this.fileItem)) {
|
||||
Image($r('app.media.hidisk_ic_video_list'))
|
||||
.objectFit(ImageFit.Contain)
|
||||
.autoResize(false)
|
||||
@@ -315,7 +317,7 @@ struct FileListItem {
|
||||
.grayText()
|
||||
Text('-')
|
||||
.grayText()
|
||||
Text(!this.fileItem.isFolder ? renderSize(this.fileItem.size) : $r('app.string.num', this.fileItem.sub))
|
||||
Text(!this.fileItem.isFolder ? renderSize(this.fileItem.size.toString()) : $r('app.string.num', this.fileItem.sub))
|
||||
.grayText()
|
||||
}
|
||||
.margin({ top: $r('app.float.common_padding2') })
|
||||
@@ -366,11 +368,11 @@ struct FileListItem {
|
||||
.objectFit(ImageFit.Fill)
|
||||
.width($r('app.float.common_size10'))
|
||||
.height($r('app.float.common_size12'))
|
||||
.zIndex(Z_INDEX.LEVEL10)
|
||||
.zIndex(ZIndex.LEVEL10)
|
||||
.markAnchor({ x: $r('app.float.common_markAnchor_28'), y: $r('app.float.common_markAnchor_16') })
|
||||
.position({ x: '100%', y: '100%' })
|
||||
}
|
||||
if (this.fileItem.mimeTypeObj.isVideo() && this.isShowThumbnail(this.fileItem)) {
|
||||
if (this.fileItem.mimeTypeObj?.isVideo() && this.isShowThumbnail(this.fileItem)) {
|
||||
VideoDurationTag({
|
||||
duration: this.fileItem.duration
|
||||
})
|
||||
@@ -390,7 +392,7 @@ struct FileListItem {
|
||||
.maxLines(1)
|
||||
.fontColor($r('app.color.recently_font_color'))
|
||||
.opacity($r('app.float.common_opacity6'))
|
||||
Text(this.fileItem.isFolder ? $r('app.string.num', this.fileItem.sub) : renderSize(this.fileItem.size))
|
||||
Text(this.fileItem.isFolder ? $r('app.string.num', this.fileItem.sub) : renderSize(this.fileItem.size.toString()))
|
||||
.fontSize($r('app.float.common_font_size10'))
|
||||
.textOverflow({ overflow: TextOverflow.Ellipsis })
|
||||
.maxLines(1)
|
||||
|
||||
Reference in New Issue
Block a user