diff --git a/src/App.vue b/src/App.vue
index dbd9114..968a979 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -52,7 +52,7 @@ function handleQueries() {
const id = query.get('sceneryId');
if (id != null) {
- store.panelMode = 'OrderTrainPicker';
+ store.panelMode = 'OrderTrainPickerPanel';
}
}
diff --git a/src/components/Order.vue b/src/components/Order.vue
deleted file mode 100644
index b951107..0000000
--- a/src/components/Order.vue
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/OrderFooter.vue b/src/components/OrderFooter.vue
deleted file mode 100644
index bd2ddce..0000000
--- a/src/components/OrderFooter.vue
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/OrderN.vue b/src/components/OrderN.vue
deleted file mode 100644
index b37887e..0000000
--- a/src/components/OrderN.vue
+++ /dev/null
@@ -1,518 +0,0 @@
-
-
-
-
-
diff --git a/src/components/OrderO.vue b/src/components/OrderO.vue
deleted file mode 100644
index 1fb2554..0000000
--- a/src/components/OrderO.vue
+++ /dev/null
@@ -1,199 +0,0 @@
-
-
-
-
-
-
-
- 2. Inne:
-
-
-
-
-
-
-
-
-
diff --git a/src/components/OrderS.vue b/src/components/OrderS.vue
deleted file mode 100644
index 733653d..0000000
--- a/src/components/OrderS.vue
+++ /dev/null
@@ -1,448 +0,0 @@
-
-
-
-
-
diff --git a/src/components/OrderList.vue b/src/components/Panels/OrderListPanel.vue
similarity index 95%
rename from src/components/OrderList.vue
rename to src/components/Panels/OrderListPanel.vue
index 3ebdf29..0369272 100644
--- a/src/components/OrderList.vue
+++ b/src/components/Panels/OrderListPanel.vue
@@ -61,10 +61,10 @@
diff --git a/src/locales/en.json b/src/locales/en.json
index 2703cbd..0ee7cac 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -4,9 +4,9 @@
"en": "ENG"
},
"navbar": {
- "order-message": "ORDER MESSAGE",
- "order-list": "SAVED ORDERS",
- "order-train-picker": "TRAINS"
+ "OrderMessagePanel": "ORDER MESSAGE",
+ "OrderListPanel": "SAVED ORDERS",
+ "OrderTrainPickerPanel": "TRAINS"
},
"update": {
"update-available-text": "New GeneraTOR version is available!",
diff --git a/src/locales/pl.json b/src/locales/pl.json
index 55eb40b..87a89de 100644
--- a/src/locales/pl.json
+++ b/src/locales/pl.json
@@ -13,9 +13,9 @@
"info-2": "Pełny changelog dostępny na GitHubie projektu "
},
"navbar": {
- "order-message": "TREŚĆ ROZKAZU",
- "order-list": "ZAPISANE ROZ.",
- "order-train-picker": "POCIĄGI"
+ "OrderMessagePanel": "TREŚĆ ROZKAZU",
+ "OrderListPanel": "ZAPISANE ROZKAZY",
+ "OrderTrainPickerPanel": "POCIĄGI"
},
"order-message": {
"title": "Wiadomość do wyświetlenia na czacie symulatora:",
diff --git a/src/mixins/orderFooterMixin.ts b/src/mixins/orderFooterMixin.ts
deleted file mode 100644
index d788576..0000000
--- a/src/mixins/orderFooterMixin.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { defineComponent } from 'vue';
-import { useStore } from '../store/store';
-
-export default defineComponent({
- setup() {
- return {
- store: useStore()
- };
- },
-
- methods: {
- generateFooter() {
- const footer = this.store.orderFooter;
-
- const messageArray = [];
-
- messageArray.push(`stacja: ${footer.stationName ?? ''}`);
- if (footer.checkpointName) messageArray.push(`posterunek: ${footer.checkpointName}`);
- if (footer.hour) messageArray.push(`godz. ${footer.hour}`);
- if (footer.minutes) messageArray.push(`min. ${footer.minutes}`);
- if (footer.dispatcherName) messageArray.push(`dyżurny ruchu ${footer.dispatcherName}`);
- if (footer.secondaryDispatcherName)
- messageArray.push(`z polecenia dyżurnego ruchu ${footer.secondaryDispatcherName}`);
-
- this.store.footerMessage = `\n--------\n${messageArray.join(
- ', '
- )}\n--------\nRozkaz otrzymałem, maszynista: (potwierdzić otrzymanie rozkazu) `;
- }
- }
-});
diff --git a/src/mixins/orderStorageMixin.ts b/src/mixins/orderStorageMixin.ts
deleted file mode 100644
index e3e5e15..0000000
--- a/src/mixins/orderStorageMixin.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-import { defineComponent } from 'vue';
-import { useStore } from '../store/store';
-import { LocalStorageOrderLegacy } from '../types/orderTypes';
-
-function alertWrongOrderFormat() {
- alert('Wystąpił błąd podczas przetwarzania rozkazu! Informacje mogą być niepoprawne!');
- console.warn('Zły format zapisanego rozkazu!');
-}
-
-export default defineComponent({
- setup() {
- return {
- store: useStore()
- };
- },
-
- methods: {
- removeLocalOrder(order: LocalStorageOrderLegacy) {
- localStorage.removeItem(order.id);
-
- if (this.store.chosenLocalOrderId == order.id) this.store.chosenLocalOrderId = '';
- // localStorage.setItem('orderCount', (Number(localStorage.getItem('orderCount')) - 1).toString());
- },
-
- selectLocalOrder(localOrder: LocalStorageOrderLegacy) {
- // const localOrder = JSON.parse(JSON.stringify(order));
- const { orderBody: localOrderBody, orderFooter: localOrderFooter } = localOrder;
-
- this.store[localOrder.orderType].header.date = localOrderBody.header.date;
- this.store[localOrder.orderType].header.orderNo = localOrderBody.header.orderNo;
- this.store[localOrder.orderType].header.trainNo = localOrderBody.header.trainNo;
-
- if (localOrder.orderType == 'orderN' || localOrder.orderType == 'orderS') {
- const currentOrder = this.store[localOrder.orderType];
-
- if (localOrderBody.rows.length != currentOrder.rows.length) {
- alertWrongOrderFormat();
- return;
- }
-
- for (let rowIndex = 0; rowIndex < currentOrder.rows.length; rowIndex++) {
- const row = currentOrder.rows[rowIndex];
-
- if (localOrderBody.rows[rowIndex] === undefined) {
- alertWrongOrderFormat();
- continue;
- }
-
- for (const rowProp in row) {
- if (localOrderBody.rows[rowIndex][rowProp] === undefined) {
- alertWrongOrderFormat();
- continue;
- }
-
- (currentOrder.rows[rowIndex] as any)[rowProp] = localOrderBody.rows[rowIndex][rowProp];
- }
- }
- }
-
- if (localOrder.orderType == 'orderO') {
- const currentOrder = this.store[localOrder.orderType];
-
- for (let rowIndex = 0; rowIndex < currentOrder.orderList.length; rowIndex++) {
- const row = currentOrder.orderList[rowIndex];
-
- if (localOrderBody.orderList[rowIndex] === undefined) {
- alertWrongOrderFormat();
- continue;
- }
-
- for (const rowProp in row) {
- if (localOrderBody.orderList[rowIndex][rowProp] === undefined) {
- alertWrongOrderFormat();
- continue;
- }
-
- (currentOrder.orderList[rowIndex] as any)[rowProp] =
- localOrderBody.orderList[rowIndex][rowProp];
- }
- }
-
- currentOrder.other = localOrderBody.other;
- }
-
- for (const key in this.store.orderFooter) {
- (this.store.orderFooter as any)[key] = localOrderFooter[key];
- }
-
- this.store.chosenOrderType = localOrder.orderType;
- this.store.chosenLocalOrderId = localOrder.id;
- this.store.panelMode = 'OrderMessage';
- }
- }
-});
diff --git a/src/mixins/orderValidationMixin.ts b/src/mixins/orderValidationMixin.ts
deleted file mode 100644
index 04cd7ed..0000000
--- a/src/mixins/orderValidationMixin.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { defineComponent } from 'vue';
-import { useStore } from '../store/store';
-
-export default defineComponent({
- setup() {
- return {
- store: useStore(),
- };
- },
-
- methods: {
- verifyOrderFields() {
- // const header = this.store[this.store.chosenOrderType].header;
- const footer = this.store.orderFooter;
-
- const fieldsToCorrect = [];
-
- // if (!header.orderNo) fieldsToCorrect.push('numer rozkazu');
- // if (!header.trainNo) fieldsToCorrect.push('numer pociągu / manewru');
- // if (!header.date) fieldsToCorrect.push('data');
-
- if (!footer.stationName) fieldsToCorrect.push('stacja');
- if (!footer.checkpointName) fieldsToCorrect.push('posterunek');
- if (!footer.hour) fieldsToCorrect.push('godzina');
- if (!footer.minutes) fieldsToCorrect.push('minuta');
- if (!footer.dispatcherName && !footer.secondaryDispatcherName)
- fieldsToCorrect.push('dyżurny ruchu (lub z polecenia dyżurnego ruchu)');
-
- return fieldsToCorrect;
- }
- }
-});
diff --git a/src/store/store.ts b/src/store/store.ts
index 6751638..b6bace8 100644
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@ -8,6 +8,7 @@ import {
import StorageManager from '../managers/storageManager';
import i18n from '../i18n';
+import { TPanelMode } from '../types/dataTypes';
export const useStore = defineStore('store', {
state: () => {
@@ -24,7 +25,7 @@ export const useStore = defineStore('store', {
helperModalOpen: false,
orderDarkMode: false,
- panelMode: 'OrderMessage',
+ panelMode: 'OrderMessagePanel' as TPanelMode,
chosenOrderType: 'orderN' as TOrder,
chosenLocalOrderId: '',
diff --git a/src/types/dataTypes.ts b/src/types/dataTypes.ts
index d4a2357..0fad6df 100644
--- a/src/types/dataTypes.ts
+++ b/src/types/dataTypes.ts
@@ -32,4 +32,6 @@ export interface ISceneryData {
routes: string;
signalType: string;
url: string;
-}
\ No newline at end of file
+}
+
+export type TPanelMode = 'OrderListPanel' | 'OrderMessagePanel' | 'OrderTrainPickerPanel';
\ No newline at end of file
diff --git a/src/views/Home.vue b/src/views/Home.vue
index f47d186..6a62d22 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -9,12 +9,12 @@
- {{ t(`navbar.${action.value}`) }}
+ {{ t(`navbar.${action}`) }}
@@ -34,42 +34,29 @@ import { useStore } from '../store/store';
import { useI18n } from 'vue-i18n';
import Order from '../components/Order/Order.vue';
-import OrderMessage from '../components/OrderMessage.vue';
-import OrderList from '../components/OrderList.vue';
-import OrderTrainPicker from '../components/OrderTrainPicker.vue';
+import OrderMessagePanel from '../components/Panels/OrderMessagePanel.vue';
+import OrderListPanel from '../components/Panels/OrderListPanel.vue';
+import OrderTrainPickerPanel from '../components/Panels/OrderTrainPickerPanel.vue';
+import { TPanelMode } from '../types/dataTypes';
const { t } = useI18n();
const store = useStore();
-const navActions = [
- {
- mode: 'OrderMessage',
- value: 'order-message'
- },
- {
- mode: 'OrderList',
- value: 'order-list'
- },
- {
- mode: 'OrderTrainPicker',
- value: 'order-train-picker'
- }
-];
+const navActions: TPanelMode[] = ['OrderListPanel', 'OrderMessagePanel', 'OrderTrainPickerPanel'];
-function selectOrderMode(mode: string) {
+function selectOrderMode(mode: TPanelMode) {
store.panelMode = mode;
}
const panelComponent = computed(() => {
switch (store.panelMode) {
- case 'OrderMessage':
- return OrderMessage;
- case 'OrderList':
- return OrderList;
- case 'OrderTrainPicker':
- return OrderTrainPicker;
+ case 'OrderListPanel':
+ return OrderListPanel;
+ case 'OrderTrainPickerPanel':
+ return OrderTrainPickerPanel;
+ case 'OrderMessagePanel':
default:
- return OrderMessage;
+ return OrderMessagePanel;
}
});