@miso.ai/client-sdk-ui 1.11.6-beta.0 → 1.11.6-beta.1
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/dist/cjs/actor/data.js +5 -7
- package/dist/cjs/actor/feedback.js +1 -2
- package/dist/cjs/actor/filters.js +20 -21
- package/dist/cjs/actor/hub.js +34 -8
- package/dist/cjs/actor/index.js +1 -2
- package/dist/cjs/actor/interactions.js +5 -7
- package/dist/cjs/actor/sessions.js +1 -2
- package/dist/cjs/actor/tracker.js +9 -12
- package/dist/cjs/actor/view.js +11 -20
- package/dist/cjs/actor/views.js +16 -21
- package/dist/cjs/affiliation/index.js +1 -2
- package/dist/cjs/combo/ask/elements.js +3 -4
- package/dist/cjs/combo/ask/index.js +1 -2
- package/dist/cjs/combo/ask/options.js +2 -6
- package/dist/cjs/defaults/ask/controls.js +1 -2
- package/dist/cjs/defaults/ask/index.js +1 -2
- package/dist/cjs/defaults/ask/templates.js +3 -6
- package/dist/cjs/defaults/common/templates.js +30 -41
- package/dist/cjs/defaults/hybrid-search/answer-box.js +9 -11
- package/dist/cjs/defaults/hybrid-search/controls.js +1 -2
- package/dist/cjs/defaults/hybrid-search/index.js +1 -2
- package/dist/cjs/defaults/hybrid-search/templates.js +2 -4
- package/dist/cjs/defaults/index.js +1 -2
- package/dist/cjs/element/container/miso-explore.js +7 -7
- package/dist/cjs/element/container/miso-hybrid-search.js +3 -3
- package/dist/cjs/element/container/miso-recommendation.js +3 -38
- package/dist/cjs/element/container/miso-search.js +3 -3
- package/dist/cjs/element/container/miso-unit.js +52 -0
- package/dist/cjs/element/index.js +1 -2
- package/dist/cjs/element/role/miso-component.js +3 -4
- package/dist/cjs/element/utils.js +6 -9
- package/dist/cjs/layout/affiliation/affiliation.js +4 -6
- package/dist/cjs/layout/banner/banner.js +1 -2
- package/dist/cjs/layout/button/more-button.js +1 -2
- package/dist/cjs/layout/container/container.js +7 -12
- package/dist/cjs/layout/error/error.js +1 -2
- package/dist/cjs/layout/input/facets.js +28 -41
- package/dist/cjs/layout/input/option-list.js +1 -2
- package/dist/cjs/layout/input/search-box.js +30 -39
- package/dist/cjs/layout/input/select.js +1 -2
- package/dist/cjs/layout/list/cards.js +1 -2
- package/dist/cjs/layout/list/carousel.js +1 -2
- package/dist/cjs/layout/list/collection.js +12 -16
- package/dist/cjs/layout/list/gallery.js +18 -26
- package/dist/cjs/layout/list/list.js +1 -2
- package/dist/cjs/layout/mixin/swipeable.js +3 -4
- package/dist/cjs/layout/mixin/trackable.js +3 -6
- package/dist/cjs/layout/progressive.js +1 -2
- package/dist/cjs/layout/radio/feedback.js +6 -8
- package/dist/cjs/layout/radio/radio.js +5 -6
- package/dist/cjs/layout/raf.js +6 -10
- package/dist/cjs/layout/template.js +7 -10
- package/dist/cjs/layout/templates.js +51 -71
- package/dist/cjs/layout/text/text.js +6 -8
- package/dist/cjs/layout/text/typewriter/index.js +14 -18
- package/dist/cjs/layout/text/typewriter/plaintext.js +8 -10
- package/dist/cjs/layout/text/typewriter/utils.js +12 -15
- package/dist/cjs/plugin.js +13 -3
- package/dist/cjs/source.js +6 -7
- package/dist/cjs/util/dom.js +1 -2
- package/dist/cjs/util/proxy.js +3 -4
- package/dist/cjs/util/trackers.js +1 -3
- package/dist/cjs/util/viewables.js +1 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/answer-based.js +17 -24
- package/dist/cjs/workflow/ask.js +1 -2
- package/dist/cjs/workflow/asks.js +4 -6
- package/dist/cjs/workflow/autocomplete.js +3 -4
- package/dist/cjs/workflow/base.js +56 -54
- package/dist/cjs/workflow/explore.js +18 -22
- package/dist/cjs/workflow/explores.js +18 -0
- package/dist/cjs/workflow/hybrid-search-answer.js +4 -3
- package/dist/cjs/workflow/index.js +3 -3
- package/dist/cjs/workflow/options/api.js +2 -6
- package/dist/cjs/workflow/options/auto-query.js +2 -4
- package/dist/cjs/workflow/options/configurable.js +2 -6
- package/dist/cjs/workflow/options/data-processor.js +1 -4
- package/dist/cjs/workflow/options/filters.js +1 -4
- package/dist/cjs/workflow/options/interactions.js +1 -4
- package/dist/cjs/workflow/options/layouts.js +2 -6
- package/dist/cjs/workflow/options/options.js +5 -8
- package/dist/cjs/workflow/options/pagination.js +1 -4
- package/dist/cjs/workflow/options/roles.js +1 -3
- package/dist/cjs/workflow/options/trackers.js +6 -16
- package/dist/cjs/workflow/processors.js +16 -22
- package/dist/cjs/workflow/recommendation.js +9 -52
- package/dist/cjs/workflow/recommendations.js +3 -23
- package/dist/cjs/workflow/search-based.js +12 -8
- package/dist/cjs/workflow/search.js +1 -5
- package/dist/cjs/workflow/unit.js +58 -0
- package/dist/cjs/workflow/units.js +37 -0
- package/dist/cjs/workflow/use-link.js +3 -6
- package/package.json +2 -2
- package/src/actor/filters.js +4 -2
- package/src/actor/hub.js +26 -5
- package/src/element/container/miso-explore.js +8 -8
- package/src/element/container/miso-hybrid-search.js +4 -4
- package/src/element/container/miso-recommendation.js +3 -45
- package/src/element/container/miso-search.js +4 -4
- package/src/element/container/miso-unit.js +55 -0
- package/src/layout/radio/radio.js +1 -0
- package/src/layout/templates.js +3 -2
- package/src/plugin.js +15 -2
- package/src/version.js +1 -1
- package/src/workflow/autocomplete.js +1 -0
- package/src/workflow/base.js +33 -23
- package/src/workflow/explore.js +13 -12
- package/src/workflow/explores.js +14 -0
- package/src/workflow/hybrid-search-answer.js +1 -1
- package/src/workflow/index.js +1 -1
- package/src/workflow/processors.js +2 -2
- package/src/workflow/recommendation.js +9 -47
- package/src/workflow/recommendations.js +3 -23
- package/src/workflow/search-based.js +4 -0
- package/src/workflow/unit.js +52 -0
- package/src/workflow/units.js +37 -0
|
@@ -12,16 +12,14 @@ class PlaintextRenderer {
|
|
|
12
12
|
done: false
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
update(element,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
done: dataDone
|
|
24
|
-
} = _ref2;
|
|
15
|
+
update(element, {
|
|
16
|
+
value: prevValue,
|
|
17
|
+
cursor: prevCursor
|
|
18
|
+
}, {
|
|
19
|
+
value,
|
|
20
|
+
cursor,
|
|
21
|
+
done: dataDone
|
|
22
|
+
}) {
|
|
25
23
|
const length = value.length;
|
|
26
24
|
cursor = Math.min(cursor, length);
|
|
27
25
|
const viewDone = !!dataDone && cursor === length;
|
|
@@ -8,10 +8,9 @@ exports.cursorClassName = cursorClassName;
|
|
|
8
8
|
exports.fromSameSession = fromSameSession;
|
|
9
9
|
exports.normalizeOnDebug = normalizeOnDebug;
|
|
10
10
|
var _constants = require("../../../constants.js");
|
|
11
|
-
function containerElement(layout, element,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
11
|
+
function containerElement(layout, element, {
|
|
12
|
+
status
|
|
13
|
+
}) {
|
|
15
14
|
if (!element) {
|
|
16
15
|
return undefined;
|
|
17
16
|
}
|
|
@@ -60,17 +59,15 @@ function normalizeOnDebug(fn) {
|
|
|
60
59
|
}
|
|
61
60
|
throw new Error('onDebug must be a function or a boolean');
|
|
62
61
|
}
|
|
63
|
-
function defaultOnDebug() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
conflict
|
|
73
|
-
} = _ref2;
|
|
62
|
+
function defaultOnDebug(start = performance.now()) {
|
|
63
|
+
return function ({
|
|
64
|
+
summary,
|
|
65
|
+
timestamp,
|
|
66
|
+
elapsed,
|
|
67
|
+
ref,
|
|
68
|
+
operation,
|
|
69
|
+
conflict
|
|
70
|
+
}) {
|
|
74
71
|
MisoClient.debug('<progressive-markdown>', `[${formatTimeInSeconds(timestamp - start)}](${formatTimeInMilliseconds(elapsed[0])}, ${formatTimeInMilliseconds(elapsed[1])})`, summary, `${operation}`, ref, conflict);
|
|
75
72
|
};
|
|
76
73
|
}
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -16,8 +16,7 @@ var _styles = require("./styles.js");
|
|
|
16
16
|
var _misoContainer = _interopRequireDefault(require("./element/container/miso-container.js"));
|
|
17
17
|
var _misoCombo = _interopRequireDefault(require("./element/combo/miso-combo.js"));
|
|
18
18
|
const _excluded = ["containers", "roles", "combos"];
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
21
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
23
22
|
const PLUGIN_ID = 'std:ui';
|
|
@@ -29,6 +28,7 @@ class UiPlugin extends _commons.Component {
|
|
|
29
28
|
super('ui');
|
|
30
29
|
this.layouts = new _layouts.default(this);
|
|
31
30
|
this._recommendations = new WeakMap();
|
|
31
|
+
this._explores = new WeakMap();
|
|
32
32
|
this._asks = new WeakMap();
|
|
33
33
|
this._extensions = new WeakMap();
|
|
34
34
|
this._ready = new _commons.Resolution();
|
|
@@ -115,6 +115,13 @@ class UiPlugin extends _commons.Component {
|
|
|
115
115
|
}
|
|
116
116
|
return recommendations;
|
|
117
117
|
}
|
|
118
|
+
_getExplores(client) {
|
|
119
|
+
let explores = this._explores.get(client);
|
|
120
|
+
if (!explores) {
|
|
121
|
+
this._explores.set(client, explores = new _index.Explores(this, client));
|
|
122
|
+
}
|
|
123
|
+
return explores;
|
|
124
|
+
}
|
|
118
125
|
_getAsks(client) {
|
|
119
126
|
let asks = this._asks.get(client);
|
|
120
127
|
if (!asks) {
|
|
@@ -167,8 +174,11 @@ class Ui {
|
|
|
167
174
|
get hybridSearch() {
|
|
168
175
|
return this._hybridSearch || (this._hybridSearch = new _index.HybridSearch(this._plugin, this._client));
|
|
169
176
|
}
|
|
177
|
+
get explores() {
|
|
178
|
+
return this._explores || (this._explores = this._plugin._getExplores(this._client));
|
|
179
|
+
}
|
|
170
180
|
get explore() {
|
|
171
|
-
return this.
|
|
181
|
+
return this.explores.get(); // get default explore unit
|
|
172
182
|
}
|
|
173
183
|
get ready() {
|
|
174
184
|
return this._plugin._ready.promise;
|
package/dist/cjs/source.js
CHANGED
|
@@ -7,13 +7,12 @@ exports.api = api;
|
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
8
|
function api(client) {
|
|
9
9
|
// TODO: send uuid & unit id
|
|
10
|
-
return async
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
10
|
+
return async ({
|
|
11
|
+
group,
|
|
12
|
+
name,
|
|
13
|
+
payload,
|
|
14
|
+
options
|
|
15
|
+
}) => {
|
|
17
16
|
if (group === _commons.API.GROUP.ASK) {
|
|
18
17
|
switch (name) {
|
|
19
18
|
case _commons.API.NAME.QUESTIONS:
|
package/dist/cjs/util/dom.js
CHANGED
|
@@ -45,8 +45,7 @@ function parseLength(str) {
|
|
|
45
45
|
const unit = match[2] || '';
|
|
46
46
|
return [value, unit];
|
|
47
47
|
}
|
|
48
|
-
function remToPx() {
|
|
49
|
-
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
48
|
+
function remToPx(value = 1) {
|
|
50
49
|
return value * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
51
50
|
}
|
|
52
51
|
function cssAspectRatio(value) {
|
package/dist/cjs/util/proxy.js
CHANGED
|
@@ -42,10 +42,9 @@ class ProxyElement {
|
|
|
42
42
|
(0, _commons.removeItem)(this._elementUpdatedHandlers, handler);
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
sync(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
45
|
+
sync({
|
|
46
|
+
silent = false
|
|
47
|
+
} = {}) {
|
|
49
48
|
const element = this._get();
|
|
50
49
|
if (this._element === element) {
|
|
51
50
|
return;
|
|
@@ -56,9 +56,7 @@ function normalizeTrackerOptions(options) {
|
|
|
56
56
|
click: mergeOptions(DEFAULT_TRACKER_OPTIONS.click, click)
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
|
-
function validateClick() {
|
|
60
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
61
|
-
let event = arguments.length > 1 ? arguments[1] : undefined;
|
|
59
|
+
function validateClick(options = {}, event) {
|
|
62
60
|
if (!options) {
|
|
63
61
|
return false;
|
|
64
62
|
}
|
|
@@ -12,8 +12,7 @@ class Viewables {
|
|
|
12
12
|
isTracked(element) {
|
|
13
13
|
return this._entries.has(element);
|
|
14
14
|
}
|
|
15
|
-
async track(element) {
|
|
16
|
-
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
15
|
+
async track(element, options = {}) {
|
|
17
16
|
if (!options) {
|
|
18
17
|
return false;
|
|
19
18
|
}
|
package/dist/cjs/version.js
CHANGED
|
@@ -151,8 +151,7 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
// query //
|
|
154
|
-
autoQuery() {
|
|
155
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
154
|
+
autoQuery(options = {}) {
|
|
156
155
|
_index4.autoQuery.call(this, options);
|
|
157
156
|
}
|
|
158
157
|
query(args) {
|
|
@@ -162,8 +161,7 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
162
161
|
}
|
|
163
162
|
this._hub.update(_index.fields.query(), args);
|
|
164
163
|
}
|
|
165
|
-
_query() {
|
|
166
|
-
let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
164
|
+
_query(args = {}) {
|
|
167
165
|
if (this._linkFn) {
|
|
168
166
|
this._submitToPage(args);
|
|
169
167
|
return;
|
|
@@ -217,17 +215,15 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
217
215
|
data = (0, _processors.writeAnswerStageToMeta)(data);
|
|
218
216
|
return data;
|
|
219
217
|
}
|
|
220
|
-
_writeQuestionIdFromData(
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
} = _ref;
|
|
218
|
+
_writeQuestionIdFromData({
|
|
219
|
+
value
|
|
220
|
+
}) {
|
|
224
221
|
value && this._writeQuestionId(value.question_id);
|
|
225
222
|
}
|
|
226
|
-
_updateUrlIfNecessary(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref2;
|
|
223
|
+
_updateUrlIfNecessary({
|
|
224
|
+
value,
|
|
225
|
+
request
|
|
226
|
+
}) {
|
|
231
227
|
if (!this._autoQuery || !this._autoQuery.updateUrl) {
|
|
232
228
|
return;
|
|
233
229
|
}
|
|
@@ -263,9 +259,7 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
263
259
|
payload = (0, _processors.writeEventTargetToInteraction)(payload, args);
|
|
264
260
|
return payload;
|
|
265
261
|
}
|
|
266
|
-
_writeAskPropertiesToInteraction() {
|
|
267
|
-
let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
268
|
-
let args = arguments.length > 1 ? arguments[1] : undefined;
|
|
262
|
+
_writeAskPropertiesToInteraction(payload = {}, args) {
|
|
269
263
|
const question_source = this._getQuestionSourceFromViewState(args);
|
|
270
264
|
const question_id = this.questionId;
|
|
271
265
|
return (0, _processors.mergeInteraction)(payload, {
|
|
@@ -306,11 +300,10 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
306
300
|
}
|
|
307
301
|
|
|
308
302
|
// handlers //
|
|
309
|
-
_onCitationClick(
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
} = _ref3;
|
|
303
|
+
_onCitationClick({
|
|
304
|
+
index,
|
|
305
|
+
event
|
|
306
|
+
}) {
|
|
314
307
|
if ((0, _trackers.isTracked)(event)) {
|
|
315
308
|
return;
|
|
316
309
|
}
|
|
@@ -333,11 +326,11 @@ class AnswerBasedWorkflow extends _base.default {
|
|
|
333
326
|
event_target: 'citation-link'
|
|
334
327
|
});
|
|
335
328
|
}
|
|
336
|
-
_onAnswerLinkClick(
|
|
329
|
+
_onAnswerLinkClick(_ref) {
|
|
337
330
|
let {
|
|
338
331
|
event
|
|
339
|
-
} =
|
|
340
|
-
item = _objectWithoutPropertiesLoose(
|
|
332
|
+
} = _ref,
|
|
333
|
+
item = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
341
334
|
if ((0, _trackers.isTracked)(event)) {
|
|
342
335
|
return;
|
|
343
336
|
}
|
package/dist/cjs/workflow/ask.js
CHANGED
|
@@ -28,10 +28,9 @@ class Asks extends _context.default {
|
|
|
28
28
|
}
|
|
29
29
|
return this._byQid.get(questionId);
|
|
30
30
|
}
|
|
31
|
-
getByParentQuestionId(parentQuestionId
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
31
|
+
getByParentQuestionId(parentQuestionId, {
|
|
32
|
+
autoCreate = false
|
|
33
|
+
} = {}) {
|
|
35
34
|
if (parentQuestionId === undefined) {
|
|
36
35
|
return this._root;
|
|
37
36
|
}
|
|
@@ -44,8 +43,7 @@ class Asks extends _context.default {
|
|
|
44
43
|
}
|
|
45
44
|
return workflow;
|
|
46
45
|
}
|
|
47
|
-
reset() {
|
|
48
|
-
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
46
|
+
reset(_ref = {}) {
|
|
49
47
|
let {
|
|
50
48
|
root = true,
|
|
51
49
|
events
|
|
@@ -14,8 +14,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
14
14
|
const ROLES_OPTIONS = Object.freeze({
|
|
15
15
|
members: []
|
|
16
16
|
});
|
|
17
|
-
function shimDefaults() {
|
|
18
|
-
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
+
function shimDefaults(_ref = {}) {
|
|
19
18
|
let options = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
20
19
|
return Object.assign({
|
|
21
20
|
active: false
|
|
@@ -31,8 +30,7 @@ function getInputValue(args) {
|
|
|
31
30
|
return args && args.value && args.value.trim() || undefined;
|
|
32
31
|
}
|
|
33
32
|
class Autocomplete extends _base.default {
|
|
34
|
-
constructor(superworkflow) {
|
|
35
|
-
let _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
33
|
+
constructor(superworkflow, _ref2 = {}) {
|
|
36
34
|
let {
|
|
37
35
|
defaults
|
|
38
36
|
} = _ref2,
|
|
@@ -116,6 +114,7 @@ class Autocomplete extends _base.default {
|
|
|
116
114
|
this._updateCompletions(data);
|
|
117
115
|
}
|
|
118
116
|
_updateCompletions(data) {
|
|
117
|
+
// TODO: session is different
|
|
119
118
|
this._superworkflow.updateCompletions(data);
|
|
120
119
|
}
|
|
121
120
|
}
|
|
@@ -11,31 +11,7 @@ var _constants = require("../constants.js");
|
|
|
11
11
|
var _index2 = require("../layout/index.js");
|
|
12
12
|
var _index3 = require("./options/index.js");
|
|
13
13
|
var _processors = require("./processors.js");
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
-
// TODO: just bury this into hub
|
|
17
|
-
function injectLogger(hub, callback) {
|
|
18
|
-
const {
|
|
19
|
-
update,
|
|
20
|
-
trigger
|
|
21
|
-
} = hub;
|
|
22
|
-
hub.update = (name, state, options) => {
|
|
23
|
-
const result = update.call(hub, name, state, options);
|
|
24
|
-
if (!options || !options.silent) {
|
|
25
|
-
callback('update', name, state, options);
|
|
26
|
-
}
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
hub.trigger = function () {
|
|
30
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
31
|
-
args[_key] = arguments[_key];
|
|
32
|
-
}
|
|
33
|
-
const result = trigger.apply(hub, args);
|
|
34
|
-
callback('trigger', ...args);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
return hub;
|
|
38
|
-
}
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
39
15
|
const DEFAULT_API_OPTIONS = Object.freeze({});
|
|
40
16
|
const DEFAULT_LAYOUTS = Object.freeze({
|
|
41
17
|
[_constants.ROLE.CONTAINER]: _index2.ContainerLayout.type,
|
|
@@ -54,9 +30,7 @@ const ROLES_OPTIONS = Object.freeze({
|
|
|
54
30
|
});
|
|
55
31
|
class Workflow extends _commons.Component {
|
|
56
32
|
constructor(args) {
|
|
57
|
-
var _this;
|
|
58
33
|
super(args.name || 'workflow', args.plugin);
|
|
59
|
-
_this = this;
|
|
60
34
|
let {
|
|
61
35
|
context,
|
|
62
36
|
plugin,
|
|
@@ -76,21 +50,22 @@ class Workflow extends _commons.Component {
|
|
|
76
50
|
this._extensions = plugin._getExtensions(client);
|
|
77
51
|
this._defaults = defaults;
|
|
78
52
|
this._options = options || new _index3.WorkflowOptions(context && context._options, defaults);
|
|
79
|
-
this._hub =
|
|
80
|
-
|
|
53
|
+
this._hub = new _index.Hub({
|
|
54
|
+
onUpdate: event => this._onHubUpdate(event),
|
|
55
|
+
onEmit: event => this._onHubEmit(event)
|
|
81
56
|
});
|
|
82
57
|
this._sessionContext = new WeakMap();
|
|
58
|
+
client._events.emit('workflow', this);
|
|
83
59
|
this._initProperties(args);
|
|
84
60
|
this._initActors(args);
|
|
85
61
|
this._initSubscriptions(args);
|
|
86
62
|
this._initSession(args);
|
|
87
63
|
}
|
|
88
64
|
_initProperties() {}
|
|
89
|
-
_initActors(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} = _ref;
|
|
65
|
+
_initActors({
|
|
66
|
+
name,
|
|
67
|
+
roles
|
|
68
|
+
}) {
|
|
94
69
|
const hub = this._hub;
|
|
95
70
|
const client = this._client;
|
|
96
71
|
const options = this._options;
|
|
@@ -113,10 +88,9 @@ class Workflow extends _commons.Component {
|
|
|
113
88
|
options
|
|
114
89
|
});
|
|
115
90
|
}
|
|
116
|
-
_initSubscriptions(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
} = _ref2;
|
|
91
|
+
_initSubscriptions({
|
|
92
|
+
roles
|
|
93
|
+
}) {
|
|
120
94
|
this._unsubscribes = [this._hub.on(_index.fields.response(), data => this.updateData(data)), this._hub.on(_index.fields.tracker(), args => this._onTracker(args))];
|
|
121
95
|
if (roles.main) {
|
|
122
96
|
this._unsubscribes.push(this._hub.on(_index.fields.view(roles.main), state => this._onMainViewUpdate(state)));
|
|
@@ -133,8 +107,30 @@ class Workflow extends _commons.Component {
|
|
|
133
107
|
return context;
|
|
134
108
|
}
|
|
135
109
|
|
|
110
|
+
// hub //
|
|
111
|
+
_onHubUpdate(event) {
|
|
112
|
+
this._runCallbacks(this._client.meta.parent._hubUpdateCallbacks, event);
|
|
113
|
+
}
|
|
114
|
+
_onHubEmit(event) {
|
|
115
|
+
this._runCallbacks(this._client.meta.parent._hubEmitCallbacks, event);
|
|
116
|
+
this._emitAsWorkflowEvent(event);
|
|
117
|
+
}
|
|
118
|
+
_emitAsWorkflowEvent({
|
|
119
|
+
action: _action,
|
|
120
|
+
name,
|
|
121
|
+
state,
|
|
122
|
+
silent
|
|
123
|
+
}) {
|
|
124
|
+
if (!silent) {
|
|
125
|
+
this._emit(name, Object.assign({
|
|
126
|
+
_action
|
|
127
|
+
}, state));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
136
131
|
// properties //
|
|
137
132
|
get uuid() {
|
|
133
|
+
// TODO: review this
|
|
138
134
|
return this.session && this.session.uuid;
|
|
139
135
|
}
|
|
140
136
|
get session() {
|
|
@@ -186,10 +182,9 @@ class Workflow extends _commons.Component {
|
|
|
186
182
|
this._emitLifecycleEvent('finally', state);
|
|
187
183
|
}
|
|
188
184
|
}
|
|
189
|
-
_shallEmitLifecycleEvent(name,
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
} = _ref3;
|
|
185
|
+
_shallEmitLifecycleEvent(name, {
|
|
186
|
+
session
|
|
187
|
+
}) {
|
|
193
188
|
const context = this._getSessionContext(session);
|
|
194
189
|
const events = context.lifecycleEvents || (context.lifecycleEvents = new Set());
|
|
195
190
|
const emitted = events.has(name);
|
|
@@ -204,8 +199,7 @@ class Workflow extends _commons.Component {
|
|
|
204
199
|
}
|
|
205
200
|
|
|
206
201
|
// request //
|
|
207
|
-
_request() {
|
|
208
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
202
|
+
_request(options = {}) {
|
|
209
203
|
const {
|
|
210
204
|
session
|
|
211
205
|
} = this;
|
|
@@ -334,10 +328,9 @@ class Workflow extends _commons.Component {
|
|
|
334
328
|
this._events.emit('destroy');
|
|
335
329
|
this._destroy(options);
|
|
336
330
|
}
|
|
337
|
-
_destroy(
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
331
|
+
_destroy({
|
|
332
|
+
dom
|
|
333
|
+
} = {}) {
|
|
341
334
|
for (const unsubscribe of this._unsubscribes || []) {
|
|
342
335
|
unsubscribe();
|
|
343
336
|
}
|
|
@@ -349,16 +342,25 @@ class Workflow extends _commons.Component {
|
|
|
349
342
|
}
|
|
350
343
|
|
|
351
344
|
// helper //
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
345
|
+
_runCallbacks(callbacks, event) {
|
|
346
|
+
for (const callback of callbacks) {
|
|
347
|
+
try {
|
|
348
|
+
callback(Object.assign({
|
|
349
|
+
workflow: this
|
|
350
|
+
}, event));
|
|
351
|
+
} catch (e) {
|
|
352
|
+
this._error(e);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
356
355
|
}
|
|
357
356
|
_emit(name, data) {
|
|
358
|
-
this._events.emit(name,
|
|
357
|
+
this._events.emit(name, Object.assign({
|
|
358
|
+
_event: name
|
|
359
|
+
}, data));
|
|
359
360
|
if (this._context) {
|
|
360
361
|
this._context._events.emit(name, Object.assign({
|
|
361
|
-
workflow: this
|
|
362
|
+
workflow: this,
|
|
363
|
+
_event: name
|
|
362
364
|
}, data));
|
|
363
365
|
}
|
|
364
366
|
}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
|
-
var
|
|
8
|
+
var _unit = _interopRequireDefault(require("./unit.js"));
|
|
9
9
|
var _index = require("../actor/index.js");
|
|
10
10
|
var _constants = require("../constants.js");
|
|
11
11
|
var _index2 = require("../layout/index.js");
|
|
@@ -14,11 +14,11 @@ var _useLink = require("./use-link.js");
|
|
|
14
14
|
const _excluded = ["value"];
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
17
|
-
const DEFAULT_API_OPTIONS = Object.freeze(Object.assign({},
|
|
17
|
+
const DEFAULT_API_OPTIONS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_API_OPTIONS, {
|
|
18
18
|
group: _commons.API.GROUP.ASK,
|
|
19
19
|
name: _commons.API.NAME.RELATED_QUESTIONS
|
|
20
20
|
}));
|
|
21
|
-
const DEFAULT_LAYOUTS = Object.freeze(Object.assign({},
|
|
21
|
+
const DEFAULT_LAYOUTS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_LAYOUTS, {
|
|
22
22
|
[_constants.ROLE.RELATED_QUESTIONS]: [_index2.ListLayout.type, {
|
|
23
23
|
itemType: 'question',
|
|
24
24
|
link: {
|
|
@@ -29,7 +29,7 @@ const DEFAULT_LAYOUTS = Object.freeze(Object.assign({}, _base.default.DEFAULT_LA
|
|
|
29
29
|
placeholder: 'Ask a question'
|
|
30
30
|
}]
|
|
31
31
|
}));
|
|
32
|
-
const DEFAULT_TRACKERS = Object.freeze(Object.assign({},
|
|
32
|
+
const DEFAULT_TRACKERS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_TRACKERS, {
|
|
33
33
|
[_constants.ROLE.RELATED_QUESTIONS]: _index3.DEFAULT_TRACKER_OPTIONS,
|
|
34
34
|
[_constants.ROLE.CONTAINER]: Object.assign({}, _index3.DEFAULT_TRACKER_OPTIONS, {
|
|
35
35
|
itemless: true
|
|
@@ -40,23 +40,23 @@ const DEFAULT_TRACKERS = Object.freeze(Object.assign({}, _base.default.DEFAULT_T
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}));
|
|
43
|
-
const DEFAULT_OPTIONS = Object.freeze(Object.assign({},
|
|
43
|
+
const DEFAULT_OPTIONS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_OPTIONS, {
|
|
44
44
|
api: DEFAULT_API_OPTIONS,
|
|
45
45
|
layouts: DEFAULT_LAYOUTS,
|
|
46
46
|
trackers: DEFAULT_TRACKERS
|
|
47
47
|
}));
|
|
48
|
-
const ROLES_OPTIONS = (0, _index3.mergeRolesOptions)(
|
|
48
|
+
const ROLES_OPTIONS = (0, _index3.mergeRolesOptions)(_unit.default.ROLES_OPTIONS, {
|
|
49
49
|
main: _constants.ROLE.RELATED_QUESTIONS,
|
|
50
50
|
members: Object.keys(DEFAULT_LAYOUTS)
|
|
51
51
|
});
|
|
52
|
-
class Explore extends
|
|
53
|
-
constructor(
|
|
52
|
+
class Explore extends _unit.default {
|
|
53
|
+
constructor(context, id) {
|
|
54
54
|
super({
|
|
55
55
|
name: 'explore',
|
|
56
|
-
|
|
57
|
-
client,
|
|
56
|
+
context,
|
|
58
57
|
roles: ROLES_OPTIONS,
|
|
59
|
-
defaults: DEFAULT_OPTIONS
|
|
58
|
+
defaults: DEFAULT_OPTIONS,
|
|
59
|
+
id
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
_initProperties(args) {
|
|
@@ -76,14 +76,15 @@ class Explore extends _base.default {
|
|
|
76
76
|
product_id: value
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
|
-
useApi(
|
|
79
|
+
useApi(...args) {
|
|
80
|
+
const options = (typeof args[0] === 'object' ? args[0] : args[1]) || {};
|
|
80
81
|
const {
|
|
81
82
|
product_id
|
|
82
83
|
} = options;
|
|
83
84
|
if (product_id) {
|
|
84
85
|
this._productId = product_id;
|
|
85
86
|
}
|
|
86
|
-
return super.useApi(
|
|
87
|
+
return super.useApi(...args);
|
|
87
88
|
}
|
|
88
89
|
useLink(fn, options) {
|
|
89
90
|
_useLink.UseLinkMixin.prototype.useLink.call(this, fn, options);
|
|
@@ -99,10 +100,9 @@ class Explore extends _base.default {
|
|
|
99
100
|
}
|
|
100
101
|
|
|
101
102
|
// lifecycle //
|
|
102
|
-
start(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
103
|
+
start({
|
|
104
|
+
relatedQuestions = true
|
|
105
|
+
} = {}) {
|
|
106
106
|
if (this._linkFn === undefined) {
|
|
107
107
|
throw new Error('Must define link mapping function with useLink(fn) before calling start()');
|
|
108
108
|
}
|
|
@@ -125,11 +125,7 @@ class Explore extends _base.default {
|
|
|
125
125
|
}
|
|
126
126
|
return this;
|
|
127
127
|
}
|
|
128
|
-
notifyViewUpdate() {
|
|
129
|
-
let role = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ROLE.RELATED_QUESTIONS;
|
|
130
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
131
|
-
args[_key - 1] = arguments[_key];
|
|
132
|
-
}
|
|
128
|
+
notifyViewUpdate(role = _constants.ROLE.RELATED_QUESTIONS, ...args) {
|
|
133
129
|
super.notifyViewUpdate(role, ...args);
|
|
134
130
|
return this;
|
|
135
131
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _units = _interopRequireDefault(require("./units.js"));
|
|
8
|
+
var _explore = _interopRequireDefault(require("./explore.js"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
class Explores extends _units.default {
|
|
11
|
+
constructor(plugin, client) {
|
|
12
|
+
super('explores', plugin, client);
|
|
13
|
+
}
|
|
14
|
+
_create(unitId) {
|
|
15
|
+
return new _explore.default(this, unitId);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = Explores;
|
|
@@ -40,7 +40,9 @@ class HybridSearchAnswer extends _answerBased.default {
|
|
|
40
40
|
super.restart();
|
|
41
41
|
// cascade restart to the sibling
|
|
42
42
|
const results = this._superworkflow._results;
|
|
43
|
-
results._views.filters.reset(
|
|
43
|
+
results._views.filters.reset({
|
|
44
|
+
silent: true
|
|
45
|
+
});
|
|
44
46
|
results.restart();
|
|
45
47
|
this._resultsSession = results.session; // keep track of the session
|
|
46
48
|
}
|
|
@@ -52,8 +54,7 @@ class HybridSearchAnswer extends _answerBased.default {
|
|
|
52
54
|
payload = this._superworkflow._results._writeFiltersToPayload(payload);
|
|
53
55
|
return payload;
|
|
54
56
|
}
|
|
55
|
-
_writeQuestionSourceToPayload() {
|
|
56
|
-
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
57
|
+
_writeQuestionSourceToPayload(_ref = {}) {
|
|
57
58
|
let {
|
|
58
59
|
qs
|
|
59
60
|
} = _ref,
|