@miso.ai/client-sdk-ui 1.9.1 → 1.9.2-beta.0
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.
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
8
|
var _base = _interopRequireDefault(require("../base.js"));
|
|
9
|
-
var _options =
|
|
9
|
+
var _options = require("./options.js");
|
|
10
10
|
var _elements = _interopRequireDefault(require("./elements.js"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
class AskCombo extends _base.default {
|
|
@@ -17,11 +17,12 @@ class AskCombo extends _base.default {
|
|
|
17
17
|
MisoClient
|
|
18
18
|
});
|
|
19
19
|
// TODO: extract options to super class
|
|
20
|
-
this._options = new _options.
|
|
20
|
+
this._options = new _options.AskComboOptions();
|
|
21
21
|
this._localOptions = {};
|
|
22
22
|
}
|
|
23
23
|
config() {
|
|
24
24
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
25
|
+
options = (0, _options.mergeOptions)(this._localOptions, options);
|
|
25
26
|
const resolvedOptions = this._options.resolve(options);
|
|
26
27
|
|
|
27
28
|
// verify
|
|
@@ -109,10 +110,14 @@ class AskCombo extends _base.default {
|
|
|
109
110
|
} = this;
|
|
110
111
|
const {
|
|
111
112
|
templates = {},
|
|
112
|
-
features = {}
|
|
113
|
+
features = {},
|
|
114
|
+
api
|
|
113
115
|
} = options;
|
|
114
116
|
const context = client.ui.asks;
|
|
115
117
|
const rootWorkflow = client.ui.ask;
|
|
118
|
+
if (api) {
|
|
119
|
+
context.useApi(api);
|
|
120
|
+
}
|
|
116
121
|
|
|
117
122
|
// TODO: set placeholder if present in options
|
|
118
123
|
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.AskComboOptions = void 0;
|
|
7
|
+
exports.mergeOptions = mergeOptions;
|
|
7
8
|
var _commons = require("@miso.ai/commons");
|
|
8
9
|
var _index = require("../../defaults/ask/index.js");
|
|
9
10
|
const _excluded = ["api_key", "api_host", "templates", "phrases"];
|
|
@@ -17,6 +18,7 @@ const DEFAULT_OPTIONS = Object.freeze({
|
|
|
17
18
|
templates: _index.templates,
|
|
18
19
|
autostart: true
|
|
19
20
|
});
|
|
21
|
+
const GROUPS = ['templates', 'phrases', 'features'];
|
|
20
22
|
class AskComboOptions {
|
|
21
23
|
constructor() {
|
|
22
24
|
this._defaults = DEFAULT_OPTIONS;
|
|
@@ -27,7 +29,7 @@ class AskComboOptions {
|
|
|
27
29
|
return normalizeOptions(mergeOptions(this._defaults, this._scriptSrc, options, this._pageUrl));
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
exports.
|
|
32
|
+
exports.AskComboOptions = AskComboOptions;
|
|
31
33
|
function mergeOptions() {
|
|
32
34
|
let merged = {};
|
|
33
35
|
for (var _len = arguments.length, optionsList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -41,9 +43,16 @@ function mergeOptions() {
|
|
|
41
43
|
return merged;
|
|
42
44
|
}
|
|
43
45
|
function mergeTwoOptions(merged, overrides) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
46
|
+
if (!overrides) {
|
|
47
|
+
return merged;
|
|
48
|
+
}
|
|
49
|
+
Object.assign(merged, overrides);
|
|
50
|
+
for (const key of GROUPS) {
|
|
51
|
+
if (key in overrides) {
|
|
52
|
+
merged[key] = Object.assign({}, merged[key], overrides[key]);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return merged;
|
|
47
56
|
}
|
|
48
57
|
function normalizeOptions() {
|
|
49
58
|
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
package/dist/cjs/version.js
CHANGED
package/package.json
CHANGED
package/src/combo/ask/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineValues, waitForDomContentLoaded } from '@miso.ai/commons';
|
|
2
2
|
import Combo from '../base.js';
|
|
3
|
-
import AskComboOptions from './options.js';
|
|
3
|
+
import { AskComboOptions, mergeOptions } from './options.js';
|
|
4
4
|
import AskComboElements from './elements.js';
|
|
5
5
|
|
|
6
6
|
export default class AskCombo extends Combo {
|
|
@@ -17,6 +17,7 @@ export default class AskCombo extends Combo {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
config(options = {}) {
|
|
20
|
+
options = mergeOptions(this._localOptions, options);
|
|
20
21
|
const resolvedOptions = this._options.resolve(options);
|
|
21
22
|
|
|
22
23
|
// verify
|
|
@@ -98,11 +99,15 @@ export default class AskCombo extends Combo {
|
|
|
98
99
|
|
|
99
100
|
async _setupWorkflows() {
|
|
100
101
|
const { client, elements, resolvedOptions: options } = this;
|
|
101
|
-
const { templates = {}, features = {} } = options;
|
|
102
|
+
const { templates = {}, features = {}, api } = options;
|
|
102
103
|
|
|
103
104
|
const context = client.ui.asks;
|
|
104
105
|
const rootWorkflow = client.ui.ask;
|
|
105
106
|
|
|
107
|
+
if (api) {
|
|
108
|
+
context.useApi(api);
|
|
109
|
+
}
|
|
110
|
+
|
|
106
111
|
// TODO: set placeholder if present in options
|
|
107
112
|
|
|
108
113
|
if (elements.followUpsSection && features.followUpQuestions !== false) {
|
package/src/combo/ask/options.js
CHANGED
|
@@ -10,7 +10,9 @@ const DEFAULT_OPTIONS = Object.freeze({
|
|
|
10
10
|
autostart: true,
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
const GROUPS = ['templates', 'phrases', 'features'];
|
|
14
|
+
|
|
15
|
+
export class AskComboOptions {
|
|
14
16
|
|
|
15
17
|
constructor() {
|
|
16
18
|
this._defaults = DEFAULT_OPTIONS;
|
|
@@ -24,7 +26,7 @@ export default class AskComboOptions {
|
|
|
24
26
|
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
function mergeOptions(...optionsList) {
|
|
29
|
+
export function mergeOptions(...optionsList) {
|
|
28
30
|
let merged = {};
|
|
29
31
|
for (const options of optionsList) {
|
|
30
32
|
if (options) {
|
|
@@ -35,10 +37,16 @@ function mergeOptions(...optionsList) {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
function mergeTwoOptions(merged, overrides) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
if (!overrides) {
|
|
41
|
+
return merged;
|
|
42
|
+
}
|
|
43
|
+
Object.assign(merged, overrides);
|
|
44
|
+
for (const key of GROUPS) {
|
|
45
|
+
if (key in overrides) {
|
|
46
|
+
merged[key] = { ...merged[key], ...overrides[key] };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return merged;
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
function normalizeOptions({ api_key: apiKey, api_host: apiHost, templates, phrases, ...options } = {}) {
|
package/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.9.
|
|
1
|
+
export default '1.9.2-beta.0';
|