PGT-1371 -- Добавить на dev возможность перевести клиента из Нового в Постоянного
This commit is contained in:
parent
2153296023
commit
79cb7feec9
@ -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')
|
||||
|
9
popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts
Normal file
9
popup/src/api/Main/Schemas/ToggleNewClientTypeSchema.ts
Normal file
@ -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'
|
||||
}
|
@ -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'
|
||||
}
|
@ -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 {
|
||||
|
@ -2,7 +2,8 @@
|
||||
<div class="wrapper">
|
||||
<div class="tab-panel">
|
||||
<div @click="tab = 'person'" class="tab-panel__item"
|
||||
:class="{'tab-panel__item_active': tab === 'person'}">Person
|
||||
:class="{'tab-panel__item_active': tab === 'person'}">
|
||||
Person
|
||||
</div>
|
||||
<div @click="personalId=''; tab = 'mocks'" class="tab-panel__item" :class="{'tab-panel__item_active': tab === 'mocks'}">
|
||||
Mocks
|
||||
@ -10,6 +11,10 @@
|
||||
<div v-if="isPlugin()" @click="tab = 'ember'" class="tab-panel__item" :class="{'tab-panel__item_active': tab === 'ember'}">
|
||||
Ember
|
||||
</div>
|
||||
<div @click="tab = 'user'" class="tab-panel__item"
|
||||
:class="{'tab-panel__item_active': tab === 'user'}">
|
||||
User
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-page">
|
||||
<div class="tab-page__item" :class="{'tab-page__item_show': tab === 'person'}">
|
||||
@ -21,6 +26,9 @@
|
||||
<div v-if="isPlugin()" class="tab-page__item" :class="{'tab-page__item_show': tab === 'ember'}">
|
||||
<EmberTab/>
|
||||
</div>
|
||||
<div class="tab-page__item" :class="{'tab-page__item_show': tab === 'user'}">
|
||||
<userTab/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
4
popup/src/components/user-tab/main.vue
Normal file
4
popup/src/components/user-tab/main.vue
Normal file
@ -0,0 +1,4 @@
|
||||
<template src="./template.html"></template>
|
||||
<script lang="ts" src="./script.ts"></script>
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped lang="scss" src="./style.scss"></style>
|
37
popup/src/components/user-tab/script.ts
Normal file
37
popup/src/components/user-tab/script.ts
Normal file
@ -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
|
||||
}
|
||||
}
|
65
popup/src/components/user-tab/style.scss
Normal file
65
popup/src/components/user-tab/style.scss
Normal file
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
21
popup/src/components/user-tab/template.html
Normal file
21
popup/src/components/user-tab/template.html
Normal file
@ -0,0 +1,21 @@
|
||||
<div>
|
||||
<div class="form-row">
|
||||
<div class="form-row__item">
|
||||
<input title="Personal code" class="form-row__item-input" type="text" placeholder="Personal code" v-on:change="setPersonalCode">
|
||||
|
||||
<input type="radio" id="client_type_new"
|
||||
name="client_type" value="New" checked v-on:focus="setClientType">
|
||||
<label for="client_type_new">New</label>
|
||||
|
||||
<input type="radio" id="client_type_regular"
|
||||
name="client_type" value="Regular" v-on:focus="setClientType">
|
||||
<label for="client_type_regular">Regular</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label>
|
||||
<input type="button" v-on:click="update" value="Update"/>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user