mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-23 05:13:10 +02:00
WIP #332
This commit is contained in:
parent
fd4652e96c
commit
c0e14ae264
10 changed files with 176 additions and 46 deletions
|
@ -123,6 +123,71 @@ common:
|
|||
|
||||
desktop:
|
||||
tags:
|
||||
mk-drive-browser-base-contextmenu:
|
||||
create-folder: "フォルダーを作成"
|
||||
upload: "ファイルをアップロード"
|
||||
url-upload: "URLからアップロード"
|
||||
|
||||
mk-drive-browser-window:
|
||||
used: "使用中"
|
||||
drive: "ドライブ"
|
||||
|
||||
mk-drive-browser:
|
||||
search: "検索"
|
||||
load-more: "もっと読み込む"
|
||||
empty-draghover: "ドロップですか?いいですよ、ボクはカワイイですからね"
|
||||
empty-drive: "ドライブには何もありません。"
|
||||
empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。"
|
||||
empty-folder: "このフォルダーは空です"
|
||||
unable-to-process: "操作を完了できません"
|
||||
circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。"
|
||||
ok: "OK"
|
||||
unhandled-error: "不明なエラー"
|
||||
url-upload: "URLアップロード"
|
||||
url-of-file: "アップロードしたいファイルのURL"
|
||||
url-upload-requested: "アップロードをリクエストしました"
|
||||
may-take-time: "アップロードが完了するまで時間がかかる場合があります。"
|
||||
create-folder: "フォルダー作成"
|
||||
folder-name: "フォルダー名"
|
||||
|
||||
mk-drive-browser-file-contextmenu:
|
||||
rename: "名前を変更"
|
||||
copy-url: "URLをコピー"
|
||||
download: "ダウンロード"
|
||||
delete: "削除"
|
||||
else-files: "その他..."
|
||||
set-as-avatar: "アバターに設定"
|
||||
set-as-banner: "バナーに設定"
|
||||
open-in-app: "アプリで開く"
|
||||
add-app: "アプリを追加"
|
||||
rename-file: "ファイル名の変更"
|
||||
input-new-file-name: "新しいファイル名を入力してください"
|
||||
copied: "コピー完了"
|
||||
copied-url-to-clipboard: "URLをクリップボードにコピーしました"
|
||||
ok: "OK"
|
||||
|
||||
mk-drive-browser-file:
|
||||
avatar: "アバター"
|
||||
banner: "バナー"
|
||||
wallpaper: "壁紙"
|
||||
|
||||
mk-drive-browser-folder-contextmenu:
|
||||
move-to-this-folder: "このフォルダへ移動"
|
||||
show-in-new-window: "新しいウィンドウで表示"
|
||||
rename: "名前を変更"
|
||||
delete: "削除"
|
||||
rename-folder: "フォルダ名の変更"
|
||||
input-new-folder-name: "新しいフォルダ名を入力してください"
|
||||
|
||||
mk-drive-browser-folder:
|
||||
unable-to-process: "操作を完了できません"
|
||||
circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。"
|
||||
ok: "OK"
|
||||
unhandled-error: "不明なエラー"
|
||||
|
||||
mk-drive-browser-nav-folder:
|
||||
drive: "ドライブ"
|
||||
|
||||
mk-ui-header-nav:
|
||||
home: "Home"
|
||||
messaging: "Messages"
|
||||
|
|
|
@ -123,6 +123,71 @@ common:
|
|||
|
||||
desktop:
|
||||
tags:
|
||||
mk-drive-browser-base-contextmenu:
|
||||
create-folder: "フォルダーを作成"
|
||||
upload: "ファイルをアップロード"
|
||||
url-upload: "URLからアップロード"
|
||||
|
||||
mk-drive-browser-window:
|
||||
used: "使用中"
|
||||
drive: "ドライブ"
|
||||
|
||||
mk-drive-browser:
|
||||
search: "検索"
|
||||
load-more: "もっと読み込む"
|
||||
empty-draghover: "ドロップですか?いいですよ、ボクはカワイイですからね"
|
||||
empty-drive: "ドライブには何もありません。"
|
||||
empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。"
|
||||
empty-folder: "このフォルダーは空です"
|
||||
unable-to-process: "操作を完了できません"
|
||||
circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。"
|
||||
ok: "OK"
|
||||
unhandled-error: "不明なエラー"
|
||||
url-upload: "URLアップロード"
|
||||
url-of-file: "アップロードしたいファイルのURL"
|
||||
url-upload-requested: "アップロードをリクエストしました"
|
||||
may-take-time: "アップロードが完了するまで時間がかかる場合があります。"
|
||||
create-folder: "フォルダー作成"
|
||||
folder-name: "フォルダー名"
|
||||
|
||||
mk-drive-browser-file-contextmenu:
|
||||
rename: "名前を変更"
|
||||
copy-url: "URLをコピー"
|
||||
download: "ダウンロード"
|
||||
delete: "削除"
|
||||
else-files: "その他..."
|
||||
set-as-avatar: "アバターに設定"
|
||||
set-as-banner: "バナーに設定"
|
||||
open-in-app: "アプリで開く"
|
||||
add-app: "アプリを追加"
|
||||
rename-file: "ファイル名の変更"
|
||||
input-new-file-name: "新しいファイル名を入力してください"
|
||||
copied: "コピー完了"
|
||||
copied-url-to-clipboard: "URLをクリップボードにコピーしました"
|
||||
ok: "OK"
|
||||
|
||||
mk-drive-browser-file:
|
||||
avatar: "アバター"
|
||||
banner: "バナー"
|
||||
wallpaper: "壁紙"
|
||||
|
||||
mk-drive-browser-folder-contextmenu:
|
||||
move-to-this-folder: "このフォルダへ移動"
|
||||
show-in-new-window: "新しいウィンドウで表示"
|
||||
rename: "名前を変更"
|
||||
delete: "削除"
|
||||
rename-folder: "フォルダ名の変更"
|
||||
input-new-folder-name: "新しいフォルダ名を入力してください"
|
||||
|
||||
mk-drive-browser-folder:
|
||||
unable-to-process: "操作を完了できません"
|
||||
circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。"
|
||||
ok: "OK"
|
||||
unhandled-error: "不明なエラー"
|
||||
|
||||
mk-drive-browser-nav-folder:
|
||||
drive: "ドライブ"
|
||||
|
||||
mk-ui-header-nav:
|
||||
home: "ホーム"
|
||||
messaging: "メッセージ"
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick={ parent.createFolder }>
|
||||
<p><i class="fa fa-folder-o"></i>フォルダーを作成</p>
|
||||
<p><i class="fa fa-folder-o"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.create-folder%</p>
|
||||
</li>
|
||||
<li onclick={ parent.upload }>
|
||||
<p><i class="fa fa-upload"></i>ファイルをアップロード</p>
|
||||
<p><i class="fa fa-upload"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.upload%</p>
|
||||
</li>
|
||||
<li onclick={ parent.urlUpload }>
|
||||
<p><i class="fa fa-cloud-upload"></i>URLからアップロード</p>
|
||||
<p><i class="fa fa-cloud-upload"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.url-upload%</p>
|
||||
</li>
|
||||
</ul>
|
||||
</mk-contextmenu>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<mk-drive-browser-window>
|
||||
<mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' }>
|
||||
<yield to="header">
|
||||
<p class="info" if={ parent.usage }><b>{ parent.usage.toFixed(1) }%</b>使用中</p>
|
||||
<i class="fa fa-cloud"></i>ドライブ
|
||||
<p class="info" if={ parent.usage }><b>{ parent.usage.toFixed(1) }%</b> %i18n:desktop.tags.mk-drive-browser-window.used%</p>
|
||||
<i class="fa fa-cloud"></i>%i18n:desktop.tags.mk-drive-browser-window.drive%
|
||||
</yield>
|
||||
<yield to="content">
|
||||
<mk-drive-browser multiple={ true } folder={ parent.folder }></mk-drive-browser>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<mk-drive-browser-nav-folder folder={ folder }></mk-drive-browser-nav-folder>
|
||||
</virtual><span class="separator" if={ folder != null }><i class="fa fa-angle-right"></i></span><span class="folder current" if={ folder != null }>{ folder.name }</span>
|
||||
</div>
|
||||
<input class="search" type="search" placeholder=" 検索"/>
|
||||
<input class="search" type="search" placeholder=" %i18n:desktop.tags.mk-drive-browser.search%"/>
|
||||
</nav>
|
||||
<div class="main { uploading: uploads.length > 0, fetching: fetching }" ref="main" onmousedown={ onmousedown } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu }>
|
||||
<div class="selection" ref="selection"></div>
|
||||
|
@ -15,18 +15,18 @@
|
|||
<virtual each={ folder in folders }>
|
||||
<mk-drive-browser-folder class="folder" folder={ folder }></mk-drive-browser-folder>
|
||||
</virtual>
|
||||
<button if={ moreFolders }>もっと読み込む</button>
|
||||
<button if={ moreFolders }>%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
||||
</div>
|
||||
<div class="files" ref="filesContainer" if={ files.length > 0 }>
|
||||
<virtual each={ file in files }>
|
||||
<mk-drive-browser-file class="file" file={ file }></mk-drive-browser-file>
|
||||
</virtual>
|
||||
<button if={ moreFiles } onclick={ fetchMoreFiles }>もっと読み込む</button>
|
||||
<button if={ moreFiles } onclick={ fetchMoreFiles }>%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
||||
</div>
|
||||
<div class="empty" if={ files.length == 0 && folders.length == 0 && !fetching }>
|
||||
<p if={ draghover }>ドロップですか?いいですよ、ボクはカワイイですからね</p>
|
||||
<p if={ !draghover && folder == null }><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p>
|
||||
<p if={ !draghover && folder != null }>このフォルダーは空です</p>
|
||||
<p if={ draghover }>%i18n:desktop.tags.mk-drive-browser.empty-draghover%</p>
|
||||
<p if={ !draghover && folder == null }><strong>%i18n:desktop.tags.mk-drive-browser.empty-drive%</strong><br/>%i18n:desktop.tags.mk-drive-browser.empty-drive-description%</p>
|
||||
<p if={ !draghover && folder != null }>%i18n:desktop.tags.mk-drive-browser.empty-folder%</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fetching" if={ fetching }>
|
||||
|
@ -443,13 +443,13 @@
|
|||
}).catch(err => {
|
||||
switch (err) {
|
||||
case 'detected-circular-definition':
|
||||
dialog('<i class="fa fa-exclamation-triangle"></i>操作を完了できません',
|
||||
'移動先のフォルダーは、移動するフォルダーのサブフォルダーです。', [{
|
||||
text: 'OK'
|
||||
dialog('<i class="fa fa-exclamation-triangle"></i>%i18n:desktop.tags.mk-drive-browser.unable-to-process%',
|
||||
'%i18n:desktop.tags.mk-drive-browser.circular-reference-detected%', [{
|
||||
text: '%i18n:desktop.tags.mk-drive-browser.ok%'
|
||||
}]);
|
||||
break;
|
||||
default:
|
||||
alert('不明なエラー' + err);
|
||||
alert('%i18n:desktop.tags.mk-drive-browser.unhandled-error% ' + err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -477,21 +477,21 @@
|
|||
};
|
||||
|
||||
this.urlUpload = () => {
|
||||
inputDialog('URLアップロード', 'アップロードしたいファイルのURL', null, url => {
|
||||
inputDialog('%i18n:desktop.tags.mk-drive-browser.url-upload%', '%i18n:desktop.tags.mk-drive-browser.url-of-file%', null, url => {
|
||||
this.api('drive/files/upload_from_url', {
|
||||
url: url,
|
||||
folder_id: this.folder ? this.folder.id : undefined
|
||||
});
|
||||
|
||||
dialog('<i class="fa fa-check"></i>アップロードをリクエストしました',
|
||||
'アップロードが完了するまで時間がかかる場合があります。', [{
|
||||
text: 'OK'
|
||||
dialog('<i class="fa fa-check"></i>%i18n:desktop.tags.mk-drive-browser.url-upload-requested%',
|
||||
'%i18n:desktop.tags.mk-drive-browser.may-take-time%', [{
|
||||
text: '%i18n:desktop.tags.mk-drive-browser.ok%'
|
||||
}]);
|
||||
});
|
||||
};
|
||||
|
||||
this.createFolder = () => {
|
||||
inputDialog('フォルダー作成', 'フォルダー名', null, name => {
|
||||
inputDialog('%i18n:desktop.tags.mk-drive-browser.create-folder%', '%i18n:desktop.tags.mk-drive-browser.folder-name%', null, name => {
|
||||
this.api('drive/folders/create', {
|
||||
name: name,
|
||||
folder_id: this.folder ? this.folder.id : undefined
|
||||
|
|
|
@ -2,33 +2,33 @@
|
|||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick={ parent.rename }>
|
||||
<p><i class="fa fa-i-cursor"></i>名前を変更</p>
|
||||
<p><i class="fa fa-i-cursor"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.rename%</p>
|
||||
</li>
|
||||
<li onclick={ parent.copyUrl }>
|
||||
<p><i class="fa fa-link"></i>URLをコピー</p>
|
||||
<p><i class="fa fa-link"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copy-url%</p>
|
||||
</li>
|
||||
<li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>ダウンロード</a></li>
|
||||
<li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.download%</a></li>
|
||||
<li class="separator"></li>
|
||||
<li onclick={ parent.delete }>
|
||||
<p><i class="fa fa-trash-o"></i>削除</p>
|
||||
<p><i class="fa fa-trash-o"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.delete%</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li class="has-child">
|
||||
<p>その他...<i class="fa fa-caret-right"></i></p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.else-files%<i class="fa fa-caret-right"></i></p>
|
||||
<ul>
|
||||
<li onclick={ parent.setAvatar }>
|
||||
<p>アバターに設定</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-avatar%</p>
|
||||
</li>
|
||||
<li onclick={ parent.setBanner }>
|
||||
<p>バナーに設定</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-banner%</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="has-child">
|
||||
<p>アプリで開く...<i class="fa fa-caret-right"></i></p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.open-in-app%...<i class="fa fa-caret-right"></i></p>
|
||||
<ul>
|
||||
<li onclick={ parent.addApp }>
|
||||
<p>アプリを追加...</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.add-app%...</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -61,7 +61,7 @@
|
|||
this.rename = () => {
|
||||
this.refs.ctx.close();
|
||||
|
||||
inputDialog('ファイル名の変更', '新しいファイル名を入力してください', this.file.name, name => {
|
||||
inputDialog('%i18n:desktop.tags.mk-drive-browser-file-contextmenu.rename-file%', '%i18n:desktop.tags.mk-drive-browser-file-contextmenu.input-new-file-name%', this.file.name, name => {
|
||||
this.api('drive/files/update', {
|
||||
file_id: this.file.id,
|
||||
name: name
|
||||
|
@ -72,9 +72,9 @@
|
|||
this.copyUrl = () => {
|
||||
copyToClipboard(this.file.url);
|
||||
this.refs.ctx.close();
|
||||
dialog('<i class="fa fa-check"></i>コピー完了',
|
||||
'ファイルのURLをクリップボードにコピーしました', [{
|
||||
text: 'わー'
|
||||
dialog('<i class="fa fa-check"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copied%',
|
||||
'%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copied-url-to-clipboard%', [{
|
||||
text: '%i18n:desktop.tags.mk-drive-browser-file-contextmenu.ok%'
|
||||
}]);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-drive-browser-file data-is-selected={ isSelected } data-is-contextmenu-showing={ isContextmenuShowing.toString() } onclick={ onclick } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }>
|
||||
<div class="label" if={ I.avatar_id == file.id }><img src="/assets/label.svg"/>
|
||||
<p>アバター</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file.avatar%</p>
|
||||
</div>
|
||||
<div class="label" if={ I.banner_id == file.id }><img src="/assets/label.svg"/>
|
||||
<p>バナー</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file.banner%</p>
|
||||
</div>
|
||||
<div class="label" if={ I.data.wallpaper == file.id }><img src="/assets/label.svg"/>
|
||||
<p>壁紙</p>
|
||||
<p>%i18n:desktop.tags.mk-drive-browser-file.wallpaper%</p>
|
||||
</div>
|
||||
<div class="thumbnail"><img src={ file.url + '?thumbnail&size=128' } alt=""/></div>
|
||||
<p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if={ file.name.lastIndexOf('.') != -1 }>{ file.name.substr(file.name.lastIndexOf('.')) }</span></p>
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick={ parent.move }>
|
||||
<p><i class="fa fa-arrow-right"></i>このフォルダへ移動</p>
|
||||
<p><i class="fa fa-arrow-right"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.move-to-this-folder%</p>
|
||||
</li>
|
||||
<li onclick={ parent.newWindow }>
|
||||
<p><i class="fa fa-share-square-o"></i>新しいウィンドウで表示</p>
|
||||
<p><i class="fa fa-share-square-o"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.show-in-new-window%</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li onclick={ parent.rename }>
|
||||
<p><i class="fa fa-i-cursor"></i>名前を変更</p>
|
||||
<p><i class="fa fa-i-cursor"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.rename%</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li onclick={ parent.delete }>
|
||||
<p><i class="fa fa-trash-o"></i>削除</p>
|
||||
<p><i class="fa fa-trash-o"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.delete%</p>
|
||||
</li>
|
||||
</ul>
|
||||
</mk-contextmenu>
|
||||
|
@ -52,7 +52,7 @@
|
|||
this.rename = () => {
|
||||
this.refs.ctx.close();
|
||||
|
||||
inputDialog('フォルダ名の変更', '新しいフォルダ名を入力してください', this.folder.name, name => {
|
||||
inputDialog('%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.rename-folder%', '%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.input-new-folder-name%', this.folder.name, name => {
|
||||
this.api('drive/folders/update', {
|
||||
folder_id: this.folder.id,
|
||||
name: name
|
||||
|
|
|
@ -145,13 +145,13 @@
|
|||
}).catch(err => {
|
||||
switch (err) {
|
||||
case 'detected-circular-definition':
|
||||
dialog('<i class="fa fa-exclamation-triangle"></i>操作を完了できません',
|
||||
'移動先のフォルダーは、移動するフォルダーのサブフォルダーです。', [{
|
||||
text: 'OK'
|
||||
dialog('<i class="fa fa-exclamation-triangle"></i>%i18n:desktop.tags.mk-drive-browser-folder.unable-to-process%',
|
||||
'%i18n:desktop.tags.mk-drive-browser-folder.circular-reference-detected%', [{
|
||||
text: '%i18n:desktop.tags.mk-drive-browser-folder.ok%'
|
||||
}]);
|
||||
break;
|
||||
default:
|
||||
alert('不明なエラー' + err);
|
||||
alert('%i18n:desktop.tags.mk-drive-browser-folder.unhandled-error% ' + err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? 'ドライブ' : folder.name }</span>
|
||||
<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? '%i18n:desktop.tags.mk-drive-browser-nav-folder.drive%' : folder.name }</span>
|
||||
<style>
|
||||
:scope
|
||||
&[data-draghover]
|
||||
|
|
Loading…
Reference in a new issue