From 79cb7feec90411a6967d2dc7d353899e44652a20 Mon Sep 17 00:00:00 2001 From: Suhorukov Date: Tue, 6 Sep 2022 15:54:04 +0700 Subject: [PATCH] =?UTF-8?q?PGT-1371=20--=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BD=D0=B0=20dev=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D0=B5=D1=81=D1=82=D0=B8=20=D0=BA=D0=BB=D0=B8?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B8=D0=B7=20=D0=9D=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=20=D0=9F=D0=BE=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D1=8F=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- popup/src/api/Main/HttpClient.ts | 10 +++ .../Main/Schemas/ToggleNewClientTypeSchema.ts | 9 +++ .../Schemas/ToggleRegularClientTypeSchema.ts | 9 +++ popup/src/components/script.ts | 4 +- popup/src/components/template.html | 10 ++- popup/src/components/user-tab/main.vue | 4 ++ popup/src/components/user-tab/script.ts | 37 +++++++++++ popup/src/components/user-tab/style.scss | 65 +++++++++++++++++++ popup/src/components/user-tab/template.html | 21 ++++++ 9 files changed, 167 insertions(+), 2 deletions(-) create mode 100644 popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts create mode 100644 popup/src/api/Main/Schemas/ToggleRegularClientTypeSchema.ts create mode 100644 popup/src/components/user-tab/main.vue create mode 100644 popup/src/components/user-tab/script.ts create mode 100644 popup/src/components/user-tab/style.scss create mode 100644 popup/src/components/user-tab/template.html diff --git a/popup/src/api/Main/HttpClient.ts b/popup/src/api/Main/HttpClient.ts index fad0b37..a267617 100644 --- a/popup/src/api/Main/HttpClient.ts +++ b/popup/src/api/Main/HttpClient.ts @@ -4,6 +4,8 @@ import { SchemaInterface } from '@/api/SchemaInterface' import { TokenRequestHandler } from '@/api/Handlers/TokenRequestHandler' import AddMockSchema, { AddMockConfigurationsRequest } from '@/api/Main/Schemas/AddMockSchema' import ChangeMockValueSchema, { ChangeMockConfigurationValueRequest } from '@/api/Main/Schemas/ChangeMockValueSchema' +import ToggleNewClientTypeSchema, { ToggleNewClientTypeRequest } from '@/api/Main/Schemas/ToggleNewClientTypeSchema' +import ToggleRegularClientTypeSchema, { ToggleRegularClientTypeRequest } from '@/api/Main/Schemas/ToggleRegularClientTypeSchema' export class HttpClient extends BaseClient { mockConfigurations (data: MockConfigurationsRequest): any { @@ -17,6 +19,14 @@ export class HttpClient extends BaseClient { changeMockValueConfiguration (data: ChangeMockConfigurationValueRequest): any { return this.send(ChangeMockValueSchema as SchemaInterface, data) } + + toggleNewClientType (data: ToggleNewClientTypeRequest): any { + return this.send(ToggleNewClientTypeSchema as SchemaInterface, data) + } + + toggleRegularClientType (data: ToggleRegularClientTypeRequest): any { + return this.send(ToggleRegularClientTypeSchema as SchemaInterface, data) + } } export default new HttpClient('http://placetgroup.sipachev.sv') diff --git a/popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts b/popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts new file mode 100644 index 0000000..7167963 --- /dev/null +++ b/popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts @@ -0,0 +1,9 @@ +export class ToggleNewClientTypeRequest { + personalCode!: string +} + +export default { + code: 'api_plugin_toggle_new_client_type', + method: 'POST', + url: '/plugin/user/{personalCode}/toggleNewClientType' +} diff --git a/popup/src/api/Main/Schemas/ToggleRegularClientTypeSchema.ts b/popup/src/api/Main/Schemas/ToggleRegularClientTypeSchema.ts new file mode 100644 index 0000000..fbf93de --- /dev/null +++ b/popup/src/api/Main/Schemas/ToggleRegularClientTypeSchema.ts @@ -0,0 +1,9 @@ +export class ToggleRegularClientTypeRequest { + personalCode!: string +} + +export default { + code: 'api_plugin_toggle_regular_client_type', + method: 'POST', + url: '/plugin/user/{personalCode}/toggleRegularClientType' +} diff --git a/popup/src/components/script.ts b/popup/src/components/script.ts index 51f12e5..50a6b4c 100644 --- a/popup/src/components/script.ts +++ b/popup/src/components/script.ts @@ -4,6 +4,7 @@ import Mocks from '@/components/mocks/main.vue' import PersonTab from '@/components/person-tab/main.vue' import MocksTab from '@/components/mocks-tab/main.vue' import EmberTab from '@/components/ember-tab/main.vue' +import UserTab from '@/components/user-tab/main.vue' Vue.use(VueClipboard) @@ -12,7 +13,8 @@ Vue.use(VueClipboard) Mocks, PersonTab, MocksTab, - EmberTab + EmberTab, + UserTab } }) export default class HelloWorld extends Vue { diff --git a/popup/src/components/template.html b/popup/src/components/template.html index 0d0f7a4..629d5e6 100644 --- a/popup/src/components/template.html +++ b/popup/src/components/template.html @@ -2,7 +2,8 @@
Person + :class="{'tab-panel__item_active': tab === 'person'}"> + Person
Mocks @@ -10,6 +11,10 @@
Ember
+
+ User +
@@ -21,6 +26,9 @@
+
+ +
diff --git a/popup/src/components/user-tab/main.vue b/popup/src/components/user-tab/main.vue new file mode 100644 index 0000000..bfbb7d7 --- /dev/null +++ b/popup/src/components/user-tab/main.vue @@ -0,0 +1,4 @@ + + + + diff --git a/popup/src/components/user-tab/script.ts b/popup/src/components/user-tab/script.ts new file mode 100644 index 0000000..aa2769b --- /dev/null +++ b/popup/src/components/user-tab/script.ts @@ -0,0 +1,37 @@ +import { Component, Prop, Vue } from 'vue-property-decorator' +import VueClipboard from 'vue-clipboard2' +import httpClient from '@/api/Main/HttpClient' +import { ToggleNewClientTypeRequest } from '@/api/Main/Schemas/ToggleNewClientTypeSchema' + +Vue.use(VueClipboard) + +@Component +export default class UserTab extends Vue { + @Prop() + clientTypeUpdate!: string + + personalCode!: string + clientType = 'New'; + + update () { + if (this.clientType === 'New') { + const newToggle = new ToggleNewClientTypeRequest() + newToggle.personalCode = this.personalCode + + httpClient.toggleNewClientType(newToggle) + } else { + const regularToggle = new ToggleNewClientTypeRequest() + regularToggle.personalCode = this.personalCode + + httpClient.toggleRegularClientType(regularToggle) + } + } + + setClientType (event: FocusEvent) { + this.clientType = event.target.value + } + + setPersonalCode (event: FocusEvent) { + this.personalCode = event.target.value + } +} diff --git a/popup/src/components/user-tab/style.scss b/popup/src/components/user-tab/style.scss new file mode 100644 index 0000000..fe25a0b --- /dev/null +++ b/popup/src/components/user-tab/style.scss @@ -0,0 +1,65 @@ +.container { + max-width: 400px; + min-width: 400px; + border: solid 2px gray; + + .wrapper { + padding: 10px; + + .tab-panel { + display: flex; + + &__item { + flex-grow: 1; + padding: 5px; + cursor: pointer; + border-bottom: solid 2px #cae5fa; + + &_active { + border-bottom: solid 2px #298df8; + } + + &:hover { + border-bottom: solid 2px #298df8; + } + } + } + + .tab-page { + padding-top: 10px; + + &__item { + display: none; + + + &_show { + display: block; + } + + .form-row { + display: flex; + margin-bottom: 5px; + + &__item { + flex-grow: 1; + margin-right: 10px; + + &-input { + width: 100%; + } + } + + &:last-child { + margin-bottom: 0; + } + } + } + } + + .memory-panel { + text-align: left; + padding: 5px; + margin-top: 10px; + } + } +} diff --git a/popup/src/components/user-tab/template.html b/popup/src/components/user-tab/template.html new file mode 100644 index 0000000..e22abaf --- /dev/null +++ b/popup/src/components/user-tab/template.html @@ -0,0 +1,21 @@ +
+
+
+ + + + + + + +
+
+
+ +
+ +