Compare commits

..

7 Commits

Author SHA1 Message Date
Spythere deb7b68985 Merge branch 'development' 2023-01-01 03:02:11 +01:00
Spythere 633f05f690 fix: wyświetlanie poprawnych id RJ 2023-01-01 02:57:11 +01:00
Spythere 73828867da Merge wersji dev do produkcji (1.11.1)
Wersja 1.11.1
2022-12-31 18:30:08 +01:00
Spythere 75685c1e0e bump: 1.11.1 2022-12-31 18:22:39 +01:00
Spythere 496ff95236 fix: sortowanie RJ wg id z API 2022-12-31 18:21:32 +01:00
Spythere 7e25327832 feature: lvl dyżurnego w dzienniku 2022-12-30 17:39:21 +01:00
Spythere 272c9f50f8 fix: SW cache 2022-12-30 15:45:17 +01:00
12 changed files with 2426 additions and 2313 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "stacjownik",
"version": "1.11.0",
"version": "1.11.1",
"private": true,
"scripts": {
"dev": "vite",
+1 -1
View File
@@ -143,7 +143,7 @@ async function fetchDailyTimetableStats() {
distanceAvg,
timetableAuthor: maxTimetable?.authorName || '',
timetableDriver: maxTimetable?.driverName || '',
timetableId: maxTimetable?.timetableId || 0,
timetableId: maxTimetable?.id || 0,
timetableRouteDistance: maxTimetable?.routeDistance || 0,
mostActiveDispatchers,
@@ -15,6 +15,14 @@
tabindex="0"
>
<span>
<b
v-if="item.dispatcherLevel !== null"
class="dispatcher-level"
:style="calculateExpStyle(item.dispatcherLevel, item.dispatcherIsSupporter)"
>
{{ item.dispatcherLevel >= 2 ? item.dispatcherLevel : 'L' }}
</b>
<b class="text--primary">{{ item.dispatcherName }}</b> &bull; <b>{{ item.stationName }}</b>
<span class="text--grayed">&nbsp;#{{ item.stationHash }}&nbsp;</span>
<span class="region-badge" :class="item.region">PL1</span>
@@ -44,6 +52,7 @@
import { defineComponent, PropType } from 'vue';
import dateMixin from '../../mixins/dateMixin';
import { DispatcherHistory } from '../../scripts/interfaces/api/DispatchersAPIData';
import styleMixin from '../../mixins/styleMixin';
export default defineComponent({
props: {
@@ -53,7 +62,7 @@ export default defineComponent({
},
},
mixins: [dateMixin],
mixins: [dateMixin, styleMixin],
computed: {
computedDispatcherHistory() {
@@ -143,6 +152,18 @@ li.sticky {
}
}
.dispatcher-level {
display: inline-block;
text-align: center;
line-height: 150%;
width: 25px;
height: 25px;
margin-right: 0.5em;
border-radius: 0.25em;
}
@include smallScreen() {
.journal_item {
flex-direction: column;
@@ -16,7 +16,7 @@
<b class="text--primary">{{ timetable.trainCategoryCode }}&nbsp;</b>
<b>{{ timetable.trainNo }}</b>
| <span>{{ timetable.driverName }}</span> |
<span class="text--grayed">#{{ timetable.timetableId }}</span>
<span class="text--grayed">#{{ timetable.id }}</span>
</span>
<span>
@@ -11,8 +11,8 @@
</div>
<div>
<router-link :to="`/journal/timetables?timetableId=${historyItem.timetableId}`">
<span class="text--grayed"> #{{ historyItem.timetableId }} </span>
<router-link :to="`/journal/timetables?timetableId=${historyItem.id}`">
<span class="text--grayed"> #{{ historyItem.id }} </span>
<b class="text--primary">&nbsp;{{ historyItem.trainCategoryCode }} {{ historyItem.trainNo }}</b>
<div>{{ historyItem.driverName }}</div>
</router-link>
@@ -4,6 +4,8 @@ export interface DispatcherHistory {
currentDuration: number;
dispatcherId: number;
dispatcherName: string;
dispatcherLevel: number | null;
dispatcherIsSupporter: boolean;
isOnline: boolean;
lastOnlineTimestamp: number;
region: string;
@@ -1,4 +1,6 @@
export interface TimetableHistory {
id: number;
timetableId: number;
trainNo: number;
trainCategoryCode: string;
+1 -1
View File
@@ -24,7 +24,7 @@ function filterTrainList(trainList: Train[], searchedTrain: string, searchedDriv
(train) => {
const isFiltered = filters.every(f => {
if (f.isActive) return true;
if (!train.timetableData) return filters.find(filter => filter.id == TrainFilterType.noTimetable)!.isActive;
switch (f.id) {
+1 -1
View File
@@ -13,6 +13,6 @@ export interface JournalTimetableFilter {
}
export interface JournalTimetableSorter {
id: 'timetableId' | 'beginDate' | 'distance' | 'total-stops';
id: 'beginDate' | 'distance' | 'total-stops';
dir: -1 | 1;
}
+5 -5
View File
@@ -6,7 +6,7 @@
<JournalOptions
@on-search-confirm="fetchHistoryData"
@on-options-reset="resetOptions"
:sorter-option-ids="['timetableId', 'beginDate', 'distance', 'total-stops']"
:sorter-option-ids="[ 'beginDate', 'distance', 'total-stops']"
:filters="journalTimetableFilters"
:currentOptionsActive="currentOptionsActive"
:data-status="dataStatus"
@@ -111,7 +111,7 @@ export default defineComponent({
}),
setup() {
const sorterActive: JournalTimetableSorter = reactive({ id: 'timetableId', dir: 1 });
const sorterActive: JournalTimetableSorter = reactive({ id: 'beginDate', dir: 1 });
const journalFilterActive = ref(journalTimetableFilters[0]);
const searchersValues = reactive({
@@ -147,7 +147,7 @@ export default defineComponent({
watch: {
currentQueryArray(q: string[]) {
this.currentOptionsActive =
q.length > 2 || q.some((qv) => qv.startsWith('sortBy=') && qv.split('=')[1] != 'timetableId');
q.length > 2 || q.some((qv) => qv.startsWith('sortBy=') && qv.split('=')[1] != 'beginDate');
},
},
@@ -188,7 +188,7 @@ export default defineComponent({
this.setSearchers('', '', '', '');
this.journalFilterActive = this.journalTimetableFilters[0];
this.sorterActive.id = 'timetableId';
this.sorterActive.id = 'beginDate';
this.fetchHistoryData();
},
@@ -234,7 +234,7 @@ export default defineComponent({
if (this.sorterActive.id == 'distance') queries.push('sortBy=routeDistance');
else if (this.sorterActive.id == 'total-stops') queries.push('sortBy=allStopsCount');
else if (this.sorterActive.id == 'beginDate') queries.push('sortBy=beginDate');
else queries.push('sortBy=timetableId');
// else queries.push('sortBy=timetableId');
queries.push('countLimit=15');
+2 -1
View File
@@ -12,7 +12,7 @@ export default defineConfig({
registerType: 'prompt',
workbox: {
globPatterns: ['**/*.{js,css,html,png,svg,img}'],
globPatterns: ['**/*.{js,css,html,png,svg,jpg}'],
runtimeCaching: [
{
urlPattern: new RegExp('^https://spythere.pl/api/getSceneries', 'i'),
@@ -20,6 +20,7 @@ export default defineConfig({
options: {
cacheName: 'sceneries-cache',
expiration: {
maxEntries: 1,
maxAgeSeconds: 60 * 60 * 24 * 7, // <== 7 days
},
cacheableResponse: {
+2386 -2299
View File
File diff suppressed because it is too large Load Diff