@miso.ai/client-sdk-ui 1.9.1-beta.4 → 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 = _interopRequireDefault(require("./options.js"));
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.default();
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.default = void 0;
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.default = AskComboOptions;
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
- return Object.assign(merged, Object.assign({}, overrides, {
45
- templates: Object.assign({}, merged.templates, overrides.templates)
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] : {};
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = exports.default = '1.9.1-beta.4';
7
+ var _default = exports.default = '1.9.2-beta.0';
package/package.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "url": "https://github.com/MisoAI/miso-client-js-sdk/issues"
27
27
  },
28
28
  "dependencies": {
29
- "@miso.ai/commons": "1.9.1-beta.4"
29
+ "@miso.ai/commons": "1.9.2-beta.0"
30
30
  },
31
- "version": "1.9.1-beta.4"
31
+ "version": "1.9.2-beta.0"
32
32
  }
@@ -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) {
@@ -10,7 +10,9 @@ const DEFAULT_OPTIONS = Object.freeze({
10
10
  autostart: true,
11
11
  });
12
12
 
13
- export default class AskComboOptions {
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
- return Object.assign(merged, {
39
- ...overrides,
40
- templates: { ...merged.templates, ...overrides.templates },
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-beta.4';
1
+ export default '1.9.2-beta.0';