@telia-ace/knowledge-widget-bot-provider 0.0.1-alpha.7 → 0.0.1-alpha.8
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 +22 -22
- package/lib/client/contact-method.client.js +273 -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 -76
- package/lib/contract/custom-component/contact-method-list.d.ts +7 -7
- package/lib/contract/custom-component/contact-method-list.js +13 -41
- package/lib/contract/custom-component/contact-method.d.ts +3 -3
- package/lib/contract/custom-component/contact-method.js +33 -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 -33
- package/lib/helper/middleware.helper.d.ts +12 -12
- package/lib/helper/middleware.helper.js +67 -72
- 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 -138
- 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 +148 -173
- 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 +22 -22
- package/lib-esm/client/contact-method.client.js +273 -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 +33 -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/list.model.js +0 -1
- package/lib-esm/contract/model/conversation-api-model/message.model.d.ts +7 -7
- package/lib-esm/contract/model/conversation-api-model/message.model.js +0 -1
- package/lib-esm/contract/model/http/action.model.d.ts +3 -3
- package/lib-esm/contract/model/http/action.model.js +0 -1
- package/lib-esm/contract/model/http/client-action.model.d.ts +4 -4
- package/lib-esm/contract/model/http/client-action.model.js +1 -2
- package/lib-esm/contract/model/http/client-envelope.model.d.ts +9 -9
- package/lib-esm/contract/model/http/client-envelope.model.js +0 -1
- package/lib-esm/contract/model/http/connect-options.model.d.ts +5 -5
- package/lib-esm/contract/model/http/connect-options.model.js +0 -1
- package/lib-esm/contract/model/http/global-state.model.d.ts +8 -8
- package/lib-esm/contract/model/http/global-state.model.js +0 -1
- package/lib-esm/contract/model/http/http-client-options.model.d.ts +5 -5
- package/lib-esm/contract/model/http/http-client-options.model.js +0 -1
- package/lib-esm/contract/model/http/server-entry.model.d.ts +11 -11
- package/lib-esm/contract/model/http/server-entry.model.js +0 -1
- package/lib-esm/contract/model/http/server-envelope.model.d.ts +10 -10
- package/lib-esm/contract/model/http/server-envelope.model.js +0 -1
- package/lib-esm/contract/model/middleware/aggregator-state.model.d.ts +4 -4
- package/lib-esm/contract/model/middleware/aggregator-state.model.js +1 -2
- package/lib-esm/contract/model/shared/loose-object.model.d.ts +3 -3
- package/lib-esm/contract/model/shared/loose-object.model.js +0 -1
- 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 -30
- package/lib-esm/helper/middleware.helper.d.ts +12 -12
- package/lib-esm/helper/middleware.helper.js +67 -69
- 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 -136
- 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 +148 -145
- package/package.json +52 -45
- 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,113 +1,113 @@
|
|
|
1
|
-
import { HttpHelper } from '../helper/http.helper';
|
|
2
|
-
import { MiddlewareHelper } from '../helper/middleware.helper';
|
|
3
|
-
import { StoreHelper } from '../helper/store.helper';
|
|
4
|
-
import ChatClient from './chat.client';
|
|
5
|
-
import MiddlewareClient from './middleware.client';
|
|
6
|
-
var HttpClient = /** @class */ (function () {
|
|
7
|
-
function HttpClient(endpoint, clientId) {
|
|
8
|
-
this.options = {
|
|
9
|
-
credentials: HttpHelper.getCredentials(),
|
|
10
|
-
clientId: clientId,
|
|
11
|
-
};
|
|
12
|
-
this.apiEndpoint = endpoint;
|
|
13
|
-
this.projectionPath = window.location.href;
|
|
14
|
-
this.endpointUrl = HttpHelper.combineUrl(this.projectionPath, 'conversations');
|
|
15
|
-
this.clientId = this.options.clientId;
|
|
16
|
-
this.middlewareClient = new MiddlewareClient();
|
|
17
|
-
this.chatClient = new ChatClient();
|
|
18
|
-
}
|
|
19
|
-
HttpClient.prototype.firstHit = function () {
|
|
20
|
-
var _this = this;
|
|
21
|
-
// On first hit if there are entries stored in the storage, use them
|
|
22
|
-
// Otherwise start a new session
|
|
23
|
-
MiddlewareHelper.getEntrySessionStorage().then(function (o) {
|
|
24
|
-
if (o && o.length > 0)
|
|
25
|
-
_this.chatClient.processMessageArrayAndStoreIt(o);
|
|
26
|
-
else {
|
|
27
|
-
var envelope = _this.constructFirstHitEnvelope();
|
|
28
|
-
_this.postAndHandleTheData(envelope);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
// for updates, such as paging changes
|
|
33
|
-
HttpClient.prototype.handleUpdate = function (action) {
|
|
34
|
-
var envelope = this.constructInputEnvelope(action);
|
|
35
|
-
this.postAndHandleTheUpdateData(envelope, action);
|
|
36
|
-
// return this.postAndReturnTheData(envelope, action).then((o) => {
|
|
37
|
-
// return o.entries;
|
|
38
|
-
// });
|
|
39
|
-
};
|
|
40
|
-
// for action clicks
|
|
41
|
-
HttpClient.prototype.handleInput = function (action) {
|
|
42
|
-
var envelope = this.constructInputEnvelope(action);
|
|
43
|
-
this.postAndHandleTheData(envelope, action);
|
|
44
|
-
};
|
|
45
|
-
// for text entries by user
|
|
46
|
-
HttpClient.prototype.handlePhrase = function (phrase) {
|
|
47
|
-
var envelope = this.constructPhraseEnvelope(phrase);
|
|
48
|
-
this.postAndHandleTheData(envelope);
|
|
49
|
-
};
|
|
50
|
-
HttpClient.prototype.postAndHandleTheData = function (envelope, action) {
|
|
51
|
-
var _this = this;
|
|
52
|
-
return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
|
|
53
|
-
.then(function (response) {
|
|
54
|
-
if (response.ok)
|
|
55
|
-
return response.json();
|
|
56
|
-
throw response;
|
|
57
|
-
})
|
|
58
|
-
.then(function (data) {
|
|
59
|
-
_this.handleResponseData(data, action);
|
|
60
|
-
})
|
|
61
|
-
.catch(function (err) { return console.log(err); });
|
|
62
|
-
};
|
|
63
|
-
HttpClient.prototype.postAndHandleTheUpdateData = function (envelope, action) {
|
|
64
|
-
var _this = this;
|
|
65
|
-
return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
|
|
66
|
-
.then(function (response) {
|
|
67
|
-
if (response.ok)
|
|
68
|
-
return response.json();
|
|
69
|
-
throw response;
|
|
70
|
-
})
|
|
71
|
-
.then(function (data) {
|
|
72
|
-
_this.handleUpdateResponseData(data, action);
|
|
73
|
-
})
|
|
74
|
-
.catch(function (err) { return console.log(err); });
|
|
75
|
-
};
|
|
76
|
-
HttpClient.prototype.getHttpOptions = function (envelope) {
|
|
77
|
-
return Object.assign({}, HttpHelper.fetchOptions, {
|
|
78
|
-
body: JSON.stringify(envelope),
|
|
79
|
-
credentials: this.options.credentials,
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
HttpClient.prototype.constructInputEnvelope = function (action) {
|
|
83
|
-
return {
|
|
84
|
-
action: StoreHelper.getAction(action),
|
|
85
|
-
localState: StoreHelper.getLocalState(action),
|
|
86
|
-
globalState: StoreHelper.getGlobalState(),
|
|
87
|
-
clientId: this.clientId,
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
HttpClient.prototype.constructPhraseEnvelope = function (phrase) {
|
|
91
|
-
return {
|
|
92
|
-
command: { phrase: phrase },
|
|
93
|
-
globalState: StoreHelper.getGlobalState(),
|
|
94
|
-
clientId: this.clientId,
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
HttpClient.prototype.constructFirstHitEnvelope = function () {
|
|
98
|
-
return {
|
|
99
|
-
command: { site: this.endpointUrl },
|
|
100
|
-
clientId: this.clientId,
|
|
101
|
-
globalState: {},
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
HttpClient.prototype.handleResponseData = function (envelope, action) {
|
|
105
|
-
StoreHelper.setGlobalState(envelope.globalState);
|
|
106
|
-
this.middlewareClient.handleEntries(envelope.entries, action);
|
|
107
|
-
};
|
|
108
|
-
HttpClient.prototype.handleUpdateResponseData = function (envelope, action) {
|
|
109
|
-
this.middlewareClient.handleUpdate(envelope.entries, action);
|
|
110
|
-
};
|
|
111
|
-
return HttpClient;
|
|
112
|
-
}());
|
|
113
|
-
export { HttpClient };
|
|
1
|
+
import { HttpHelper } from '../helper/http.helper';
|
|
2
|
+
import { MiddlewareHelper } from '../helper/middleware.helper';
|
|
3
|
+
import { StoreHelper } from '../helper/store.helper';
|
|
4
|
+
import ChatClient from './chat.client';
|
|
5
|
+
import MiddlewareClient from './middleware.client';
|
|
6
|
+
var HttpClient = /** @class */ (function () {
|
|
7
|
+
function HttpClient(endpoint, clientId) {
|
|
8
|
+
this.options = {
|
|
9
|
+
credentials: HttpHelper.getCredentials(),
|
|
10
|
+
clientId: clientId,
|
|
11
|
+
};
|
|
12
|
+
this.apiEndpoint = endpoint;
|
|
13
|
+
this.projectionPath = window.location.href;
|
|
14
|
+
this.endpointUrl = HttpHelper.combineUrl(this.projectionPath, 'conversations');
|
|
15
|
+
this.clientId = this.options.clientId;
|
|
16
|
+
this.middlewareClient = new MiddlewareClient();
|
|
17
|
+
this.chatClient = new ChatClient();
|
|
18
|
+
}
|
|
19
|
+
HttpClient.prototype.firstHit = function () {
|
|
20
|
+
var _this = this;
|
|
21
|
+
// On first hit if there are entries stored in the storage, use them
|
|
22
|
+
// Otherwise start a new session
|
|
23
|
+
MiddlewareHelper.getEntrySessionStorage().then(function (o) {
|
|
24
|
+
if (o && o.length > 0)
|
|
25
|
+
_this.chatClient.processMessageArrayAndStoreIt(o);
|
|
26
|
+
else {
|
|
27
|
+
var envelope = _this.constructFirstHitEnvelope();
|
|
28
|
+
_this.postAndHandleTheData(envelope);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
// for updates, such as paging changes
|
|
33
|
+
HttpClient.prototype.handleUpdate = function (action) {
|
|
34
|
+
var envelope = this.constructInputEnvelope(action);
|
|
35
|
+
this.postAndHandleTheUpdateData(envelope, action);
|
|
36
|
+
// return this.postAndReturnTheData(envelope, action).then((o) => {
|
|
37
|
+
// return o.entries;
|
|
38
|
+
// });
|
|
39
|
+
};
|
|
40
|
+
// for action clicks
|
|
41
|
+
HttpClient.prototype.handleInput = function (action) {
|
|
42
|
+
var envelope = this.constructInputEnvelope(action);
|
|
43
|
+
this.postAndHandleTheData(envelope, action);
|
|
44
|
+
};
|
|
45
|
+
// for text entries by user
|
|
46
|
+
HttpClient.prototype.handlePhrase = function (phrase) {
|
|
47
|
+
var envelope = this.constructPhraseEnvelope(phrase);
|
|
48
|
+
this.postAndHandleTheData(envelope);
|
|
49
|
+
};
|
|
50
|
+
HttpClient.prototype.postAndHandleTheData = function (envelope, action) {
|
|
51
|
+
var _this = this;
|
|
52
|
+
return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
|
|
53
|
+
.then(function (response) {
|
|
54
|
+
if (response.ok)
|
|
55
|
+
return response.json();
|
|
56
|
+
throw response;
|
|
57
|
+
})
|
|
58
|
+
.then(function (data) {
|
|
59
|
+
_this.handleResponseData(data, action);
|
|
60
|
+
})
|
|
61
|
+
.catch(function (err) { return console.log(err); });
|
|
62
|
+
};
|
|
63
|
+
HttpClient.prototype.postAndHandleTheUpdateData = function (envelope, action) {
|
|
64
|
+
var _this = this;
|
|
65
|
+
return fetch(this.apiEndpoint, this.getHttpOptions(envelope))
|
|
66
|
+
.then(function (response) {
|
|
67
|
+
if (response.ok)
|
|
68
|
+
return response.json();
|
|
69
|
+
throw response;
|
|
70
|
+
})
|
|
71
|
+
.then(function (data) {
|
|
72
|
+
_this.handleUpdateResponseData(data, action);
|
|
73
|
+
})
|
|
74
|
+
.catch(function (err) { return console.log(err); });
|
|
75
|
+
};
|
|
76
|
+
HttpClient.prototype.getHttpOptions = function (envelope) {
|
|
77
|
+
return Object.assign({}, HttpHelper.fetchOptions, {
|
|
78
|
+
body: JSON.stringify(envelope),
|
|
79
|
+
credentials: this.options.credentials,
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
HttpClient.prototype.constructInputEnvelope = function (action) {
|
|
83
|
+
return {
|
|
84
|
+
action: StoreHelper.getAction(action),
|
|
85
|
+
localState: StoreHelper.getLocalState(action),
|
|
86
|
+
globalState: StoreHelper.getGlobalState(),
|
|
87
|
+
clientId: this.clientId,
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
HttpClient.prototype.constructPhraseEnvelope = function (phrase) {
|
|
91
|
+
return {
|
|
92
|
+
command: { phrase: phrase },
|
|
93
|
+
globalState: StoreHelper.getGlobalState(),
|
|
94
|
+
clientId: this.clientId,
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
HttpClient.prototype.constructFirstHitEnvelope = function () {
|
|
98
|
+
return {
|
|
99
|
+
command: { site: this.endpointUrl },
|
|
100
|
+
clientId: this.clientId,
|
|
101
|
+
globalState: {},
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
HttpClient.prototype.handleResponseData = function (envelope, action) {
|
|
105
|
+
StoreHelper.setGlobalState(envelope.globalState);
|
|
106
|
+
this.middlewareClient.handleEntries(envelope.entries, action);
|
|
107
|
+
};
|
|
108
|
+
HttpClient.prototype.handleUpdateResponseData = function (envelope, action) {
|
|
109
|
+
this.middlewareClient.handleUpdate(envelope.entries, action);
|
|
110
|
+
};
|
|
111
|
+
return HttpClient;
|
|
112
|
+
}());
|
|
113
|
+
export { HttpClient };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ServerEntry } from '../contract/model/http/server-entry.model';
|
|
2
|
-
export default class MiddlewareClient {
|
|
3
|
-
private paging;
|
|
4
|
-
private processor;
|
|
5
|
-
private entryInterface;
|
|
6
|
-
private chatClient;
|
|
7
|
-
constructor();
|
|
8
|
-
static initialize(container: any, widget: any): void;
|
|
9
|
-
handleEntries(entries: ServerEntry[], action?: string): void;
|
|
10
|
-
handleUpdate(entries: ServerEntry[], action?: string): void;
|
|
11
|
-
checkForUpdate(input: string): boolean;
|
|
12
|
-
private executeMiddlewares;
|
|
13
|
-
}
|
|
1
|
+
import { ServerEntry } from '../contract/model/http/server-entry.model';
|
|
2
|
+
export default class MiddlewareClient {
|
|
3
|
+
private paging;
|
|
4
|
+
private processor;
|
|
5
|
+
private entryInterface;
|
|
6
|
+
private chatClient;
|
|
7
|
+
constructor();
|
|
8
|
+
static initialize(container: any, widget: any): void;
|
|
9
|
+
handleEntries(entries: ServerEntry[], action?: string): void;
|
|
10
|
+
handleUpdate(entries: ServerEntry[], action?: string): void;
|
|
11
|
+
checkForUpdate(input: string): boolean;
|
|
12
|
+
private executeMiddlewares;
|
|
13
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { MiddlewareHelper } from '../helper/middleware.helper';
|
|
2
|
-
import { StoreHelper } from '../helper/store.helper';
|
|
3
|
-
import EntryInterface from '../interface/entry.interface';
|
|
4
|
-
import PagingInterface from '../interface/middleware/paging.interface';
|
|
5
|
-
import ProcessorInterface from '../interface/middleware/processor.interface';
|
|
6
|
-
import ChatClient from './chat.client';
|
|
7
|
-
var MiddlewareClient = /** @class */ (function () {
|
|
8
|
-
function MiddlewareClient() {
|
|
9
|
-
this.paging = new PagingInterface();
|
|
10
|
-
this.processor = new ProcessorInterface();
|
|
11
|
-
this.entryInterface = new EntryInterface();
|
|
12
|
-
this.chatClient = new ChatClient();
|
|
13
|
-
}
|
|
14
|
-
MiddlewareClient.initialize = function (container, widget) {
|
|
15
|
-
MiddlewareHelper.setContainer(container);
|
|
16
|
-
MiddlewareHelper.setWidget(widget);
|
|
17
|
-
};
|
|
18
|
-
// called on all standart scenarios like actions and user messages
|
|
19
|
-
MiddlewareClient.prototype.handleEntries = function (entries, action) {
|
|
20
|
-
var o = this.executeMiddlewares(entries, false, action);
|
|
21
|
-
var messageArray = this.entryInterface.transformArray(o);
|
|
22
|
-
this.chatClient.processMessageArrayAndStoreIt(messageArray);
|
|
23
|
-
};
|
|
24
|
-
// called on situations such as paging changes
|
|
25
|
-
// when no new entries will be printed
|
|
26
|
-
MiddlewareClient.prototype.handleUpdate = function (entries, action) {
|
|
27
|
-
var o = this.executeMiddlewares(entries, true, action);
|
|
28
|
-
var messageArray = this.entryInterface.transformArray(o);
|
|
29
|
-
this.chatClient.updateMessageArrayAndStoreIt(messageArray);
|
|
30
|
-
};
|
|
31
|
-
// checks whether the action was of an update type
|
|
32
|
-
MiddlewareClient.prototype.checkForUpdate = function (input) {
|
|
33
|
-
return input === 'next';
|
|
34
|
-
};
|
|
35
|
-
MiddlewareClient.prototype.executeMiddlewares = function (entries, isUpdate, action) {
|
|
36
|
-
if (isUpdate && action)
|
|
37
|
-
entries = this.processor.processUpdate(StoreHelper.getEntry(action), entries);
|
|
38
|
-
else {
|
|
39
|
-
entries = this.processor.process(entries);
|
|
40
|
-
}
|
|
41
|
-
entries = this.paging.process(entries);
|
|
42
|
-
return entries;
|
|
43
|
-
};
|
|
44
|
-
return MiddlewareClient;
|
|
45
|
-
}());
|
|
46
|
-
export default MiddlewareClient;
|
|
1
|
+
import { MiddlewareHelper } from '../helper/middleware.helper';
|
|
2
|
+
import { StoreHelper } from '../helper/store.helper';
|
|
3
|
+
import EntryInterface from '../interface/entry.interface';
|
|
4
|
+
import PagingInterface from '../interface/middleware/paging.interface';
|
|
5
|
+
import ProcessorInterface from '../interface/middleware/processor.interface';
|
|
6
|
+
import ChatClient from './chat.client';
|
|
7
|
+
var MiddlewareClient = /** @class */ (function () {
|
|
8
|
+
function MiddlewareClient() {
|
|
9
|
+
this.paging = new PagingInterface();
|
|
10
|
+
this.processor = new ProcessorInterface();
|
|
11
|
+
this.entryInterface = new EntryInterface();
|
|
12
|
+
this.chatClient = new ChatClient();
|
|
13
|
+
}
|
|
14
|
+
MiddlewareClient.initialize = function (container, widget) {
|
|
15
|
+
MiddlewareHelper.setContainer(container);
|
|
16
|
+
MiddlewareHelper.setWidget(widget);
|
|
17
|
+
};
|
|
18
|
+
// called on all standart scenarios like actions and user messages
|
|
19
|
+
MiddlewareClient.prototype.handleEntries = function (entries, action) {
|
|
20
|
+
var o = this.executeMiddlewares(entries, false, action);
|
|
21
|
+
var messageArray = this.entryInterface.transformArray(o);
|
|
22
|
+
this.chatClient.processMessageArrayAndStoreIt(messageArray);
|
|
23
|
+
};
|
|
24
|
+
// called on situations such as paging changes
|
|
25
|
+
// when no new entries will be printed
|
|
26
|
+
MiddlewareClient.prototype.handleUpdate = function (entries, action) {
|
|
27
|
+
var o = this.executeMiddlewares(entries, true, action);
|
|
28
|
+
var messageArray = this.entryInterface.transformArray(o);
|
|
29
|
+
this.chatClient.updateMessageArrayAndStoreIt(messageArray);
|
|
30
|
+
};
|
|
31
|
+
// checks whether the action was of an update type
|
|
32
|
+
MiddlewareClient.prototype.checkForUpdate = function (input) {
|
|
33
|
+
return input === 'next';
|
|
34
|
+
};
|
|
35
|
+
MiddlewareClient.prototype.executeMiddlewares = function (entries, isUpdate, action) {
|
|
36
|
+
if (isUpdate && action)
|
|
37
|
+
entries = this.processor.processUpdate(StoreHelper.getEntry(action), entries);
|
|
38
|
+
else {
|
|
39
|
+
entries = this.processor.process(entries);
|
|
40
|
+
}
|
|
41
|
+
entries = this.paging.process(entries);
|
|
42
|
+
return entries;
|
|
43
|
+
};
|
|
44
|
+
return MiddlewareClient;
|
|
45
|
+
}());
|
|
46
|
+
export default MiddlewareClient;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface PropsType {
|
|
3
|
-
contactMethod: any;
|
|
4
|
-
type: any;
|
|
5
|
-
className?: any;
|
|
6
|
-
}
|
|
7
|
-
declare const ContactMethodItem: React.FC<PropsType>;
|
|
8
|
-
export default ContactMethodItem;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface PropsType {
|
|
3
|
+
contactMethod: any;
|
|
4
|
+
type: any;
|
|
5
|
+
className?: any;
|
|
6
|
+
}
|
|
7
|
+
declare const ContactMethodItem: React.FC<PropsType>;
|
|
8
|
+
export default ContactMethodItem;
|
|
@@ -1,51 +1,51 @@
|
|
|
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 __read = (this && this.__read) || function (o, n) {
|
|
13
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
-
if (!m) return o;
|
|
15
|
-
var i = m.call(o), r, ar = [], e;
|
|
16
|
-
try {
|
|
17
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
-
}
|
|
19
|
-
catch (error) { e = { error: error }; }
|
|
20
|
-
finally {
|
|
21
|
-
try {
|
|
22
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
-
}
|
|
24
|
-
finally { if (e) throw e.error; }
|
|
25
|
-
}
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
import { ContactMethod as GenericContactMethod } from '@
|
|
29
|
-
import { useContainer, useDispatch } from '@
|
|
30
|
-
import React, { useEffect, useState } from 'react';
|
|
31
|
-
var ContactMethodItem = function (props) {
|
|
32
|
-
var dispatch = useDispatch();
|
|
33
|
-
var container = useContainer();
|
|
34
|
-
var _a = __read(useState(props.contactMethod.body), 2), body = _a[0], setBody = _a[1];
|
|
35
|
-
useEffect(function () {
|
|
36
|
-
var events = container.get('$widget').events;
|
|
37
|
-
events.subscribe('form:validated', function (_event, _data) {
|
|
38
|
-
// TODO: this is a due to props not being updated when props.contactMethod.body changes
|
|
39
|
-
// perhaps there is a cleaner way of doing this
|
|
40
|
-
setBody(props.contactMethod.body);
|
|
41
|
-
});
|
|
42
|
-
}, [container]);
|
|
43
|
-
return (React.createElement(GenericContactMethod, __assign({ className: props.className, onClick: function () {
|
|
44
|
-
dispatch('action',
|
|
45
|
-
// dispatch(
|
|
46
|
-
// "expand",
|
|
47
|
-
// `${props.contactMethod.id}/${props.type.toString()}`
|
|
48
|
-
// );
|
|
49
|
-
}, dispatch: dispatch }, props.contactMethod, { body: body, expanded: props.contactMethod.expanded })));
|
|
50
|
-
};
|
|
51
|
-
export default ContactMethodItem;
|
|
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 __read = (this && this.__read) || function (o, n) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
+
if (!m) return o;
|
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
|
16
|
+
try {
|
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
+
}
|
|
19
|
+
catch (error) { e = { error: error }; }
|
|
20
|
+
finally {
|
|
21
|
+
try {
|
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
+
}
|
|
24
|
+
finally { if (e) throw e.error; }
|
|
25
|
+
}
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
import { ContactMethod as GenericContactMethod } from '@humany/widget-adapters';
|
|
29
|
+
import { useContainer, useDispatch } from '@humany/widget-ui';
|
|
30
|
+
import React, { useEffect, useState } from 'react';
|
|
31
|
+
var ContactMethodItem = function (props) {
|
|
32
|
+
var dispatch = useDispatch();
|
|
33
|
+
var container = useContainer();
|
|
34
|
+
var _a = __read(useState(props.contactMethod.body), 2), body = _a[0], setBody = _a[1];
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
var events = container.get('$widget').events;
|
|
37
|
+
events.subscribe('form:validated', function (_event, _data) {
|
|
38
|
+
// TODO: this is a due to props not being updated when props.contactMethod.body changes
|
|
39
|
+
// perhaps there is a cleaner way of doing this
|
|
40
|
+
setBody(props.contactMethod.body);
|
|
41
|
+
});
|
|
42
|
+
}, [container]);
|
|
43
|
+
return (React.createElement(GenericContactMethod, __assign({ className: props.className, onClick: function () {
|
|
44
|
+
dispatch('action', props.contactMethod.id + "/" + props.type.toString() + "/" + props.contactMethod.title);
|
|
45
|
+
// dispatch(
|
|
46
|
+
// "expand",
|
|
47
|
+
// `${props.contactMethod.id}/${props.type.toString()}`
|
|
48
|
+
// );
|
|
49
|
+
}, dispatch: dispatch }, props.contactMethod, { body: body, expanded: props.contactMethod.expanded })));
|
|
50
|
+
};
|
|
51
|
+
export default ContactMethodItem;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface PropsType {
|
|
3
|
-
contactMethodList: any;
|
|
4
|
-
type: any;
|
|
5
|
-
}
|
|
6
|
-
declare const ContactMethodList: React.FC<PropsType>;
|
|
7
|
-
export default ContactMethodList;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface PropsType {
|
|
3
|
+
contactMethodList: any;
|
|
4
|
+
type: any;
|
|
5
|
+
}
|
|
6
|
+
declare const ContactMethodList: React.FC<PropsType>;
|
|
7
|
+
export default ContactMethodList;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
-
return cooked;
|
|
4
|
-
};
|
|
5
|
-
import React, { Fragment } from 'react';
|
|
6
|
-
import styled from 'styled-components';
|
|
7
|
-
import ContactMethodItem from './contact-method-item';
|
|
8
|
-
var ContactMethodList = function (props) {
|
|
9
|
-
return (React.createElement(Fragment, null, props.contactMethodList.map(function (contactMethod) { return (React.createElement(StyledContactMethod, { key: contactMethod.id, type: props.type, contactMethod: contactMethod })); })));
|
|
10
|
-
};
|
|
11
|
-
var StyledContactMethod = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"], ["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
12
|
-
export default ContactMethodList;
|
|
13
|
-
var templateObject_1;
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import React, { Fragment } from 'react';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import ContactMethodItem from './contact-method-item';
|
|
8
|
+
var ContactMethodList = function (props) {
|
|
9
|
+
return (React.createElement(Fragment, null, props.contactMethodList.map(function (contactMethod) { return (React.createElement(StyledContactMethod, { key: contactMethod.id, type: props.type, contactMethod: contactMethod })); })));
|
|
10
|
+
};
|
|
11
|
+
var StyledContactMethod = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"], ["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
12
|
+
export default ContactMethodList;
|
|
13
|
+
var templateObject_1;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
declare const ContactMethod: React.FC;
|
|
3
|
-
export default ContactMethod;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const ContactMethod: React.FC;
|
|
3
|
+
export default ContactMethod;
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
-
return cooked;
|
|
4
|
-
};
|
|
5
|
-
import { DataType } from '@
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import styled from 'styled-components';
|
|
8
|
-
import ContactMethodItem from './contact-method-item';
|
|
9
|
-
import ContactMethodList from './contact-method-list';
|
|
10
|
-
var ContactMethod = function (props) {
|
|
11
|
-
var _a, _b;
|
|
12
|
-
var type;
|
|
13
|
-
var methodList;
|
|
14
|
-
if (props.contactMethods && ((_a = props.contactMethods.contactMethods) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
15
|
-
type = DataType.ContactMethods;
|
|
16
|
-
methodList = props.contactMethods.contactMethods;
|
|
17
|
-
}
|
|
18
|
-
else if (props.contactMethods.categories && ((_b = props.contactMethods.categories) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
19
|
-
type = DataType.ContactMethodCategories;
|
|
20
|
-
methodList = props.contactMethods.categories.filter(function (o) { return o.matches > 0; });
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
type = DataType.ContactMethod;
|
|
24
|
-
methodList = props.contactMethods;
|
|
25
|
-
}
|
|
26
|
-
if (!methodList.length) {
|
|
27
|
-
return React.createElement(StyledContactMethodItem, { type: type, contactMethod: methodList });
|
|
28
|
-
}
|
|
29
|
-
return React.createElement(ContactMethodList, { type: type, contactMethodList: methodList });
|
|
30
|
-
};
|
|
31
|
-
var StyledContactMethodItem = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: ", ";\n"], ["\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
32
|
-
export default ContactMethod;
|
|
33
|
-
var templateObject_1;
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import { DataType } from '@humany/widget-types-grid';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import ContactMethodItem from './contact-method-item';
|
|
9
|
+
import ContactMethodList from './contact-method-list';
|
|
10
|
+
var ContactMethod = function (props) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
var type;
|
|
13
|
+
var methodList;
|
|
14
|
+
if (props.contactMethods && ((_a = props.contactMethods.contactMethods) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
15
|
+
type = DataType.ContactMethods;
|
|
16
|
+
methodList = props.contactMethods.contactMethods;
|
|
17
|
+
}
|
|
18
|
+
else if (props.contactMethods.categories && ((_b = props.contactMethods.categories) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
19
|
+
type = DataType.ContactMethodCategories;
|
|
20
|
+
methodList = props.contactMethods.categories.filter(function (o) { return o.matches > 0; });
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
type = DataType.ContactMethod;
|
|
24
|
+
methodList = props.contactMethods;
|
|
25
|
+
}
|
|
26
|
+
if (!methodList.length) {
|
|
27
|
+
return React.createElement(StyledContactMethodItem, { type: type, contactMethod: methodList });
|
|
28
|
+
}
|
|
29
|
+
return React.createElement(ContactMethodList, { type: type, contactMethodList: methodList });
|
|
30
|
+
};
|
|
31
|
+
var StyledContactMethodItem = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: ", ";\n"], ["\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
32
|
+
export default ContactMethod;
|
|
33
|
+
var templateObject_1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare enum ServerEntryTypeEnum {
|
|
2
|
-
Widget = 0,
|
|
3
|
-
Text = 1,
|
|
4
|
-
List = 2,
|
|
5
|
-
Error = 3
|
|
6
|
-
}
|
|
1
|
+
export declare enum ServerEntryTypeEnum {
|
|
2
|
+
Widget = 0,
|
|
3
|
+
Text = 1,
|
|
4
|
+
List = 2,
|
|
5
|
+
Error = 3
|
|
6
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export var ServerEntryTypeEnum;
|
|
2
|
-
(function (ServerEntryTypeEnum) {
|
|
3
|
-
ServerEntryTypeEnum[ServerEntryTypeEnum["Widget"] = 0] = "Widget";
|
|
4
|
-
ServerEntryTypeEnum[ServerEntryTypeEnum["Text"] = 1] = "Text";
|
|
5
|
-
ServerEntryTypeEnum[ServerEntryTypeEnum["List"] = 2] = "List";
|
|
6
|
-
ServerEntryTypeEnum[ServerEntryTypeEnum["Error"] = 3] = "Error";
|
|
7
|
-
})(ServerEntryTypeEnum || (ServerEntryTypeEnum = {}));
|
|
1
|
+
export var ServerEntryTypeEnum;
|
|
2
|
+
(function (ServerEntryTypeEnum) {
|
|
3
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Widget"] = 0] = "Widget";
|
|
4
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Text"] = 1] = "Text";
|
|
5
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["List"] = 2] = "List";
|
|
6
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Error"] = 3] = "Error";
|
|
7
|
+
})(ServerEntryTypeEnum || (ServerEntryTypeEnum = {}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface List {
|
|
2
|
-
title?: string;
|
|
3
|
-
body?: string;
|
|
4
|
-
items: object;
|
|
5
|
-
}
|
|
1
|
+
export interface List {
|
|
2
|
+
title?: string;
|
|
3
|
+
body?: string;
|
|
4
|
+
items: object;
|
|
5
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|