@telia-ace/knowledge-widget-bot-provider 0.0.1-alpha.21 → 0.0.1-alpha.24
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/client/chat.client.d.ts +15 -15
- package/lib/client/chat.client.js +79 -84
- package/lib/client/contact-method.client.d.ts +23 -22
- package/lib/client/contact-method.client.js +283 -279
- package/lib/client/http.client.d.ts +22 -22
- package/lib/client/http.client.js +113 -119
- package/lib/client/middleware.client.d.ts +13 -13
- package/lib/client/middleware.client.js +46 -51
- package/lib/contract/custom-component/contact-method-item.d.ts +8 -8
- package/lib/contract/custom-component/contact-method-item.js +51 -72
- package/lib/contract/custom-component/contact-method-list.d.ts +7 -7
- package/lib/contract/custom-component/contact-method-list.js +13 -37
- package/lib/contract/custom-component/contact-method.d.ts +3 -3
- package/lib/contract/custom-component/contact-method.js +34 -38
- package/lib/contract/enum/server-entry-type.enum.d.ts +6 -6
- package/lib/contract/enum/server-entry-type.enum.js +7 -10
- package/lib/contract/model/conversation-api-model/list.model.d.ts +5 -5
- package/lib/contract/model/conversation-api-model/list.model.js +0 -2
- package/lib/contract/model/conversation-api-model/message.model.d.ts +7 -7
- package/lib/contract/model/conversation-api-model/message.model.js +0 -2
- package/lib/contract/model/http/action.model.d.ts +3 -3
- package/lib/contract/model/http/action.model.js +0 -2
- package/lib/contract/model/http/client-action.model.d.ts +4 -4
- package/lib/contract/model/http/client-action.model.js +1 -3
- package/lib/contract/model/http/client-envelope.model.d.ts +9 -9
- package/lib/contract/model/http/client-envelope.model.js +0 -2
- package/lib/contract/model/http/connect-options.model.d.ts +5 -5
- package/lib/contract/model/http/connect-options.model.js +0 -2
- package/lib/contract/model/http/global-state.model.d.ts +8 -8
- package/lib/contract/model/http/global-state.model.js +0 -2
- package/lib/contract/model/http/http-client-options.model.d.ts +5 -5
- package/lib/contract/model/http/http-client-options.model.js +0 -2
- package/lib/contract/model/http/server-entry.model.d.ts +11 -11
- package/lib/contract/model/http/server-entry.model.js +0 -2
- package/lib/contract/model/http/server-envelope.model.d.ts +10 -10
- package/lib/contract/model/http/server-envelope.model.js +0 -2
- package/lib/contract/model/middleware/aggregator-state.model.d.ts +4 -4
- package/lib/contract/model/middleware/aggregator-state.model.js +1 -3
- package/lib/contract/model/shared/loose-object.model.d.ts +3 -3
- package/lib/contract/model/shared/loose-object.model.js +0 -2
- package/lib/helper/chat.helper.d.ts +8 -8
- package/lib/helper/chat.helper.js +18 -21
- package/lib/helper/http.helper.d.ts +13 -13
- package/lib/helper/http.helper.js +28 -31
- package/lib/helper/middleware.helper.d.ts +12 -12
- package/lib/helper/middleware.helper.js +67 -70
- package/lib/helper/store.helper.d.ts +22 -22
- package/lib/helper/store.helper.js +77 -80
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -8
- package/lib/interface/entry.interface.d.ts +17 -17
- package/lib/interface/entry.interface.js +133 -135
- package/lib/interface/middleware/paging.interface.d.ts +4 -4
- package/lib/interface/middleware/paging.interface.js +53 -55
- package/lib/interface/middleware/processor.interface.d.ts +10 -10
- package/lib/interface/middleware/processor.interface.js +118 -120
- package/lib/plugin.d.ts +3 -3
- package/lib/plugin.js +135 -172
- package/lib-esm/client/chat.client.d.ts +15 -15
- package/lib-esm/client/chat.client.js +79 -79
- package/lib-esm/client/contact-method.client.d.ts +23 -22
- package/lib-esm/client/contact-method.client.js +283 -273
- package/lib-esm/client/http.client.d.ts +22 -22
- package/lib-esm/client/http.client.js +113 -113
- package/lib-esm/client/middleware.client.d.ts +13 -13
- package/lib-esm/client/middleware.client.js +46 -46
- package/lib-esm/contract/custom-component/contact-method-item.d.ts +8 -8
- package/lib-esm/contract/custom-component/contact-method-item.js +51 -51
- package/lib-esm/contract/custom-component/contact-method-list.d.ts +7 -7
- package/lib-esm/contract/custom-component/contact-method-list.js +13 -13
- package/lib-esm/contract/custom-component/contact-method.d.ts +3 -3
- package/lib-esm/contract/custom-component/contact-method.js +34 -33
- package/lib-esm/contract/enum/server-entry-type.enum.d.ts +6 -6
- package/lib-esm/contract/enum/server-entry-type.enum.js +7 -7
- package/lib-esm/contract/model/conversation-api-model/list.model.d.ts +5 -5
- package/lib-esm/contract/model/conversation-api-model/message.model.d.ts +7 -7
- package/lib-esm/contract/model/http/action.model.d.ts +3 -3
- package/lib-esm/contract/model/http/client-action.model.d.ts +4 -4
- package/lib-esm/contract/model/http/client-action.model.js +1 -1
- package/lib-esm/contract/model/http/client-envelope.model.d.ts +9 -9
- package/lib-esm/contract/model/http/connect-options.model.d.ts +5 -5
- package/lib-esm/contract/model/http/global-state.model.d.ts +8 -8
- package/lib-esm/contract/model/http/http-client-options.model.d.ts +5 -5
- package/lib-esm/contract/model/http/server-entry.model.d.ts +11 -11
- package/lib-esm/contract/model/http/server-envelope.model.d.ts +10 -10
- package/lib-esm/contract/model/middleware/aggregator-state.model.d.ts +4 -4
- package/lib-esm/contract/model/middleware/aggregator-state.model.js +1 -1
- package/lib-esm/contract/model/shared/loose-object.model.d.ts +3 -3
- package/lib-esm/helper/chat.helper.d.ts +8 -8
- package/lib-esm/helper/chat.helper.js +18 -18
- package/lib-esm/helper/http.helper.d.ts +13 -13
- package/lib-esm/helper/http.helper.js +28 -28
- package/lib-esm/helper/middleware.helper.d.ts +12 -12
- package/lib-esm/helper/middleware.helper.js +67 -67
- package/lib-esm/helper/store.helper.d.ts +22 -22
- package/lib-esm/helper/store.helper.js +77 -77
- package/lib-esm/index.d.ts +2 -2
- package/lib-esm/index.js +2 -2
- package/lib-esm/interface/entry.interface.d.ts +17 -17
- package/lib-esm/interface/entry.interface.js +133 -133
- package/lib-esm/interface/middleware/paging.interface.d.ts +4 -4
- package/lib-esm/interface/middleware/paging.interface.js +53 -53
- package/lib-esm/interface/middleware/processor.interface.d.ts +10 -10
- package/lib-esm/interface/middleware/processor.interface.js +118 -118
- package/lib-esm/plugin.d.ts +3 -3
- package/lib-esm/plugin.js +135 -148
- package/package.json +52 -43
- package/lib/interface/middleware/contact-expanded.interface.d.ts +0 -0
- package/lib/interface/middleware/contact-expanded.interface.js +0 -50
- package/lib/interface/middleware/legacy-contact-methods.interface.d.ts +0 -0
- package/lib/interface/middleware/legacy-contact-methods.interface.js +0 -394
|
@@ -1,273 +1,283 @@
|
|
|
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
|
-
import { FormBuilder, submitButton } from '@humany/widget-forms';
|
|
49
|
-
import { DataType } from '@humany/widget-types-grid';
|
|
50
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
51
|
-
import { StoreHelper } from '../helper/store.helper';
|
|
52
|
-
import ChatClient from './chat.client';
|
|
53
|
-
var ContactMethodClient = /** @class */ (function () {
|
|
54
|
-
function ContactMethodClient() {
|
|
55
|
-
var _this = this;
|
|
56
|
-
this.chatClient = new ChatClient();
|
|
57
|
-
// function for handling forms as contact methods
|
|
58
|
-
this.handleNewForm = function (errors, entry) { return __awaiter(_this, void 0, void 0, function () {
|
|
59
|
-
return __generator(this, function (_a) {
|
|
60
|
-
this.updateForm(entry.contactMethods, {
|
|
61
|
-
submit: 'Submit',
|
|
62
|
-
errors: errors,
|
|
63
|
-
});
|
|
64
|
-
entry.entry.update({
|
|
65
|
-
contactMethods: entry.contactMethods,
|
|
66
|
-
type: 'ace-knowledge-contact-method',
|
|
67
|
-
noPadding: true,
|
|
68
|
-
});
|
|
69
|
-
return [2 /*return*/];
|
|
70
|
-
});
|
|
71
|
-
}); };
|
|
72
|
-
// function for receiving the contact method based on the input
|
|
73
|
-
this.handleContactMethod = function (input) {
|
|
74
|
-
if (input === void 0) { input = ''; }
|
|
75
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
-
var contactMethods;
|
|
77
|
-
var _a;
|
|
78
|
-
return __generator(this, function (_b) {
|
|
79
|
-
switch (_b.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
if (!(input == 'contact')) return [3 /*break*/, 2];
|
|
82
|
-
return [4 /*yield*/, this.handleContactCategoryList(input)];
|
|
83
|
-
case 1:
|
|
84
|
-
_b.sent();
|
|
85
|
-
return [3 /*break*/, 4];
|
|
86
|
-
case 2: return [4 /*yield*/, this.loadContactMethods(input.split('/')[1], // type
|
|
87
|
-
input.split('/')[0] // id
|
|
88
|
-
)];
|
|
89
|
-
case 3:
|
|
90
|
-
contactMethods = _b.sent();
|
|
91
|
-
if (!!((_a = contactMethods.body) === null || _a === void 0 ? void 0 : _a.form)) {
|
|
92
|
-
this.handleForm(input, contactMethods);
|
|
93
|
-
}
|
|
94
|
-
else if (!contactMethods.expanded && contactMethods.inline) {
|
|
95
|
-
this.handleSingleContactMethod(contactMethods);
|
|
96
|
-
}
|
|
97
|
-
else if (!!contactMethods.contactMethods) {
|
|
98
|
-
this.handleContactMethodList(input, contactMethods);
|
|
99
|
-
}
|
|
100
|
-
_b.label = 4;
|
|
101
|
-
case 4: return [2 /*return*/];
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
this.handleContactCategoryList = function (input) { return __awaiter(_this, void 0, void 0, function () {
|
|
107
|
-
var newGuid, type, contactMethods;
|
|
108
|
-
return __generator(this, function (_a) {
|
|
109
|
-
switch (_a.label) {
|
|
110
|
-
case 0:
|
|
111
|
-
newGuid = uuidv4();
|
|
112
|
-
type = DataType.ContactMethodCategories;
|
|
113
|
-
return [4 /*yield*/, this.loadContactMethods(type)];
|
|
114
|
-
case 1:
|
|
115
|
-
contactMethods = _a.sent();
|
|
116
|
-
this.chatClient.printUserMessageAndStoreIt(input);
|
|
117
|
-
this.printMessage(newGuid, contactMethods);
|
|
118
|
-
return [2 /*return*/];
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
}); };
|
|
122
|
-
this.updateForm = function (contactMethod, properties) {
|
|
123
|
-
var _a;
|
|
124
|
-
if ((_a = contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) === null || _a === void 0 ? void 0 : _a.form) {
|
|
125
|
-
var body = contactMethod.body;
|
|
126
|
-
var builder = new FormBuilder(body.form);
|
|
127
|
-
if (!body.form.layout || !body.form.layout.submit) {
|
|
128
|
-
builder.createComponent(submitButton(properties.submit, 'submit'));
|
|
129
|
-
}
|
|
130
|
-
if (properties.errors) {
|
|
131
|
-
builder.setValidationErrors(properties.errors);
|
|
132
|
-
}
|
|
133
|
-
return __assign(__assign({}, body), { form: builder.get() });
|
|
134
|
-
}
|
|
135
|
-
return (contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) || {};
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
ContactMethodClient.initialize = function (dataClient, contactMethodPlatform, agent) {
|
|
139
|
-
this.dataClient = dataClient;
|
|
140
|
-
this.contactMethodPlatform = contactMethodPlatform;
|
|
141
|
-
this.agent = agent;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
var
|
|
147
|
-
ContactMethodClient.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
_this.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
curCM
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
-
var
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
.
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}
|
|
273
|
-
|
|
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
|
+
import { FormBuilder, submitButton } from '@humany/widget-forms';
|
|
49
|
+
import { DataType } from '@humany/widget-types-grid';
|
|
50
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
51
|
+
import { StoreHelper } from '../helper/store.helper';
|
|
52
|
+
import ChatClient from './chat.client';
|
|
53
|
+
var ContactMethodClient = /** @class */ (function () {
|
|
54
|
+
function ContactMethodClient() {
|
|
55
|
+
var _this = this;
|
|
56
|
+
this.chatClient = new ChatClient();
|
|
57
|
+
// function for handling forms as contact methods
|
|
58
|
+
this.handleNewForm = function (errors, entry) { return __awaiter(_this, void 0, void 0, function () {
|
|
59
|
+
return __generator(this, function (_a) {
|
|
60
|
+
this.updateForm(entry.contactMethods, {
|
|
61
|
+
submit: 'Submit',
|
|
62
|
+
errors: errors,
|
|
63
|
+
});
|
|
64
|
+
entry.entry.update({
|
|
65
|
+
contactMethods: entry.contactMethods,
|
|
66
|
+
type: 'ace-knowledge-contact-method',
|
|
67
|
+
noPadding: true,
|
|
68
|
+
});
|
|
69
|
+
return [2 /*return*/];
|
|
70
|
+
});
|
|
71
|
+
}); };
|
|
72
|
+
// function for receiving the contact method based on the input
|
|
73
|
+
this.handleContactMethod = function (input) {
|
|
74
|
+
if (input === void 0) { input = ''; }
|
|
75
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
+
var contactMethods;
|
|
77
|
+
var _a;
|
|
78
|
+
return __generator(this, function (_b) {
|
|
79
|
+
switch (_b.label) {
|
|
80
|
+
case 0:
|
|
81
|
+
if (!(input == 'contact')) return [3 /*break*/, 2];
|
|
82
|
+
return [4 /*yield*/, this.handleContactCategoryList(input)];
|
|
83
|
+
case 1:
|
|
84
|
+
_b.sent();
|
|
85
|
+
return [3 /*break*/, 4];
|
|
86
|
+
case 2: return [4 /*yield*/, this.loadContactMethods(input.split('/')[1], // type
|
|
87
|
+
input.split('/')[0] // id
|
|
88
|
+
)];
|
|
89
|
+
case 3:
|
|
90
|
+
contactMethods = _b.sent();
|
|
91
|
+
if (!!((_a = contactMethods.body) === null || _a === void 0 ? void 0 : _a.form)) {
|
|
92
|
+
this.handleForm(input, contactMethods);
|
|
93
|
+
}
|
|
94
|
+
else if (!contactMethods.expanded && contactMethods.inline) {
|
|
95
|
+
this.handleSingleContactMethod(contactMethods);
|
|
96
|
+
}
|
|
97
|
+
else if (!!contactMethods.contactMethods) {
|
|
98
|
+
this.handleContactMethodList(input, contactMethods);
|
|
99
|
+
}
|
|
100
|
+
_b.label = 4;
|
|
101
|
+
case 4: return [2 /*return*/];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
this.handleContactCategoryList = function (input) { return __awaiter(_this, void 0, void 0, function () {
|
|
107
|
+
var newGuid, type, contactMethods;
|
|
108
|
+
return __generator(this, function (_a) {
|
|
109
|
+
switch (_a.label) {
|
|
110
|
+
case 0:
|
|
111
|
+
newGuid = uuidv4();
|
|
112
|
+
type = DataType.ContactMethodCategories;
|
|
113
|
+
return [4 /*yield*/, this.loadContactMethods(type)];
|
|
114
|
+
case 1:
|
|
115
|
+
contactMethods = _a.sent();
|
|
116
|
+
this.chatClient.printUserMessageAndStoreIt(input);
|
|
117
|
+
this.printMessage(newGuid, contactMethods);
|
|
118
|
+
return [2 /*return*/];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}); };
|
|
122
|
+
this.updateForm = function (contactMethod, properties) {
|
|
123
|
+
var _a;
|
|
124
|
+
if ((_a = contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) === null || _a === void 0 ? void 0 : _a.form) {
|
|
125
|
+
var body = contactMethod.body;
|
|
126
|
+
var builder = new FormBuilder(body.form);
|
|
127
|
+
if (!body.form.layout || !body.form.layout.submit) {
|
|
128
|
+
builder.createComponent(submitButton(properties.submit, 'submit'));
|
|
129
|
+
}
|
|
130
|
+
if (properties.errors) {
|
|
131
|
+
builder.setValidationErrors(properties.errors);
|
|
132
|
+
}
|
|
133
|
+
return __assign(__assign({}, body), { form: builder.get() });
|
|
134
|
+
}
|
|
135
|
+
return (contactMethod === null || contactMethod === void 0 ? void 0 : contactMethod.body) || {};
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
ContactMethodClient.initialize = function (container, dataClient, contactMethodPlatform, agent) {
|
|
139
|
+
this.dataClient = dataClient;
|
|
140
|
+
this.contactMethodPlatform = contactMethodPlatform;
|
|
141
|
+
this.agent = agent;
|
|
142
|
+
this.container = container;
|
|
143
|
+
};
|
|
144
|
+
// validation of the form provided
|
|
145
|
+
ContactMethodClient.prototype.validate = function (form) {
|
|
146
|
+
var _this = this;
|
|
147
|
+
var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == form.schema.id; });
|
|
148
|
+
ContactMethodClient.contactMethodPlatform.validate(entry.contactMethods).then(function (result) {
|
|
149
|
+
_this.handleNewForm(result.errors, entry);
|
|
150
|
+
if (result.valid) {
|
|
151
|
+
_this.submit(entry);
|
|
152
|
+
_this.removeForm(entry);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
ContactMethodClient.prototype.handleForm = function (input, contactMethods) {
|
|
157
|
+
var title = input.split('/')[2];
|
|
158
|
+
contactMethods.expanded = true;
|
|
159
|
+
this.updateForm(contactMethods, {
|
|
160
|
+
submit: 'Submit',
|
|
161
|
+
errors: undefined,
|
|
162
|
+
});
|
|
163
|
+
this.printMessage(contactMethods.id, contactMethods, title);
|
|
164
|
+
};
|
|
165
|
+
ContactMethodClient.prototype.handleContactMethodList = function (input, contactMethods) {
|
|
166
|
+
var title = input.split('/')[2];
|
|
167
|
+
var newGuid = uuidv4();
|
|
168
|
+
this.printMessage(newGuid, contactMethods, title);
|
|
169
|
+
};
|
|
170
|
+
ContactMethodClient.prototype.handleSingleContactMethod = function (contactMethods) {
|
|
171
|
+
var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) {
|
|
172
|
+
return o.contactMethods.contactMethods.find(function (t) { return t.id == contactMethods.id; });
|
|
173
|
+
});
|
|
174
|
+
var curCM = entry.contactMethods.contactMethods.find(function (t) { return t.id == contactMethods.id; });
|
|
175
|
+
curCM.expanded = true;
|
|
176
|
+
var message = {
|
|
177
|
+
contactMethods: entry.contactMethods,
|
|
178
|
+
type: 'ace-knowledge-contact-method',
|
|
179
|
+
noPadding: true,
|
|
180
|
+
};
|
|
181
|
+
StoreHelper.insertOrUpdateMessageArrayStore([
|
|
182
|
+
{
|
|
183
|
+
id: entry.id,
|
|
184
|
+
message: message,
|
|
185
|
+
isUser: false,
|
|
186
|
+
},
|
|
187
|
+
]);
|
|
188
|
+
entry.entry.update(message);
|
|
189
|
+
};
|
|
190
|
+
ContactMethodClient.prototype.submit = function (entry) {
|
|
191
|
+
ContactMethodClient.contactMethodPlatform.submit(entry.contactMethods).then(function (result) {
|
|
192
|
+
if (!!result)
|
|
193
|
+
ContactMethodClient.agent.print(result);
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
ContactMethodClient.prototype.removeForm = function (entry) {
|
|
197
|
+
entry.entry.remove();
|
|
198
|
+
ContactMethodClient.contactMessageEntryArray.splice(ContactMethodClient.contactMessageEntryArray.indexOf(entry), 1);
|
|
199
|
+
};
|
|
200
|
+
ContactMethodClient.prototype.printMessage = function (newGuid, contactMethods, title) {
|
|
201
|
+
if (title === void 0) { title = undefined; }
|
|
202
|
+
if (ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == contactMethods.id; })) {
|
|
203
|
+
var entry = ContactMethodClient.contactMessageEntryArray.find(function (o) { return o.id == contactMethods.id; });
|
|
204
|
+
var message = {
|
|
205
|
+
contactMethods: contactMethods,
|
|
206
|
+
type: 'ace-knowledge-contact-method',
|
|
207
|
+
noPadding: true,
|
|
208
|
+
};
|
|
209
|
+
entry.entry.update(message);
|
|
210
|
+
StoreHelper.insertOrUpdateMessageArrayStore([
|
|
211
|
+
{
|
|
212
|
+
id: entry.guid,
|
|
213
|
+
message: message,
|
|
214
|
+
isUser: false,
|
|
215
|
+
},
|
|
216
|
+
]);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
if (title)
|
|
220
|
+
this.chatClient.printUserMessageAndStoreIt(title);
|
|
221
|
+
var message = {
|
|
222
|
+
contactMethods: contactMethods,
|
|
223
|
+
type: 'ace-knowledge-contact-method',
|
|
224
|
+
noPadding: true,
|
|
225
|
+
};
|
|
226
|
+
var entry = ContactMethodClient.agent.print(message);
|
|
227
|
+
StoreHelper.insertOrUpdateMessageArrayStore([
|
|
228
|
+
{
|
|
229
|
+
id: newGuid,
|
|
230
|
+
message: message,
|
|
231
|
+
isUser: false,
|
|
232
|
+
},
|
|
233
|
+
]);
|
|
234
|
+
ContactMethodClient.contactMessageEntryArray.push({
|
|
235
|
+
id: newGuid,
|
|
236
|
+
contactMethods: contactMethods,
|
|
237
|
+
entry: entry,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
ContactMethodClient.prototype.loadContactMethods = function (dataType, id) {
|
|
242
|
+
if (id === void 0) { id = undefined; }
|
|
243
|
+
switch (dataType) {
|
|
244
|
+
case DataType.ContactMethodCategories: {
|
|
245
|
+
return ContactMethodClient.container
|
|
246
|
+
.getAsync('matchingClient')
|
|
247
|
+
.then(function (matchingClient) {
|
|
248
|
+
return matchingClient.customRequest('/contactmethods', 'GET', {});
|
|
249
|
+
})
|
|
250
|
+
.then(function (contactMethods) {
|
|
251
|
+
console.log('contactmethodsxxx', contactMethods);
|
|
252
|
+
return contactMethods;
|
|
253
|
+
});
|
|
254
|
+
// return ContactMethodClient.dataClient
|
|
255
|
+
// .fetch(DataType.ContactMethods, { contactMethodCategoryId: id })
|
|
256
|
+
// .then((contactMethods) => contactMethods);
|
|
257
|
+
}
|
|
258
|
+
case DataType.ContactMethods: {
|
|
259
|
+
if (!!id) {
|
|
260
|
+
return ContactMethodClient.dataClient
|
|
261
|
+
.fetch(DataType.ContactMethod, { contactMethodId: id })
|
|
262
|
+
.then(function (contactMethods) { return contactMethods; });
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
return ContactMethodClient.dataClient
|
|
266
|
+
.fetch(DataType.ContactMethods, {})
|
|
267
|
+
.then(function (contactMethods) { return contactMethods; });
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
case DataType.ContactMethodCategories: {
|
|
271
|
+
return ContactMethodClient.dataClient
|
|
272
|
+
.fetch(DataType.ContactMethods, { contactMethodCategoryId: id })
|
|
273
|
+
.then(function (contactMethods) { return contactMethods; });
|
|
274
|
+
}
|
|
275
|
+
default: {
|
|
276
|
+
return Promise.resolve(undefined);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
ContactMethodClient.contactMessageEntryArray = [];
|
|
281
|
+
return ContactMethodClient;
|
|
282
|
+
}());
|
|
283
|
+
export { ContactMethodClient };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export declare class HttpClient {
|
|
2
|
-
private endpointUrl;
|
|
3
|
-
private clientId;
|
|
4
|
-
private projectionPath;
|
|
5
|
-
private apiEndpoint;
|
|
6
|
-
private options;
|
|
7
|
-
private middlewareClient;
|
|
8
|
-
private chatClient;
|
|
9
|
-
constructor(endpoint: string, clientId: string);
|
|
10
|
-
firstHit(): void;
|
|
11
|
-
handleUpdate(action: string): void;
|
|
12
|
-
handleInput(action: string): void;
|
|
13
|
-
handlePhrase(phrase: string): void;
|
|
14
|
-
private postAndHandleTheData;
|
|
15
|
-
private postAndHandleTheUpdateData;
|
|
16
|
-
private getHttpOptions;
|
|
17
|
-
private constructInputEnvelope;
|
|
18
|
-
private constructPhraseEnvelope;
|
|
19
|
-
private constructFirstHitEnvelope;
|
|
20
|
-
private handleResponseData;
|
|
21
|
-
private handleUpdateResponseData;
|
|
22
|
-
}
|
|
1
|
+
export declare class HttpClient {
|
|
2
|
+
private endpointUrl;
|
|
3
|
+
private clientId;
|
|
4
|
+
private projectionPath;
|
|
5
|
+
private apiEndpoint;
|
|
6
|
+
private options;
|
|
7
|
+
private middlewareClient;
|
|
8
|
+
private chatClient;
|
|
9
|
+
constructor(endpoint: string, clientId: string);
|
|
10
|
+
firstHit(): void;
|
|
11
|
+
handleUpdate(action: string): void;
|
|
12
|
+
handleInput(action: string): void;
|
|
13
|
+
handlePhrase(phrase: string): void;
|
|
14
|
+
private postAndHandleTheData;
|
|
15
|
+
private postAndHandleTheUpdateData;
|
|
16
|
+
private getHttpOptions;
|
|
17
|
+
private constructInputEnvelope;
|
|
18
|
+
private constructPhraseEnvelope;
|
|
19
|
+
private constructFirstHitEnvelope;
|
|
20
|
+
private handleResponseData;
|
|
21
|
+
private handleUpdateResponseData;
|
|
22
|
+
}
|