@nyaruka/temba-components 0.65.1 → 0.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/{8ce5c6c3.js → 6b3d6099.js} +65 -90
- package/dist/index.js +65 -90
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/templates/components-body.html +1 -1
- package/dist/templates/components-head.html +1 -1
- package/out-tsc/src/contacts/ContactHistory.js +1 -25
- package/out-tsc/src/contacts/ContactHistory.js.map +1 -1
- package/out-tsc/src/contacts/events.js +2 -15
- package/out-tsc/src/contacts/events.js.map +1 -1
- package/out-tsc/src/interfaces.js.map +1 -1
- package/package.json +1 -1
- package/src/contacts/ContactHistory.ts +0 -31
- package/src/contacts/events.ts +2 -18
- package/src/interfaces.ts +0 -1
- package/test-assets/api/tickets.json +1 -13
- package/test-assets/contacts/contact-tickets.json +0 -20
- package/test-assets/contacts/history.json +2 -10
- package/test-assets/tickets/ticket-barack-closed.json +1 -5
- package/test-assets/tickets/ticket-carter-closed.json +1 -5
- package/test-assets/tickets/ticket-carter-open.json +1 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,mCAAsB,CAAA;IACtB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;AAC1B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,sDAAgC,CAAA;IAChC,gEAA0C,CAAA;IAC1C,4DAAsC,CAAA;AACxC,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,mCAAsB,CAAA;IACtB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;AAC1B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,sDAAgC,CAAA;IAChC,gEAA0C,CAAA;IAC1C,4DAAsC,CAAA;AACxC,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAuMD,MAAM,CAAN,IAAY,eAsBX;AAtBD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,yDAAsC,CAAA;IACtC,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;IAC7B,yDAAsC,CAAA;IACtC,uDAAoC,CAAA;IACpC,6DAA0C,CAAA;IAC1C,2DAAwC,CAAA;IACxC,2DAAwC,CAAA;IACxC,yDAAsC,CAAA;IACtC,qDAAkC,CAAA;IAClC,gDAA6B,CAAA;IAC7B,kDAA+B,CAAA;IAC/B,2CAAwB,CAAA;IACxB,uDAAoC,CAAA;IACpC,wCAAqB,CAAA;IACrB,uDAAoC,CAAA;IACpC,iDAA8B,CAAA;IAC9B,+CAA4B,CAAA;IAC5B,4CAAyB,CAAA;AAC3B,CAAC,EAtBW,eAAe,KAAf,eAAe,QAsB1B","sourcesContent":["export interface Workspace {\n uuid: string;\n name: string;\n country: string;\n languages: string[];\n timezone: string;\n date_style: DateStyle;\n anon: boolean;\n}\n\nexport interface Language {\n iso: string;\n name: string;\n}\n\nexport interface Attachment {\n uuid: string;\n content_type: string;\n url: string;\n filename: string;\n size: number;\n error: string;\n}\n\nexport enum DateStyle {\n DayFirst = 'day_first',\n MonthFirst = 'month_first',\n YearFirst = 'year_first',\n}\n\nexport enum ScheduledEventType {\n CampaignEvent = 'campaign_event',\n ScheduledBroadcast = 'scheduled_broadcast',\n ScheduledTrigger = 'scheduled_trigger',\n}\n\nexport enum TicketStatus {\n Open = 'open',\n Closed = 'closed',\n}\n\nexport interface ScheduledEvent {\n type: ScheduledEventType;\n scheduled: string;\n repeat_period: string;\n campaign?: ObjectReference;\n flow?: ObjectReference;\n message?: string;\n}\n\nexport interface User {\n id?: number;\n first_name?: string;\n last_name?: string;\n email?: string;\n role?: string;\n created_on?: string;\n}\n\nexport interface Ticket {\n uuid: string;\n subject: string;\n body?: string;\n closed_on: string;\n opened_on: string;\n status: string;\n contact: ObjectReference;\n topic: ObjectReference;\n assignee?: { email: string; name: string };\n}\n\nexport interface FlowResult {\n key: string;\n name: string;\n categories: string[];\n node_uuids: string[];\n}\n\nexport interface FlowDetails {\n name: string;\n results: FlowResult[];\n modified_on: string;\n runs: {\n active: number;\n completed: number;\n expired: number;\n interrupted: number;\n };\n}\n\nexport interface Msg {\n text: string;\n status: string;\n channel: ObjectReference;\n quick_replies: string[];\n urn: string;\n id: number;\n direction: string;\n type: string;\n attachments: string[];\n}\n\nexport interface ObjectReference {\n uuid: string;\n name: string;\n}\n\nexport interface ContactField {\n key: string;\n label: string;\n value_type: string;\n featured: boolean;\n priority: number;\n agent_access: string;\n usages: { campaign_events: number; flows: number; groups: number };\n}\n\nexport interface ContactGroup {\n uuid: string;\n count: number;\n name: string;\n query?: string;\n status: string;\n}\n\nexport interface URN {\n scheme: string;\n path: string;\n}\n\nexport interface Group {\n name: string;\n uuid: string;\n is_dynamic?: boolean;\n}\n\nexport interface ContactTicket {\n name: string;\n uuid: string;\n status: string;\n\n contact: {\n uuid: string;\n name: string;\n created_on: Date;\n last_seen_on: Date;\n };\n}\n\nexport interface Contact {\n name: string;\n uuid: string;\n stopped: boolean;\n blocked: boolean;\n urns: string[];\n language?: string;\n fields: { [key: string]: string };\n groups: Group[];\n modified_on: string;\n created_on: string;\n last_seen_on: string;\n status: string;\n\n anon_display?: string;\n flow?: ObjectReference;\n last_msg?: Msg;\n direction?: string;\n ticket: {\n uuid: string;\n subject: string;\n closed_on?: string;\n last_activity_on: string;\n assignee?: User;\n topic?: ObjectReference;\n };\n}\n\nexport interface FeatureProperties {\n name: string;\n osm_id: string;\n level: number;\n children?: FeatureProperties[];\n has_children?: boolean;\n aliases?: string;\n parent_osm_id?: string;\n id?: number;\n path?: string;\n}\n\nexport interface Position {\n top: number;\n left: number;\n}\n\nexport interface FunctionExample {\n template: string;\n output: string;\n}\n\nexport interface CompletionOption {\n name?: string;\n summary: string;\n\n // functions\n signature?: string;\n detail?: string;\n examples?: FunctionExample[];\n}\n\nexport interface CompletionResult {\n anchorPosition: Position;\n query: string;\n options: CompletionOption[];\n currentFunction: CompletionOption;\n}\n\nexport interface CompletionProperty {\n key: string;\n help: string;\n type: string;\n}\n\nexport interface CompletionType {\n name: string;\n\n key_source?: string;\n property_template?: CompletionProperty;\n properties?: CompletionProperty[];\n}\n\nexport interface CompletionSchema {\n types: CompletionType[];\n root: CompletionProperty[];\n root_no_session: CompletionProperty[];\n}\n\nexport type KeyedAssets = { [assetType: string]: string[] };\n\nexport enum CustomEventType {\n Loaded = 'temba-loaded',\n Canceled = 'temba-canceled',\n CursorChanged = 'temba-cursor-changed',\n Refreshed = 'temba-refreshed',\n Selection = 'temba-selection',\n ButtonClicked = 'temba-button-clicked',\n DialogHidden = 'temba-dialog-hidden',\n ScrollThreshold = 'temba-scroll-threshold',\n ContentChanged = 'temba-content-changed',\n ContextChanged = 'temba-context-changed',\n FetchComplete = 'temba-fetch-complete',\n MessageSent = 'temba-message-sent',\n Submitted = 'temba-submitted',\n Redirected = 'temba-redirected',\n NoPath = 'temba-no-path',\n StoreUpdated = 'temba-store-updated',\n Ready = 'temba-ready',\n OrderChanged = 'temba-order-changed',\n DragStart = 'temba-drag-start',\n DragStop = 'temba-drag-stop',\n Resized = 'temba-resized',\n}\n"]}
|
package/package.json
CHANGED
|
@@ -782,37 +782,6 @@ export class ContactHistory extends RapidElement {
|
|
|
782
782
|
}
|
|
783
783
|
|
|
784
784
|
public render(): TemplateResult {
|
|
785
|
-
// render our older tickets as faux-events
|
|
786
|
-
const unfetchedTickets =
|
|
787
|
-
this.eventGroups.length > 0 && this.tickets
|
|
788
|
-
? this.tickets.map((ticket: Ticket) => {
|
|
789
|
-
if (ticket && ticket.status === 'open') {
|
|
790
|
-
const opened = new Date(ticket.opened_on).getTime() * 1000;
|
|
791
|
-
if (opened < this.nextBefore || this.isPurged(ticket)) {
|
|
792
|
-
const ticketOpenedEvent = {
|
|
793
|
-
type: Events.TICKET_OPENED,
|
|
794
|
-
ticket: {
|
|
795
|
-
uuid: ticket.uuid,
|
|
796
|
-
topic: ticket.topic,
|
|
797
|
-
body: ticket.body,
|
|
798
|
-
ticketer: ticket.ticketer,
|
|
799
|
-
},
|
|
800
|
-
created_on: ticket.opened_on,
|
|
801
|
-
};
|
|
802
|
-
|
|
803
|
-
const renderedEvent = renderTicketOpened(
|
|
804
|
-
ticketOpenedEvent,
|
|
805
|
-
this.handleClose,
|
|
806
|
-
!this.ticket
|
|
807
|
-
);
|
|
808
|
-
return html`<div class="event ticket_opened">
|
|
809
|
-
${renderedEvent}
|
|
810
|
-
</div>`;
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
})
|
|
814
|
-
: null;
|
|
815
|
-
|
|
816
785
|
return html`
|
|
817
786
|
${
|
|
818
787
|
this.fetching
|
package/src/contacts/events.ts
CHANGED
|
@@ -591,10 +591,8 @@ export interface TicketEvent extends ContactEvent {
|
|
|
591
591
|
assignee?: User;
|
|
592
592
|
ticket: {
|
|
593
593
|
uuid: string;
|
|
594
|
-
ticketer: ObjectReference;
|
|
595
594
|
body: string;
|
|
596
595
|
topic?: ObjectReference;
|
|
597
|
-
external_id?: string;
|
|
598
596
|
closed_on?: string;
|
|
599
597
|
opened_on?: string;
|
|
600
598
|
};
|
|
@@ -1025,26 +1023,14 @@ export const renderNoteCreated = (event: TicketEvent): TemplateResult => {
|
|
|
1025
1023
|
</div>`;
|
|
1026
1024
|
};
|
|
1027
1025
|
|
|
1028
|
-
const getTicketIcon = (event: TicketEvent) => {
|
|
1029
|
-
let icon = Icon.inbox;
|
|
1030
|
-
if (event.ticket.ticketer.name.indexOf('Email') > -1) {
|
|
1031
|
-
icon = Icon.email;
|
|
1032
|
-
} else if (event.ticket.ticketer.name.indexOf('Zendesk') > -1) {
|
|
1033
|
-
icon = Icon.zendesk;
|
|
1034
|
-
}
|
|
1035
|
-
return icon;
|
|
1036
|
-
};
|
|
1037
|
-
|
|
1038
1026
|
export const renderTicketAction = (
|
|
1039
1027
|
event: TicketEvent,
|
|
1040
1028
|
action: string,
|
|
1041
1029
|
grouped: boolean
|
|
1042
1030
|
): TemplateResult => {
|
|
1043
|
-
const reopened = new Date(event.created_on);
|
|
1044
|
-
const icon = getTicketIcon(event);
|
|
1045
1031
|
if (grouped) {
|
|
1046
1032
|
return html`<div class="" style="display: flex">
|
|
1047
|
-
<temba-icon name="${
|
|
1033
|
+
<temba-icon name="${Icon.inbox}"></temba-icon>
|
|
1048
1034
|
<div class="description">
|
|
1049
1035
|
${getDisplayName(event.created_by)} ${action} a
|
|
1050
1036
|
<span
|
|
@@ -1103,11 +1089,9 @@ export const renderTicketOpened = (
|
|
|
1103
1089
|
handleClose: (uuid: string) => void,
|
|
1104
1090
|
grouped: boolean
|
|
1105
1091
|
): TemplateResult => {
|
|
1106
|
-
const icon = getTicketIcon(event);
|
|
1107
|
-
|
|
1108
1092
|
if (grouped) {
|
|
1109
1093
|
return html`<div class="" style="display: flex">
|
|
1110
|
-
<temba-icon name="${
|
|
1094
|
+
<temba-icon name="${Icon.inbox}"></temba-icon>
|
|
1111
1095
|
<div class="description">
|
|
1112
1096
|
${event.ticket.topic.name}
|
|
1113
1097
|
<span
|
package/src/interfaces.ts
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"results": [
|
|
5
5
|
{
|
|
6
6
|
"uuid": "bc907086-e9e7-4d5c-ba72-ef6a2059b0ae",
|
|
7
|
-
"ticketer": {
|
|
8
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
9
|
-
"name": "Internal"
|
|
10
|
-
},
|
|
11
7
|
"contact": {
|
|
12
8
|
"uuid": "c85526ff-d025-474c-a6c6-0ec1089fc3c3",
|
|
13
9
|
"name": "Enrique"
|
|
@@ -20,10 +16,6 @@
|
|
|
20
16
|
},
|
|
21
17
|
{
|
|
22
18
|
"uuid": "8c3f31e9-89d4-48d9-a178-a47461d7f1b6",
|
|
23
|
-
"ticketer": {
|
|
24
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
25
|
-
"name": "Internal"
|
|
26
|
-
},
|
|
27
19
|
"contact": {
|
|
28
20
|
"uuid": "c85526ff-d025-474c-a6c6-0ec1089fc3c3",
|
|
29
21
|
"name": "Enrique"
|
|
@@ -36,10 +28,6 @@
|
|
|
36
28
|
},
|
|
37
29
|
{
|
|
38
30
|
"uuid": "31e48a8e-ed79-4bf0-9aa7-5f84b92853c7",
|
|
39
|
-
"ticketer": {
|
|
40
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
41
|
-
"name": "Internal"
|
|
42
|
-
},
|
|
43
31
|
"contact": {
|
|
44
32
|
"uuid": "c85526ff-d025-474c-a6c6-0ec1089fc3c3",
|
|
45
33
|
"name": "Enrique"
|
|
@@ -51,4 +39,4 @@
|
|
|
51
39
|
"closed_on": null
|
|
52
40
|
}
|
|
53
41
|
]
|
|
54
|
-
}
|
|
42
|
+
}
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"results": [
|
|
5
5
|
{
|
|
6
6
|
"uuid": "6c3156f8-ca00-4f26-b8f7-b5e131e6db7a",
|
|
7
|
-
"ticketer": {
|
|
8
|
-
"uuid": "0c3b0f9a-344c-47a5-9041-08281d71d46b",
|
|
9
|
-
"name": "TextIt Tickets"
|
|
10
|
-
},
|
|
11
7
|
"contact": {
|
|
12
8
|
"uuid": "24d64810-3315-4ff5-be85-48e3fe055bf9",
|
|
13
9
|
"name": "Eric Newcomer"
|
|
@@ -33,10 +29,6 @@
|
|
|
33
29
|
},
|
|
34
30
|
{
|
|
35
31
|
"uuid": "37ca10d8-b976-4885-b48c-21d3ec68b743",
|
|
36
|
-
"ticketer": {
|
|
37
|
-
"uuid": "0c3b0f9a-344c-47a5-9041-08281d71d46b",
|
|
38
|
-
"name": "TextIt Tickets"
|
|
39
|
-
},
|
|
40
32
|
"contact": {
|
|
41
33
|
"uuid": "24d64810-3315-4ff5-be85-48e3fe055bf9",
|
|
42
34
|
"name": "Eric Newcomer"
|
|
@@ -62,10 +54,6 @@
|
|
|
62
54
|
},
|
|
63
55
|
{
|
|
64
56
|
"uuid": "a57970e2-79ab-46d4-8761-c7cbc6a380ef",
|
|
65
|
-
"ticketer": {
|
|
66
|
-
"uuid": "0c3b0f9a-344c-47a5-9041-08281d71d46b",
|
|
67
|
-
"name": "TextIt Tickets"
|
|
68
|
-
},
|
|
69
57
|
"contact": {
|
|
70
58
|
"uuid": "24d64810-3315-4ff5-be85-48e3fe055bf9",
|
|
71
59
|
"name": "Eric Newcomer"
|
|
@@ -91,10 +79,6 @@
|
|
|
91
79
|
},
|
|
92
80
|
{
|
|
93
81
|
"uuid": "73de765d-eac6-4c91-b0d3-72fe9471f76f",
|
|
94
|
-
"ticketer": {
|
|
95
|
-
"uuid": "0c3b0f9a-344c-47a5-9041-08281d71d46b",
|
|
96
|
-
"name": "TextIt Tickets"
|
|
97
|
-
},
|
|
98
82
|
"contact": {
|
|
99
83
|
"uuid": "24d64810-3315-4ff5-be85-48e3fe055bf9",
|
|
100
84
|
"name": "Eric Newcomer"
|
|
@@ -120,10 +104,6 @@
|
|
|
120
104
|
},
|
|
121
105
|
{
|
|
122
106
|
"uuid": "d69f3568-c300-4470-b0a5-fbadd6bf0f9f",
|
|
123
|
-
"ticketer": {
|
|
124
|
-
"uuid": "0c3b0f9a-344c-47a5-9041-08281d71d46b",
|
|
125
|
-
"name": "TextIt Tickets"
|
|
126
|
-
},
|
|
127
107
|
"contact": {
|
|
128
108
|
"uuid": "24d64810-3315-4ff5-be85-48e3fe055bf9",
|
|
129
109
|
"name": "Eric Newcomer"
|
|
@@ -17,11 +17,7 @@
|
|
|
17
17
|
"topic": null,
|
|
18
18
|
"status": "O",
|
|
19
19
|
"subject": "Open ticket",
|
|
20
|
-
"body": ""
|
|
21
|
-
"ticketer": {
|
|
22
|
-
"uuid": "79101e60-60da-4893-8b7b-b865ebe50e21",
|
|
23
|
-
"name": "Mailgun"
|
|
24
|
-
}
|
|
20
|
+
"body": ""
|
|
25
21
|
},
|
|
26
22
|
"created_on": "2021-03-31T00:30:00.585471+00:00",
|
|
27
23
|
"created_by": null
|
|
@@ -38,11 +34,7 @@
|
|
|
38
34
|
"topic": null,
|
|
39
35
|
"status": "O",
|
|
40
36
|
"subject": "Open ticket",
|
|
41
|
-
"body": ""
|
|
42
|
-
"ticketer": {
|
|
43
|
-
"uuid": "79101e60-60da-4893-8b7b-b865ebe50e21",
|
|
44
|
-
"name": "Mailgun"
|
|
45
|
-
}
|
|
37
|
+
"body": ""
|
|
46
38
|
},
|
|
47
39
|
"created_on": "2021-03-31T00:30:00.585471+00:00",
|
|
48
40
|
"created_by": {
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"results": [
|
|
5
5
|
{
|
|
6
6
|
"uuid": "bc907086-e9e7-4d5c-ba72-ef6a2059b0ae",
|
|
7
|
-
"ticketer": {
|
|
8
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
9
|
-
"name": "Internal"
|
|
10
|
-
},
|
|
11
7
|
"contact": {
|
|
12
8
|
"uuid": "contact-barack-archived",
|
|
13
9
|
"name": "Barack Obama"
|
|
@@ -19,4 +15,4 @@
|
|
|
19
15
|
"closed_on": "2021-04-03T21:06:59.666960Z"
|
|
20
16
|
}
|
|
21
17
|
]
|
|
22
|
-
}
|
|
18
|
+
}
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"results": [
|
|
5
5
|
{
|
|
6
6
|
"uuid": "bc907086-e9e7-4d5c-ba72-ef6a2059b0ae",
|
|
7
|
-
"ticketer": {
|
|
8
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
9
|
-
"name": "Internal"
|
|
10
|
-
},
|
|
11
7
|
"contact": {
|
|
12
8
|
"uuid": "contact-carter-active",
|
|
13
9
|
"name": "Carter Beauford"
|
|
@@ -19,4 +15,4 @@
|
|
|
19
15
|
"closed_on": "2021-04-03T21:06:59.666960Z"
|
|
20
16
|
}
|
|
21
17
|
]
|
|
22
|
-
}
|
|
18
|
+
}
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"results": [
|
|
5
5
|
{
|
|
6
6
|
"uuid": "bc907086-e9e7-4d5c-ba72-ef6a2059b0ae",
|
|
7
|
-
"ticketer": {
|
|
8
|
-
"uuid": "fa9e4496-14d4-41a8-8d04-e10938c17e6f",
|
|
9
|
-
"name": "Internal"
|
|
10
|
-
},
|
|
11
7
|
"contact": {
|
|
12
8
|
"uuid": "contact-carter-active",
|
|
13
9
|
"name": "Carter Beauford"
|
|
@@ -19,4 +15,4 @@
|
|
|
19
15
|
"closed_on": null
|
|
20
16
|
}
|
|
21
17
|
]
|
|
22
|
-
}
|
|
18
|
+
}
|