From df25fb0b36e8050b9cd4ed2e25576311bc81b99f Mon Sep 17 00:00:00 2001 From: Spythere Date: Thu, 17 Nov 2022 15:34:05 +0100 Subject: [PATCH] =?UTF-8?q?Checkboxy=20i=20numeracja=20rozkaz=C3=B3w?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/OrderMessage.vue | 63 +++++++++++++++++++++++++++++++-- src/components/OrderN.vue | 2 +- src/components/OrderO.vue | 2 +- src/components/OrderS.vue | 6 ++-- src/mixins/orderStorageMixin.ts | 13 +++++++ 5 files changed, 79 insertions(+), 7 deletions(-) diff --git a/src/components/OrderMessage.vue b/src/components/OrderMessage.vue index c5cc2af..0410f31 100644 --- a/src/components/OrderMessage.vue +++ b/src/components/OrderMessage.vue @@ -18,6 +18,30 @@ +
+ +
+ +
+
@@ -42,6 +66,9 @@ export default defineComponent({ saveIcon, actionMonit: '', monitTimeout: undefined as number | undefined, + + incrementOnSave: true, + incrementOnCopy: true, }; }, @@ -51,6 +78,11 @@ export default defineComponent({ }; }, + mounted() { + this.incrementOnSave = this.getOrderSetting('save-increment') === 'false' ? false : true; + this.incrementOnCopy = this.getOrderSetting('copy-increment') === 'false' ? false : true; + }, + computed: { fullOrderMessage() { return this.store.orderMessage + this.store.footerMessage; @@ -58,6 +90,13 @@ export default defineComponent({ }, methods: { + onCheckboxChange(e: Event) { + const checkbox = e.target as HTMLInputElement; + console.log(checkbox.id, checkbox.checked); + + this.saveOrderSetting(checkbox.id, checkbox.checked); + }, + showActionMonit(text: string) { if (this.monitTimeout) { this.actionMonit = ''; @@ -81,6 +120,12 @@ export default defineComponent({ }, 5000); }, + incrementOrderNo() { + const order = this.store[this.store.chosenOrderType]; + + order.header.orderNo = (Number(order.header.orderNo) + 1).toString(); + }, + copyMessage() { if (!navigator.clipboard) return this.showActionMonit( @@ -90,8 +135,14 @@ export default defineComponent({ const hasAtLeastOneRow = /(\[ \d \])/g.test(this.fullOrderMessage); const hasAllInputsFilled = !/_/g.test(this.store.orderMessage); - if (!hasAllInputsFilled) return this.showActionMonit(`Wypełnij puste rubryki rozkazu przed jego skopiowaniem!`); - if (!hasAtLeastOneRow) return this.showActionMonit(`Dodaj co najmniej jedną działkę rozkazu przed jego skopiowaniem!`); + if (!hasAllInputsFilled) + return this.showActionMonit( + `Wypełnij puste rubryki rozkazu przed jego skopiowaniem!` + ); + if (!hasAtLeastOneRow) + return this.showActionMonit( + `Dodaj co najmniej jedną działkę rozkazu przed jego skopiowaniem!` + ); const fieldsToCorrect = this.verifyOrderFields(); @@ -104,6 +155,8 @@ export default defineComponent({ navigator.clipboard.writeText(this.fullOrderMessage); + if (this.incrementOnCopy) this.incrementOrderNo(); + this.showActionMonit( 'Skopiowano! Możesz teraz wkleić treść rozkazu na czacie symulatora!' ); @@ -123,6 +176,8 @@ export default defineComponent({ break; case 1: this.showActionMonit('Zapisano treść rozkazu w pamięci przeglądarki!'); + + if (this.incrementOnSave) this.incrementOrderNo(); break; default: @@ -201,6 +256,10 @@ export default defineComponent({ } } +.message_checkboxes { + margin-top: 1em; +} + .action_monit { text-align: center; padding: 1.5em; diff --git a/src/components/OrderN.vue b/src/components/OrderN.vue index 7701106..5ec32e5 100644 --- a/src/components/OrderN.vue +++ b/src/components/OrderN.vue @@ -3,7 +3,7 @@

Rozkaz pisemny "N" nr - +

dla pociągu nr dnia diff --git a/src/components/OrderO.vue b/src/components/OrderO.vue index 34108d8..404310d 100644 --- a/src/components/OrderO.vue +++ b/src/components/OrderO.vue @@ -3,7 +3,7 @@

Rozkaz pisemny "O" nr - +

diff --git a/src/components/OrderS.vue b/src/components/OrderS.vue index 72d36fe..41cdd73 100644 --- a/src/components/OrderS.vue +++ b/src/components/OrderS.vue @@ -3,7 +3,7 @@

Rozkaz pisemny "S" nr - +

dla @@ -304,7 +304,7 @@ export default defineComponent({ }; }, -activated() { + activated() { this.generateMessage(); }, @@ -335,7 +335,7 @@ activated() { }); }, - generateMessage() { + generateMessage() { let message = this.rowMethods[0](); for (let i = 0; i < 4; i++) { diff --git a/src/mixins/orderStorageMixin.ts b/src/mixins/orderStorageMixin.ts index c7cb2aa..824799b 100644 --- a/src/mixins/orderStorageMixin.ts +++ b/src/mixins/orderStorageMixin.ts @@ -10,6 +10,18 @@ export default defineComponent({ }, methods: { + saveOrderSetting(key: string, value: string | number | boolean) { + window.localStorage.setItem(key, value.toString()); + }, + + getOrderSetting(key: string) { + return window.localStorage.getItem(key); + }, + + removeOrderSetting(key: string) { + window.localStorage.removeItem(key); + }, + saveLocalOrder() { let orderObj: LocalStorageOrder = { id: '', @@ -120,3 +132,4 @@ export default defineComponent({ }, }, }); +