- code review

- frontend build
This commit is contained in:
Peter Papp
2020-12-12 10:31:22 +01:00
parent e9d2f4bacc
commit c7abcce729
72 changed files with 953 additions and 388 deletions

View File

@@ -150,13 +150,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -316,13 +318,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -482,13 +486,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -648,13 +654,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -814,13 +822,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -980,13 +990,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -1146,13 +1158,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -1312,13 +1326,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -1478,13 +1494,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -1644,13 +1662,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,
@@ -1810,13 +1830,15 @@ namespace PHPSTORM_META {
'hash.driver' => \Illuminate\Hashing\BcryptHasher::class,
'image' => \Intervention\Image\ImageManager::class,
'log' => \Illuminate\Log\LogManager::class,
'madzipper' => \Madnest\Madzipper\Madzipper::class,
'mail.manager' => \Illuminate\Mail\MailManager::class,
'mailer' => \Illuminate\Mail\Mailer::class,
'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class,
'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class,
'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class,
'migrator' => \Illuminate\Database\Migrations\Migrator::class,
'queue' => \Illuminate\Queue\QueueManager::class,
'queue.connection' => \Illuminate\Queue\SyncQueue::class,
'queue.connection' => \Illuminate\Queue\DatabaseQueue::class,
'queue.failer' => \Illuminate\Queue\Failed\DatabaseFailedJobProvider::class,
'queue.listener' => \Illuminate\Queue\Listener::class,
'queue.worker' => \Illuminate\Queue\Worker::class,

View File

@@ -7525,6 +7525,57 @@
{
/** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */
return $instance->setConnectionName($name);
}
/**
* Release a reserved job back onto the queue.
*
* @param string $queue
* @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job
* @param int $delay
* @return mixed
* @static
*/
public static function release($queue, $job, $delay)
{
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->release($queue, $job, $delay);
}
/**
* Delete a reserved job from the queue.
*
* @param string $queue
* @param string $id
* @return void
* @throws \Throwable
* @static
*/
public static function deleteReserved($queue, $id)
{
/** @var \Illuminate\Queue\DatabaseQueue $instance */
$instance->deleteReserved($queue, $id);
}
/**
* Get the queue or return the default.
*
* @param string|null $queue
* @return string
* @static
*/
public static function getQueue($queue)
{
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getQueue($queue);
}
/**
* Get the underlying database instance.
*
* @return \Illuminate\Database\Connection
* @static
*/
public static function getDatabase()
{
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getDatabase();
}
/**
* Get the retry delay for an object-based queue handler.
@@ -7535,7 +7586,7 @@
*/
public static function getJobRetryDelay($job)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\SyncQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getJobRetryDelay($job);
}
/**
@@ -7547,7 +7598,7 @@
*/
public static function getJobExpiration($job)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\SyncQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getJobExpiration($job);
}
/**
@@ -7559,7 +7610,7 @@
*/
public static function createPayloadUsing($callback)
{ //Method inherited from \Illuminate\Queue\Queue
\Illuminate\Queue\SyncQueue::createPayloadUsing($callback);
\Illuminate\Queue\DatabaseQueue::createPayloadUsing($callback);
}
/**
* Set the IoC container instance.
@@ -7570,7 +7621,7 @@
*/
public static function setContainer($container)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\SyncQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
$instance->setContainer($container);
}
@@ -14446,6 +14497,324 @@
}
}
namespace Madnest\Madzipper\Facades {
/**
*
*
*/
class Madzipper {
/**
* Create a new zip Archive if the file does not exists
* opens a zip archive if the file exists
*
* @param $pathToFile string The file to open
* @param \Madnest\Madzipper\RepositoryInterface|string $type The type of the archive, defaults to zip, possible are zip, phar
* @throws \RuntimeException
* @throws \Exception
* @throws \InvalidArgumentException
* @return \Madnest\Madzipper\Madzipper Madzipper instance
* @static
*/
public static function make($pathToFile, $type = 'zip')
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->make($pathToFile, $type);
}
/**
* Create a new zip archive or open an existing one
*
* @param $pathToFile
* @throws \Exception
* @return \Madnest\Madzipper\Madzipper
* @static
*/
public static function zip($pathToFile)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->zip($pathToFile);
}
/**
* Create a new phar file or open one
*
* @param $pathToFile
* @throws \Exception
* @return \Madnest\Madzipper\Madzipper
* @static
*/
public static function phar($pathToFile)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->phar($pathToFile);
}
/**
* Create a new rar file or open one
*
* @param $pathToFile
* @throws \Exception
* @return \Madnest\Madzipper\Madzipper
* @static
*/
public static function rar($pathToFile)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->rar($pathToFile);
}
/**
* Extracts the opened zip archive to the specified location <br/>
* you can provide an array of files and folders and define if they should be a white list
* or a black list to extract. By default this method compares file names using "string starts with" logic
*
* @param $path string The path to extract to
* @param array $files An array of files
* @param int $methodFlags The Method the files should be treated
* @throws \Exception
* @static
*/
public static function extractTo($path, $files = [], $methodFlags = 2)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->extractTo($path, $files, $methodFlags);
}
/**
* Extracts matching files/folders from the opened zip archive to the specified location.
*
* @param string $extractToPath The path to extract to
* @param string $regex regular expression used to match files. See @link http://php.net/manual/en/reference.pcre.pattern.syntax.php
* @throws \InvalidArgumentException
* @throws \RuntimeException
* @static
*/
public static function extractMatchingRegex($extractToPath, $regex)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->extractMatchingRegex($extractToPath, $regex);
}
/**
* Gets the content of a single file if available
*
* @param $filePath string The full path (including all folders) of the file in the zip
* @throws \Exception
* @return mixed returns the content or throws an exception
* @static
*/
public static function getFileContent($filePath)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getFileContent($filePath);
}
/**
* Add one or multiple files to the zip.
*
* @param $pathToAdd array|string An array or string of files and folders to add
* @param null|mixed $fileName
* @return \Madnest\Madzipper\Madzipper Madzipper instance
* @static
*/
public static function add($pathToAdd, $fileName = null)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->add($pathToAdd, $fileName);
}
/**
* Add an empty directory
*
* @param $dirName
* @return \Madzipper
* @static
*/
public static function addEmptyDir($dirName)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->addEmptyDir($dirName);
}
/**
* Add a file to the zip using its contents
*
* @param $filename string The name of the file to create
* @param $content string The file contents
* @return \Madnest\Madzipper\Madzipper Madzipper instance
* @static
*/
public static function addString($filename, $content)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->addString($filename, $content);
}
/**
* Gets the status of the zip.
*
* @return int The status of the internal zip file
* @static
*/
public static function getStatus()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getStatus();
}
/**
* Remove a file or array of files and folders from the zip archive
*
* @param $fileToRemove array|string The path/array to the files in the zip
* @return \Madnest\Madzipper\Madzipper Madzipper instance
* @static
*/
public static function remove($fileToRemove)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->remove($fileToRemove);
}
/**
* Returns the path of the current zip file if there is one.
*
* @return string The path to the file
* @static
*/
public static function getFilePath()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getFilePath();
}
/**
* Sets the password to be used for decompressing
*
* @param $password
* @return bool
* @static
*/
public static function usePassword($password)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->usePassword($password);
}
/**
* Closes the zip file and frees all handles
*
* @static
*/
public static function close()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->close();
}
/**
* Sets the internal folder to the given path.<br/>
* Useful for extracting only a segment of a zip file.
*
* @param $path
* @return \Madnest\Madzipper\Madzipper
* @static
*/
public static function folder($path)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->folder($path);
}
/**
* Resets the internal folder to the root of the zip file.
*
* @return \Madnest\Madzipper\Madzipper
* @static
*/
public static function home()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->home();
}
/**
* Deletes the archive file
*
* @static
*/
public static function delete()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->delete();
}
/**
* Get the type of the Archive
*
* @return string
* @static
*/
public static function getArchiveType()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getArchiveType();
}
/**
* Get the current internal folder pointer
*
* @return string
* @static
*/
public static function getCurrentFolderPath()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getCurrentFolderPath();
}
/**
* Checks if a file is present in the archive
*
* @param $fileInArchive
* @return bool
* @static
*/
public static function contains($fileInArchive)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->contains($fileInArchive);
}
/**
*
*
* @return \Madnest\Madzipper\RepositoryInterface
* @static
*/
public static function getRepository()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getRepository();
}
/**
*
*
* @return \Madnest\Madzipper\Filesystem
* @static
*/
public static function getFileHandler()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getFileHandler();
}
/**
* Gets the path to the internal folder
*
* @return string
* @static
*/
public static function getInternalPath()
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->getInternalPath();
}
/**
* List all files that are within the archive
*
* @param string|null $regexFilter regular expression to filter returned files/folders. See @link http://php.net/manual/en/reference.pcre.pattern.syntax.php
* @throws \RuntimeException
* @return array
* @static
*/
public static function listFiles($regexFilter = null)
{
/** @var \Madnest\Madzipper\Madzipper $instance */
return $instance->listFiles($regexFilter);
}
}
}
@@ -17425,6 +17794,7 @@ namespace {
class Stripe extends \Cartalyst\Stripe\Laravel\Facades\Stripe {}
class Crawler extends \Jaybizzle\LaravelCrawlerDetect\Facades\LaravelCrawlerDetect {}
class Flare extends \Facade\Ignition\Facades\Flare {}
class Madzipper extends \Madnest\Madzipper\Facades\Madzipper {}
}

View File

@@ -53,6 +53,9 @@ use Kyslik\ColumnSortable\Sortable;
* @method static \Illuminate\Database\Query\Builder|\App\FileManagerFile withTrashed()
* @method static \Illuminate\Database\Query\Builder|\App\FileManagerFile withoutTrashed()
* @mixin \Eloquent
* @property array|null $metadata
* @method static \Illuminate\Database\Eloquent\Builder|FileManagerFile sortable($defaultParameters = null)
* @method static \Illuminate\Database\Eloquent\Builder|FileManagerFile whereMetadata($value)
*/
class FileManagerFile extends Model
{

View File

@@ -59,6 +59,7 @@ use Kyslik\ColumnSortable\Sortable;
* @method static \Illuminate\Database\Query\Builder|\App\FileManagerFolder withTrashed()
* @method static \Illuminate\Database\Query\Builder|\App\FileManagerFolder withoutTrashed()
* @mixin \Eloquent
* @method static \Illuminate\Database\Eloquent\Builder|FileManagerFolder sortable($defaultParameters = null)
*/
class FileManagerFolder extends Model
{

View File

@@ -102,7 +102,7 @@ class UserController extends Controller
public function users()
{
return new UsersCollection(
User::sortable()->paginate('20')
User::sortable(['created_at', 'DESC'])->paginate('20')
);
}

View File

@@ -95,6 +95,7 @@ class BrowseController extends Controller
public function latest() {
// Get User
// TODO: SFORMATOVAT!
$user = User::with(['latest_uploads' => function($query) {
$query->sortable(); }])
->where('id', Auth::id())
@@ -111,8 +112,11 @@ class BrowseController extends Controller
public function participant_uploads() {
// Get User
$uploads = FileManagerFile::with(['parent'])->where('user_id', Auth::id())
->whereUserScope('editor')->sortable()->get();
$uploads = FileManagerFile::with(['parent'])
->where('user_id', Auth::id())
->whereUserScope('editor')
->sortable()
->get();
return $uploads;
}
@@ -130,6 +134,7 @@ class BrowseController extends Controller
$user_id = Auth::id();
// Get folder trash items
// TODO: do funkcii nizsie potrebujeme tiez sortable, totizto foldre v kosi vies tiez prechadzat, takisto spojazdnit na frontende. Lokacie mame 'trash-root' a 'trash'
if ($request->query('trash')) {
// Get folders and files
@@ -199,12 +204,13 @@ class BrowseController extends Controller
{
// Get user
$user_id = Auth::id();
$query = remove_accents($request->input('query'));
// Search files id db
$searched_files = FileManagerFile::search($request->input('query'))
$searched_files = FileManagerFile::search($query)
->where('user_id', $user_id)
->get();
$searched_folders = FileManagerFolder::search($request->input('query'))
$searched_folders = FileManagerFolder::search($query)
->where('user_id', $user_id)
->get();

View File

@@ -495,7 +495,6 @@ function get_file_type($file_mimetype)
}
}
/**
* Get file type from mimetype
*
@@ -530,9 +529,187 @@ function get_pretty_name($basename, $name, $mimetype)
return $name . '.' . $mimetype;
}
/**
* Get exif data from jpeg image
*
* @param $file
* @return array
*/
function get_image_meta_data($file)
{
if(get_file_type_from_mimetype($file->getMimeType()) === 'jpeg') {
return exif_read_data($file);
if (get_file_type_from_mimetype($file->getMimeType()) === 'jpeg') {
return exif_read_data($file);
}
}
/**
* Check if app is in dev mode
*
* @return bool
*/
function is_dev()
{
return env('APP_ENV') === 'local' ? true : false;
}
/**
* @param $str
* @return bool
*/
function seems_utf8($str)
{
$length = strlen($str);
for ($i=0; $i < $length; $i++) {
$c = ord($str[$i]);
if ($c < 0x80) $n = 0; # 0bbbbbbb
elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb
elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb
elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb
elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb
elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b
else return false; # Does not match any model
for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
return false;
}
}
return true;
}
/**
* Converts all accent characters to ASCII characters.
*
* If there are no accent characters, then the string given is just returned.
*
* @param string $string Text that might have accent characters
* @return string Filtered string with replaced "nice" characters.
*/
function remove_accents($string) {
if ( !preg_match('/[\x80-\xff]/', $string) )
return $string;
if (seems_utf8($string)) {
$chars = array(
// Decompositions for Latin-1 Supplement
chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
chr(195).chr(191) => 'y',
// Decompositions for Latin Extended-A
chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
// Euro Sign
chr(226).chr(130).chr(172) => 'E',
// GBP (Pound) Sign
chr(194).chr(163) => '');
$string = strtr($string, $chars);
} else {
// Assume ISO-8859-1 if not UTF-8
$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
.chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
.chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
.chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
.chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
.chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
.chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
.chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
.chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
.chr(252).chr(253).chr(255);
$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
$string = strtr($string, $chars['in'], $chars['out']);
$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
$string = str_replace($double_chars['in'], $double_chars['out'], $string);
}
return $string;
}

View File

@@ -32,6 +32,8 @@ use Illuminate\Database\Eloquent\Model;
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereUserId($value)
* @mixin \Eloquent
* @property int|null $expire_in
* @method static \Illuminate\Database\Eloquent\Builder|Share whereExpireIn($value)
*/
class Share extends Model
{

View File

@@ -4,6 +4,26 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
/**
* App\Traffic
*
* @property int $id
* @property int $user_id
* @property int $upload
* @property int $download
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|Traffic newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Traffic newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Traffic query()
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereDownload($value)
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereUpload($value)
* @method static \Illuminate\Database\Eloquent\Builder|Traffic whereUserId($value)
* @mixin \Eloquent
*/
class Traffic extends Model
{
protected $fillable = ['user_id', 'upload', 'download'];

View File

@@ -199,6 +199,7 @@ class User extends Authenticatable
$sort = strtolower(request()->input('sort'));
$direction = strtolower(request()->input('direction'));
// TODO: pozor pozor tu by sme mali pouzit sortable(), tak ako si pouzil v BrowseController
return FileManagerFolder::with(['folders.shared', 'shared:token,id,item_id,permission,protected,expire_in'])
->where('parent_id', 0)
->where('user_id', $this->id)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{"2wZp":function(t,e,i){"use strict";var n=i("Mlra");i.n(n).a},"6Rdq":function(t,e,i){"use strict";var n=i("yMep"),r=i("c4kp"),o=i("2QtR"),s=i("L2JU"),a=i("xCqy");function c(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function l(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var p={name:"FilesView",components:{DesktopToolbar:n.a,FileBrowser:r.a,ContextMenu:o.a},computed:function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?c(Object(i),!0).forEach((function(e){l(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):c(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},Object(s.b)(["config"])),methods:{fileViewClick:function(){a.a.$emit("contextMenu:hide")},contextMenu:function(t,e){a.a.$emit("contextMenu:show",t,e)}}},u=(i("2wZp"),i("KHd+")),d=Object(u.a)(p,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{attrs:{id:"files-view"},on:{click:t.fileViewClick,"!contextmenu":function(e){return e.preventDefault(),t.contextMenu(e,void 0)}}},[i("ContextMenu"),t._v(" "),i("DesktopToolbar"),t._v(" "),i("FileBrowser")],1)}),[],!1,null,null,null);e.a=d.exports},CoTS:function(t,e,i){"use strict";i.r(e);var n=i("6Rdq"),r=i("LtV2"),o=i("hXay"),s=i("CjXH"),a={name:"FilesView",components:{ContentFileView:n.a,ContentSidebar:r.a,ContentGroup:o.a,LinkIcon:s.B,UsersIcon:s.X},methods:{getShared:function(){this.$store.dispatch("getShared",[{back:!1,init:!1}])},getParticipantUploads:function(){this.$store.dispatch("getParticipantUploads")}},mounted:function(){this.getShared()}},c=i("KHd+"),l=Object(c.a)(a,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("section",{attrs:{id:"viewport"}},[i("ContentSidebar",[i("ContentGroup",{attrs:{title:t.$t("sidebar.locations_title")}},[i("div",{staticClass:"menu-list-wrapper vertical"},[i("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["shared"])},on:{click:function(e){return t.getShared()}}},[i("div",{staticClass:"icon"},[i("link-icon",{attrs:{size:"17"}})],1),t._v(" "),i("div",{staticClass:"label"},[t._v("\n "+t._s(t.$t("sidebar.my_shared"))+"\n ")])]),t._v(" "),i("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["participant_uploads"])},on:{click:function(e){return t.getParticipantUploads()}}},[i("div",{staticClass:"icon"},[i("users-icon",{attrs:{size:"17"}})],1),t._v(" "),i("div",{staticClass:"label"},[t._v("\n "+t._s(t.$t("sidebar.participant_uploads"))+"\n ")])])])])],1),t._v(" "),i("ContentFileView")],1)}),[],!1,null,"fd8b19c0",null);e.default=l.exports},Mlra:function(t,e,i){var n=i("Q8SN");"string"==typeof n&&(n=[[t.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};i("aET+")(n,r);n.locals&&(t.exports=n.locals)},Q8SN:function(t,e,i){(t.exports=i("I1BE")(!1)).push([t.i,"#files-view{font-family:Nunito,sans-serif;font-size:16px;width:100%;height:100%;position:relative;min-width:320px;overflow-x:hidden;padding-left:15px;padding-right:15px;overflow-y:hidden}@media only screen and (max-width:690px){#files-view{padding-left:0;padding-right:0}}",""])}}]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{"2wZp":function(t,e,i){"use strict";var n=i("Mlra");i.n(n).a},"6Rdq":function(t,e,i){"use strict";var n=i("s5FU"),r=i("yMep"),o=i("c4kp"),s=i("2QtR"),a=i("L2JU"),c=i("xCqy");function l(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function p(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var u={name:"FilesView",components:{SortingAndPreview:n.a,DesktopToolbar:r.a,FileBrowser:o.a,ContextMenu:s.a},computed:function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?l(Object(i),!0).forEach((function(e){p(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):l(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},Object(a.b)(["config"])),methods:{fileViewClick:function(){c.a.$emit("contextMenu:hide")},contextMenu:function(t,e){c.a.$emit("contextMenu:show",t,e)}}},d=(i("2wZp"),i("KHd+")),f=Object(d.a)(u,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{attrs:{id:"files-view"},on:{click:t.fileViewClick,"!contextmenu":function(e){return e.preventDefault(),t.contextMenu(e,void 0)}}},[i("ContextMenu"),t._v(" "),i("SortingAndPreview"),t._v(" "),i("DesktopToolbar"),t._v(" "),i("FileBrowser")],1)}),[],!1,null,null,null);e.a=f.exports},CoTS:function(t,e,i){"use strict";i.r(e);var n=i("6Rdq"),r=i("LtV2"),o=i("hXay"),s=i("CjXH"),a={name:"FilesView",components:{ContentFileView:n.a,ContentSidebar:r.a,ContentGroup:o.a,LinkIcon:s.D,UsersIcon:s.Z},methods:{getShared:function(){this.$store.dispatch("getShared",[{back:!1,init:!1}])},getParticipantUploads:function(){this.$store.dispatch("getParticipantUploads")}},mounted:function(){this.getShared()}},c=i("KHd+"),l=Object(c.a)(a,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("section",{attrs:{id:"viewport"}},[i("ContentSidebar",[i("ContentGroup",{attrs:{title:t.$t("sidebar.locations_title")}},[i("div",{staticClass:"menu-list-wrapper vertical"},[i("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["shared"])},on:{click:function(e){return t.getShared()}}},[i("div",{staticClass:"icon"},[i("link-icon",{attrs:{size:"17"}})],1),t._v(" "),i("div",{staticClass:"label"},[t._v("\n "+t._s(t.$t("sidebar.my_shared"))+"\n ")])]),t._v(" "),i("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["participant_uploads"])},on:{click:function(e){return t.getParticipantUploads()}}},[i("div",{staticClass:"icon"},[i("users-icon",{attrs:{size:"17"}})],1),t._v(" "),i("div",{staticClass:"label"},[t._v("\n "+t._s(t.$t("sidebar.participant_uploads"))+"\n ")])])])])],1),t._v(" "),i("ContentFileView")],1)}),[],!1,null,"fd8b19c0",null);e.default=l.exports},Mlra:function(t,e,i){var n=i("Q8SN");"string"==typeof n&&(n=[[t.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};i("aET+")(n,r);n.locals&&(t.exports=n.locals)},Q8SN:function(t,e,i){(t.exports=i("I1BE")(!1)).push([t.i,"#files-view{font-family:Nunito,sans-serif;font-size:16px;width:100%;height:100%;position:relative;min-width:320px;overflow-x:hidden;padding-left:15px;padding-right:15px;overflow-y:hidden}@media only screen and (max-width:690px){#files-view{padding-left:0;padding-right:0}}",""])}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/css/app.css vendored

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

@@ -1,110 +1,65 @@
{
"/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css",
"/chunks/admin.js": "/chunks/admin.js?id=ed4125d0b85c16ac0a46",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=ac9df71ad80bac225d62",
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=9ab2c60930e2adf92716",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~3b77a26e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~3b77a26e.js?id=eeb40a78f38c60a32042",
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js?id=54a833ec02385944db39",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=2fcf9b6a8bcdcf0bf877",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=165778ddf33905044afb",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=c88362556572886cf8bd",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=75a610ff95b22e4e015c",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=b8e6ca52592de6c0d2a8",
"/chunks/app-email.js": "/chunks/app-email.js?id=5e231b4d6cf0a4d1acb9",
"/chunks/app-index.js": "/chunks/app-index.js?id=b8c778343ab04e9c2f79",
"/chunks/app-others.js": "/chunks/app-others.js?id=39709ad63bc65e256571",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=ab77360a958f97f95c6c",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=cff243a66e4b037e5e84",
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=fe9f96c80a32a0beefe8",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=bf12cf48a877bfb28bab",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=4d83edccf043c2698895",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=be7eb0498b786a4859db",
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=8b11e9c64262b9275963",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=abb47a424c09ace77d79",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=a2f4d89af612c02f8db7",
"/chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/settings-payment-meth~f48e9e59.js": "/chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/settings-payment-meth~f48e9e59.js?id=2256b90ad9fb36944861",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=ffd2f414666d7cc80b9d",
"/chunks/database.js": "/chunks/database.js?id=0b21e6ff3bac5c963d9a",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=464c8e70974d492ce7f6",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=826fbaa6cc4acab69f5d",
"/chunks/files.js": "/chunks/files.js?id=76b46f43df974e899836",
"/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=8ccd35de575e8a91d02f",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=b632e7477f64bdc561ad",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=ed167949ea9398f0fbeb",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=aba8c662fbc234892216",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=7dfffa0f25308ba70b7a",
"/chunks/invoices.js": "/chunks/invoices.js?id=262f284d4edc13719b00",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=920418aa2cd205d96d0a",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=a28320bdc00aeb85409e",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=0607b8e16d6678e0b463",
"/chunks/pages.js": "/chunks/pages.js?id=53cfb0cdbc2ecbc2111f",
"/chunks/plan.js": "/chunks/plan.js?id=ed865758447ff7e3f2b5",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=f4199916eddc63fb1720",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=2a50cca120ca589f5626",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=4a691e84a65d9a779d60",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=8c85b14979d3fb6c54a3",
"/chunks/plans.js": "/chunks/plans.js?id=db810284f32ea3aa36ad",
"/chunks/profile.js": "/chunks/profile.js?id=df174ba95616670c8edb",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=42dbd1e9d17515be4a7b",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=0c7dd358b177460faa74",
"/chunks/settings.js": "/chunks/settings.js?id=e909af7cfc70717a8771",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=40d5eed52256ea23edbe",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=bc110f5ee1a5b984fda2",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=e318f7536b185dbe6b54",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=7782ad88fc805fe75f4c",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=22e7978fe8a5cb488e52",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=367c9478591c7a4a2889",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=7da589bd335deefd5f65",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=5d9381e60cc1307f715a",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=6a76b27026b3ab28f544",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=703fbd23d18816590337",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=cedca52c29abfb3c58f1",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=b99eb91043d1321187b9",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=ffaf6839286adad7bf59",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=5781cfedee2ccf4d9e25",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=a66a145b67f5f1a2892e",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=48886957769dffee24bf",
"/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=d513432dd873331a60f6",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=dd2df21f21ff1291c4dc",
"/chunks/user.js": "/chunks/user.js?id=d7eca242e8e982ddbae4",
"/chunks/user-create.js": "/chunks/user-create.js?id=fc1f1811516801a2bb87",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=c840c8ded1acc6335f05",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=ef7920c403b69c391543",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=97d041044c0eee8f8b4b",
"/chunks/user-password.js": "/chunks/user-password.js?id=b036eeaa5ef8e798f6dd",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a99910f95c3e39caa78b",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e8ea1e67f9ac0a835ed0",
"/chunks/users.js": "/chunks/users.js?id=420d8c46141ab3e73395",
"/js/main.8d4cb880da1006d5c8e7.hot-update.js": "/js/main.8d4cb880da1006d5c8e7.hot-update.js",
"/js/main.7ca933a4fc956c3f8cee.hot-update.js": "/js/main.7ca933a4fc956c3f8cee.hot-update.js",
"/js/main.059482145d9321381825.hot-update.js": "/js/main.059482145d9321381825.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8d718f0b675aebf2bf58.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8d718f0b675aebf2bf58.hot-update.js",
"/js/main.c45659e034eac03e460f.hot-update.js": "/js/main.c45659e034eac03e460f.hot-update.js",
"/js/main.4e5fedc844f022a122fb.hot-update.js": "/js/main.4e5fedc844f022a122fb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.ab5b5ca838d04673ea6c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.ab5b5ca838d04673ea6c.hot-update.js",
"/js/main.d4fb74bb05baeaade187.hot-update.js": "/js/main.d4fb74bb05baeaade187.hot-update.js",
"/js/main.bb92d9b1b6f04a416c19.hot-update.js": "/js/main.bb92d9b1b6f04a416c19.hot-update.js",
"/js/main.7749317a64b5fdfedf39.hot-update.js": "/js/main.7749317a64b5fdfedf39.hot-update.js",
"/chunks/dashboard.7749317a64b5fdfedf39.hot-update.js": "/chunks/dashboard.7749317a64b5fdfedf39.hot-update.js",
"/chunks/files.7749317a64b5fdfedf39.hot-update.js": "/chunks/files.7749317a64b5fdfedf39.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.7749317a64b5fdfedf39.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.7749317a64b5fdfedf39.hot-update.js",
"/chunks/invoices.7749317a64b5fdfedf39.hot-update.js": "/chunks/invoices.7749317a64b5fdfedf39.hot-update.js",
"/chunks/pages.7749317a64b5fdfedf39.hot-update.js": "/chunks/pages.7749317a64b5fdfedf39.hot-update.js",
"/chunks/plans.7749317a64b5fdfedf39.hot-update.js": "/chunks/plans.7749317a64b5fdfedf39.hot-update.js",
"/chunks/settings-payment-methods.7749317a64b5fdfedf39.hot-update.js": "/chunks/settings-payment-methods.7749317a64b5fdfedf39.hot-update.js",
"/chunks/shared-files.7749317a64b5fdfedf39.hot-update.js": "/chunks/shared-files.7749317a64b5fdfedf39.hot-update.js",
"/chunks/shared-page.7749317a64b5fdfedf39.hot-update.js": "/chunks/shared-page.7749317a64b5fdfedf39.hot-update.js",
"/chunks/users.7749317a64b5fdfedf39.hot-update.js": "/chunks/users.7749317a64b5fdfedf39.hot-update.js",
"/js/main.44b44e168ba044f7264b.hot-update.js": "/js/main.44b44e168ba044f7264b.hot-update.js",
"/chunks/dashboard.44b44e168ba044f7264b.hot-update.js": "/chunks/dashboard.44b44e168ba044f7264b.hot-update.js",
"/chunks/files.44b44e168ba044f7264b.hot-update.js": "/chunks/files.44b44e168ba044f7264b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.44b44e168ba044f7264b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.44b44e168ba044f7264b.hot-update.js",
"/chunks/invoices.44b44e168ba044f7264b.hot-update.js": "/chunks/invoices.44b44e168ba044f7264b.hot-update.js",
"/chunks/pages.44b44e168ba044f7264b.hot-update.js": "/chunks/pages.44b44e168ba044f7264b.hot-update.js",
"/chunks/plans.44b44e168ba044f7264b.hot-update.js": "/chunks/plans.44b44e168ba044f7264b.hot-update.js",
"/chunks/settings-payment-methods.44b44e168ba044f7264b.hot-update.js": "/chunks/settings-payment-methods.44b44e168ba044f7264b.hot-update.js",
"/chunks/shared-files.44b44e168ba044f7264b.hot-update.js": "/chunks/shared-files.44b44e168ba044f7264b.hot-update.js",
"/chunks/shared-page.44b44e168ba044f7264b.hot-update.js": "/chunks/shared-page.44b44e168ba044f7264b.hot-update.js",
"/chunks/users.44b44e168ba044f7264b.hot-update.js": "/chunks/users.44b44e168ba044f7264b.hot-update.js"
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=663d321f76134d5862d7",
"/js/main.js": "/js/main.js?id=a90b1ed19c9d0c8aa99e",
"/css/app.css": "/css/app.css?id=8f6d5dcb7110a726e142",
"/chunks/admin.js": "/chunks/admin.js?id=5c1ef019716afc67775b",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=16cd99641f6c1cb6788a",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=3043f5ab051b9cac9ab7",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=b4d28bec8835085f885f",
"/chunks/app-email.js": "/chunks/app-email.js?id=24fc0cc212e9b893bb09",
"/chunks/app-index.js": "/chunks/app-index.js?id=c1c8101bd90f630ac6bf",
"/chunks/app-others.js": "/chunks/app-others.js?id=c73372ee9f62d01c74d1",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=83608af3a7e34ac062d4",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=466c6bfc5ab7b883e443",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=652f0ab8a6423dd24906",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=b955f8dcd6890a1b45ca",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=a5150dcf81c8e1ab23a4",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=58c543c4f92b5ca9a284",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=3ee4bf9387ba610231ee",
"/chunks/database.js": "/chunks/database.js?id=dbb3c73c995c7ee55015",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=08a0c2de8f93e0222600",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=3b6455db55e44d265c86",
"/chunks/files.js": "/chunks/files.js?id=3e7ab3ab0bc78accc9df",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=7ff98232e7b4cc5d2c2a",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=f8a13783dc40aad197b5",
"/chunks/invoices.js": "/chunks/invoices.js?id=58751161ec5163b7d3bf",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=00d49e4ffb54dc5abb5b",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=53d4f9c58bdac1e568c7",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=e3dbad6c75184042d2e6",
"/chunks/pages.js": "/chunks/pages.js?id=6d0ea14f54f59fc3d97b",
"/chunks/plan.js": "/chunks/plan.js?id=7ea9ddff467ab749441a",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=b40c3e16a94a55fc9397",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=61c8edfbdad6904435ed",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=2be8a0aaf9e6968e158e",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=60b05b4391ec24649eaf",
"/chunks/plans.js": "/chunks/plans.js?id=5acc8acff759155caa58",
"/chunks/profile.js": "/chunks/profile.js?id=91714cf4f6ca568515d6",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=82446c77da50e52cf1bd",
"/chunks/settings.js": "/chunks/settings.js?id=0cfc9ad9196a31d29811",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=72bc6c0599e6d6095ddd",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=daad8173619d5d047c0d",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=9424e701a221958e50e8",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=4fe3314e78fb90505518",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=6af5afc7c03b54e80984",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=1be617484ada2cd04bd7",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=47090233afc7b0cdf855",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=9581a454bbb3b0de5ff1",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=0bd5bb1769f850581967",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=ec080714b24154cf1081",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=0d8b571bcf5a54f073fd",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=099fd6800da190981a1c",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=a1582c9b65d4b9df716e",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=67403d4466f7e7c5701d",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=a414b418fb4f7c37287f",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=985dd231a8395f6a01d2",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=a66c2011e6e99d0880de",
"/chunks/user.js": "/chunks/user.js?id=614b75d3e823cde8ab9f",
"/chunks/user-create.js": "/chunks/user-create.js?id=2bd3bf90450c1ae1a9e1",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=08acb6b552540d60131f",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=cf402ad5f8e4a19bfa6c",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=968a95bf02cb6a5cf064",
"/chunks/user-password.js": "/chunks/user-password.js?id=59afc7db6a7c0b40781e",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=cb0b4bfb94595993795f",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=893d245c41391543de25",
"/chunks/users.js": "/chunks/users.js?id=29d2749764463102bd77"
}

View File

@@ -25,6 +25,7 @@
<MobileMultiSelectButton @click.native="mobileMultiSelect = !mobileMultiSelect">
{{ $t('context_menu.select') }}
</MobileMultiSelectButton>
<!--TODO: toto tlacitko nepotrebuje mat active classu, spusta iba event, nie je sucastou prebiehajucej udalosti (z pohladu UX)-->
<MobileActionButton :class="{'active' : mobileSortingAndPreview}" @click.native="mobileSortingAndPreview = ! mobileSortingAndPreview" icon="preview-sorting">
{{$t('preview_sorting.preview_sorting_button')}}
</MobileActionButton>

View File

@@ -1,74 +1,69 @@
<template>
<div class="options-wrapper" >
<transition name="context-menu">
<div
class="options"
v-if="isVisible"
>
<div class="menu-options">
<div class="options-wrapper">
<transition name="context-menu">
<div class="options" v-if="isVisible">
<div class="menu-options">
<ul class="menu-option-group">
<li class="menu-option" @click="changePreview('grid')"
>
<div class="icon">
<grid-icon size="17"/>
</div>
<div class="text-label">
{{$t('preview_sorting.grid_view')}}
</div>
<div class="show-icon" v-if="isGrid">
<check-icon size="17"/>
</div>
</li>
<li class="menu-option" @click="changePreview('list')">
<div class="icon">
<list-icon size="17"/>
</div>
<div class="text-label">
{{$t('preview_sorting.list_view')}}
</div>
<div class="show-icon" v-if="isList">
<check-icon size="17"/>
</div>
</li>
</ul>
<ul class="menu-option-group">
<li class="menu-option" @click="changePreview('grid')">
<div class="icon">
<grid-icon size="17"/>
</div>
<div class="text-label">
{{ $t('preview_sorting.grid_view') }}
</div>
<div class="show-icon" v-if="isGrid">
<check-icon size="17"/>
</div>
</li>
<li class="menu-option" @click="changePreview('list')">
<div class="icon">
<list-icon size="17"/>
</div>
<div class="text-label">
{{ $t('preview_sorting.list_view') }}
</div>
<div class="show-icon" v-if="isList">
<check-icon size="17"/>
</div>
</li>
</ul>
<ul class="menu-option-group">
<li c class="menu-option" @click="sort('created_at')">
<div class="icon">
<calendar-icon size="17"/>
<ul class="menu-option-group">
<!--TODO: co to ten c class atribute? :D -->
<li c class="menu-option" @click="sort('created_at')">
<div class="icon">
<calendar-icon size="17"/>
</div>
<div class="text-label">
{{ $t('preview_sorting.sort_date') }}
</div>
<div class="show-icon">
<arrow-up-icon size="17" v-if="filter.field === 'created_at'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
</div>
</li>
<li class="menu-option" @click="sort('name')">
<div class="icon">
<alphabet-icon size="17" class="aplhabet-icon"/>
</div>
<div class="text-label">
{{ $t('preview_sorting.sort_alphabet') }}
</div>
<div class="show-icon">
<arrow-up-icon size="17" v-if="filter.field === 'name'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
</div>
</li>
</ul>
</div>
<div class="text-label">
{{$t('preview_sorting.sort_date')}}
</div>
<div class="show-icon" >
<arrow-up-icon size="17" v-if="filter.field === 'created_at'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
</div>
</li>
<li class="menu-option" @click="sort('name')" >
<div class="icon">
<alphabet-icon size="17" class="aplhabet-icon"/>
</div>
<div class="text-label">
{{$t('preview_sorting.sort_alphabet')}}
</div>
<div class="show-icon">
<arrow-up-icon size="17" v-if="filter.field === 'name'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
</div>
</li>
</ul>
</div>
</div>
</transition>
<transition name="fade">
<div
v-show="isVisible"
class="vignette"
@click.self="close"
></div>
</transition>
</div>
</div>
</transition>
<!-- TODO: tento fade tu nemusi byt, mame uz jeden hlavny implementovany pre appku, iba odpalit spravny event, pozri Vignette.vue-->
<transition name="fade">
<div v-show="isVisible" class="vignette" @click.self="close"></div>
</transition>
</div>
</template>
<script>
@@ -79,7 +74,7 @@ import { mapGetters } from 'vuex'
import { events } from '@/bus'
export default {
name: "MobileSortingAndPreview",
name: 'MobileSortingAndPreview',
components: {
CalendarIcon,
AlphabetIcon,
@@ -95,27 +90,27 @@ export default {
},
isList() {
return this.FilePreviewType === 'list'
},
}
},
data () {
return {
isVisible: false,
filter: {
sort: 'DESC',
field: undefined,
}
data() {
return {
isVisible: false,
filter: {
sort: 'DESC',
field: undefined
}
},
}
},
methods: {
close() {
this.isVisible = false
events.$emit('mobileSortingAndPreview-close')
},
sort (field) {
close() {
this.isVisible = false
events.$emit('mobileSortingAndPreview-close')
},
sort(field) {
this.filter.field = field
// Set sorting direction
// Set sorting direction
if (this.filter.sort === 'DESC') {
this.filter.sort = 'ASC'
} else if (this.filter.sort === 'ASC') {
@@ -123,35 +118,36 @@ export default {
}
// Save to localStorage sorting options
localStorage.setItem('sorting', JSON.stringify({sort: this.filter.sort , field: this.filter.field}))
localStorage.setItem('sorting', JSON.stringify({ sort: this.filter.sort, field: this.filter.field }))
// Update sorting state in vuex
this.$store.commit('UPDATE_SORTING')
// Get data using the application location
this.$getDataByLocation()
},
changePreview(previewType) {
this.$store.dispatch('changePreviewType' , previewType)
this.$store.dispatch('changePreviewType', previewType)
}
},
mounted () {
mounted() {
let sorting = JSON.parse(localStorage.getItem('sorting'))
let sorting = JSON.parse(localStorage.getItem('sorting'))
// Set default sorting if is not setup in LocalStorage
this.filter.sort = sorting ? sorting.sort : 'DESC'
this.filter.field = sorting ? sorting.field : 'created_at'
// Set default sorting if is not setup in LocalStorage
this.filter.sort = sorting ? sorting.sort : 'DESC'
this.filter.field = sorting ? sorting.field : 'created_at'
events.$on('mobileSortingAndPreview-open', () => {
this.isVisible = true
})
// TODO: tento event by som zrefaktoroval do jedneho, nech mame menej kodu pre takuto jednoduchu operaciu
events.$on('mobileSortingAndPreview-open', () => {
this.isVisible = true
})
events.$on('mobileSortingAndPreview-close', () => {
this.isVisible = false
})
}
};
events.$on('mobileSortingAndPreview-close', () => {
this.isVisible = false
})
}
}
</script>
<style scoped lang="scss">
@@ -161,147 +157,153 @@ export default {
.show-icon {
margin-left: auto;
max-height: 19px;
.arrow-down {
.arrow-down {
@include transform(rotate(180deg));
}
}
.icon {
margin-right: 20px;
line-height: 0;
.aplhabet-icon {
/deep/line,
/deep/polyline {
stroke:$text ;
}
}
}
.menu-option {
display: flex;
align-items: center;
.icon {
margin-right: 20px;
line-height: 0;
}
.text-label {
@include font-size(16);
}
/*
TODO: preklep
*/
.aplhabet-icon {
/deep/ line,
/deep/ polyline {
stroke: $text;
}
}
}
.menu-option {
display: flex;
align-items: center;
.icon {
margin-right: 20px;
line-height: 0;
}
.text-label {
@include font-size(16);
}
}
.vignette {
background: rgba(0, 0, 0, 0.35);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 9;
cursor: pointer;
opacity: 1;
background: rgba(0, 0, 0, 0.35);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 9;
cursor: pointer;
opacity: 1;
}
.options {
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 99;
overflow: hidden;
background: white;
border-top-left-radius: 12px;
border-top-right-radius: 12px;
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 99;
overflow: hidden;
background: white;
border-top-left-radius: 12px;
border-top-right-radius: 12px;
.menu-options {
margin-top: 10px;
list-style: none;
width: 100%;
.menu-options {
margin-top: 10px;
list-style: none;
width: 100%;
.menu-option-group {
padding: 5px 0;
border-bottom: 1px solid $light_mode_border;
.menu-option-group {
padding: 5px 0;
border-bottom: 1px solid $light_mode_border;
&:first-child {
padding-top: 0;
}
&:first-child {
padding-top: 0;
}
&:last-child {
padding-bottom: 0;
border-bottom: none;
}
&:last-child {
padding-bottom: 0;
border-bottom: none;
}
}
.menu-option {
font-weight: 700;
letter-spacing: 0.15px;
@include font-size(14);
cursor: pointer;
width: 100%;
padding: 17px 20px;
text-align: center;
&:last-child {
border: none;
}
}
}
.menu-option {
font-weight: 700;
letter-spacing: 0.15px;
@include font-size(14);
cursor: pointer;
width: 100%;
padding: 17px 20px;
text-align: center;
&:last-child {
border: none;
}
}
}
}
@media (prefers-color-scheme: dark) {
.vignette {
background: $dark_mode_vignette;
}
.options {
background: $dark_mode_background;
.menu-options {
background: $dark_mode_background;
.menu-option-group {
border-color: $dark_mode_border_color;
}
.menu-option {
color: $dark_mode_text_primary;
}
.vignette {
background: $dark_mode_vignette;
}
.options {
background: $dark_mode_background;
.menu-options {
background: $dark_mode_background;
.menu-option-group {
border-color: $dark_mode_border_color;
}
.menu-option {
color: $dark_mode_text_primary;
}
}
}
.icon {
.aplhabet-icon {
/deep/ line,
/deep/ polyline {
stroke: $dark_mode_text_primary;
}
}
}
}
.icon {
.aplhabet-icon {
/deep/line,
/deep/polyline {
stroke:$dark_mode_text_primary ;
}
}
}
}
// Transition
.context-menu-enter-active,
.fade-enter-active {
transition: all 200ms;
transition: all 200ms;
}
.context-menu-leave-active,
.fade-leave-active {
transition: all 200ms;
transition: all 200ms;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
opacity: 0;
}
.context-menu-enter,
.context-menu-leave-to {
opacity: 0;
transform: translateY(100%);
opacity: 0;
transform: translateY(100%);
}
.context-menu-leave-active {
position: absolute;
position: absolute;
}
</style>

View File

@@ -302,6 +302,7 @@ const Helpers = {
message: i18n.t('popup_mimetypes_blacklist.message', {mimetype: fileType[1]}),
})
}else {
// TODO: tento else tu nemusi byt, defaultne je uz prednastaveny true cize ak sa nevykona podmienka vyssie tak vzdy bude true
validated = true
}
}
@@ -317,6 +318,7 @@ const Helpers = {
'latest' : ['getLatest'],
'shared' : ['getShared'],
'trash-root' : ['getTrash'],
// 'trash' : ['getTrash'], TODO: skontrolovat a spojazdnit
'participant_uploads' : ['getParticipantUploads'],
}
@@ -334,6 +336,7 @@ const Helpers = {
export default Helpers
// Handle styled scrollbar for Windows
// TODO: toto treba dat jednoznacne na svoje spravne miesto
if (navigator.userAgent.indexOf('Windows') != -1) {
let body = document.body
body.classList.add('windows')

View File

@@ -366,7 +366,7 @@
"original_location": "Original Location"
},
"locations": {
"home": "Home",
"home": "Files",
"shared": "Shared",
"trash": "Trash",
"profile": "Profile",
@@ -679,7 +679,7 @@
"favourites": "Favourites",
"favourites_empty": "Drag here your favourite folder.",
"folders_empty": "Create some new folder.",
"home": "Home",
"home": "Files",
"latest": "Recent Uploads",
"locations_title": "Base",
"my_shared": "My Shared Items",

View File

@@ -209,6 +209,8 @@
text-overflow: ellipsis;
display: inline-block;
color: $text;
line-height: 1;
padding-top: 2px;
}
}

View File

@@ -27,8 +27,8 @@
@mixin widget-card {
padding: 20px;
border-radius: 8px;
box-shadow: 0 5px 10px -6px rgba(26, 36, 55, 0.15);
background: white;
//box-shadow: 0 5px 10px -6px rgba(26, 36, 55, 0.15);
background: $light_background;
}
@mixin blurred-image {