Skip to content

Commit 892df94

Browse files
committed
Added more templates
1 parent c97bb73 commit 892df94

File tree

2 files changed

+47
-12
lines changed

2 files changed

+47
-12
lines changed

projects/whatsapp_direct/index.html

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
<div class="card">
3535
<div class="card-header">Прямая связь</div>
3636
<div class="card-body">
37-
<label>Номер телефона: {{country}}</label>
37+
<label>Номер телефона:
38+
<span v-html="country"></span>
39+
</label>
3840
<div class="input-group mb-3">
3941
<input type="tel" class="form-control" v-model="tel" v-on:input="saveTel()">
4042
<div class="input-group-append">
@@ -44,10 +46,29 @@
4446

4547
<div class="form-group">
4648
<label for="comment">Сообщение (необязательно):</label>
47-
<textarea class="form-control" rows="5" v-model="message" v-on:input="saveMessage()"></textarea>
49+
50+
<ul class="nav nav-pills nav-justified">
51+
<li class="nav-item">
52+
<a class="nav-link" v-bind:class="{ active: active_tab == 0 }" v-on:click="setActiveTab(0)" href="#">I</a>
53+
</li>
54+
<li class="nav-item">
55+
<a class="nav-link" v-bind:class="{ active: active_tab == 1 }" v-on:click="setActiveTab(1)" href="#">II</a>
56+
</li>
57+
<li class="nav-item">
58+
<a class="nav-link" v-bind:class="{ active: active_tab == 2 }" v-on:click="setActiveTab(2)" href="#">III</a>
59+
</li>
60+
<li class="nav-item">
61+
<a class="nav-link" v-bind:class="{ active: active_tab == 3 }" v-on:click="setActiveTab(3)" href="#">IV</a>
62+
</li>
63+
<li class="nav-item">
64+
<a class="nav-link" v-bind:class="{ active: active_tab == 4 }" v-on:click="setActiveTab(4)" href="#">V</a>
65+
</li>
66+
</ul>
67+
68+
<textarea class="form-control mt-3" rows="5" v-model="active_message" v-on:input="saveMessages()"></textarea>
4869
</div>
4970

50-
<button type="button" class="btn btn-block btn-outline-primary" v-on:click="clearMessage()">Очистить текст сообщения</button>
71+
<button type="button" class="btn btn-block btn-outline-primary" v-on:click="clearActiveMessage()">Очистить текст сообщения</button>
5172

5273
<a v-bind:href="whatsapp_link" class="btn btn-block btn-success" role="button">Открыть в WhatsApp</a>
5374
</div>

projects/whatsapp_direct/scripts/script.js

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ var app = new Vue({
22
el: '#app',
33
data: {
44
tel: localStorage.getItem('tel') === null ? '' : localStorage.getItem('tel'),
5-
message: localStorage.getItem('message') === null ? 'Здравствуйте, ' : localStorage.getItem('message')
5+
messages: localStorage.getItem('messages') === null ? ['Здравствуйте, ', 'Здравствуйте, ', 'Здравствуйте, ', 'Здравствуйте, ', 'Здравствуйте, '] :
6+
JSON.parse(localStorage.getItem('messages')),
7+
active_tab: localStorage.getItem('active_tab') === null ? '0' : localStorage.getItem('active_tab')
68
},
79
computed: {
810
tel_numeric: function () {
@@ -13,35 +15,47 @@ var app = new Vue({
1315

1416
return numbers
1517
},
18+
active_message: {
19+
get: function () {
20+
return this.messages[this.active_tab]
21+
},
22+
set: function (newValue) {
23+
Vue.set(this.messages, this.active_tab, newValue)
24+
}
25+
},
1626
message_encoded: function () {
17-
return encodeURI(this.message).replace(/%5B/g, '[').replace(/%5D/g, ']')
27+
return encodeURI(this.messages[this.active_tab]).replace(/%5B/g, '[').replace(/%5D/g, ']')
1828
},
1929
whatsapp_link: function () {
2030
return 'https://api.whatsapp.com/send?phone=' + this.tel_numeric + '&text=' + this.message_encoded
2131
},
2232
country: function () {
2333
var data = new libphonenumber.parse('+' + this.tel_numeric)
24-
34+
2535
if (data.country == undefined)
2636
return ''
2737

28-
return data.country + ' - ' + getCountryName(data.country)
38+
return '<span class="badge badge-secondary">' + data.country + '</span> - <span class="badge badge-light">' + getCountryName(data.country) + '</span>'
2939
}
3040
},
3141
methods: {
3242
saveTel: function () {
3343
localStorage.setItem('tel', this.tel)
3444
},
35-
saveMessage: function () {
36-
localStorage.setItem('message', this.message)
45+
saveMessages: function () {
46+
localStorage.setItem('messages', JSON.stringify(this.messages))
3747
},
3848
clearTel: function () {
3949
this.tel = ''
4050
this.saveTel()
4151
},
42-
clearMessage: function () {
43-
this.message = ''
44-
this.saveMessage()
52+
clearActiveMessage: function () {
53+
this.active_message = ''
54+
this.saveMessages()
55+
},
56+
setActiveTab: function (n) {
57+
this.active_tab = n
58+
localStorage.setItem('active_tab', n)
4559
}
4660
}
4761
})

0 commit comments

Comments
 (0)