aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/views/files/_overview.php92
-rw-r--r--app/views/files/flat.php26
-rw-r--r--app/views/files/index.php25
-rw-r--r--resources/assets/javascripts/lib/files.js24
4 files changed, 67 insertions, 100 deletions
diff --git a/app/views/files/_overview.php b/app/views/files/_overview.php
index 50fc6a3..44cb213 100644
--- a/app/views/files/_overview.php
+++ b/app/views/files/_overview.php
@@ -28,19 +28,18 @@
'href' => $controller->link_for('files/overview', ['view' => 'all_files'])
];
?>
- <form method="post"
- class="vue-file-table"
- data-topfolder="<?= htmlReady(json_encode($vue_topfolder)) ?>"
- data-files="<?= htmlReady(json_encode($all_files)) ?>">
+ <form method="post">
<?= CSRFProtection::tokenTag() ?>
- <files-table :showdownloads="<?= $show_download_column ? "true" : "false" ?>"
- :files="files"
- :topfolder="topfolder"
- enable_table_filter="false"
- table_title="<?= _('Alle Dateien') ?>"
- :show_bulk_actions="false"
- :tfoot_link="<?= htmlReady(json_encode($tfoot_link)) ?>"
- ></files-table>
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'enable_table_filter' => false,
+ 'files' => $all_files,
+ 'show_bulk_actions' => false,
+ 'showdownloads' => $show_download_column,
+ 'table_title' => _('Alle Dateien'),
+ 'tfoot_link' => $tfoot_link,
+ 'topfolder' => $vue_topfolder,
+ ]) ?>
</form>
<? endif ?>
@@ -54,19 +53,18 @@
'href' => $controller->link_for('files/overview', ['view' => 'my_uploaded_files'])
];
?>
- <form method="post"
- class="vue-file-table"
- data-topfolder="<?= htmlReady(json_encode($vue_topfolder)) ?>"
- data-files="<?= htmlReady(json_encode($uploaded_files)) ?>">
+ <form method="post">
<?= CSRFProtection::tokenTag() ?>
- <files-table :showdownloads="<?= $show_download_column ? "true" : "false" ?>"
- :files="files"
- :topfolder="topfolder"
- enable_table_filter="false"
- table_title="<?= _('Persönlicher Dateibereich') ?>"
- :show_bulk_actions="false"
- :tfoot_link="<?= htmlReady(json_encode($tfoot_link)) ?>"
- ></files-table>
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'enable_table_filter' => false,
+ 'files' => $uploaded_files,
+ 'show_bulk_actions' => false,
+ 'showdownloads' => $show_download_column,
+ 'table_title' => _('Persönlicher Dateibereich'),
+ 'tfoot_link' => $tfoot_link,
+ 'topfolder' => $vue_topfolder,
+ ]) ?>
</form>
<? endif ?>
@@ -80,19 +78,18 @@
'href' => $controller->link_for('files/overview', ['view' => 'my_public_files'])
];
?>
- <form method="post"
- class="vue-file-table"
- data-topfolder="<?= htmlReady(json_encode($vue_topfolder)) ?>"
- data-files="<?= htmlReady(json_encode($public_files)) ?>">
+ <form method="post">
<?= CSRFProtection::tokenTag() ?>
- <files-table :showdownloads="<?= $show_download_column ? "true" : "false" ?>"
- :files="files"
- :topfolder="topfolder"
- enable_table_filter="false"
- table_title="<?= _('Meine öffentlichen Dateien') ?>"
- :show_bulk_actions="false"
- :tfoot_link="<?= htmlReady(json_encode($tfoot_link)) ?>"
- ></files-table>
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'enable_table_filter' => false,
+ 'files' => $public_files,
+ 'show_bulk_actions' => false,
+ 'showdownloads' => $show_download_column,
+ 'table_title' => _('Meine öffentlichen Dateien'),
+ 'tfoot_link' => $tfoot_link,
+ 'topfolder' => $vue_topfolder,
+ ]) ?>
</form>
<? endif ?>
@@ -106,19 +103,18 @@
'href' => $controller->link_for('files/overview', ['view' => 'my_uploaded_files_unknown_license'])
];
?>
- <form method="post"
- class="vue-file-table"
- data-topfolder="<?= htmlReady(json_encode($vue_topfolder)) ?>"
- data-files="<?= htmlReady(json_encode($uploaded_unlic_files)) ?>">
+ <form method="post">
<?= CSRFProtection::tokenTag() ?>
- <files-table :showdownloads="<?= $show_download_column ? "true" : "false" ?>"
- :files="files"
- :topfolder="topfolder"
- enable_table_filter="false"
- table_title="<?= _('Meine Dateien mit ungeklärter Lizenz') ?>"
- :show_bulk_actions="false"
- :tfoot_link="<?= htmlReady(json_encode($tfoot_link)) ?>"
- ></files-table>
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'enable_table_filter' => false,
+ 'files' => $uploaded_unlic_files,
+ 'show_bulk_actions' => false,
+ 'showdownloads' => $show_download_column,
+ 'table_title' => _('Meine Dateien mit ungeklärter Lizenz'),
+ 'tfoot_link' => $tfoot_link,
+ 'topfolder' => $vue_topfolder,
+ ]) ?>
</form>
<? endif ?>
diff --git a/app/views/files/flat.php b/app/views/files/flat.php
index 1440117..6033822 100644
--- a/app/views/files/flat.php
+++ b/app/views/files/flat.php
@@ -43,22 +43,18 @@ foreach ($topFolder->getAdditionalActionButtons() as $button) {
$vue_topFolder['buttons'] .= $button;
}
?>
-<form id="files_table_form"
- method="post"
- action="<?= htmlReady($form_action ?? '') ?>"
- data-files="<?= htmlReady(json_encode($vue_files)) ?>"
- data-topfolder="<?= htmlReady(json_encode((array) $vue_topFolder)) ?>">
+<form method="post" action="<?= htmlReady($form_action ?? '') ?>">
<?= CSRFProtection::tokenTag() ?>
- <files-table :showdownloads="<?= $show_downloads ? "true" : "false" ?>"
- :breadcrumbs="breadcrumbs"
- :files="files"
- :folders="folders"
- :topfolder="topfolder"
- :allow_filter="<?= json_encode(!empty($enable_table_filter)) ?>"
- table_title="<?= htmlReady($table_title ?? '') ?>"
- pagination="<?= htmlReady($pagination_html ?? '') ?>"
- :initial_sort="{sortedBy:'chdate',sortDirection:'desc'}"
- ></files-table>
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'allow_filter' => !empty($enable_table_filter),
+ 'files' => $vue_files,
+ 'initial_sort' => ['sortedBy' => 'chdate', 'sortDirection' => 'desc'],
+ 'pagination' => $pagination_html ?? '',
+ 'showdownloads' => $show_downloads,
+ 'table_title' => $table_title ?? '',
+ 'topfolder' => $vue_topFolder,
+ ]) ?>
</form>
<?
if (!empty($show_default_sidebar)) {
diff --git a/app/views/files/index.php b/app/views/files/index.php
index 6bf28f7..841799a 100644
--- a/app/views/files/index.php
+++ b/app/views/files/index.php
@@ -87,23 +87,20 @@
</form>
<? endif ?>
- <form method="post"
- id="files_table_form"
- action="<?= $controller->link_for('file/bulk/' . $topFolder->getId()) ?>"
- data-files="<?= htmlReady(json_encode($vue_files)) ?>"
- data-folders="<?= htmlReady(json_encode((array) $vue_folders)) ?>"
- data-breadcrumbs="<?= htmlReady(json_encode((array) array_reverse($vue_breadcrumbs))) ?>"
- data-topfolder="<?= htmlReady(json_encode((array) $vue_topFolder)) ?>">
+ <form method="post" action="<?= $controller->link_for('file/bulk/' . $topFolder->getId()) ?>">
<?= CSRFProtection::tokenTag() ?>
<input type="hidden" name="parent_folder_id" value="<?= $topFolder->getId() ?>">
- <files-table :showdownloads="<?= $show_downloads ? "true" : "false" ?>"
- :breadcrumbs="breadcrumbs"
- :files="files"
- :folders="folders"
- :topfolder="topfolder"
- ></files-table>
+
+ <?= Studip\VueApp::create('FilesTable')
+ ->withProps([
+ 'breadcrumbs' => $vue_breadcrumbs,
+ 'files' => $vue_files,
+ 'folders' => $vue_folders,
+ 'showdownloads' => $show_downloads,
+ 'topfolder' => $vue_topFolder,
+ ]) ?>
</form>
- <? if ($GLOBALS['user']->id !== 'nobody') : ?>
+ <? if (User::findCurrent()) : ?>
<?= $this->render_partial('file/upload_window.php') ?>
<?= $this->render_partial('file/add_files_window.php', [
diff --git a/resources/assets/javascripts/lib/files.js b/resources/assets/javascripts/lib/files.js
index d05112d..5b0ab29 100644
--- a/resources/assets/javascripts/lib/files.js
+++ b/resources/assets/javascripts/lib/files.js
@@ -4,7 +4,7 @@ import FilesTable from '../../../vue/components/FilesTable.vue';
const Files = {
init () {
- if ($('#files-index, #files-system, #course-files-index, #institute-files-index, #files-flat, #course-files-flat, #institute-files-flat, #files-overview').length
+ if ($('#files-system, #course-files-index, #institute-files-index, #course-files-flat, #institute-files-flat, #files-overview').length
&& jQuery("#files_table_form").length) {
STUDIP.Vue.load().then(({createApp}) => {
@@ -46,28 +46,6 @@ const Files = {
});
});
}
-
- //The following is only for (read only) vue file tables where multiple
- //tables are displayed in one page.
- var tables = jQuery('.vue-file-table');
- if (tables.length) {
- for (let table of tables) {
- STUDIP.Vue.load().then(({createApp}) => {
- createApp({
- el: table,
- data() {
- return {
- files: jQuery(table).data("files") || [],
- folders: jQuery(table).data("folders") || [],
- topfolder: jQuery(table).data("topfolder"),
- breadcrumbs: jQuery(table).data("breadcrumbs") || []
- };
- },
- components: { FilesTable, },
- });
- });
- }
- }
},
openAddFilesWindow: function(folder_id) {