This commit is contained in:
		
							parent
							
								
									1a80fdeaae
								
							
						
					
					
						commit
						03a35b3fd5
					
				
					 3 changed files with 139 additions and 123 deletions
				
			
		| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
<mk-drive>
 | 
					<mk-drive>
 | 
				
			||||||
	<nav ref="nav">
 | 
						<nav ref="nav">
 | 
				
			||||||
		<p onclick={ goRoot }>%fa:cloud%%i18n:mobile.tags.mk-drive.drive%</p>
 | 
							<a onclick={ goRoot } href="/i/drive">%fa:cloud%%i18n:mobile.tags.mk-drive.drive%</a>
 | 
				
			||||||
		<virtual each={ folder in hierarchyFolders }>
 | 
							<virtual each={ folder in hierarchyFolders }>
 | 
				
			||||||
			<span>%fa:angle-right%</span>
 | 
								<span>%fa:angle-right%</span>
 | 
				
			||||||
			<p onclick={ move }>{ folder.name }</p>
 | 
								<a onclick={ move } href="/i/drive/folder/{ folder.id }">{ folder.name }</a>
 | 
				
			||||||
		</virtual>
 | 
							</virtual>
 | 
				
			||||||
		<virtual if={ folder != null }>
 | 
							<virtual if={ folder != null }>
 | 
				
			||||||
			<span>%fa:angle-right%</span>
 | 
								<span>%fa:angle-right%</span>
 | 
				
			||||||
| 
						 | 
					@ -74,9 +74,12 @@
 | 
				
			||||||
				border-bottom solid 1px rgba(0, 0, 0, 0.13)
 | 
									border-bottom solid 1px rgba(0, 0, 0, 0.13)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				> p
 | 
									> p
 | 
				
			||||||
 | 
									> a
 | 
				
			||||||
					display inline
 | 
										display inline
 | 
				
			||||||
					margin 0
 | 
										margin 0
 | 
				
			||||||
					padding 0
 | 
										padding 0
 | 
				
			||||||
 | 
										text-decoration none !important
 | 
				
			||||||
 | 
										color inherit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					&:last-child
 | 
										&:last-child
 | 
				
			||||||
						font-weight bold
 | 
											font-weight bold
 | 
				
			||||||
| 
						 | 
					@ -246,6 +249,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.move = ev => {
 | 
							this.move = ev => {
 | 
				
			||||||
			this.cd(ev.item.folder);
 | 
								this.cd(ev.item.folder);
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.cd = (target, silent = false) => {
 | 
							this.cd = (target, silent = false) => {
 | 
				
			||||||
| 
						 | 
					@ -339,6 +343,8 @@
 | 
				
			||||||
				this.trigger('move-root');
 | 
									this.trigger('move-root');
 | 
				
			||||||
				this.fetch();
 | 
									this.fetch();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.fetch = () => {
 | 
							this.fetch = () => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,119 +1,123 @@
 | 
				
			||||||
<mk-drive-file onclick={ onclick } data-is-selected={ isSelected }>
 | 
					<mk-drive-file data-is-selected={ isSelected }>
 | 
				
			||||||
	<div class="container">
 | 
						<a onclick={ onclick } href="/i/drive/file/{ file.id }">
 | 
				
			||||||
		<div class="thumbnail" style={ 'background-image: url(' + file.url + '?thumbnail&size=128)' }></div>
 | 
							<div class="container">
 | 
				
			||||||
		<div class="body">
 | 
								<div class="thumbnail" style={ 'background-image: url(' + file.url + '?thumbnail&size=128)' }></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>
 | 
								<div class="body">
 | 
				
			||||||
			<!--
 | 
									<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>
 | 
				
			||||||
			if file.tags.length > 0
 | 
									<!--
 | 
				
			||||||
				ul.tags
 | 
									if file.tags.length > 0
 | 
				
			||||||
					each tag in file.tags
 | 
										ul.tags
 | 
				
			||||||
						li.tag(style={background: tag.color, color: contrast(tag.color)})= tag.name
 | 
											each tag in file.tags
 | 
				
			||||||
			-->
 | 
												li.tag(style={background: tag.color, color: contrast(tag.color)})= tag.name
 | 
				
			||||||
			<footer>
 | 
									-->
 | 
				
			||||||
				<p class="type"><mk-file-type-icon type={ file.type }/>{ file.type }</p>
 | 
									<footer>
 | 
				
			||||||
				<p class="separator"></p>
 | 
										<p class="type"><mk-file-type-icon type={ file.type }/>{ file.type }</p>
 | 
				
			||||||
				<p class="data-size">{ bytesToSize(file.datasize) }</p>
 | 
										<p class="separator"></p>
 | 
				
			||||||
				<p class="separator"></p>
 | 
										<p class="data-size">{ bytesToSize(file.datasize) }</p>
 | 
				
			||||||
				<p class="created-at">
 | 
										<p class="separator"></p>
 | 
				
			||||||
					%fa:R clock%<mk-time time={ file.created_at }/>
 | 
										<p class="created-at">
 | 
				
			||||||
				</p>
 | 
											%fa:R clock%<mk-time time={ file.created_at }/>
 | 
				
			||||||
			</footer>
 | 
										</p>
 | 
				
			||||||
 | 
									</footer>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
	</div>
 | 
						</a>
 | 
				
			||||||
	<style>
 | 
						<style>
 | 
				
			||||||
		:scope
 | 
							:scope
 | 
				
			||||||
			display block
 | 
								display block
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			&, *
 | 
								> a
 | 
				
			||||||
				user-select none
 | 
									display block
 | 
				
			||||||
 | 
									text-decoration none !important
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			*
 | 
									*
 | 
				
			||||||
				pointer-events none
 | 
										user-select none
 | 
				
			||||||
 | 
										pointer-events none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			> .container
 | 
									> .container
 | 
				
			||||||
				max-width 500px
 | 
										max-width 500px
 | 
				
			||||||
				margin 0 auto
 | 
										margin 0 auto
 | 
				
			||||||
				padding 16px
 | 
										padding 16px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				&:after
 | 
										&:after
 | 
				
			||||||
					content ""
 | 
											content ""
 | 
				
			||||||
					display block
 | 
					 | 
				
			||||||
					clear both
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				> .thumbnail
 | 
					 | 
				
			||||||
					display block
 | 
					 | 
				
			||||||
					float left
 | 
					 | 
				
			||||||
					width 64px
 | 
					 | 
				
			||||||
					height 64px
 | 
					 | 
				
			||||||
					background-size cover
 | 
					 | 
				
			||||||
					background-position center center
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				> .body
 | 
					 | 
				
			||||||
					display block
 | 
					 | 
				
			||||||
					float left
 | 
					 | 
				
			||||||
					width calc(100% - 74px)
 | 
					 | 
				
			||||||
					margin-left 10px
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
					> .name
 | 
					 | 
				
			||||||
						display block
 | 
											display block
 | 
				
			||||||
						margin 0
 | 
											clear both
 | 
				
			||||||
						padding 0
 | 
					 | 
				
			||||||
						font-size 0.9em
 | 
					 | 
				
			||||||
						font-weight bold
 | 
					 | 
				
			||||||
						color #555
 | 
					 | 
				
			||||||
						text-overflow ellipsis
 | 
					 | 
				
			||||||
						overflow-wrap break-word
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
						> .ext
 | 
										> .thumbnail
 | 
				
			||||||
							opacity 0.5
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
					> .tags
 | 
					 | 
				
			||||||
						display block
 | 
											display block
 | 
				
			||||||
						margin 4px 0 0 0
 | 
											float left
 | 
				
			||||||
						padding 0
 | 
											width 64px
 | 
				
			||||||
						list-style none
 | 
											height 64px
 | 
				
			||||||
						font-size 0.5em
 | 
											background-size cover
 | 
				
			||||||
 | 
											background-position center center
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						> .tag
 | 
										> .body
 | 
				
			||||||
							display inline-block
 | 
					 | 
				
			||||||
							margin 0 5px 0 0
 | 
					 | 
				
			||||||
							padding 1px 5px
 | 
					 | 
				
			||||||
							border-radius 2px
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
					> footer
 | 
					 | 
				
			||||||
						display block
 | 
											display block
 | 
				
			||||||
						margin 4px 0 0 0
 | 
											float left
 | 
				
			||||||
						font-size 0.7em
 | 
											width calc(100% - 74px)
 | 
				
			||||||
 | 
											margin-left 10px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						> .separator
 | 
											> .name
 | 
				
			||||||
							display inline
 | 
												display block
 | 
				
			||||||
							margin 0
 | 
					 | 
				
			||||||
							padding 0 4px
 | 
					 | 
				
			||||||
							color #CDCDCD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
						> .type
 | 
					 | 
				
			||||||
							display inline
 | 
					 | 
				
			||||||
							margin 0
 | 
												margin 0
 | 
				
			||||||
							padding 0
 | 
												padding 0
 | 
				
			||||||
							color #9D9D9D
 | 
												font-size 0.9em
 | 
				
			||||||
 | 
												font-weight bold
 | 
				
			||||||
 | 
												color #555
 | 
				
			||||||
 | 
												text-overflow ellipsis
 | 
				
			||||||
 | 
												overflow-wrap break-word
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							> mk-file-type-icon
 | 
												> .ext
 | 
				
			||||||
								margin-right 4px
 | 
													opacity 0.5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						> .data-size
 | 
											> .tags
 | 
				
			||||||
							display inline
 | 
												display block
 | 
				
			||||||
							margin 0
 | 
												margin 4px 0 0 0
 | 
				
			||||||
							padding 0
 | 
												padding 0
 | 
				
			||||||
							color #9D9D9D
 | 
												list-style none
 | 
				
			||||||
 | 
												font-size 0.5em
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						> .created-at
 | 
												> .tag
 | 
				
			||||||
							display inline
 | 
													display inline-block
 | 
				
			||||||
							margin 0
 | 
													margin 0 5px 0 0
 | 
				
			||||||
							padding 0
 | 
													padding 1px 5px
 | 
				
			||||||
							color #BDBDBD
 | 
													border-radius 2px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							> [data-fa]
 | 
											> footer
 | 
				
			||||||
								margin-right 2px
 | 
												display block
 | 
				
			||||||
 | 
												margin 4px 0 0 0
 | 
				
			||||||
 | 
												font-size 0.7em
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												> .separator
 | 
				
			||||||
 | 
													display inline
 | 
				
			||||||
 | 
													margin 0
 | 
				
			||||||
 | 
													padding 0 4px
 | 
				
			||||||
 | 
													color #CDCDCD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												> .type
 | 
				
			||||||
 | 
													display inline
 | 
				
			||||||
 | 
													margin 0
 | 
				
			||||||
 | 
													padding 0
 | 
				
			||||||
 | 
													color #9D9D9D
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
													> mk-file-type-icon
 | 
				
			||||||
 | 
														margin-right 4px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												> .data-size
 | 
				
			||||||
 | 
													display inline
 | 
				
			||||||
 | 
													margin 0
 | 
				
			||||||
 | 
													padding 0
 | 
				
			||||||
 | 
													color #9D9D9D
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												> .created-at
 | 
				
			||||||
 | 
													display inline
 | 
				
			||||||
 | 
													margin 0
 | 
				
			||||||
 | 
													padding 0
 | 
				
			||||||
 | 
													color #BDBDBD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
													> [data-fa]
 | 
				
			||||||
 | 
														margin-right 2px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			&[data-is-selected]
 | 
								&[data-is-selected]
 | 
				
			||||||
				background $theme-color
 | 
									background $theme-color
 | 
				
			||||||
| 
						 | 
					@ -136,6 +140,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.onclick = () => {
 | 
							this.onclick = () => {
 | 
				
			||||||
			this.browser.chooseFile(this.file);
 | 
								this.browser.chooseFile(this.file);
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	</script>
 | 
						</script>
 | 
				
			||||||
</mk-drive-file>
 | 
					</mk-drive-file>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,39 +1,43 @@
 | 
				
			||||||
<mk-drive-folder onclick={ onclick }>
 | 
					<mk-drive-folder onclick={ onclick }>
 | 
				
			||||||
	<div class="container">
 | 
						<a onclick={ onclick } href="/i/drive/folder/{ folder.id }">
 | 
				
			||||||
		<p class="name">%fa:folder%{ folder.name }</p>%fa:angle-right%
 | 
							<div class="container">
 | 
				
			||||||
	</div>
 | 
								<p class="name">%fa:folder%{ folder.name }</p>%fa:angle-right%
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
						</a>
 | 
				
			||||||
	<style>
 | 
						<style>
 | 
				
			||||||
		:scope
 | 
							:scope
 | 
				
			||||||
			display block
 | 
								display block
 | 
				
			||||||
			color #777
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
			&, *
 | 
								> a
 | 
				
			||||||
				user-select none
 | 
									display block
 | 
				
			||||||
 | 
									color #777
 | 
				
			||||||
 | 
									text-decoration none !important
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			*
 | 
									*
 | 
				
			||||||
				pointer-events none
 | 
										user-select none
 | 
				
			||||||
 | 
										pointer-events none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			> .container
 | 
									> .container
 | 
				
			||||||
				max-width 500px
 | 
										max-width 500px
 | 
				
			||||||
				margin 0 auto
 | 
										margin 0 auto
 | 
				
			||||||
				padding 16px
 | 
										padding 16px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				> .name
 | 
										> .name
 | 
				
			||||||
					display block
 | 
											display block
 | 
				
			||||||
					margin 0
 | 
											margin 0
 | 
				
			||||||
					padding 0
 | 
											padding 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											> [data-fa]
 | 
				
			||||||
 | 
												margin-right 6px
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					> [data-fa]
 | 
										> [data-fa]
 | 
				
			||||||
						margin-right 6px
 | 
											position absolute
 | 
				
			||||||
 | 
											top 0
 | 
				
			||||||
				> [data-fa]
 | 
											bottom 0
 | 
				
			||||||
					position absolute
 | 
											right 8px
 | 
				
			||||||
					top 0
 | 
											margin auto 0 auto 0
 | 
				
			||||||
					bottom 0
 | 
											width 1em
 | 
				
			||||||
					right 8px
 | 
											height 1em
 | 
				
			||||||
					margin auto 0 auto 0
 | 
					 | 
				
			||||||
					width 1em
 | 
					 | 
				
			||||||
					height 1em
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	</style>
 | 
						</style>
 | 
				
			||||||
	<script>
 | 
						<script>
 | 
				
			||||||
| 
						 | 
					@ -42,6 +46,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		this.onclick = () => {
 | 
							this.onclick = () => {
 | 
				
			||||||
			this.browser.cd(this.folder);
 | 
								this.browser.cd(this.folder);
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	</script>
 | 
						</script>
 | 
				
			||||||
</mk-drive-folder>
 | 
					</mk-drive-folder>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue