@miso.ai/client-sdk-ui 1.11.6-beta.0 → 1.11.6
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
|
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "Asks", {
|
|
|
9
9
|
return _asks.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "Explores", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _explores.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "HybridSearch", {
|
|
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Search", {
|
|
|
35
35
|
});
|
|
36
36
|
var _asks = _interopRequireDefault(require("./asks.js"));
|
|
37
37
|
var _hybridSearch = _interopRequireDefault(require("./hybrid-search.js"));
|
|
38
|
-
var _explore = _interopRequireDefault(require("./explore.js"));
|
|
39
38
|
var _search = _interopRequireDefault(require("./search.js"));
|
|
40
39
|
var _recommendations = _interopRequireDefault(require("./recommendations.js"));
|
|
40
|
+
var _explores = _interopRequireDefault(require("./explores.js"));
|
|
41
41
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -7,8 +7,7 @@ exports.mergeApiOptions = mergeApiOptions;
|
|
|
7
7
|
exports.normalizeApiOptions = normalizeApiOptions;
|
|
8
8
|
var _commons = require("@miso.ai/commons");
|
|
9
9
|
var _utils = require("./utils.js");
|
|
10
|
-
function normalizeApiOptions() {
|
|
11
|
-
let [name, payload] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
10
|
+
function normalizeApiOptions([name, payload] = []) {
|
|
12
11
|
// TODO: take object form as well
|
|
13
12
|
if (name === false) {
|
|
14
13
|
return {
|
|
@@ -32,10 +31,7 @@ function normalizeApiOptions() {
|
|
|
32
31
|
payload
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
|
-
function mergeApiOptions() {
|
|
36
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
37
|
-
optionsList[_key] = arguments[_key];
|
|
38
|
-
}
|
|
34
|
+
function mergeApiOptions(...optionsList) {
|
|
39
35
|
if (optionsList[optionsList.length - 1] === false) {
|
|
40
36
|
return false;
|
|
41
37
|
}
|
|
@@ -12,8 +12,7 @@ const _excluded = ["setValue", "focus", "updateUrl", "param", "sourceParam"];
|
|
|
12
12
|
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; }
|
|
13
13
|
const DEFAULT_AUTO_QUERY_PARAM = exports.DEFAULT_AUTO_QUERY_PARAM = 'q';
|
|
14
14
|
const DEFAULT_AUTO_QUERY_SOURCE_PARAM = exports.DEFAULT_AUTO_QUERY_SOURCE_PARAM = 'qs';
|
|
15
|
-
function normalizeAutoQueryOptions() {
|
|
16
|
-
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
15
|
+
function normalizeAutoQueryOptions(_ref = {}) {
|
|
17
16
|
let {
|
|
18
17
|
setValue = true,
|
|
19
18
|
focus = true,
|
|
@@ -30,8 +29,7 @@ function normalizeAutoQueryOptions() {
|
|
|
30
29
|
sourceParam
|
|
31
30
|
}, options);
|
|
32
31
|
}
|
|
33
|
-
function autoQuery() {
|
|
34
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
32
|
+
function autoQuery(options = {}) {
|
|
35
33
|
// TODO: support getting value from URL path
|
|
36
34
|
const {
|
|
37
35
|
setValue,
|
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.makeConfigurable = makeConfigurable;
|
|
7
7
|
var _constants = require("../../constants.js");
|
|
8
8
|
const DEFAULT_FEATURES = [_constants.WORKFLOW_CONFIGURABLE.API, _constants.WORKFLOW_CONFIGURABLE.LAYOUTS, _constants.WORKFLOW_CONFIGURABLE.DATA_PROCESSOR, _constants.WORKFLOW_CONFIGURABLE.TRACKERS, _constants.WORKFLOW_CONFIGURABLE.INTERACTIONS];
|
|
9
|
-
function makeConfigurable(prototype) {
|
|
10
|
-
let features = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_FEATURES;
|
|
9
|
+
function makeConfigurable(prototype, features = DEFAULT_FEATURES) {
|
|
11
10
|
for (const feature of features) {
|
|
12
11
|
injectConfigurableFeature(prototype, feature);
|
|
13
12
|
}
|
|
@@ -15,10 +14,7 @@ function makeConfigurable(prototype) {
|
|
|
15
14
|
function injectConfigurableFeature(prototype, feature) {
|
|
16
15
|
if (feature === 'api') {
|
|
17
16
|
Object.assign(prototype, {
|
|
18
|
-
useApi() {
|
|
19
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
20
|
-
args[_key] = arguments[_key];
|
|
21
|
-
}
|
|
17
|
+
useApi(...args) {
|
|
22
18
|
this._options.api.merge(args);
|
|
23
19
|
return this;
|
|
24
20
|
},
|
|
@@ -15,9 +15,6 @@ function normalizeDataProcessorOptions(fns) {
|
|
|
15
15
|
}
|
|
16
16
|
return fns;
|
|
17
17
|
}
|
|
18
|
-
function mergeDataProcessorOptions() {
|
|
19
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
20
|
-
optionsList[_key] = arguments[_key];
|
|
21
|
-
}
|
|
18
|
+
function mergeDataProcessorOptions(...optionsList) {
|
|
22
19
|
return optionsList.flat().filter(Boolean);
|
|
23
20
|
}
|
|
@@ -7,10 +7,7 @@ exports.mergeFiltersOptions = mergeFiltersOptions;
|
|
|
7
7
|
exports.normalizeFiltersOptions = void 0;
|
|
8
8
|
var _utils = require("./utils.js");
|
|
9
9
|
const normalizeFiltersOptions = exports.normalizeFiltersOptions = _utils.normalizeOptions;
|
|
10
|
-
function mergeFiltersOptions() {
|
|
11
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
12
|
-
optionsList[_key] = arguments[_key];
|
|
13
|
-
}
|
|
10
|
+
function mergeFiltersOptions(...optionsList) {
|
|
14
11
|
if (optionsList[optionsList.length - 1] === false) {
|
|
15
12
|
return false;
|
|
16
13
|
}
|
|
@@ -31,10 +31,7 @@ function normalizeInteractionsOptions(options) {
|
|
|
31
31
|
preprocess
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
function mergeInteractionsOptions() {
|
|
35
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
36
|
-
optionsList[_key] = arguments[_key];
|
|
37
|
-
}
|
|
34
|
+
function mergeInteractionsOptions(...optionsList) {
|
|
38
35
|
if (optionsList[optionsList.length - 1] === false) {
|
|
39
36
|
return false;
|
|
40
37
|
}
|
|
@@ -10,8 +10,7 @@ var _constants = require("../../constants.js");
|
|
|
10
10
|
var _utils = require("./utils.js");
|
|
11
11
|
const _excluded = ["results"];
|
|
12
12
|
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; }
|
|
13
|
-
function normalizeLayoutsOptions() {
|
|
14
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
+
function normalizeLayoutsOptions(options = {}) {
|
|
15
14
|
if (options === false) {
|
|
16
15
|
return false;
|
|
17
16
|
}
|
|
@@ -54,10 +53,7 @@ function normalizeLayoutOptions(args) {
|
|
|
54
53
|
}
|
|
55
54
|
return [name, options];
|
|
56
55
|
}
|
|
57
|
-
function mergeLayoutsOptions() {
|
|
58
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
59
|
-
optionsList[_key] = arguments[_key];
|
|
60
|
-
}
|
|
56
|
+
function mergeLayoutsOptions(...optionsList) {
|
|
61
57
|
if (optionsList[optionsList.length - 1] === false) {
|
|
62
58
|
return false;
|
|
63
59
|
}
|
|
@@ -56,9 +56,7 @@ class WorkflowContextOptions {
|
|
|
56
56
|
}
|
|
57
57
|
exports.WorkflowContextOptions = WorkflowContextOptions;
|
|
58
58
|
class WorkflowOptions {
|
|
59
|
-
constructor() {
|
|
60
|
-
let context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
61
|
-
let defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
59
|
+
constructor(context = {}, defaults = {}) {
|
|
62
60
|
this._events = new _commons.EventEmitter({
|
|
63
61
|
target: this
|
|
64
62
|
});
|
|
@@ -93,11 +91,10 @@ class ResolvedWorkflowOptions {
|
|
|
93
91
|
_invalidate(key) {
|
|
94
92
|
this._cache[key] = undefined;
|
|
95
93
|
}
|
|
96
|
-
_get(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
} = _ref;
|
|
94
|
+
_get({
|
|
95
|
+
key,
|
|
96
|
+
merge
|
|
97
|
+
}) {
|
|
101
98
|
if (this._cache[key] === undefined) {
|
|
102
99
|
const options = this._options;
|
|
103
100
|
const contextFeature = options._context[key];
|
|
@@ -17,10 +17,7 @@ function normalizePaginationOptions(options) {
|
|
|
17
17
|
}
|
|
18
18
|
return options;
|
|
19
19
|
}
|
|
20
|
-
function mergePaginationOptions() {
|
|
21
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
22
|
-
optionsList[_key] = arguments[_key];
|
|
23
|
-
}
|
|
20
|
+
function mergePaginationOptions(...optionsList) {
|
|
24
21
|
if (optionsList[optionsList.length - 1] === false) {
|
|
25
22
|
return false;
|
|
26
23
|
}
|
|
@@ -10,8 +10,6 @@ function mergeRolesOptions(base, overrides) {
|
|
|
10
10
|
mappings: Object.freeze(Object.assign({}, base.mappings, overrides.mappings))
|
|
11
11
|
}));
|
|
12
12
|
}
|
|
13
|
-
function mergeRolesMembers() {
|
|
14
|
-
let base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
15
|
-
let overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
13
|
+
function mergeRolesMembers(base = [], overrides = []) {
|
|
16
14
|
return [...new Set([...base, ...overrides])];
|
|
17
15
|
}
|
|
@@ -26,8 +26,7 @@ const DEFAULT_TRACKER_OPTIONS = exports.DEFAULT_TRACKER_OPTIONS = Object.freeze(
|
|
|
26
26
|
lenient: false
|
|
27
27
|
})
|
|
28
28
|
});
|
|
29
|
-
function normalizeTrackersOptions() {
|
|
30
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
function normalizeTrackersOptions(options = {}) {
|
|
31
30
|
options = (0, _utils.normalizeOptions)(options);
|
|
32
31
|
const {
|
|
33
32
|
active
|
|
@@ -41,8 +40,7 @@ function normalizeTrackersOptions() {
|
|
|
41
40
|
active
|
|
42
41
|
}, normalized);
|
|
43
42
|
}
|
|
44
|
-
function normalizeTrackerOptions() {
|
|
45
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
43
|
+
function normalizeTrackerOptions(options = {}) {
|
|
46
44
|
options = (0, _utils.normalizeOptions)(options);
|
|
47
45
|
const rest = _objectWithoutPropertiesLoose(options, _excluded2);
|
|
48
46
|
const normalized = {};
|
|
@@ -51,15 +49,11 @@ function normalizeTrackerOptions() {
|
|
|
51
49
|
}
|
|
52
50
|
return options;
|
|
53
51
|
}
|
|
54
|
-
function normalizeTrackerEventOptions() {
|
|
55
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
|
+
function normalizeTrackerEventOptions(options = {}) {
|
|
56
53
|
options = (0, _utils.normalizeOptions)(options);
|
|
57
54
|
return options;
|
|
58
55
|
}
|
|
59
|
-
function mergeTrackersOptions() {
|
|
60
|
-
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
|
-
optionsList[_key] = arguments[_key];
|
|
62
|
-
}
|
|
56
|
+
function mergeTrackersOptions(...optionsList) {
|
|
63
57
|
// TODO: should be able to remove this
|
|
64
58
|
if (optionsList[optionsList.length - 1] === false) {
|
|
65
59
|
return false;
|
|
@@ -74,9 +68,7 @@ function mergeTrackersOptions() {
|
|
|
74
68
|
return merged;
|
|
75
69
|
});
|
|
76
70
|
}
|
|
77
|
-
function mergeTrackerOptions() {
|
|
78
|
-
let base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
79
|
-
let overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
71
|
+
function mergeTrackerOptions(base = {}, overrides = {}) {
|
|
80
72
|
const merged = Object.assign({}, base);
|
|
81
73
|
for (const [key, args] of Object.entries(overrides)) {
|
|
82
74
|
if (args === undefined) {
|
|
@@ -86,8 +78,6 @@ function mergeTrackerOptions() {
|
|
|
86
78
|
}
|
|
87
79
|
return merged;
|
|
88
80
|
}
|
|
89
|
-
function mergeTrackerEventOptions() {
|
|
90
|
-
let base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
91
|
-
let overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
81
|
+
function mergeTrackerEventOptions(base = {}, overrides = {}) {
|
|
92
82
|
return Object.assign({}, base, overrides);
|
|
93
83
|
}
|
|
@@ -23,11 +23,10 @@ var _commons = require("@miso.ai/commons");
|
|
|
23
23
|
var _constants = require("../constants.js");
|
|
24
24
|
var _index = require("../actor/index.js");
|
|
25
25
|
// role mappings //
|
|
26
|
-
function mappingSortData(_
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
26
|
+
function mappingSortData(_, {
|
|
27
|
+
hub,
|
|
28
|
+
workflowOptions = {}
|
|
29
|
+
} = {}) {
|
|
31
30
|
const {
|
|
32
31
|
sort: {
|
|
33
32
|
options = []
|
|
@@ -209,10 +208,9 @@ function retainFacetCountsInData(data, currentFacetCounts) {
|
|
|
209
208
|
})
|
|
210
209
|
});
|
|
211
210
|
}
|
|
212
|
-
function concatItemsFromMoreResponse(oldData, newData
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
211
|
+
function concatItemsFromMoreResponse(oldData, newData, {
|
|
212
|
+
role = _constants.ROLE.PRODUCTS
|
|
213
|
+
} = {}) {
|
|
216
214
|
if (!newData.value) {
|
|
217
215
|
return oldData;
|
|
218
216
|
}
|
|
@@ -229,17 +227,16 @@ function concatItemsFromMoreResponse(oldData, newData) {
|
|
|
229
227
|
|
|
230
228
|
// use old values of facet_counts and total, for they are affected by product_id exclusion
|
|
231
229
|
return Object.assign({}, newData, {
|
|
232
|
-
facet_counts,
|
|
233
|
-
total,
|
|
234
230
|
value: Object.assign({}, newData.value, {
|
|
231
|
+
facet_counts,
|
|
232
|
+
total,
|
|
235
233
|
[role]: [...oldProducts, ...newProducts]
|
|
236
234
|
})
|
|
237
235
|
});
|
|
238
236
|
}
|
|
239
|
-
function writeExhaustionToData(data
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
237
|
+
function writeExhaustionToData(data, {
|
|
238
|
+
role = _constants.ROLE.PRODUCTS
|
|
239
|
+
} = {}) {
|
|
243
240
|
const {
|
|
244
241
|
status,
|
|
245
242
|
request,
|
|
@@ -324,10 +321,9 @@ function writeAffiliationInfoToInteraction(payload, args) {
|
|
|
324
321
|
}
|
|
325
322
|
});
|
|
326
323
|
}
|
|
327
|
-
function writeEventTargetToInteraction(payload
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
324
|
+
function writeEventTargetToInteraction(payload, {
|
|
325
|
+
event_target
|
|
326
|
+
} = {}) {
|
|
331
327
|
if (!event_target) {
|
|
332
328
|
return payload;
|
|
333
329
|
}
|
|
@@ -339,9 +335,7 @@ function writeEventTargetToInteraction(payload) {
|
|
|
339
335
|
}
|
|
340
336
|
});
|
|
341
337
|
}
|
|
342
|
-
function mergeInteraction() {
|
|
343
|
-
let base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
344
|
-
let patch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
338
|
+
function mergeInteraction(base = {}, patch = {}) {
|
|
345
339
|
return (0, _commons.trimObj)(Object.assign({}, base, patch, {
|
|
346
340
|
context: (0, _commons.trimObj)(Object.assign({}, base.context, patch.context, {
|
|
347
341
|
custom_context: (0, _commons.trimObj)(Object.assign({}, base.context && base.context.custom_context, patch.context && patch.context.custom_context))
|
|
@@ -5,35 +5,34 @@ 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("../layout/index.js");
|
|
10
10
|
var _constants = require("../constants.js");
|
|
11
11
|
var _index2 = require("./options/index.js");
|
|
12
|
-
var _processors = require("./processors.js");
|
|
13
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
const DEFAULT_API_OPTIONS = Object.freeze(Object.assign({},
|
|
13
|
+
const DEFAULT_API_OPTIONS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_API_OPTIONS, {
|
|
15
14
|
group: _commons.API.GROUP.RECOMMENDATION,
|
|
16
15
|
name: _commons.API.NAME.USER_TO_PRODUCTS,
|
|
17
|
-
payload: Object.assign({},
|
|
16
|
+
payload: Object.assign({}, _unit.default.DEFAULT_API_OPTIONS.payload, {
|
|
18
17
|
fl: ['*']
|
|
19
18
|
})
|
|
20
19
|
}));
|
|
21
|
-
const DEFAULT_LAYOUTS = Object.freeze(Object.assign({},
|
|
20
|
+
const DEFAULT_LAYOUTS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_LAYOUTS, {
|
|
22
21
|
[_constants.ROLE.PRODUCTS]: _index.ListLayout.type
|
|
23
22
|
}));
|
|
24
|
-
const DEFAULT_TRACKERS = Object.freeze(Object.assign({},
|
|
23
|
+
const DEFAULT_TRACKERS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_TRACKERS, {
|
|
25
24
|
[_constants.ROLE.PRODUCTS]: _index2.DEFAULT_TRACKER_OPTIONS
|
|
26
25
|
}));
|
|
27
|
-
const DEFAULT_OPTIONS = Object.freeze(Object.assign({},
|
|
26
|
+
const DEFAULT_OPTIONS = Object.freeze(Object.assign({}, _unit.default.DEFAULT_OPTIONS, {
|
|
28
27
|
api: DEFAULT_API_OPTIONS,
|
|
29
28
|
layouts: DEFAULT_LAYOUTS,
|
|
30
29
|
trackers: DEFAULT_TRACKERS
|
|
31
30
|
}));
|
|
32
|
-
const ROLES_OPTIONS = (0, _index2.mergeRolesOptions)(
|
|
31
|
+
const ROLES_OPTIONS = (0, _index2.mergeRolesOptions)(_unit.default.ROLES_OPTIONS, {
|
|
33
32
|
main: _constants.ROLE.PRODUCTS,
|
|
34
33
|
members: Object.keys(DEFAULT_LAYOUTS)
|
|
35
34
|
});
|
|
36
|
-
class Recommendation extends
|
|
35
|
+
class Recommendation extends _unit.default {
|
|
37
36
|
constructor(context, id) {
|
|
38
37
|
super({
|
|
39
38
|
name: 'recommendation',
|
|
@@ -43,19 +42,6 @@ class Recommendation extends _base.default {
|
|
|
43
42
|
id
|
|
44
43
|
});
|
|
45
44
|
}
|
|
46
|
-
_initProperties(args) {
|
|
47
|
-
super._initProperties(args);
|
|
48
|
-
const {
|
|
49
|
-
id
|
|
50
|
-
} = args;
|
|
51
|
-
(0, _commons.defineValues)(this, {
|
|
52
|
-
id
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
_initSession(args) {
|
|
56
|
-
this._context._members.set(args.id, this);
|
|
57
|
-
super._initSession(args);
|
|
58
|
-
}
|
|
59
45
|
|
|
60
46
|
// lifecycle //
|
|
61
47
|
start() {
|
|
@@ -63,38 +49,9 @@ class Recommendation extends _base.default {
|
|
|
63
49
|
this._request();
|
|
64
50
|
return this;
|
|
65
51
|
}
|
|
66
|
-
notifyViewUpdate() {
|
|
67
|
-
let role = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ROLE.PRODUCTS;
|
|
68
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
69
|
-
args[_key - 1] = arguments[_key];
|
|
70
|
-
}
|
|
52
|
+
notifyViewUpdate(role = _constants.ROLE.PRODUCTS, ...args) {
|
|
71
53
|
super.notifyViewUpdate(role, ...args);
|
|
72
54
|
return this;
|
|
73
55
|
}
|
|
74
|
-
|
|
75
|
-
// interactions //
|
|
76
|
-
_defaultProcessInteraction(payload, args) {
|
|
77
|
-
payload = super._defaultProcessInteraction(payload, args);
|
|
78
|
-
payload = this._writeUnitIdToInteraction(payload, args);
|
|
79
|
-
return payload;
|
|
80
|
-
}
|
|
81
|
-
_writeUnitIdToInteraction(payload) {
|
|
82
|
-
const unit_id = this.id;
|
|
83
|
-
const unit_instance_uuid = this.uuid;
|
|
84
|
-
return (0, _processors.mergeInteraction)(payload, {
|
|
85
|
-
context: {
|
|
86
|
-
custom_context: {
|
|
87
|
-
unit_id,
|
|
88
|
-
unit_instance_uuid
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// destroy //
|
|
95
|
-
_destroy(options) {
|
|
96
|
-
this._context._members.delete(this.id);
|
|
97
|
-
super._destroy(options);
|
|
98
|
-
}
|
|
99
56
|
}
|
|
100
57
|
exports.default = Recommendation;
|
|
@@ -4,35 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
var _context = _interopRequireDefault(require("./context.js"));
|
|
7
|
+
var _units = _interopRequireDefault(require("./units.js"));
|
|
9
8
|
var _recommendation = _interopRequireDefault(require("./recommendation.js"));
|
|
10
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
class Recommendations extends
|
|
10
|
+
class Recommendations extends _units.default {
|
|
12
11
|
constructor(plugin, client) {
|
|
13
12
|
super('recommendations', plugin, client);
|
|
14
|
-
this._members = new Map();
|
|
15
13
|
}
|
|
16
|
-
|
|
17
|
-
return [...this._members.values()];
|
|
18
|
-
}
|
|
19
|
-
create() {
|
|
20
|
-
let unitId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.DEFAULT_UNIT_ID;
|
|
21
|
-
if (this._members.has(unitId)) {
|
|
22
|
-
throw new Error(`Unit already exists: ${unitId}`);
|
|
23
|
-
}
|
|
14
|
+
_create(unitId) {
|
|
24
15
|
return new _recommendation.default(this, unitId);
|
|
25
16
|
}
|
|
26
|
-
has() {
|
|
27
|
-
let unitId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.DEFAULT_UNIT_ID;
|
|
28
|
-
return this._members.has(unitId);
|
|
29
|
-
}
|
|
30
|
-
get() {
|
|
31
|
-
let unitId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.DEFAULT_UNIT_ID;
|
|
32
|
-
if (typeof unitId !== 'string') {
|
|
33
|
-
throw new Error(`Required unit ID to be a string: ${unitId}`);
|
|
34
|
-
}
|
|
35
|
-
return this._members.get(unitId) || new _recommendation.default(this, unitId);
|
|
36
|
-
}
|
|
37
17
|
}
|
|
38
18
|
exports.default = Recommendations;
|
|
@@ -80,8 +80,7 @@ class SearchBasedWorkflow extends _base.default {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
// query //
|
|
83
|
-
autoQuery() {
|
|
84
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
83
|
+
autoQuery(options = {}) {
|
|
85
84
|
_index3.autoQuery.call(this, options);
|
|
86
85
|
}
|
|
87
86
|
query(args) {
|
|
@@ -94,6 +93,11 @@ class SearchBasedWorkflow extends _base.default {
|
|
|
94
93
|
// keep track of the query args for refine and more calls
|
|
95
94
|
this._queryArgs = args;
|
|
96
95
|
|
|
96
|
+
// reset filters view
|
|
97
|
+
this._views.filters.reset({
|
|
98
|
+
silent: true
|
|
99
|
+
});
|
|
100
|
+
|
|
97
101
|
// start a new session
|
|
98
102
|
this.restart();
|
|
99
103
|
|
|
@@ -120,6 +124,8 @@ class SearchBasedWorkflow extends _base.default {
|
|
|
120
124
|
payload
|
|
121
125
|
});
|
|
122
126
|
}
|
|
127
|
+
|
|
128
|
+
// TODO: expose API
|
|
123
129
|
_more() {
|
|
124
130
|
// if still loading, complain
|
|
125
131
|
if (this.status !== _constants.STATUS.READY) {
|
|
@@ -193,8 +199,7 @@ class SearchBasedWorkflow extends _base.default {
|
|
|
193
199
|
})
|
|
194
200
|
});
|
|
195
201
|
}
|
|
196
|
-
_processPayloadForMoreRequest() {
|
|
197
|
-
let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
202
|
+
_processPayloadForMoreRequest(payload = {}) {
|
|
198
203
|
const data = this._hub.states[_index.fields.data()];
|
|
199
204
|
const {
|
|
200
205
|
[this._roles.main]: items = []
|
|
@@ -244,10 +249,9 @@ class SearchBasedWorkflow extends _base.default {
|
|
|
244
249
|
}
|
|
245
250
|
|
|
246
251
|
// view actions //
|
|
247
|
-
_handleSortSelect(
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
252
|
+
_handleSortSelect({
|
|
253
|
+
value
|
|
254
|
+
} = {}) {
|
|
251
255
|
if (!value) {
|
|
252
256
|
return;
|
|
253
257
|
}
|
|
@@ -49,11 +49,7 @@ class Search extends _searchBased.default {
|
|
|
49
49
|
super._initProperties(args);
|
|
50
50
|
this._initAutocomplete(args);
|
|
51
51
|
}
|
|
52
|
-
notifyViewUpdate() {
|
|
53
|
-
let role = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ROLE.PRODUCTS;
|
|
54
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
55
|
-
args[_key - 1] = arguments[_key];
|
|
56
|
-
}
|
|
52
|
+
notifyViewUpdate(role = _constants.ROLE.PRODUCTS, ...args) {
|
|
57
53
|
super.notifyViewUpdate(role, ...args);
|
|
58
54
|
return this;
|
|
59
55
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _commons = require("@miso.ai/commons");
|
|
8
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
9
|
+
var _processors = require("./processors.js");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
class UnitWorkflow extends _base.default {
|
|
12
|
+
_initProperties(args) {
|
|
13
|
+
super._initProperties(args);
|
|
14
|
+
const {
|
|
15
|
+
id
|
|
16
|
+
} = args;
|
|
17
|
+
(0, _commons.defineValues)(this, {
|
|
18
|
+
id
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
_initSession(args) {
|
|
22
|
+
this._context._members.set(args.id, this);
|
|
23
|
+
super._initSession(args);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// interactions //
|
|
27
|
+
_defaultProcessInteraction(payload, args) {
|
|
28
|
+
payload = super._defaultProcessInteraction(payload, args);
|
|
29
|
+
payload = this._writeUnitIdToInteraction(payload, args);
|
|
30
|
+
return payload;
|
|
31
|
+
}
|
|
32
|
+
_writeUnitIdToInteraction(payload) {
|
|
33
|
+
const unit_id = this.id;
|
|
34
|
+
const unit_instance_uuid = this.uuid;
|
|
35
|
+
return (0, _processors.mergeInteraction)(payload, {
|
|
36
|
+
context: {
|
|
37
|
+
custom_context: {
|
|
38
|
+
unit_id,
|
|
39
|
+
unit_instance_uuid
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// destroy //
|
|
46
|
+
_destroy(options) {
|
|
47
|
+
this._context._members.delete(this.id);
|
|
48
|
+
super._destroy(options);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = UnitWorkflow;
|
|
52
|
+
Object.assign(UnitWorkflow, {
|
|
53
|
+
DEFAULT_API_OPTIONS: _base.default.DEFAULT_API_OPTIONS,
|
|
54
|
+
DEFAULT_LAYOUTS: _base.default.DEFAULT_LAYOUTS,
|
|
55
|
+
DEFAULT_TRACKERS: _base.default.DEFAULT_TRACKERS,
|
|
56
|
+
DEFAULT_OPTIONS: _base.default.DEFAULT_OPTIONS,
|
|
57
|
+
ROLES_OPTIONS: _base.default.ROLES_OPTIONS
|
|
58
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _constants = require("../constants.js");
|
|
8
|
+
var _context = _interopRequireDefault(require("./context.js"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
class UnitWorkflowContext extends _context.default {
|
|
11
|
+
constructor(name, plugin, client) {
|
|
12
|
+
super(name, plugin, client);
|
|
13
|
+
this._members = new Map();
|
|
14
|
+
}
|
|
15
|
+
workflows() {
|
|
16
|
+
return [...this._members.values()];
|
|
17
|
+
}
|
|
18
|
+
create(unitId = _constants.DEFAULT_UNIT_ID) {
|
|
19
|
+
if (this._members.has(unitId)) {
|
|
20
|
+
throw new Error(`Unit already exists: ${unitId}`);
|
|
21
|
+
}
|
|
22
|
+
return this._create(unitId);
|
|
23
|
+
}
|
|
24
|
+
has(unitId = _constants.DEFAULT_UNIT_ID) {
|
|
25
|
+
return this._members.has(unitId);
|
|
26
|
+
}
|
|
27
|
+
get(unitId = _constants.DEFAULT_UNIT_ID) {
|
|
28
|
+
if (typeof unitId !== 'string') {
|
|
29
|
+
throw new Error(`Required unit ID to be a string: ${unitId}`);
|
|
30
|
+
}
|
|
31
|
+
return this._members.get(unitId) || this._create(unitId);
|
|
32
|
+
}
|
|
33
|
+
_create(unitId) {
|
|
34
|
+
throw new Error('Not implemented');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = UnitWorkflowContext;
|
|
@@ -12,16 +12,14 @@ function enableUseLink(prototype) {
|
|
|
12
12
|
(0, _commons.mixin)(prototype, UseLinkMixin.prototype);
|
|
13
13
|
}
|
|
14
14
|
class UseLinkMixin {
|
|
15
|
-
useLink(fn) {
|
|
16
|
-
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
15
|
+
useLink(fn, options = {}) {
|
|
17
16
|
if (typeof fn !== 'function' && fn !== false) {
|
|
18
17
|
throw new Error('useLink(fn) expects fn to be a function or false');
|
|
19
18
|
}
|
|
20
19
|
this._linkFn = fn ? [fn, options] : false;
|
|
21
20
|
return this;
|
|
22
21
|
}
|
|
23
|
-
_submitToPage() {
|
|
24
|
-
let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
+
_submitToPage(args = {}) {
|
|
25
23
|
if (!this._linkFn) {
|
|
26
24
|
return;
|
|
27
25
|
}
|
|
@@ -36,8 +34,7 @@ class UseLinkMixin {
|
|
|
36
34
|
window.open(url, target, windowFeatures);
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
|
-
_getSubmitUrl() {
|
|
40
|
-
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
37
|
+
_getSubmitUrl(_ref = {}) {
|
|
41
38
|
let {
|
|
42
39
|
q
|
|
43
40
|
} = _ref,
|