@telia-ace/knowledge-widget-bot-provider 0.0.1-alpha.46 → 0.0.1-alpha.49

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.
Files changed (139) hide show
  1. package/LICENSE.txt +5 -5
  2. package/README.md +12 -12
  3. package/{lib-esm → dist}/client/chat.client.d.ts +16 -16
  4. package/{lib → dist}/client/contact-method.client.d.ts +34 -34
  5. package/{lib → dist}/client/http.client.d.ts +26 -26
  6. package/{lib → dist}/client/middleware.client.d.ts +14 -14
  7. package/dist/components/feedback-list.d.ts +8 -0
  8. package/dist/components/no-good-alternative.d.ts +6 -0
  9. package/dist/contact-method.js +102 -0
  10. package/dist/contact-method.js.map +1 -0
  11. package/{lib-esm → dist}/contract/custom-component/contact-method-item.d.ts +9 -9
  12. package/{lib-esm → dist}/contract/custom-component/contact-method-list.d.ts +7 -7
  13. package/{lib-esm → dist}/contract/custom-component/contact-method.d.ts +3 -3
  14. package/{lib-esm → dist}/contract/custom-component/entry-context.d.ts +5 -5
  15. package/{lib → dist}/contract/enum/server-entry-type.enum.d.ts +7 -7
  16. package/{lib → dist}/contract/model/conversation-api-model/list.model.d.ts +5 -5
  17. package/{lib-esm → dist}/contract/model/conversation-api-model/message.model.d.ts +7 -7
  18. package/{lib → dist}/contract/model/http/action.model.d.ts +3 -3
  19. package/{lib → dist}/contract/model/http/client-action.model.d.ts +4 -4
  20. package/{lib → dist}/contract/model/http/client-envelope.model.d.ts +9 -9
  21. package/{lib-esm → dist}/contract/model/http/connect-options.model.d.ts +5 -5
  22. package/{lib-esm → dist}/contract/model/http/global-state.model.d.ts +8 -8
  23. package/{lib-esm → dist}/contract/model/http/http-client-options.model.d.ts +5 -5
  24. package/{lib-esm → dist}/contract/model/http/server-entry.model.d.ts +11 -11
  25. package/{lib-esm → dist}/contract/model/http/server-envelope.model.d.ts +10 -10
  26. package/{lib-esm → dist}/contract/model/middleware/aggregator-state.model.d.ts +4 -4
  27. package/{lib → dist}/contract/model/shared/loose-object.model.d.ts +3 -3
  28. package/dist/feedback-list.js +104 -0
  29. package/dist/feedback-list.js.map +1 -0
  30. package/{lib-esm → dist}/helper/chat.helper.d.ts +8 -8
  31. package/{lib-esm → dist}/helper/http.helper.d.ts +13 -13
  32. package/{lib-esm → dist}/helper/middleware.helper.d.ts +12 -12
  33. package/{lib → dist}/helper/store.helper.d.ts +23 -23
  34. package/{lib-esm → dist}/index.d.ts +2 -2
  35. package/dist/index.js +1152 -0
  36. package/dist/index.js.map +1 -0
  37. package/{lib-esm → dist}/interface/entry.interface.d.ts +20 -20
  38. package/{lib-esm → dist}/interface/middleware/paging.interface.d.ts +4 -4
  39. package/{lib-esm → dist}/interface/middleware/processor.interface.d.ts +10 -10
  40. package/dist/no-good-alternative.js +33 -0
  41. package/dist/no-good-alternative.js.map +1 -0
  42. package/{lib-esm → dist}/plugin.d.ts +3 -3
  43. package/dist/ui/feedback-list.d.ts +8 -0
  44. package/dist/ui/no-good-alternative.d.ts +6 -0
  45. package/{lib-esm → dist}/utils.d.ts +2 -2
  46. package/package.json +14 -15
  47. package/lib/client/chat.client.d.ts +0 -16
  48. package/lib/client/chat.client.js +0 -145
  49. package/lib/client/contact-method.client.js +0 -337
  50. package/lib/client/http.client.js +0 -211
  51. package/lib/client/middleware.client.js +0 -125
  52. package/lib/contract/custom-component/contact-method-item.d.ts +0 -9
  53. package/lib/contract/custom-component/contact-method-item.js +0 -34
  54. package/lib/contract/custom-component/contact-method-list.d.ts +0 -7
  55. package/lib/contract/custom-component/contact-method-list.js +0 -13
  56. package/lib/contract/custom-component/contact-method.d.ts +0 -3
  57. package/lib/contract/custom-component/contact-method.js +0 -35
  58. package/lib/contract/custom-component/entry-context.d.ts +0 -5
  59. package/lib/contract/custom-component/entry-context.js +0 -4
  60. package/lib/contract/enum/server-entry-type.enum.js +0 -8
  61. package/lib/contract/model/conversation-api-model/list.model.js +0 -1
  62. package/lib/contract/model/conversation-api-model/message.model.d.ts +0 -7
  63. package/lib/contract/model/conversation-api-model/message.model.js +0 -1
  64. package/lib/contract/model/http/action.model.js +0 -1
  65. package/lib/contract/model/http/client-action.model.js +0 -2
  66. package/lib/contract/model/http/client-envelope.model.js +0 -1
  67. package/lib/contract/model/http/connect-options.model.d.ts +0 -5
  68. package/lib/contract/model/http/connect-options.model.js +0 -1
  69. package/lib/contract/model/http/global-state.model.d.ts +0 -8
  70. package/lib/contract/model/http/global-state.model.js +0 -1
  71. package/lib/contract/model/http/http-client-options.model.d.ts +0 -5
  72. package/lib/contract/model/http/http-client-options.model.js +0 -1
  73. package/lib/contract/model/http/server-entry.model.d.ts +0 -11
  74. package/lib/contract/model/http/server-entry.model.js +0 -1
  75. package/lib/contract/model/http/server-envelope.model.d.ts +0 -10
  76. package/lib/contract/model/http/server-envelope.model.js +0 -1
  77. package/lib/contract/model/middleware/aggregator-state.model.d.ts +0 -4
  78. package/lib/contract/model/middleware/aggregator-state.model.js +0 -2
  79. package/lib/contract/model/shared/loose-object.model.js +0 -1
  80. package/lib/helper/chat.helper.d.ts +0 -8
  81. package/lib/helper/chat.helper.js +0 -18
  82. package/lib/helper/http.helper.d.ts +0 -13
  83. package/lib/helper/http.helper.js +0 -28
  84. package/lib/helper/middleware.helper.d.ts +0 -12
  85. package/lib/helper/middleware.helper.js +0 -68
  86. package/lib/helper/store.helper.js +0 -169
  87. package/lib/index.d.ts +0 -2
  88. package/lib/index.js +0 -2
  89. package/lib/interface/entry.interface.d.ts +0 -20
  90. package/lib/interface/entry.interface.js +0 -306
  91. package/lib/interface/middleware/paging.interface.d.ts +0 -4
  92. package/lib/interface/middleware/paging.interface.js +0 -53
  93. package/lib/interface/middleware/processor.interface.d.ts +0 -10
  94. package/lib/interface/middleware/processor.interface.js +0 -118
  95. package/lib/plugin.d.ts +0 -3
  96. package/lib/plugin.js +0 -154
  97. package/lib/utils.d.ts +0 -2
  98. package/lib/utils.js +0 -79
  99. package/lib-esm/client/chat.client.js +0 -145
  100. package/lib-esm/client/contact-method.client.d.ts +0 -34
  101. package/lib-esm/client/contact-method.client.js +0 -337
  102. package/lib-esm/client/http.client.d.ts +0 -26
  103. package/lib-esm/client/http.client.js +0 -211
  104. package/lib-esm/client/middleware.client.d.ts +0 -14
  105. package/lib-esm/client/middleware.client.js +0 -125
  106. package/lib-esm/contract/custom-component/contact-method-item.js +0 -34
  107. package/lib-esm/contract/custom-component/contact-method-list.js +0 -13
  108. package/lib-esm/contract/custom-component/contact-method.js +0 -35
  109. package/lib-esm/contract/custom-component/entry-context.js +0 -4
  110. package/lib-esm/contract/enum/server-entry-type.enum.d.ts +0 -7
  111. package/lib-esm/contract/enum/server-entry-type.enum.js +0 -8
  112. package/lib-esm/contract/model/conversation-api-model/list.model.d.ts +0 -5
  113. package/lib-esm/contract/model/conversation-api-model/list.model.js +0 -1
  114. package/lib-esm/contract/model/conversation-api-model/message.model.js +0 -1
  115. package/lib-esm/contract/model/http/action.model.d.ts +0 -3
  116. package/lib-esm/contract/model/http/action.model.js +0 -1
  117. package/lib-esm/contract/model/http/client-action.model.d.ts +0 -4
  118. package/lib-esm/contract/model/http/client-action.model.js +0 -2
  119. package/lib-esm/contract/model/http/client-envelope.model.d.ts +0 -9
  120. package/lib-esm/contract/model/http/client-envelope.model.js +0 -1
  121. package/lib-esm/contract/model/http/connect-options.model.js +0 -1
  122. package/lib-esm/contract/model/http/global-state.model.js +0 -1
  123. package/lib-esm/contract/model/http/http-client-options.model.js +0 -1
  124. package/lib-esm/contract/model/http/server-entry.model.js +0 -1
  125. package/lib-esm/contract/model/http/server-envelope.model.js +0 -1
  126. package/lib-esm/contract/model/middleware/aggregator-state.model.js +0 -2
  127. package/lib-esm/contract/model/shared/loose-object.model.d.ts +0 -3
  128. package/lib-esm/contract/model/shared/loose-object.model.js +0 -1
  129. package/lib-esm/helper/chat.helper.js +0 -18
  130. package/lib-esm/helper/http.helper.js +0 -28
  131. package/lib-esm/helper/middleware.helper.js +0 -68
  132. package/lib-esm/helper/store.helper.d.ts +0 -23
  133. package/lib-esm/helper/store.helper.js +0 -169
  134. package/lib-esm/index.js +0 -2
  135. package/lib-esm/interface/entry.interface.js +0 -306
  136. package/lib-esm/interface/middleware/paging.interface.js +0 -53
  137. package/lib-esm/interface/middleware/processor.interface.js +0 -118
  138. package/lib-esm/plugin.js +0 -154
  139. package/lib-esm/utils.js +0 -79
@@ -1,337 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- var __read = (this && this.__read) || function (o, n) {
49
- var m = typeof Symbol === "function" && o[Symbol.iterator];
50
- if (!m) return o;
51
- var i = m.call(o), r, ar = [], e;
52
- try {
53
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
54
- }
55
- catch (error) { e = { error: error }; }
56
- finally {
57
- try {
58
- if (r && !r.done && (m = i["return"])) m.call(i);
59
- }
60
- finally { if (e) throw e.error; }
61
- }
62
- return ar;
63
- };
64
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
65
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
66
- if (ar || !(i in from)) {
67
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
68
- ar[i] = from[i];
69
- }
70
- }
71
- return to.concat(ar || Array.prototype.slice.call(from));
72
- };
73
- import { DataType } from '@telia-ace/knowledge-widget-types-grid';
74
- import { FormBuilder, submitButton } from '@telia-ace/widget-forms';
75
- import { v4 as uuidv4 } from 'uuid';
76
- import { StoreHelper } from '../helper/store.helper';
77
- import ChatClient from './chat.client';
78
- var ContactMethodClient = /** @class */ (function () {
79
- function ContactMethodClient(container) {
80
- var _this = this;
81
- // function for handling forms as contact methods
82
- this.handleNewForm = function (errors, entry) { return __awaiter(_this, void 0, void 0, function () {
83
- return __generator(this, function (_a) {
84
- this.updateForm(entry.contactMethods, {
85
- submit: 'Submit',
86
- errors: errors,
87
- });
88
- entry.entry.update({
89
- contactMethods: entry.contactMethods,
90
- type: 'ace-knowledge-contact-method',
91
- noPadding: true,
92
- });
93
- return [2 /*return*/];
94
- });
95
- }); };
96
- // function for receiving the contact method based on the input
97
- this.handleContactMethod = function (input) {
98
- if (input === void 0) { input = ''; }
99
- return __awaiter(_this, void 0, void 0, function () {
100
- var contactMethods;
101
- var _a;
102
- return __generator(this, function (_b) {
103
- switch (_b.label) {
104
- case 0:
105
- if (!(input == 'contact')) return [3 /*break*/, 2];
106
- return [4 /*yield*/, this.handleContactCategoryList(input)];
107
- case 1:
108
- _b.sent();
109
- return [3 /*break*/, 4];
110
- case 2: return [4 /*yield*/, this.loadContactMethods(input.split('/')[1], // type
111
- input.split('/')[0] // id
112
- )];
113
- case 3:
114
- contactMethods = _b.sent();
115
- if (!!((_a = contactMethods.body) === null || _a === void 0 ? void 0 : _a.form)) {
116
- this.handleForm(input, contactMethods);
117
- }
118
- else if (!contactMethods.expanded && contactMethods.inline) {
119
- this.handleSingleContactMethod(contactMethods);
120
- }
121
- else if (!!contactMethods.contactMethods) {
122
- this.handleContactMethodList(input, contactMethods);
123
- }
124
- _b.label = 4;
125
- case 4: return [2 /*return*/];
126
- }
127
- });
128
- });
129
- };
130
- this.handleContactCategoryList = function (input) { return __awaiter(_this, void 0, void 0, function () {
131
- var newGuid, type, contactMethods;
132
- return __generator(this, function (_a) {
133
- switch (_a.label) {
134
- case 0:
135
- newGuid = uuidv4();
136
- type = DataType.ContactMethodCategories;
137
- return [4 /*yield*/, this.loadContactMethods(type)];
138
- case 1:
139
- contactMethods = _a.sent();
140
- this.chatClient.printUserMessageAndStoreIt(input);
141
- this.printMessage(newGuid, contactMethods);
142
- return [2 /*return*/];
143
- }
144
- });
145
- }); };
146
- this.updateForm = function (contactMethod, properties) {
147
- var _a;
148
- if ((_a = contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) === null || _a === void 0 ? void 0 : _a.form) {
149
- var body = contactMethod.body;
150
- var builder = new FormBuilder(body.form);
151
- if (!body.form.layout || !body.form.layout.submit) {
152
- builder.createComponent(submitButton(properties.submit, 'submit'));
153
- }
154
- if (properties.errors) {
155
- builder.setValidationErrors(properties.errors);
156
- }
157
- return __assign(__assign({}, body), { form: builder.get() });
158
- }
159
- return (contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) || {};
160
- };
161
- this.chatClient = new ChatClient(container);
162
- }
163
- ContactMethodClient.initialize = function (container, dataClient, contactMethodPlatform, agent) {
164
- this.dataClient = dataClient;
165
- this.contactMethodPlatform = contactMethodPlatform;
166
- this.agent = agent;
167
- this.container = container;
168
- };
169
- // validation of the form provided
170
- ContactMethodClient.prototype.validate = function (form) {
171
- var _this = this;
172
- var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == form.schema.id; });
173
- ContactMethodClient.contactMethodPlatform.validate(entry.contactMethods).then(function (result) {
174
- _this.handleNewForm(result.errors, entry);
175
- if (result.valid) {
176
- _this.submit(entry);
177
- _this.removeForm(entry);
178
- }
179
- });
180
- };
181
- ContactMethodClient.prototype.handleForm = function (input, contactMethods) {
182
- var title = input.split('/')[2];
183
- contactMethods.expanded = true;
184
- this.updateForm(contactMethods, {
185
- submit: 'Submit',
186
- errors: undefined,
187
- });
188
- this.printMessage(contactMethods.id, contactMethods, title);
189
- };
190
- ContactMethodClient.prototype.addContactMethod = function (contactMethod) {
191
- contactMethod.expanded = true;
192
- this.updateForm(contactMethod, {
193
- submit: 'Submit',
194
- errors: undefined,
195
- });
196
- return this.printMessage(contactMethod.id, contactMethod);
197
- };
198
- ContactMethodClient.prototype.expandContactMethod = function (input) {
199
- var message = StoreHelper.getMessage(input.entryId);
200
- if ((message === null || message === void 0 ? void 0 : message.conversationEntry) && Array.isArray(message.message)) {
201
- var messageItemIndex = message.message.findIndex(function (_a) {
202
- var _b = __read(_a, 1), listType = _b[0];
203
- return listType === 'ace-knowledge-contact-method';
204
- });
205
- if (messageItemIndex > -1) {
206
- var _a = __read(message.message[messageItemIndex], 2), messageItemType = _a[0], messageItemContent = _a[1];
207
- var updatedMessageItemContent = __assign(__assign({}, messageItemContent), { contactMethods: messageItemContent.contactMethods.map(function (cm) {
208
- cm.expanded = true;
209
- return cm;
210
- }) });
211
- var updatedMessageItems = __spreadArray(__spreadArray(__spreadArray([], __read(message.message.slice(0, messageItemIndex)), false), [
212
- [messageItemType, updatedMessageItemContent]
213
- ], false), __read(message.message.slice(messageItemIndex + 1)), false);
214
- message.conversationEntry.writer({ items: updatedMessageItems });
215
- }
216
- }
217
- };
218
- ContactMethodClient.prototype.handleContactMethodList = function (input, contactMethods) {
219
- var title = input.split('/')[2];
220
- var newGuid = uuidv4();
221
- this.printMessage(newGuid, contactMethods, title);
222
- };
223
- ContactMethodClient.prototype.handleSingleContactMethod = function (contactMethods) {
224
- var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) {
225
- return o.contactMethods.contactMethods.find(function (t) { return t.id == contactMethods.id; });
226
- });
227
- var curCM = entry.contactMethods.contactMethods.find(function (t) { return t.id == contactMethods.id; });
228
- curCM.expanded = true;
229
- var message = {
230
- contactMethods: entry.contactMethods,
231
- type: 'ace-knowledge-contact-method',
232
- noPadding: true,
233
- };
234
- StoreHelper.insertOrUpdateMessageArrayStore([
235
- {
236
- id: entry.id,
237
- message: message,
238
- isUser: false,
239
- },
240
- ]);
241
- entry.entry.update(message);
242
- };
243
- ContactMethodClient.prototype.submit = function (entry) {
244
- ContactMethodClient.contactMethodPlatform.submit(entry.contactMethods).then(function (result) {
245
- if (!!result)
246
- ContactMethodClient.agent.print(result);
247
- });
248
- };
249
- ContactMethodClient.prototype.removeForm = function (entry) {
250
- entry.entry.remove();
251
- ContactMethodClient.contactMessageEntryArray.splice(ContactMethodClient.contactMessageEntryArray.indexOf(entry), 1);
252
- };
253
- ContactMethodClient.prototype.printMessage = function (newGuid, contactMethods, title) {
254
- if (title === void 0) { title = undefined; }
255
- if (ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == contactMethods.id; })) {
256
- var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == contactMethods.id; });
257
- var message = {
258
- contactMethods: contactMethods,
259
- type: 'ace-knowledge-contact-method',
260
- noPadding: true,
261
- };
262
- entry.entry.update(message);
263
- StoreHelper.insertOrUpdateMessageArrayStore([
264
- {
265
- id: entry.guid,
266
- message: message,
267
- isUser: false,
268
- },
269
- ]);
270
- return message;
271
- }
272
- else {
273
- if (title)
274
- this.chatClient.printUserMessageAndStoreIt(title);
275
- var message = {
276
- contactMethods: contactMethods,
277
- type: 'ace-knowledge-contact-method',
278
- noPadding: true,
279
- };
280
- var entry = ContactMethodClient.agent.print(message);
281
- StoreHelper.insertOrUpdateMessageArrayStore([
282
- {
283
- id: newGuid,
284
- message: message,
285
- isUser: false,
286
- },
287
- ]);
288
- ContactMethodClient.contactMessageEntryArray.push({
289
- id: newGuid,
290
- contactMethods: contactMethods,
291
- entry: entry,
292
- });
293
- return message;
294
- }
295
- };
296
- ContactMethodClient.prototype.loadContactMethods = function (dataType, id) {
297
- if (id === void 0) { id = undefined; }
298
- switch (dataType) {
299
- case DataType.ContactMethodCategories: {
300
- return ContactMethodClient.container
301
- .getAsync('matchingClient')
302
- .then(function (matchingClient) {
303
- return matchingClient.customRequest('/contactmethods', 'GET', {});
304
- })
305
- .then(function (contactMethods) {
306
- return contactMethods;
307
- });
308
- // return ContactMethodClient.dataClient
309
- // .fetch(DataType.ContactMethods, { contactMethodCategoryId: id })
310
- // .then((contactMethods) => contactMethods);
311
- }
312
- case DataType.ContactMethods: {
313
- if (!!id) {
314
- return ContactMethodClient.dataClient
315
- .fetch(DataType.ContactMethod, { contactMethodId: id })
316
- .then(function (contactMethods) { return contactMethods; });
317
- }
318
- else {
319
- return ContactMethodClient.dataClient
320
- .fetch(DataType.ContactMethods, {})
321
- .then(function (contactMethods) { return contactMethods; });
322
- }
323
- }
324
- case DataType.ContactMethodCategories: {
325
- return ContactMethodClient.dataClient
326
- .fetch(DataType.ContactMethods, { contactMethodCategoryId: id })
327
- .then(function (contactMethods) { return contactMethods; });
328
- }
329
- default: {
330
- return Promise.resolve(undefined);
331
- }
332
- }
333
- };
334
- ContactMethodClient.contactMessageEntryArray = [];
335
- return ContactMethodClient;
336
- }());
337
- export { ContactMethodClient };
@@ -1,211 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { readStorage } from '@telia-ace/widget-services';
38
- import { v4 as newGuid } from 'uuid';
39
- import { ChatHelper } from '../helper/chat.helper';
40
- import { HttpHelper } from '../helper/http.helper';
41
- import { MiddlewareHelper } from '../helper/middleware.helper';
42
- import { StoreHelper } from '../helper/store.helper';
43
- import ChatClient from './chat.client';
44
- import MiddlewareClient from './middleware.client';
45
- var HttpClient = /** @class */ (function () {
46
- function HttpClient(endpoint, clientId, container) {
47
- this.options = {
48
- credentials: HttpHelper.getCredentials(),
49
- clientId: clientId,
50
- };
51
- this.apiEndpoint = endpoint;
52
- this.projectionPath = window.location.href;
53
- this.endpointUrl = HttpHelper.combineUrl(this.projectionPath, 'conversations');
54
- this.clientId = this.options.clientId;
55
- this.middlewareClient = new MiddlewareClient(container);
56
- this.chatClient = new ChatClient(container);
57
- this.container = container;
58
- }
59
- HttpClient.prototype.firstHit = function () {
60
- return __awaiter(this, void 0, void 0, function () {
61
- var entries, meta, agent, envelope;
62
- return __generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0: return [4 /*yield*/, MiddlewareHelper.getEntrySessionStorage()];
65
- case 1:
66
- entries = (_a.sent());
67
- if (!(entries && entries.length > 0)) return [3 /*break*/, 5];
68
- return [4 /*yield*/, StoreHelper.rehydrateState()];
69
- case 2:
70
- _a.sent();
71
- return [4 /*yield*/, readStorage(this.container, 'bot-provider-conversation-meta')];
72
- case 3:
73
- meta = _a.sent();
74
- if (meta === null || meta === void 0 ? void 0 : meta.agent) {
75
- agent = ChatHelper.getAgent();
76
- agent.update({
77
- name: meta.agent.name,
78
- avatar: meta.agent.avatar,
79
- });
80
- }
81
- return [4 /*yield*/, this.chatClient.processMessageArrayAndStoreIt(entries)];
82
- case 4:
83
- _a.sent();
84
- return [3 /*break*/, 7];
85
- case 5:
86
- envelope = this.constructFirstHitEnvelope();
87
- return [4 /*yield*/, this.postAndHandleTheData(envelope)];
88
- case 6:
89
- _a.sent();
90
- _a.label = 7;
91
- case 7: return [2 /*return*/];
92
- }
93
- });
94
- });
95
- };
96
- // for updates, such as paging changes
97
- HttpClient.prototype.handleUpdate = function (action) {
98
- var envelope = this.constructInputEnvelope(action);
99
- return this.postAndHandleTheUpdateData(envelope, action);
100
- };
101
- // for action clicks
102
- HttpClient.prototype.handleInput = function (action) {
103
- var envelope = this.constructInputEnvelope(action);
104
- return this.postAndHandleTheData(envelope, action);
105
- };
106
- // for category burger
107
- HttpClient.prototype.handleCategories = function () {
108
- var envelope = this.constructCategoriesEnvelope();
109
- return this.postAndHandleTheData(envelope);
110
- };
111
- // for text entries by user
112
- HttpClient.prototype.handlePhrase = function (phrase) {
113
- var envelope = this.constructPhraseEnvelope(phrase);
114
- var id = newGuid();
115
- var entry = {
116
- id: id,
117
- type: 'Text',
118
- timestamp: new Date(),
119
- content: {
120
- $type: 'Humany.Matching.Bots.Conversations.Content.Text, Humany.Matching',
121
- html: "".concat(phrase),
122
- },
123
- actions: {},
124
- tags: {},
125
- };
126
- var message = {
127
- id: id,
128
- message: ['html', { body: "<p>".concat(phrase, "</p>") }],
129
- entry: entry,
130
- isUser: true,
131
- conversationEntry: {},
132
- };
133
- StoreHelper.insertMessageToStore(message);
134
- return this.postAndHandleTheData(envelope);
135
- };
136
- HttpClient.prototype.postAndHandleTheData = function (envelope, action) {
137
- var _this = this;
138
- return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
139
- .then(function (response) {
140
- if (response.ok)
141
- return response.json();
142
- throw response;
143
- })
144
- .then(function (data) {
145
- _this.handleResponseData(data, action);
146
- })
147
- .catch(function (err) { return console.log(err); });
148
- };
149
- HttpClient.prototype.postAndHandleTheUpdateData = function (envelope, action) {
150
- var _this = this;
151
- return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
152
- .then(function (response) {
153
- if (response.ok)
154
- return response.json();
155
- throw response;
156
- })
157
- .then(function (data) {
158
- _this.handleUpdateResponseData(data, action);
159
- })
160
- .catch(function (err) { return console.log(err); });
161
- };
162
- HttpClient.prototype.getHttpOptions = function (envelope) {
163
- return Object.assign({}, HttpHelper.fetchOptions, {
164
- body: JSON.stringify(envelope),
165
- credentials: this.options.credentials,
166
- });
167
- };
168
- HttpClient.prototype.constructInputEnvelope = function (action) {
169
- return {
170
- action: StoreHelper.getAction(action),
171
- localState: StoreHelper.getLocalState(action),
172
- globalState: StoreHelper.getGlobalState(),
173
- clientId: this.clientId,
174
- };
175
- };
176
- HttpClient.prototype.constructCategoriesEnvelope = function () {
177
- return {
178
- action: {
179
- content: {
180
- $type: 'Humany.Matching.Bots.Conversations.Actions.BrowseCategories, Humany.Matching',
181
- },
182
- key: 'browseCategories',
183
- },
184
- globalState: StoreHelper.getGlobalState(),
185
- clientId: this.clientId,
186
- };
187
- };
188
- HttpClient.prototype.constructPhraseEnvelope = function (phrase) {
189
- return {
190
- command: { phrase: phrase },
191
- globalState: StoreHelper.getGlobalState(),
192
- clientId: this.clientId,
193
- };
194
- };
195
- HttpClient.prototype.constructFirstHitEnvelope = function () {
196
- return {
197
- command: { site: this.endpointUrl },
198
- clientId: this.clientId,
199
- globalState: {},
200
- };
201
- };
202
- HttpClient.prototype.handleResponseData = function (envelope, action) {
203
- StoreHelper.setGlobalState(envelope.globalState);
204
- return this.middlewareClient.handleEntries(envelope.entries, action);
205
- };
206
- HttpClient.prototype.handleUpdateResponseData = function (envelope, action) {
207
- return this.middlewareClient.handleUpdate(envelope.entries, action);
208
- };
209
- return HttpClient;
210
- }());
211
- export { HttpClient };
@@ -1,125 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { createStorageWriter, StorageCategory } from '@telia-ace/widget-services';
38
- import { ChatHelper } from '../helper/chat.helper';
39
- import { MiddlewareHelper } from '../helper/middleware.helper';
40
- import { StoreHelper } from '../helper/store.helper';
41
- import EntryInterface from '../interface/entry.interface';
42
- import PagingInterface from '../interface/middleware/paging.interface';
43
- import ProcessorInterface from '../interface/middleware/processor.interface';
44
- import ChatClient from './chat.client';
45
- var MiddlewareClient = /** @class */ (function () {
46
- function MiddlewareClient(container) {
47
- this.paging = new PagingInterface();
48
- this.processor = new ProcessorInterface();
49
- this.entryInterface = new EntryInterface(container);
50
- this.chatClient = new ChatClient(container);
51
- }
52
- MiddlewareClient.initialize = function (container, widget) {
53
- MiddlewareHelper.setContainer(container);
54
- MiddlewareHelper.setWidget(widget);
55
- };
56
- // called on all standard scenarios like actions and user messages
57
- MiddlewareClient.prototype.handleEntries = function (entries, action) {
58
- return __awaiter(this, void 0, void 0, function () {
59
- var widgetEntry, agent, write, o, messageArray;
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0:
63
- widgetEntry = (entries || []).find(function (e) { return e.type === 'Widget'; });
64
- if (!widgetEntry) return [3 /*break*/, 2];
65
- agent = ChatHelper.getAgent();
66
- if (!agent) return [3 /*break*/, 2];
67
- agent.update({
68
- name: widgetEntry.content.agent.name,
69
- avatar: widgetEntry.content.agent.avatar,
70
- });
71
- return [4 /*yield*/, createStorageWriter(MiddlewareHelper.getContainer(), 'bot-provider-conversation-meta', StorageCategory.Necessary)];
72
- case 1:
73
- write = _a.sent();
74
- write({
75
- agent: {
76
- name: widgetEntry.content.agent.name,
77
- avatar: widgetEntry.content.agent.avatar,
78
- },
79
- });
80
- _a.label = 2;
81
- case 2:
82
- o = this.executeMiddlewares(entries, false, action);
83
- return [4 /*yield*/, this.entryInterface.transformArray(o)];
84
- case 3:
85
- messageArray = _a.sent();
86
- this.chatClient.processMessageArrayAndStoreIt(messageArray);
87
- return [2 /*return*/];
88
- }
89
- });
90
- });
91
- };
92
- // called on situations such as paging changes
93
- // when no new entries will be printed
94
- MiddlewareClient.prototype.handleUpdate = function (entries, action) {
95
- return __awaiter(this, void 0, void 0, function () {
96
- var o, messageArray;
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- o = this.executeMiddlewares(entries, true, action);
101
- return [4 /*yield*/, this.entryInterface.transformArray(o)];
102
- case 1:
103
- messageArray = _a.sent();
104
- this.chatClient.updateMessageArrayAndStoreIt(messageArray);
105
- return [2 /*return*/];
106
- }
107
- });
108
- });
109
- };
110
- // checks whether the action was of an update type
111
- MiddlewareClient.prototype.checkForUpdate = function (input) {
112
- return input === 'next';
113
- };
114
- MiddlewareClient.prototype.executeMiddlewares = function (entries, isUpdate, action) {
115
- if (isUpdate && action)
116
- entries = this.processor.processUpdate(StoreHelper.getEntry(action), entries);
117
- else {
118
- entries = this.processor.process(entries);
119
- }
120
- entries = this.paging.process(entries);
121
- return entries;
122
- };
123
- return MiddlewareClient;
124
- }());
125
- export default MiddlewareClient;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface PropsType {
3
- contactMethod: any;
4
- type: any;
5
- expanded?: boolean;
6
- className?: any;
7
- }
8
- declare const ContactMethodItem: React.FC<PropsType>;
9
- export default ContactMethodItem;