@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
package/lib/utils.js DELETED
@@ -1,79 +0,0 @@
1
- var __read = (this && this.__read) || function (o, n) {
2
- var m = typeof Symbol === "function" && o[Symbol.iterator];
3
- if (!m) return o;
4
- var i = m.call(o), r, ar = [], e;
5
- try {
6
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
- }
8
- catch (error) { e = { error: error }; }
9
- finally {
10
- try {
11
- if (r && !r.done && (m = i["return"])) m.call(i);
12
- }
13
- finally { if (e) throw e.error; }
14
- }
15
- return ar;
16
- };
17
- import { FormBuilder } from '@telia-ace/widget-forms';
18
- import { StoreHelper } from './helper/store.helper';
19
- export var getContactMethodEntry = function (contactMethodId) {
20
- var entries = StoreHelper.getEntryStore();
21
- return entries.find(function (e) { return e.content.id === +contactMethodId; });
22
- };
23
- var convertLegacySymbol = function (symbol) {
24
- if (symbol) {
25
- var type = symbol.type, content = symbol.content;
26
- if (type && content) {
27
- return { type: type, content: content };
28
- }
29
- }
30
- };
31
- export var contactMethodFromLegacy = function (_a, validation) {
32
- var id = _a.id, title = _a.title, defaultIcon = _a.defaultIcon, _b = __read(_a.exits, 1), exit = _b[0], exitType = _a.exitType, confirmationText = _a.confirmationText, expandFormAutomatically = _a.expandFormAutomatically, form = _a.form, description = _a.description;
33
- var adapter = (exit || { Adapter: {} }).adapter;
34
- var _c = adapter.clientName, clientName = _c === void 0 ? '' : _c, _d = adapter.settings, adapterSettings = _d === void 0 ? {} : _d, _e = adapter.customClientName, customClientName = _e === void 0 ? '' : _e;
35
- var settings = {
36
- id: id.toString(),
37
- title: title,
38
- description: description,
39
- symbol: convertLegacySymbol(defaultIcon),
40
- clientName: clientName === 'custom.adapter' ? customClientName : clientName,
41
- expanded: true,
42
- inline: true,
43
- body: {},
44
- };
45
- if (clientName.indexOf('phone') > -1 || clientName.indexOf('freetext') > -1) {
46
- var displayTextBeforeClick = adapterSettings.displayTextBeforeClick, textBeforeClick = adapterSettings.textBeforeClick;
47
- if (displayTextBeforeClick === 'true') {
48
- settings.expanded = false;
49
- settings.title = textBeforeClick;
50
- }
51
- if (clientName.indexOf('phone.text') > -1) {
52
- settings.body.phoneNumber = adapterSettings.phoneNumber;
53
- }
54
- else {
55
- settings.body.freetext = adapterSettings.freetext;
56
- }
57
- }
58
- if (clientName.indexOf('chat.popup') > -1 ||
59
- clientName.indexOf('link') > -1 ||
60
- (clientName === 'custom.adapter' && exitType === 'custom')) {
61
- settings.body = adapterSettings;
62
- settings.body.confirmationFallback = confirmationText;
63
- }
64
- if (clientName.indexOf('ace') > -1) {
65
- settings.body = adapterSettings;
66
- }
67
- if (form && form.hasValueComponents) {
68
- if (validation) {
69
- settings.body.form = FormBuilder.fromLegacyForm(id.toString(), form, validation).get();
70
- }
71
- else {
72
- settings.body.form = FormBuilder.fromLegacyForm(id.toString(), form).get();
73
- }
74
- if (!expandFormAutomatically) {
75
- settings.expanded = settings.inline = false;
76
- }
77
- }
78
- return settings;
79
- };
@@ -1,145 +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
- var __values = (this && this.__values) || function(o) {
38
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
39
- if (m) return m.call(o);
40
- if (o && typeof o.length === "number") return {
41
- next: function () {
42
- if (o && i >= o.length) o = void 0;
43
- return { value: o && o[i++], done: !o };
44
- }
45
- };
46
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
47
- };
48
- import { v4 as newGuid } from 'uuid';
49
- import { ServerEntryTypeEnum } from '../contract/enum/server-entry-type.enum';
50
- import { ChatHelper } from '../helper/chat.helper';
51
- import { StoreHelper } from '../helper/store.helper';
52
- import EntryInterface from '../interface/entry.interface';
53
- var ChatClient = /** @class */ (function () {
54
- function ChatClient(container) {
55
- this.entryInterface = new EntryInterface(container);
56
- }
57
- // Initialize from setting the user and agent for the Helper
58
- ChatClient.initialize = function (user, agent) {
59
- ChatHelper.setUser(user);
60
- ChatHelper.setAgent(agent);
61
- };
62
- // function for posting the messages
63
- ChatClient.prototype.processMessageArrayAndStoreIt = function (messages) {
64
- return __awaiter(this, void 0, void 0, function () {
65
- var _a, _b, message;
66
- var e_1, _c;
67
- return __generator(this, function (_d) {
68
- switch (_d.label) {
69
- case 0:
70
- try {
71
- for (_a = __values(messages.filter(function (o) { return o && o != null && !!o.message; })), _b = _a.next(); !_b.done; _b = _a.next()) {
72
- message = _b.value;
73
- if (message.isUser)
74
- this.postUserMessage(message);
75
- else
76
- this.postAgentMessage(message);
77
- }
78
- }
79
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
80
- finally {
81
- try {
82
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
83
- }
84
- finally { if (e_1) throw e_1.error; }
85
- }
86
- return [4 /*yield*/, StoreHelper.insertOrUpdateMessageArrayStore(messages)];
87
- case 1:
88
- _d.sent();
89
- return [2 /*return*/];
90
- }
91
- });
92
- });
93
- };
94
- // function for updating current messages
95
- ChatClient.prototype.updateMessageArrayAndStoreIt = function (messages) {
96
- var conversationEntry = undefined;
97
- messages.forEach(function (o) {
98
- var message = StoreHelper.getMessage(o.id);
99
- message === null || message === void 0 ? void 0 : message.conversationEntry.update(o.message);
100
- conversationEntry = message === null || message === void 0 ? void 0 : message.conversationEntry;
101
- });
102
- StoreHelper.insertOrUpdateMessageArrayStore(messages, conversationEntry);
103
- };
104
- // function for posting a message for the user actions, such as button clicks
105
- ChatClient.prototype.printUserMessageAndStoreIt = function (action) {
106
- if (action == 'next' || action == 'help')
107
- return;
108
- var entry = StoreHelper.getEntry(action);
109
- var message = {
110
- id: newGuid(),
111
- message: !entry ? action : this.getTitleFromEntry(entry, action),
112
- isUser: true,
113
- };
114
- this.postUserMessage(message);
115
- StoreHelper.insertOrUpdateMessageArrayStore([message]);
116
- };
117
- ChatClient.prototype.postUserMessage = function (message) {
118
- ChatHelper.getUser().print(message.message);
119
- };
120
- ChatClient.prototype.postAgentMessage = function (message) {
121
- message.conversationEntry = ChatHelper.getAgent().print(message.message);
122
- };
123
- ChatClient.prototype.getTitleFromEntry = function (entry, action) {
124
- var entryType = ServerEntryTypeEnum[entry.type];
125
- switch (entryType) {
126
- case ServerEntryTypeEnum.List:
127
- return this.getTitleFromList(entry, action);
128
- case ServerEntryTypeEnum.Text:
129
- return this.getTitleFromText(entry, action);
130
- default:
131
- return '';
132
- }
133
- };
134
- ChatClient.prototype.getTitleFromText = function (entry, action) {
135
- if (!!entry.content.items)
136
- return this.getTitleFromList(entry, action);
137
- else
138
- return entry.content.html;
139
- };
140
- ChatClient.prototype.getTitleFromList = function (entry, action) {
141
- return entry.content.items.find(function (o) { return o.actionKey == action; }).title;
142
- };
143
- return ChatClient;
144
- }());
145
- export default ChatClient;
@@ -1,34 +0,0 @@
1
- import { ContactMethodPlatform } from '@telia-ace/knowledge-widget-adapters';
2
- import { DataClient } from '@telia-ace/knowledge-widget-types-grid';
3
- import { Container } from '@webprovisions/platform';
4
- export declare class ContactMethodClient {
5
- private static dataClient;
6
- private static contactMethodPlatform;
7
- private static contactMessageEntryArray;
8
- private static agent;
9
- private chatClient;
10
- private static container;
11
- constructor(container: Container);
12
- static initialize(container: any, dataClient: DataClient, contactMethodPlatform: ContactMethodPlatform, agent: any): void;
13
- handleNewForm: (errors: any, entry: any) => Promise<void>;
14
- handleContactMethod: (input?: string) => Promise<void>;
15
- validate(form: any): void;
16
- private handleContactCategoryList;
17
- private handleForm;
18
- addContactMethod(contactMethod: any): {
19
- contactMethods: any;
20
- type: string;
21
- noPadding: boolean;
22
- };
23
- expandContactMethod(input: {
24
- entryId: string;
25
- contactMethodId: string;
26
- }): void;
27
- private handleContactMethodList;
28
- private handleSingleContactMethod;
29
- private submit;
30
- private removeForm;
31
- private printMessage;
32
- private loadContactMethods;
33
- private updateForm;
34
- }
@@ -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,26 +0,0 @@
1
- import { Container } from '@webprovisions/platform';
2
- export declare class HttpClient {
3
- private endpointUrl;
4
- private clientId;
5
- private projectionPath;
6
- private apiEndpoint;
7
- private options;
8
- private middlewareClient;
9
- private chatClient;
10
- private container;
11
- constructor(endpoint: string, clientId: string, container: Container);
12
- firstHit(): Promise<void>;
13
- handleUpdate(action: string): Promise<any>;
14
- handleInput(action: string): Promise<void>;
15
- handleCategories(): Promise<void>;
16
- handlePhrase(phrase: string): Promise<void>;
17
- private postAndHandleTheData;
18
- private postAndHandleTheUpdateData;
19
- private getHttpOptions;
20
- private constructInputEnvelope;
21
- private constructCategoriesEnvelope;
22
- private constructPhraseEnvelope;
23
- private constructFirstHitEnvelope;
24
- private handleResponseData;
25
- private handleUpdateResponseData;
26
- }