@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.
- package/LICENSE.txt +5 -5
- package/README.md +12 -12
- package/{lib-esm → dist}/client/chat.client.d.ts +16 -16
- package/{lib → dist}/client/contact-method.client.d.ts +34 -34
- package/{lib → dist}/client/http.client.d.ts +26 -26
- package/{lib → dist}/client/middleware.client.d.ts +14 -14
- package/dist/components/feedback-list.d.ts +8 -0
- package/dist/components/no-good-alternative.d.ts +6 -0
- package/dist/contact-method.js +102 -0
- package/dist/contact-method.js.map +1 -0
- package/{lib-esm → dist}/contract/custom-component/contact-method-item.d.ts +9 -9
- package/{lib-esm → dist}/contract/custom-component/contact-method-list.d.ts +7 -7
- package/{lib-esm → dist}/contract/custom-component/contact-method.d.ts +3 -3
- package/{lib-esm → dist}/contract/custom-component/entry-context.d.ts +5 -5
- package/{lib → dist}/contract/enum/server-entry-type.enum.d.ts +7 -7
- package/{lib → dist}/contract/model/conversation-api-model/list.model.d.ts +5 -5
- package/{lib-esm → dist}/contract/model/conversation-api-model/message.model.d.ts +7 -7
- package/{lib → dist}/contract/model/http/action.model.d.ts +3 -3
- package/{lib → dist}/contract/model/http/client-action.model.d.ts +4 -4
- package/{lib → dist}/contract/model/http/client-envelope.model.d.ts +9 -9
- package/{lib-esm → dist}/contract/model/http/connect-options.model.d.ts +5 -5
- package/{lib-esm → dist}/contract/model/http/global-state.model.d.ts +8 -8
- package/{lib-esm → dist}/contract/model/http/http-client-options.model.d.ts +5 -5
- package/{lib-esm → dist}/contract/model/http/server-entry.model.d.ts +11 -11
- package/{lib-esm → dist}/contract/model/http/server-envelope.model.d.ts +10 -10
- package/{lib-esm → dist}/contract/model/middleware/aggregator-state.model.d.ts +4 -4
- package/{lib → dist}/contract/model/shared/loose-object.model.d.ts +3 -3
- package/dist/feedback-list.js +104 -0
- package/dist/feedback-list.js.map +1 -0
- package/{lib-esm → dist}/helper/chat.helper.d.ts +8 -8
- package/{lib-esm → dist}/helper/http.helper.d.ts +13 -13
- package/{lib-esm → dist}/helper/middleware.helper.d.ts +12 -12
- package/{lib → dist}/helper/store.helper.d.ts +23 -23
- package/{lib-esm → dist}/index.d.ts +2 -2
- package/dist/index.js +1152 -0
- package/dist/index.js.map +1 -0
- package/{lib-esm → dist}/interface/entry.interface.d.ts +20 -20
- package/{lib-esm → dist}/interface/middleware/paging.interface.d.ts +4 -4
- package/{lib-esm → dist}/interface/middleware/processor.interface.d.ts +10 -10
- package/dist/no-good-alternative.js +33 -0
- package/dist/no-good-alternative.js.map +1 -0
- package/{lib-esm → dist}/plugin.d.ts +3 -3
- package/dist/ui/feedback-list.d.ts +8 -0
- package/dist/ui/no-good-alternative.d.ts +6 -0
- package/{lib-esm → dist}/utils.d.ts +2 -2
- package/package.json +14 -15
- package/lib/client/chat.client.d.ts +0 -16
- package/lib/client/chat.client.js +0 -145
- package/lib/client/contact-method.client.js +0 -337
- package/lib/client/http.client.js +0 -211
- package/lib/client/middleware.client.js +0 -125
- package/lib/contract/custom-component/contact-method-item.d.ts +0 -9
- package/lib/contract/custom-component/contact-method-item.js +0 -34
- package/lib/contract/custom-component/contact-method-list.d.ts +0 -7
- package/lib/contract/custom-component/contact-method-list.js +0 -13
- package/lib/contract/custom-component/contact-method.d.ts +0 -3
- package/lib/contract/custom-component/contact-method.js +0 -35
- package/lib/contract/custom-component/entry-context.d.ts +0 -5
- package/lib/contract/custom-component/entry-context.js +0 -4
- package/lib/contract/enum/server-entry-type.enum.js +0 -8
- package/lib/contract/model/conversation-api-model/list.model.js +0 -1
- package/lib/contract/model/conversation-api-model/message.model.d.ts +0 -7
- package/lib/contract/model/conversation-api-model/message.model.js +0 -1
- package/lib/contract/model/http/action.model.js +0 -1
- package/lib/contract/model/http/client-action.model.js +0 -2
- package/lib/contract/model/http/client-envelope.model.js +0 -1
- package/lib/contract/model/http/connect-options.model.d.ts +0 -5
- package/lib/contract/model/http/connect-options.model.js +0 -1
- package/lib/contract/model/http/global-state.model.d.ts +0 -8
- package/lib/contract/model/http/global-state.model.js +0 -1
- package/lib/contract/model/http/http-client-options.model.d.ts +0 -5
- package/lib/contract/model/http/http-client-options.model.js +0 -1
- package/lib/contract/model/http/server-entry.model.d.ts +0 -11
- package/lib/contract/model/http/server-entry.model.js +0 -1
- package/lib/contract/model/http/server-envelope.model.d.ts +0 -10
- package/lib/contract/model/http/server-envelope.model.js +0 -1
- package/lib/contract/model/middleware/aggregator-state.model.d.ts +0 -4
- package/lib/contract/model/middleware/aggregator-state.model.js +0 -2
- package/lib/contract/model/shared/loose-object.model.js +0 -1
- package/lib/helper/chat.helper.d.ts +0 -8
- package/lib/helper/chat.helper.js +0 -18
- package/lib/helper/http.helper.d.ts +0 -13
- package/lib/helper/http.helper.js +0 -28
- package/lib/helper/middleware.helper.d.ts +0 -12
- package/lib/helper/middleware.helper.js +0 -68
- package/lib/helper/store.helper.js +0 -169
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -2
- package/lib/interface/entry.interface.d.ts +0 -20
- package/lib/interface/entry.interface.js +0 -306
- package/lib/interface/middleware/paging.interface.d.ts +0 -4
- package/lib/interface/middleware/paging.interface.js +0 -53
- package/lib/interface/middleware/processor.interface.d.ts +0 -10
- package/lib/interface/middleware/processor.interface.js +0 -118
- package/lib/plugin.d.ts +0 -3
- package/lib/plugin.js +0 -154
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +0 -79
- package/lib-esm/client/chat.client.js +0 -145
- package/lib-esm/client/contact-method.client.d.ts +0 -34
- package/lib-esm/client/contact-method.client.js +0 -337
- package/lib-esm/client/http.client.d.ts +0 -26
- package/lib-esm/client/http.client.js +0 -211
- package/lib-esm/client/middleware.client.d.ts +0 -14
- package/lib-esm/client/middleware.client.js +0 -125
- package/lib-esm/contract/custom-component/contact-method-item.js +0 -34
- package/lib-esm/contract/custom-component/contact-method-list.js +0 -13
- package/lib-esm/contract/custom-component/contact-method.js +0 -35
- package/lib-esm/contract/custom-component/entry-context.js +0 -4
- package/lib-esm/contract/enum/server-entry-type.enum.d.ts +0 -7
- package/lib-esm/contract/enum/server-entry-type.enum.js +0 -8
- package/lib-esm/contract/model/conversation-api-model/list.model.d.ts +0 -5
- package/lib-esm/contract/model/conversation-api-model/list.model.js +0 -1
- package/lib-esm/contract/model/conversation-api-model/message.model.js +0 -1
- package/lib-esm/contract/model/http/action.model.d.ts +0 -3
- package/lib-esm/contract/model/http/action.model.js +0 -1
- package/lib-esm/contract/model/http/client-action.model.d.ts +0 -4
- package/lib-esm/contract/model/http/client-action.model.js +0 -2
- package/lib-esm/contract/model/http/client-envelope.model.d.ts +0 -9
- package/lib-esm/contract/model/http/client-envelope.model.js +0 -1
- package/lib-esm/contract/model/http/connect-options.model.js +0 -1
- package/lib-esm/contract/model/http/global-state.model.js +0 -1
- package/lib-esm/contract/model/http/http-client-options.model.js +0 -1
- package/lib-esm/contract/model/http/server-entry.model.js +0 -1
- package/lib-esm/contract/model/http/server-envelope.model.js +0 -1
- package/lib-esm/contract/model/middleware/aggregator-state.model.js +0 -2
- package/lib-esm/contract/model/shared/loose-object.model.d.ts +0 -3
- package/lib-esm/contract/model/shared/loose-object.model.js +0 -1
- package/lib-esm/helper/chat.helper.js +0 -18
- package/lib-esm/helper/http.helper.js +0 -28
- package/lib-esm/helper/middleware.helper.js +0 -68
- package/lib-esm/helper/store.helper.d.ts +0 -23
- package/lib-esm/helper/store.helper.js +0 -169
- package/lib-esm/index.js +0 -2
- package/lib-esm/interface/entry.interface.js +0 -306
- package/lib-esm/interface/middleware/paging.interface.js +0 -53
- package/lib-esm/interface/middleware/processor.interface.js +0 -118
- package/lib-esm/plugin.js +0 -154
- 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
|
-
}
|