/
sidebar.js
107 lines (96 loc) · 3.29 KB
/
sidebar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
document.onreadystatechange = function () {
if (document.readyState === 'interactive') renderApp();
};
async function renderApp() {
let _client = await app.initialized();
window['client'] = _client;
client.events.on('app.activated', renderSidebar);
return;
}
function renderSidebar() {
const dataMethBtn = document.querySelector('.btn-ticket-details');
const space = document.querySelector('.space');
dataMethBtn.addEventListener('fwClick', function getTktDetails() {
/** ~ playground start of ticket details page ~ */
// ticket
client.data
.get('ticket')
.then(function getDetails({ ticket: { description_text: desc, priority: priority } }) {
space.insertAdjacentHTML(
'afterbegin',
`<li><i>"ticket"</i> priority: <mark>${priority}</mark> : desc: <mark>${desc}</mark></li>`
);
})
.catch(console.error);
//contact
client.data
.get('contact')
.then(function getDetails({ contact: { address: address, name: name } }) {
space.insertAdjacentHTML(
'afterbegin',
`<li><i>"contact"</i> address: <mark>${address}</mark> name: <mark>${name}</mark></li>`
);
})
.catch(console.error);
// email_config
client.data
.get('email_config')
.then(function getDetails(payload) {
let supportEmail = payload.email_config[0].replyEmail;
space.insertAdjacentHTML('afterbegin', `<li><i>"email_config"</i> : <mark>${supportEmail}<mark></li>`);
})
.catch(console.error);
//requester
client.data
.get('requester')
.then(function getDetails(payload) {
let name = payload.requester.name;
space.insertAdjacentHTML('afterbegin', `<li><i>"requester"</i> : <mark>${name}<mark></li>`);
})
.catch(console.error);
//requester
client.data
.get('company')
.then(function getDetails(payload) {
let name = payload.company.name;
space.insertAdjacentHTML('afterbegin', `<li><i>"company"</i> : <mark>${name}<mark></li>`);
})
.catch(console.error);
//requester
client.data
.get('group')
.then(function getDetails(payload) {
let name = payload.group.name;
space.insertAdjacentHTML('afterbegin', `<li><i>"group"</i> : <mark>${name}<mark></li>`);
})
.catch(console.error);
//requester
client.data
.get('company')
.then(function getDetails(payload) {
let name = payload.company.name;
space.insertAdjacentHTML('afterbegin', `<li><i>"company"</i> : <mark>${name}<mark></li>`);
})
.catch(console.error);
//status_options
client.data
.get('status_options')
.then(function getDetails(payload) {
let opt = payload.status_options[0];
space.insertAdjacentHTML('afterbegin', `<li><i>"status options"</i> First option: <mark>${opt}<mark></li>`);
})
.catch(console.error);
//time_entry
client.data
.get('time_entry')
.then(function getDetails(payload) {
let isTimerRunning = payload.time_entry.time_entries[0].time_spent;
space.insertAdjacentHTML(
'afterbegin',
`<li><i>"time entry"</i> First option: <mark>${isTimerRunning}<mark></li>`
);
})
.catch(console.error);
/** ~ end ~ */
});
}