This commit is contained in:
Tommy Mikkelsen 2022-06-29 01:02:47 +02:00
parent be40666571
commit f1d370e0f0
5 changed files with 189 additions and 163 deletions

View file

@ -201,10 +201,12 @@
"Description": "@:Modules.ET.Name allows you to export detail information about the media in your libraries", "Description": "@:Modules.ET.Name allows you to export detail information about the media in your libraries",
"Name": "ExportTools", "Name": "ExportTools",
"ErrorServer": "No server", "ErrorServer": "No server",
"ttSettings": "Settings for @:Modules.ET.Name module",
"Settings": { "Settings": {
"Name": "@:Modules.ET.Name Settings", "Name": "@:Modules.ET.Name Settings",
"Description": "Here you can define the settings for @:Modules.ET.Name", "Description": "Here you can define the settings for @:Modules.ET.Name",
"Note": "Note: * Click here for general settings regarding export *", "Note": "Note: * Click here for general settings regarding export *",
"Return": "Return to @:Modules.ET.Name",
"ArraySep": "Delimiter for multiple info in same field", "ArraySep": "Delimiter for multiple info in same field",
"ColumnSep": "Delimiter between columns in CSV file (Use 9 for TAB)", "ColumnSep": "Delimiter between columns in CSV file (Use 9 for TAB)",
"TimeOut": "Timeout when requesting info from PMS in sec (Global setting)", "TimeOut": "Timeout when requesting info from PMS in sec (Global setting)",
@ -494,8 +496,9 @@
"Name": "Find Media", "Name": "Find Media",
"Description": "@:Modules.PMS.FindMedia.Name module allows you search both filesystem and Plex database to locate medias missing from either of them", "Description": "@:Modules.PMS.FindMedia.Name module allows you search both filesystem and Plex database to locate medias missing from either of them",
"RunTask": "Run", "RunTask": "Run",
"TTSelectLibrary": "Select library to check for missing medias",
"MissingMapTitle": "Missing a mapped path", "MissingMapTitle": "Missing a mapped path",
"MissingMapDesc": "One or more defined paths for library is not defined. Goto '@:Modules.PMS.LibMapping.Name' to correct", "MissingMapDesc": "One or more defined paths for library is not defined. Goto '@:Common.Menu.Sidebar.Settings.NavTitle' and select '@:Common.Settings.LibMapping.Name' to correct",
"ttSettings": "Settings for @:Modules.PMS.FindMedia.Name module", "ttSettings": "Settings for @:Modules.PMS.FindMedia.Name module",
"ScanningFS": "Scanning File System", "ScanningFS": "Scanning File System",
"ScanningLib": "Scanning Library", "ScanningLib": "Scanning Library",

View file

@ -54,15 +54,8 @@
title: this.$t("Common.Menu.Sidebar.ET.Custom"), title: this.$t("Common.Menu.Sidebar.ET.Custom"),
hidden: wtutils.hideMenu('etCustom'), hidden: wtutils.hideMenu('etCustom'),
icon: 'fa fa-cog' icon: 'fa fa-cog'
},
{
href: '/export/settings',
title: this.$t("Common.Menu.Sidebar.ET.Settings"),
hidden: wtutils.hideMenu('etSettings'),
icon: 'fa fa-cog'
} }
] ]
}, },
// Plex.TV // Plex.TV
{ {

View file

@ -1,119 +1,135 @@
<template> <template>
<b-container fluid> <div>
<div class="col-lg-10 col-md-12 col-xs-12"> <!-- Settings button -->
<h3>{{ $t("Modules.ET.Name") }} <br> <div class="text-right">
<small>{{ $t("Modules.ET.Description") }}</small> <div class="buttons">
</h3> <!-- Buttons -->
<br /> <div id="buttons">
<b-form-row> <!-- Select Export type --> <b-button-group id="settings">
<b-col> <!-- Main type --> <b-tooltip target="settings" triggers="hover">
<div class="d-flex align-items-center"> {{ $t('Modules.ET.ttSettings') }}
<b-form-group id="etLibTypeMainGroup" v-bind:label="$t('Modules.ET.optExpType.lblMainExp')" label-size="lg" label-class="font-weight-bold pt-0">
<b-tooltip target="etLibTypeMainGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpType') }}
</b-tooltip> </b-tooltip>
<b-form-select <button class="btn btn-outline-success" @click="showSettings"><i class="fa fa-cog"></i></button>
v-model="selExpTypeMain" </b-button-group>
id="selExpTypeMain" </div>
:options="optExpTypeMain"
@change="selExpTypeMainChanged"
name="selExpTypeMain">
</b-form-select>
</b-form-group>
</div>
</b-col>
<b-col> <!-- Sec type -->
<div class="d-flex align-items-center">
<b-form-group id="etLibTypeSecGroup" v-bind:label="$t('Modules.ET.optExpType.lblSecExp')" label-size="lg" label-class="font-weight-bold pt-0">
<b-tooltip target="etLibTypeSecGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpTypeSec') }}
</b-tooltip>
<b-form-select
v-model="selExpTypeSec"
id="selExpTypeSec"
:options="optExpTypeSec"
@change="selExpTypeSecChanged"
name="selExpTypeSec">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<b-form-row> <!-- Select Library -->
<b-col>
<div class="d-flex align-items-center">
<b-form-group id="etLibraryGroup" v-bind:label="$t('Modules.ET.optExpType.lblSelectSelection')" label-size="lg" label-class="font-weight-bold pt-0" :disabled=this.etLibraryGroupDisabled>
<div ref="libSpinner" id="libSpinner" :hidden="selLibraryWait">
<b-spinner id="libLoad" class="ml-auto text-danger"></b-spinner>
</div>
<b-tooltip target="etLibraryGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpLibrary') }}
</b-tooltip>
<b-form-select
v-model="selLibrary"
id="selLibrary"
:options="selLibraryOptions"
@change="selLibraryChanged"
name="selLibrary">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<b-form-row> <!-- Select Export Level -->
<b-col>
<div>
<b-form-group id="etLevelGroup" v-bind:label="$t('Modules.ET.optExpType.lblExportLevel')" label-size="lg" label-class="font-weight-bold pt-0" :disabled=this.etLevelGroupDisabled>
<b-tooltip target="etLevelGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpLevel') }}
</b-tooltip>
<b-form-select
class="form-control"
v-model="selLevel"
id="selLevel"
:options="exportLevels"
@change="selLevelChanged"
name="selLevel">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<div class="buttons"> <!-- Buttons -->
<b-button
type="is-primary"
@click="showStartEnd"
icon-left="fas fa-file-download"
icon-pack="fas"
:disabled="btnDisable == true"
variant="success"
>
{{ $t("Modules.ET.optExpType.lblBtnExportMedia") }}</b-button>
</div> </div>
<br>
<statusDiv /> <!-- Status Div -->
<b-modal ref="startEnd" hide-footer v-bind:title=this.startEnd>
<div class="d-block">
{{ this.startEndBody }}
{{ this.startEndBody2 }}
<br>
{{ this.startEndBody3 }}
<br>
<br>
{{ this.startEndBody4 }}
<br>
<br>
<b-input-group id="itemStart" :prepend="$t('Modules.ET.optExpType.startStopStartingItem')" class="mt-3">
<b-form-input id="itemStartNo" name="itemStartNo" type="number" class="form-control" v-model="itemStartNo" :min=0 :max=this.sectionMaxItems.toString() :disabled=false @change.native="setItemStartNo()"></b-form-input>
</b-input-group>
<b-input-group id="itemEnd" :prepend="$t('Modules.ET.optExpType.startStopEndingItem')" class="mt-3">
<b-form-input id="itemEndNo" name="itemEndNo" type="number" class="form-control" v-model="itemEndNo" :disabled=false :min=this.itemStartNo.toString() :max=this.sectionMaxItems.toString() @change.native="setItemEndNo()"></b-form-input>
</b-input-group>
</div>
<b-button class="mt-3" variant="success" block @click="getMedia">{{ this.startEndBtn }}</b-button>
</b-modal>
</div> </div>
</b-container> <b-container fluid>
<div class="col-lg-10 col-md-12 col-xs-12">
<h3>{{ $t("Modules.ET.Name") }} <br>
<small>{{ $t("Modules.ET.Description") }}</small>
</h3>
<br />
<b-form-row> <!-- Select Export type -->
<b-col> <!-- Main type -->
<div class="d-flex align-items-center">
<b-form-group id="etLibTypeMainGroup" v-bind:label="$t('Modules.ET.optExpType.lblMainExp')" label-size="lg" label-class="font-weight-bold pt-0">
<b-tooltip target="etLibTypeMainGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpType') }}
</b-tooltip>
<b-form-select
v-model="selExpTypeMain"
id="selExpTypeMain"
:options="optExpTypeMain"
@change="selExpTypeMainChanged"
name="selExpTypeMain">
</b-form-select>
</b-form-group>
</div>
</b-col>
<b-col> <!-- Sec type -->
<div class="d-flex align-items-center">
<b-form-group id="etLibTypeSecGroup" v-bind:label="$t('Modules.ET.optExpType.lblSecExp')" label-size="lg" label-class="font-weight-bold pt-0">
<b-tooltip target="etLibTypeSecGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpTypeSec') }}
</b-tooltip>
<b-form-select
v-model="selExpTypeSec"
id="selExpTypeSec"
:options="optExpTypeSec"
@change="selExpTypeSecChanged"
name="selExpTypeSec">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<b-form-row> <!-- Select Library -->
<b-col>
<div class="d-flex align-items-center">
<b-form-group id="etLibraryGroup" v-bind:label="$t('Modules.ET.optExpType.lblSelectSelection')" label-size="lg" label-class="font-weight-bold pt-0" :disabled=this.etLibraryGroupDisabled>
<div ref="libSpinner" id="libSpinner" :hidden="selLibraryWait">
<b-spinner id="libLoad" class="ml-auto text-danger"></b-spinner>
</div>
<b-tooltip target="etLibraryGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpLibrary') }}
</b-tooltip>
<b-form-select
v-model="selLibrary"
id="selLibrary"
:options="selLibraryOptions"
@change="selLibraryChanged"
name="selLibrary">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<b-form-row> <!-- Select Export Level -->
<b-col>
<div>
<b-form-group id="etLevelGroup" v-bind:label="$t('Modules.ET.optExpType.lblExportLevel')" label-size="lg" label-class="font-weight-bold pt-0" :disabled=this.etLevelGroupDisabled>
<b-tooltip target="etLevelGroup" triggers="hover">
{{ $t('Modules.ET.optExpType.ttExpLevel') }}
</b-tooltip>
<b-form-select
class="form-control"
v-model="selLevel"
id="selLevel"
:options="exportLevels"
@change="selLevelChanged"
name="selLevel">
</b-form-select>
</b-form-group>
</div>
</b-col>
</b-form-row>
<div class="buttons"> <!-- Buttons -->
<b-button
type="is-primary"
@click="showStartEnd"
icon-left="fas fa-file-download"
icon-pack="fas"
:disabled="btnDisable == true"
variant="success"
>
{{ $t("Modules.ET.optExpType.lblBtnExportMedia") }}</b-button>
</div>
<br>
<statusDiv /> <!-- Status Div -->
<b-modal ref="startEnd" hide-footer v-bind:title=this.startEnd>
<div class="d-block">
{{ this.startEndBody }}
{{ this.startEndBody2 }}
<br>
{{ this.startEndBody3 }}
<br>
<br>
{{ this.startEndBody4 }}
<br>
<br>
<b-input-group id="itemStart" :prepend="$t('Modules.ET.optExpType.startStopStartingItem')" class="mt-3">
<b-form-input id="itemStartNo" name="itemStartNo" type="number" class="form-control" v-model="itemStartNo" :min=0 :max=this.sectionMaxItems.toString() :disabled=false @change.native="setItemStartNo()"></b-form-input>
</b-input-group>
<b-input-group id="itemEnd" :prepend="$t('Modules.ET.optExpType.startStopEndingItem')" class="mt-3">
<b-form-input id="itemEndNo" name="itemEndNo" type="number" class="form-control" v-model="itemEndNo" :disabled=false :min=this.itemStartNo.toString() :max=this.sectionMaxItems.toString() @change.native="setItemEndNo()"></b-form-input>
</b-input-group>
</div>
<b-button class="mt-3" variant="success" block @click="getMedia">{{ this.startEndBtn }}</b-button>
</b-modal>
</div>
</b-container>
</div>
</template> </template>
<script> <script>
@ -247,6 +263,10 @@
}, },
}, },
methods: { methods: {
// Show Settings
showSettings(){
this.$router.push({ name: 'exportsettings' })
},
setItemStartNo: async function(){ setItemStartNo: async function(){
// Update settings with new start value // Update settings with new start value
etHelper.Settings.startItem = this.itemStartNo; etHelper.Settings.startItem = this.itemStartNo;

View file

@ -1,48 +1,54 @@
<template> <template>
<b-container fluid> <b-container fluid>
<div class="col-lg-10 col-md-12 col-xs-12"> <div class="col-lg-10 col-md-12 col-xs-12">
<p id="demo"></p> <p id="demo"></p>
<h1>{{ $t("Modules.ET.Settings.Name") }}</h1> <h1>{{ $t("Modules.ET.Settings.Name") }}</h1>
<p>{{ $t("Modules.ET.Settings.Description") }}</p> <p>{{ $t("Modules.ET.Settings.Description") }}</p>
<b-link id="general" to="/settings/export">{{ $t("Modules.ET.Settings.Note") }} </b-link> <b-link id="general" to="/settings/export">{{ $t("Modules.ET.Settings.Note") }} </b-link>
<br> <br>
<b-input-group id="PosterGrp" :prepend="$t('Modules.ET.Settings.Posters_Dimensions')" class="mt-3">
<b-tooltip target="PosterGrp" triggers="hover">
{{ $t('Modules.ET.Settings.Posters_Dimensions_TT') }}
<b-input-group id="PosterGrp" :prepend="$t('Modules.ET.Settings.Posters_Dimensions')" class="mt-3"> </b-tooltip>
<b-tooltip target="PosterGrp" triggers="hover"> <b-form-input id="PosterDim" name="PosterDim" type="text" class="form-control" v-model="PosterDim" :disabled=false @change="setPosters_Dimensions()"></b-form-input>
{{ $t('Modules.ET.Settings.Posters_Dimensions_TT') }} </b-input-group>
</b-tooltip> <b-input-group id="ArtGrp" :prepend="$t('Modules.ET.Settings.Art_Dimensions')" class="mt-3">
<b-form-input id="PosterDim" name="PosterDim" type="text" class="form-control" v-model="PosterDim" :disabled=false @change="setPosters_Dimensions()"></b-form-input> <b-tooltip target="ArtGrp" triggers="hover">
</b-input-group> {{ $t('Modules.ET.Settings.Art_Dimensions_TT') }}
<b-input-group id="ArtGrp" :prepend="$t('Modules.ET.Settings.Art_Dimensions')" class="mt-3"> </b-tooltip>
<b-tooltip target="ArtGrp" triggers="hover"> <b-form-input id="ArtDim" name="ArtDim" type="text" class="form-control" v-model="ArtDim" :disabled=false @change="setArt_Dimensions()"></b-form-input>
{{ $t('Modules.ET.Settings.Art_Dimensions_TT') }} </b-input-group>
</b-tooltip> <b-form-group id="b-form-group">
<b-form-input id="ArtDim" name="ArtDim" type="text" class="form-control" v-model="ArtDim" :disabled=false @change="setArt_Dimensions()"></b-form-input> <b-form-checkbox-group
</b-input-group> stacked
<b-form-group id="b-form-group"> :options="cbOptions"
<b-form-checkbox-group v-model="cbSelected"
stacked @change.native="filterTable">
:options="cbOptions" </b-form-checkbox-group>
v-model="cbSelected" </b-form-group>
@change.native="filterTable"> <b-form-group id="etSugMovieID" v-bind:label="$t('Modules.ET.Settings.MoviesUseId')" label-size="lg" label-class="font-weight-bold pt-0">
</b-form-checkbox-group> <b-tooltip target="etSugMovieID" triggers="hover">
</b-form-group> {{ $t('Modules.ET.Settings.ttMoviesUseId') }}
<b-form-group id="etSugMovieID" v-bind:label="$t('Modules.ET.Settings.MoviesUseId')" label-size="lg" label-class="font-weight-bold pt-0"> </b-tooltip>
<b-tooltip target="etSugMovieID" triggers="hover"> <b-form-select
{{ $t('Modules.ET.Settings.ttMoviesUseId') }} class="form-control"
</b-tooltip> v-model="SelectedMoviesID"
<b-form-select id="SelectedMoviesID"
class="form-control" :options="SelectedMoviesIDOptions"
v-model="SelectedMoviesID" @change="SelectedMoviesIDChanged"
id="SelectedMoviesID" name="SugMovieID">
:options="SelectedMoviesIDOptions" </b-form-select>
@change="SelectedMoviesIDChanged" </b-form-group>
name="SugMovieID"> <!-- Buttons -->
</b-form-select> <div class="buttons">
</b-form-group> <!-- Buttons -->
</div> <div id="buttons" class="text-center">
<b-button-group >
<b-button variant="success" class="mr-1" @click="jumpToET"> {{ $t('Modules.ET.Settings.Return') }} </b-button>
</b-button-group>
</div>
</div>
</div>
</b-container> </b-container>
</template> </template>
@ -77,6 +83,10 @@
}; };
}, },
methods: { methods: {
// Return to ET
jumpToET(){
this.$router.push({ name: 'export' })
},
showAlert(){ showAlert(){
dialog.ShowMsg( i18n.t("Modules.ET.Name"), i18n.t("Common.Ok"), i18n.t("Common.AppName"), 'For this version, export to XLSX is currently disabled', 'info'); dialog.ShowMsg( i18n.t("Modules.ET.Name"), i18n.t("Common.Ok"), i18n.t("Common.AppName"), 'For this version, export to XLSX is currently disabled', 'info');
}, },

View file

@ -24,7 +24,7 @@
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<b-form-group id="SelLibGroup" v-bind:label="$t('Modules.ET.optExpType.lblSelectSelection')" label-size="lg" label-class="font-weight-bold pt-0"> <b-form-group id="SelLibGroup" v-bind:label="$t('Modules.ET.optExpType.lblSelectSelection')" label-size="lg" label-class="font-weight-bold pt-0">
<b-tooltip target="SelLibGroup" triggers="hover"> <b-tooltip target="SelLibGroup" triggers="hover">
{{ $t('Modules.PMS.LibMapping.TTSelectLibrary') }} {{ $t('Modules.PMS.FindMedia.TTSelectLibrary') }}
</b-tooltip> </b-tooltip>
<b-form-select <b-form-select
v-model="selLib" v-model="selLib"