brench merge

This commit is contained in:
Milos Holba
2020-12-19 15:18:58 +01:00
18 changed files with 373 additions and 219 deletions

File diff suppressed because one or more lines are too long

2
public/js/main.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -30,7 +30,7 @@
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=48efd0b887fbc804ac90",
"/chunks/files.js": "/chunks/files.js?id=2a3e5515b8cba5885197",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=b646ec02fb9d6a497e74",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=40f7ece1d6dd0f35d6a7",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=86d198bf2e0d631f0721",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=47ade53389e84dd64310",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=d5e39543eeb619cb5513",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=f037ea11689d01ea489e",
@@ -145,5 +145,64 @@
"/chunks/files~chunks/shared-files~chunks/shared-page.6e51b5e6c0c5c6240420.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6e51b5e6c0c5c6240420.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.61ad074087ad1bb101e7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.61ad074087ad1bb101e7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.19a72481ebb4deb34abe.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.19a72481ebb4deb34abe.hot-update.js",
"/js/main.55e9779b8e5c9eba6696.hot-update.js": "/js/main.55e9779b8e5c9eba6696.hot-update.js"
"/js/main.55e9779b8e5c9eba6696.hot-update.js": "/js/main.55e9779b8e5c9eba6696.hot-update.js",
"/js/main.e0cdf442a7cda23bb9e4.hot-update.js": "/js/main.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/admin-account.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/admin-account.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~d2cb3d90.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~d2cb3d90.js?id=6c515836c5b3424f03ae",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/app-setup.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/app-setup.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/billings-detail.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/billings-detail.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/database.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/database.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/environment-setup.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/environment-setup.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/installation-disclaimer.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/installation-disclaimer.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/plan-create.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/plan-create.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/settings.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/settings.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/settings-password.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/settings-password.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=fe38d5867a7ac74ee3e8",
"/chunks/shared-page.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/shared-page.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/stripe-credentials.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/stripe-credentials.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/subscription-plans.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/subscription-plans.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/upgrade.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/upgrade.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/upgrade-billing.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/upgrade-billing.e0cdf442a7cda23bb9e4.hot-update.js",
"/chunks/user-create.e0cdf442a7cda23bb9e4.hot-update.js": "/chunks/user-create.e0cdf442a7cda23bb9e4.hot-update.js",
"/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~7cb57da0.js": "/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~7cb57da0.js?id=c03bcd3d2c0cbd1d87aa",
"/js/main.09975a82bccf1fd9e41d.hot-update.js": "/js/main.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/admin-account.09975a82bccf1fd9e41d.hot-update.js": "/chunks/admin-account.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-index.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-index.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-others.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-others.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-payments.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-payments.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/app-setup.09975a82bccf1fd9e41d.hot-update.js": "/chunks/app-setup.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/dashboard.09975a82bccf1fd9e41d.hot-update.js": "/chunks/dashboard.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/files~chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js": "/chunks/files~chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/installation-disclaimer.09975a82bccf1fd9e41d.hot-update.js": "/chunks/installation-disclaimer.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/invoices.09975a82bccf1fd9e41d.hot-update.js": "/chunks/invoices.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/landing-page.09975a82bccf1fd9e41d.hot-update.js": "/chunks/landing-page.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/page-edit.09975a82bccf1fd9e41d.hot-update.js": "/chunks/page-edit.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/pages.09975a82bccf1fd9e41d.hot-update.js": "/chunks/pages.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/plan.09975a82bccf1fd9e41d.hot-update.js": "/chunks/plan.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/plan-create.09975a82bccf1fd9e41d.hot-update.js": "/chunks/plan-create.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/plan-delete.09975a82bccf1fd9e41d.hot-update.js": "/chunks/plan-delete.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/plan-settings.09975a82bccf1fd9e41d.hot-update.js": "/chunks/plan-settings.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/plans.09975a82bccf1fd9e41d.hot-update.js": "/chunks/plans.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/profile.09975a82bccf1fd9e41d.hot-update.js": "/chunks/profile.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/settings.09975a82bccf1fd9e41d.hot-update.js": "/chunks/settings.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/settings-create-payment-methods.09975a82bccf1fd9e41d.hot-update.js": "/chunks/settings-create-payment-methods.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/settings-password.09975a82bccf1fd9e41d.hot-update.js": "/chunks/settings-password.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/settings-subscription.09975a82bccf1fd9e41d.hot-update.js": "/chunks/settings-subscription.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js": "/chunks/shared-page.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/subscription-plans.09975a82bccf1fd9e41d.hot-update.js": "/chunks/subscription-plans.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/upgrade.09975a82bccf1fd9e41d.hot-update.js": "/chunks/upgrade.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/upgrade-billing~chunks/upgrade-plan.09975a82bccf1fd9e41d.hot-update.js": "/chunks/upgrade-billing~chunks/upgrade-plan.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user-create.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user-create.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user-delete.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user-delete.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user-password.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user-password.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user-storage.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user-storage.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/user-subscription.09975a82bccf1fd9e41d.hot-update.js": "/chunks/user-subscription.09975a82bccf1fd9e41d.hot-update.js",
"/chunks/users.09975a82bccf1fd9e41d.hot-update.js": "/chunks/users.09975a82bccf1fd9e41d.hot-update.js",
"/js/main.b95a2d8d2d7b644bfb25.hot-update.js": "/js/main.b95a2d8d2d7b644bfb25.hot-update.js"
}

View File

@@ -7,13 +7,13 @@
<div id="application-wrapper" v-if="! isGuestLayout">
<!-- Full File Preview -->
<FileFullPreview />
<FileFullPreview/>
<!--Mobile Navigation-->
<MobileNavigation />
<MobileNavigation/>
<!--Confirm Popup-->
<Confirm />
<Confirm/>
<!--Share Item setup-->
<ShareCreate/>
@@ -22,6 +22,9 @@
<!--Rename folder or file item-->
<RenameItem/>
<!--Create folder in mobile version-->
<CreateFolder/>
<!--Move item setup-->
<MoveItem/>
@@ -51,7 +54,7 @@
<router-view v-if="isGuestLayout"/>
<CookieDisclaimer />
<CookieDisclaimer/>
<!--Background vignette-->
<Vignette/>
@@ -59,187 +62,185 @@
</template>
<script>
import MobileSortingAndPreview from '@/components/FilesView/MobileSortingAndPreview'
import MobileMultiSelectMenu from '@/components/FilesView/MobileMultiSelectMenu'
import ToastrWrapper from '@/components/Others/Notifications/ToastrWrapper'
import FileFullPreview from '@/components/FilesView/FileFullPreview'
import MobileNavigation from '@/components/Others/MobileNavigation'
import CookieDisclaimer from '@/components/Others/CookieDisclaimer'
import DragUI from '@/components/FilesView/DragUI'
import MobileMenu from '@/components/FilesView/MobileMenu'
import ShareCreate from '@/components/Others/ShareCreate'
import Confirm from '@/components/Others/Popup/Confirm'
import RenameItem from '@/components/Others/RenameItem'
import ShareEdit from '@/components/Others/ShareEdit'
import MoveItem from '@/components/Others/MoveItem'
import Vignette from '@/components/Others/Vignette'
import MenuBar from '@/components/Sidebar/MenuBar'
import Alert from '@/components/FilesView/Alert'
import {includes} from 'lodash'
import {mapGetters} from 'vuex'
import {events} from "./bus"
import MobileSortingAndPreview from '@/components/FilesView/MobileSortingAndPreview'
import MobileMultiSelectMenu from '@/components/FilesView/MobileMultiSelectMenu'
import ToastrWrapper from '@/components/Others/Notifications/ToastrWrapper'
import FileFullPreview from '@/components/FilesView/FileFullPreview'
import MobileNavigation from '@/components/Others/MobileNavigation'
import CookieDisclaimer from '@/components/Others/CookieDisclaimer'
import CreateFolder from '@/components/Others/CreateFolder'
import MobileMenu from '@/components/FilesView/MobileMenu'
import ShareCreate from '@/components/Others/ShareCreate'
import Confirm from '@/components/Others/Popup/Confirm'
import RenameItem from '@/components/Others/RenameItem'
import ShareEdit from '@/components/Others/ShareEdit'
import MoveItem from '@/components/Others/MoveItem'
import Vignette from '@/components/Others/Vignette'
import DragUI from '@/components/FilesView/DragUI'
import MenuBar from '@/components/Sidebar/MenuBar'
import Alert from '@/components/FilesView/Alert'
import { includes } from 'lodash'
import { mapGetters } from 'vuex'
import { events } from './bus'
export default {
name: 'app',
components: {
MobileSortingAndPreview,
MobileMultiSelectMenu,
MobileNavigation,
CookieDisclaimer,
FileFullPreview,
DragUI,
ToastrWrapper,
ShareCreate,
RenameItem,
MobileMenu,
ShareEdit,
MoveItem,
Vignette,
Confirm,
MenuBar,
Alert,
},
computed: {
...mapGetters([
'isLogged', 'isGuest', 'config'
]),
isGuestLayout() {
return (includes([
'InstallationDisclaimer',
'SubscriptionService',
'StripeCredentials',
'SubscriptionPlans',
'ForgottenPassword',
'CreateNewPassword',
'EnvironmentSetup',
'VerifyByPassword',
'SaaSLandingPage',
'BillingsDetail',
'NotFoundShared',
'AdminAccount',
'PurchaseCode',
'DynamicPage',
'SharedPage',
'ContactUs',
'AppSetup',
'Database',
'Upgrade',
'SignIn',
'SignUp',
], this.$route.name)
)
}
},
data() {
return {
isScaledDown: false,
}
},
methods: {
unClick () {
events.$emit('unClick')
}
},
beforeMount() {
// Store config to vuex
this.$store.commit('INIT', {
authCookie: this.$root.$data.config.hasAuthCookie,
config: this.$root.$data.config,
rootDirectory: {
name: this.$t('locations.home'),
location: 'base',
unique_id: 0,
}
})
// Get installation state
let installation = this.$root.$data.config.installation
// Redirect to database verify code
if ( installation === 'setup-database') {
this.$router.push({name: 'PurchaseCode'})
}
// Redirect to starting installation process
if ( installation === 'setup-disclaimer' ) {
this.$router.push({name: 'InstallationDisclaimer'})
}
},
mounted() {
this.$checkOS()
// Handle mobile navigation scale animation
events.$on('show:mobile-navigation', () => this.isScaledDown = true)
events.$on('hide:mobile-navigation', () => this.isScaledDown = false)
events.$on('mobileMenu:show', () => this.isScaledDown = true)
events.$on('fileItem:deselect', () => this.isScaledDown = false)
events.$on('mobileSortingAndPreview', (state) => {
this.isScaledDown = state
})
export default {
name: 'app',
components: {
MobileSortingAndPreview,
MobileMultiSelectMenu,
MobileNavigation,
CookieDisclaimer,
FileFullPreview,
ToastrWrapper,
CreateFolder,
ShareCreate,
MobileMenu,
RenameItem,
ShareEdit,
MoveItem,
Vignette,
Confirm,
MenuBar,
DragUI,
Alert
},
computed: {
...mapGetters([
'isLogged', 'isGuest', 'config'
]),
isGuestLayout() {
return (includes([
'InstallationDisclaimer',
'SubscriptionService',
'StripeCredentials',
'SubscriptionPlans',
'ForgottenPassword',
'CreateNewPassword',
'EnvironmentSetup',
'VerifyByPassword',
'SaaSLandingPage',
'BillingsDetail',
'NotFoundShared',
'AdminAccount',
'PurchaseCode',
'DynamicPage',
'SharedPage',
'ContactUs',
'AppSetup',
'Database',
'Upgrade',
'SignIn',
'SignUp'
], this.$route.name)
)
}
},
data() {
return {
isScaledDown: false
}
},
methods: {
unClick() {
events.$emit('unClick')
}
},
beforeMount() {
// Store config to vuex
this.$store.commit('INIT', {
authCookie: this.$root.$data.config.hasAuthCookie,
config: this.$root.$data.config,
rootDirectory: {
name: this.$t('locations.home'),
location: 'base',
unique_id: 0
}
})
// Get installation state
let installation = this.$root.$data.config.installation
// Redirect to database verify code
if (installation === 'setup-database')
this.$router.push({ name: 'PurchaseCode' })
// Redirect to starting installation process
if (installation === 'setup-disclaimer')
this.$router.push({ name: 'InstallationDisclaimer' })
},
mounted() {
this.$checkOS()
// Handle mobile navigation scale animation
events.$on('show:mobile-navigation', () => this.isScaledDown = true)
events.$on('hide:mobile-navigation', () => this.isScaledDown = false)
events.$on('mobileMenu:show', () => this.isScaledDown = true)
events.$on('fileItem:deselect', () => this.isScaledDown = false)
events.$on('mobileSortingAndPreview', state => this.isScaledDown = state)
}
}
</script>
<style lang="scss">
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700;800;900&display=swap');
@import '@assets/vue-file-manager/_variables';
@import '@assets/vue-file-manager/_mixins';
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700;800;900&display=swap');
@import '@assets/vue-file-manager/_variables';
@import '@assets/vue-file-manager/_mixins';
[v-cloak],
[v-cloak] > * {
display: none
[v-cloak],
[v-cloak] > * {
display: none
}
* {
outline: 0;
margin: 0;
padding: 0;
font-family: 'Nunito', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
box-sizing: border-box;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
font-size: 16px;
text-decoration: none;
color: $text;
}
#auth {
width: 100%;
height: 100%;
}
#vue-file-manager {
position: absolute;
width: 100%;
height: 100%;
overflow-y: auto;
scroll-behavior: smooth;
}
@media only screen and (max-width: 690px) {
.is-scaled-down {
@include transform(scale(0.95));
}
}
// Dark mode support
@media (prefers-color-scheme: dark) {
* {
outline: 0;
margin: 0;
padding: 0;
font-family: 'Nunito', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
box-sizing: border-box;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
font-size: 16px;
text-decoration: none;
color: $text;
color: $dark_mode_text_primary;
}
#auth {
width: 100%;
height: 100%;
}
body, html {
background: $dark_mode_background;
color: $dark_mode_text_primary;
#vue-file-manager {
position: absolute;
width: 100%;
height: 100%;
overflow-y: auto;
scroll-behavior:smooth;
}
@media only screen and (max-width: 690px) {
.is-scaled-down {
@include transform(scale(0.95));
}
}
// Dark mode support
@media (prefers-color-scheme: dark) {
* {
color: $dark_mode_text_primary;
}
body, html {
background: $dark_mode_background;
color: $dark_mode_text_primary;
img {
opacity: .95;
}
img {
opacity: .95;
}
}
}
</style>

View File

@@ -3,6 +3,14 @@
<!-- ContextMenu for File Preview -->
<div class="menu-options" id="menu-list" v-if="showFromPreview">
<ul class="menu-option-group">
<li class="menu-option" @click="renameItem" v-if="multiSelectContextMenu">
<div class="icon">
<edit2-icon size="17"></edit2-icon>
</div>
<div class="text-label">
{{ $t('context_menu.rename') }}
</div>
</li>
<li class="menu-option" @click="moveItem">
<div class="icon">
<corner-down-right-icon size="17"></corner-down-right-icon>
@@ -475,8 +483,7 @@ export default {
}
},
createFolder() {
// Create folder
this.$createFolder(this.$t('popup_create_folder.folder_default_name'))
this.$store.dispatch('createFolder', this.$t('popup_create_folder.folder_default_name'))
},
closeAndResetContextMenu() {
// Close context menu

View File

@@ -183,7 +183,7 @@ export default {
this.$store.dispatch('deleteItem')
},
createFolder() {
this.$createFolder()
this.$store.dispatch('createFolder', this.$t('popup_create_folder.folder_default_name'))
},
moveItem() {
if(this.fileInfoDetail.length > 0)

View File

@@ -172,7 +172,7 @@ export default {
align-items: center;
.file-shadow {
box-shadow: 0 8px 40px rgba(17, 26, 52, 0.15);
box-shadow: 0 8px 40px rgba(17, 26, 52, 0.05);
}
.file {
@@ -228,7 +228,7 @@ export default {
background-color: $dark_mode_background;
.file-wrapper {
.file-shadow {
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.1);
}
}
}

View File

@@ -85,7 +85,8 @@
events.$emit('mobileSelecting:stop')
}
},
mobileSortingAndPreview (oldValue , newValue) {
mobileSortingAndPreview () {
// TODO: co to
if(this.mobileSortingAndPreview) {
events.$emit('mobileSortingAndPreview' , true)
events.$emit('mobileSortingAndPreviewVignette' , true)
@@ -100,16 +101,7 @@
},
methods: {
createFolder() {
if (this.$isMobile()) {
// Get folder name
let folderName = prompt(this.$t('popup_create_folder.title'))
// Create folder
if (folderName) this.$createFolder(folderName)
} else {
// Create folder
this.$createFolder(this.$t('popup_create_folder.folder_default_name'))
}
events.$emit('popup:open', {name: 'create-folder'})
},
},
mounted () {
@@ -120,8 +112,6 @@
events.$on('mobileSortingAndPreview', (state) => {
this.mobileSortingAndPreview = state
})
}
}
</script>

View File

@@ -8,7 +8,7 @@
<ToolbarButton class="action-btn" v-if="!$isThisLocation(['shared'])" source="download" :class="{'is-inactive': canDownloadItems}" :action="$t('actions.delete')" @click.native="downloadItem"/>
<ToolbarButton class="action-btn" source="shared-off" @click.native="shareCancel" v-if="$isThisLocation(['shared'])"/>
<ToolbarButton class="action-btn close-icon" source="close" :action="$t('actions.close')" @click.native="closeSelecting"/>
</div>
</transition>

View File

@@ -84,11 +84,12 @@ export default {
this.filter.field = field
console.log(this.filter);
// Set sorting direction
if (this.filter.sort === 'DESC')
this.filter.sort = 'ASC'
if (this.filter.sort === 'ASC')
else if (this.filter.sort === 'ASC')
this.filter.sort = 'DESC'
// Save to localStorage sorting options

View File

@@ -0,0 +1,95 @@
<template>
<PopupWrapper name="create-folder">
<!--Title-->
<PopupHeader :title="$t('popup_create_folder.title')" icon="edit" />
<!--Content-->
<PopupContent>
<!--Form to set sharing-->
<ValidationObserver @submit.prevent="createFolder" ref="createForm" v-slot="{ invalid }" tag="form" class="form-wrapper">
<!--Set password-->
<ValidationProvider tag="div" mode="passive" class="input-wrapper password" name="Title" rules="required" v-slot="{ errors }">
<label class="input-label">{{ $t('popup_create_folder.label') }}:</label>
<input v-model="name" :class="{'is-error': errors[0]}" type="text" :placeholder="$t('popup_create_folder.placeholder')">
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
</ValidationProvider>
</ValidationObserver>
</PopupContent>
<!--Actions-->
<PopupActions>
<ButtonBase
class="popup-button"
@click.native="$closePopup()"
button-style="secondary"
>{{ $t('popup_move_item.cancel') }}
</ButtonBase>
<ButtonBase
class="popup-button"
@click.native="createFolder"
button-style="theme"
>{{ $t('popup_create_folder.title') }}
</ButtonBase>
</PopupActions>
</PopupWrapper>
</template>
<script>
import {ValidationProvider, ValidationObserver} from 'vee-validate/dist/vee-validate.full'
import PopupWrapper from '@/components/Others/Popup/PopupWrapper'
import PopupActions from '@/components/Others/Popup/PopupActions'
import PopupContent from '@/components/Others/Popup/PopupContent'
import PopupHeader from '@/components/Others/Popup/PopupHeader'
import ThumbnailItem from '@/components/Others/ThumbnailItem'
import ActionButton from '@/components/Others/ActionButton'
import ButtonBase from '@/components/FilesView/ButtonBase'
import {required} from 'vee-validate/dist/rules'
import {events} from '@/bus'
import axios from 'axios'
export default {
name: 'CreateFolder',
components: {
ValidationProvider,
ValidationObserver,
ThumbnailItem,
ActionButton,
PopupWrapper,
PopupActions,
PopupContent,
PopupHeader,
ButtonBase,
required,
},
data() {
return {
name: undefined,
}
},
methods: {
async createFolder() {
// Validate fields
const isValid = await this.$refs.createForm.validate();
if (isValid) {
this.$store.dispatch('createFolder', this.name)
this.$closePopup()
}
},
},
}
</script>
<style scoped lang="scss">
@import "@assets/vue-file-manager/_inapp-forms.scss";
@import '@assets/vue-file-manager/_forms';
.item-thumbnail {
margin-bottom: 20px;
}
</style>

View File

@@ -13,7 +13,7 @@
<ValidationObserver @submit.prevent="changeName" ref="renameForm" v-slot="{ invalid }" tag="form" class="form-wrapper">
<!--Set password-->
<ValidationProvider tag="div" mode="passive" class="input-wrapper password" name="Password" rules="required" v-slot="{ errors }">
<ValidationProvider tag="div" mode="passive" class="input-wrapper password" name="Name" rules="required" v-slot="{ errors }">
<label class="input-label">{{ $t('popup_rename.label') }}:</label>
<input v-model="pickedItem.name" :class="{'is-error': errors[0]}" type="text" :placeholder="$t('popup_rename.placeholder')">
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
@@ -106,15 +106,6 @@
// Store picked item
this.pickedItem = args.item
})
// Close popup
events.$on('popup:close', () => {
// Restore data
setTimeout(() => {
//
}, 150)
})
}
}
</script>

View File

@@ -72,10 +72,6 @@ const Helpers = {
win.focus()
}
Vue.prototype.$createFolder = function(folderName) {
this.$store.dispatch('createFolder', folderName)
}
Vue.prototype.$handleUploading = async function(files, parent_id) {
let fileBuffer = []

View File

@@ -517,8 +517,10 @@
"message": "File of this type ({mimetype}) is not allowed to upload."
},
"popup_create_folder": {
"folder_default_name": "新文件夹",
"title": "请填入新文件夹名称"
"folder_default_name": "New Folder",
"title": "Create Folder",
"label": "Type Name",
"placeholder": "Type your name"
},
"popup_delete_card": {
"message": "此事件不可逆转,您的付款卡将被永久删除",

View File

@@ -518,10 +518,6 @@
"title": "Oh No",
"message": "File of this type ({mimetype}) is not allowed to upload."
},
"popup_create_folder": {
"folder_default_name": "New Folder",
"title": "Please enter your new folder name"
},
"popup_delete_card": {
"message": "This event is irreversible and your payment card will be delete forever",
"title": "Are you sure?"
@@ -568,6 +564,12 @@
"label": "Edit Name",
"placeholder": "Type your title"
},
"popup_create_folder": {
"folder_default_name": "New Folder",
"title": "Create Folder",
"label": "Type Name",
"placeholder": "Type your name"
},
"popup_set_card": {
"message": "Your card will be set as default and will be always charged for the next billings.",
"title": "Set as default card?"

View File

@@ -520,7 +520,9 @@
},
"popup_create_folder": {
"folder_default_name": "Nový priečinok",
"title": "Prosím, vložte názov nového priečinka"
"title": "Vytvoriť priečinok",
"label": "Napíš meno",
"placeholder": "Prosím, vložte názov nového priečinka"
},
"popup_delete_card": {
"message": "Táto udalosť je nezvratná a vaša platobná karta bude navždy odstránená",

View File

@@ -64,8 +64,10 @@ const actions = {
commit('REMOVE_ITEM', item.unique_id)
commit('INCREASE_FOLDER_ITEM', to_item.unique_id)
if (item.type === 'folder' && getters.currentFolder.location !== 'public')
if (item.type === 'folder')
dispatch('getAppData')
if ( getters.currentFolder.location === 'public')
dispatch('getFolderTree')
})
})
.catch(() => Vue.prototype.$isSomethingWrong())

6
webpack.mix.js vendored
View File

@@ -26,6 +26,12 @@ mix.js('resources/js/main.js', 'public/js')
chunkFilename: '[name].js?id=[chunkhash]',
}
})
/*.options({
hmrOptions: {
host: '192.168.1.198',
port: '8080'
},
}*/
.disableNotifications();
if (mix.inProduction()) {