@bitrix24/b24jssdk 0.1.5 → 0.1.7

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/umd/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @version @bitrix24/b24jssdk v0.1.5
3
- * @copyright (c) 2024 Bitrix24
2
+ * @version @bitrix24/b24jssdk v0.1.7
3
+ * @copyright (c) 2025 Bitrix24
4
4
  * @licence MIT
5
5
  * @links https://github.com/bitrix24/b24jssdk - GitHub
6
6
  * @links https://bitrix24.github.io/b24jssdk/ - Documentation
@@ -14259,7 +14259,7 @@
14259
14259
  error: error_?.code || 0,
14260
14260
  errorDescription: error_?.message || ""
14261
14261
  };
14262
- if (error_ instanceof AxiosError && error_.response && error_.response.data) {
14262
+ if (error_ instanceof AxiosError && error_.response && error_.response.data && !Type.isUndefined(error_.response.data.error)) {
14263
14263
  const response = error_.response.data;
14264
14264
  answerError = {
14265
14265
  error: response.error,
@@ -14343,7 +14343,7 @@
14343
14343
  result.logTag = this.#logTag;
14344
14344
  }
14345
14345
  result[this.#requestIdGenerator.getQueryStringParameterName()] = this.#requestIdGenerator.getRequestId();
14346
- result[this.#requestIdGenerator.getQueryStringSdkParameterName()] = "0.1.5";
14346
+ result[this.#requestIdGenerator.getQueryStringSdkParameterName()] = "0.1.7";
14347
14347
  if (!!result.data && !!result.data.start) {
14348
14348
  delete result.data.start;
14349
14349
  }
@@ -14377,7 +14377,7 @@
14377
14377
  * @protected
14378
14378
  */
14379
14379
  isServerSide() {
14380
- return Type.isUndefined(window);
14380
+ return typeof window === "undefined";
14381
14381
  }
14382
14382
  // endregion ////
14383
14383
  }
@@ -14620,7 +14620,7 @@
14620
14620
  format(value, locale) {
14621
14621
  let formatter;
14622
14622
  if (typeof locale === "undefined" || !Type.isStringFilled(locale)) {
14623
- locale = Type.isStringFilled(this._defLocale) ? this._defLocale || "en" : navigator?.language;
14623
+ locale = Type.isStringFilled(this._defLocale) ? this._defLocale || "en" : typeof navigator === "undefined" ? "en" : navigator?.language || "en";
14624
14624
  }
14625
14625
  if (Number.isInteger(value)) {
14626
14626
  formatter = new Intl.NumberFormat(locale, {
@@ -15497,6 +15497,8 @@
15497
15497
  MessageCommands2["selectAccess"] = "selectAccess";
15498
15498
  MessageCommands2["selectCRM"] = "selectCRM";
15499
15499
  MessageCommands2["showAppForm"] = "showAppForm";
15500
+ MessageCommands2["getInterface"] = "getInterface";
15501
+ MessageCommands2["placementBindEvent"] = "placementBindEvent";
15500
15502
  return MessageCommands2;
15501
15503
  })(MessageCommands || {});
15502
15504
 
@@ -16302,9 +16304,11 @@
16302
16304
  }
16303
16305
 
16304
16306
  class PlacementManager {
16307
+ #messageManager;
16305
16308
  #title = "";
16306
16309
  #options = {};
16307
- constructor() {
16310
+ constructor(messageManager) {
16311
+ this.#messageManager = messageManager;
16308
16312
  }
16309
16313
  /**
16310
16314
  * Initializes the data received from the parent window message.
@@ -16328,6 +16332,54 @@
16328
16332
  get isSliderMode() {
16329
16333
  return this.options?.IFRAME === "Y";
16330
16334
  }
16335
+ /**
16336
+ * Get Information About the JS Interface of the Current Embedding Location
16337
+ *
16338
+ * @return {Promise<any>}
16339
+ *
16340
+ * @link https://apidocs.bitrix24.com/api-reference/widgets/ui-interaction/bx24-placement-get-interface.html
16341
+ */
16342
+ async getInterface() {
16343
+ return this.#messageManager.send(
16344
+ MessageCommands.getInterface,
16345
+ {
16346
+ isSafely: true
16347
+ }
16348
+ );
16349
+ }
16350
+ /**
16351
+ * Set Up the Interface Event Handler
16352
+ * @param {string} eventName
16353
+ * @return {Promise<any>}
16354
+ *
16355
+ * @link https://apidocs.bitrix24.com/api-reference/widgets/ui-interaction/bx24-placement-bind-event.html
16356
+ */
16357
+ async bindEvent(eventName) {
16358
+ return this.#messageManager.send(
16359
+ MessageCommands.getInterface,
16360
+ {
16361
+ event: eventName,
16362
+ isSafely: true
16363
+ }
16364
+ );
16365
+ }
16366
+ /**
16367
+ * Call the Registered Interface Command
16368
+ * @param {string} command
16369
+ * @param {Record<string, any>} parameters
16370
+ * @return {Promise<any>}
16371
+ *
16372
+ * @link https://apidocs.bitrix24.com/api-reference/widgets/ui-interaction/bx24-placement-call.html
16373
+ */
16374
+ async call(command, parameters = {}) {
16375
+ return this.#messageManager.send(
16376
+ command,
16377
+ {
16378
+ ...parameters,
16379
+ isSafely: true
16380
+ }
16381
+ );
16382
+ }
16331
16383
  }
16332
16384
 
16333
16385
  class B24Frame extends AbstractB24 {
@@ -16355,7 +16407,7 @@
16355
16407
  this.#appFrame,
16356
16408
  this.#messageManager
16357
16409
  );
16358
- this.#placementManager = new PlacementManager();
16410
+ this.#placementManager = new PlacementManager(this.#messageManager);
16359
16411
  this._isInit = false;
16360
16412
  }
16361
16413
  setLogger(logger) {