chayns-api 1.0.68 → 1.0.70

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.
@@ -241,11 +241,13 @@ const storageSetItem = (...args) => _moduleWrapper.moduleWrapper.current.functio
241
241
  */
242
242
  exports.storageSetItem = storageSetItem;
243
243
  const vibrate = (...args) => _moduleWrapper.moduleWrapper.current.functions.vibrate(...args);
244
+
244
245
  /**
245
246
  * This method creates a dialog
246
247
  */
248
+ // @ts-ignore
247
249
  exports.vibrate = vibrate;
248
- const createDialog = (...args) => _moduleWrapper.moduleWrapper.current.functions.createDialog(...args);
250
+ const createDialog = config => _moduleWrapper.moduleWrapper.current.functions.createDialog(config);
249
251
  /**
250
252
  * Displays an overlay
251
253
  */
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeviceLanguage = void 0;
7
+ let DeviceLanguage = exports.DeviceLanguage = /*#__PURE__*/function (DeviceLanguage) {
8
+ DeviceLanguage[DeviceLanguage["de"] = 1] = "de";
9
+ DeviceLanguage[DeviceLanguage["en"] = 2] = "en";
10
+ DeviceLanguage[DeviceLanguage["fr"] = 3] = "fr";
11
+ DeviceLanguage[DeviceLanguage["it"] = 4] = "it";
12
+ DeviceLanguage[DeviceLanguage["nl"] = 5] = "nl";
13
+ DeviceLanguage[DeviceLanguage["es"] = 6] = "es";
14
+ DeviceLanguage[DeviceLanguage["pt"] = 7] = "pt";
15
+ DeviceLanguage[DeviceLanguage["tr"] = 8] = "tr";
16
+ DeviceLanguage[DeviceLanguage["pl"] = 9] = "pl";
17
+ DeviceLanguage[DeviceLanguage["uk"] = 10] = "uk";
18
+ return DeviceLanguage;
19
+ }({});
@@ -12,6 +12,7 @@ var _deviceHelper = _interopRequireWildcard(require("../util/deviceHelper"));
12
12
  var _getUserInfo = _interopRequireDefault(require("../calls/getUserInfo"));
13
13
  var _sendMessage = require("../calls/sendMessage");
14
14
  var _apiListenerHelper = require("../helper/apiListenerHelper");
15
+ var _languages = require("../constants/languages");
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  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; }
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -26,7 +27,8 @@ class AppWrapper {
26
27
  var _window, _colorMode, _window2, _AppInfo$TappSelected;
27
28
  const {
28
29
  AppInfo,
29
- AppUser
30
+ AppUser,
31
+ Device
30
32
  } = retVal;
31
33
  this.accessToken = AppUser.TobitAccessToken;
32
34
  const urlParams = new URLSearchParams(location.search);
@@ -60,6 +62,10 @@ class AppWrapper {
60
62
  // ignore
61
63
  }
62
64
  }
65
+ let language = AppInfo.Language;
66
+ if (!language) {
67
+ language = _languages.DeviceLanguage[Number.parseInt(Device === null || Device === void 0 ? void 0 : Device.LanguageID, 10)] || 'de';
68
+ }
63
69
  return {
64
70
  device: (0, _deviceHelper.default)(navigator.userAgent, 'image/webp'),
65
71
  environment: {
@@ -67,12 +73,11 @@ class AppWrapper {
67
73
  runtimeEnvironment: _IChaynsReact.RuntimeEnviroment.Unknown
68
74
  },
69
75
  language: {
70
- site: urlParamsLowerCase.get('lang') || AppInfo.Language,
76
+ site: language,
71
77
  translation: null,
72
- device: urlParamsLowerCase.get('lang') || AppInfo.Language,
73
- active: urlParamsLowerCase.get('lang') || AppInfo.Language
78
+ device: language,
79
+ active: language
74
80
  },
75
- // ToDo: Find better way to detect
76
81
  site: {
77
82
  id: AppInfo.SiteID,
78
83
  locationId: AppInfo.LocationID,
@@ -573,12 +578,14 @@ class AppWrapper {
573
578
  this.values = this.mapOldApiToNew(await this.appCall(18));
574
579
  this.appCall(66, {
575
580
  enabled: true,
576
- callback: value => {
577
- if ('tobitAccessToken' in value) {
578
- this.accessToken = value.tobitAccessToken;
579
- } else {
580
- this.mapOldApiToNew(value);
581
- }
581
+ callback: async () => {
582
+ this.values = this.mapOldApiToNew(await this.appCall(18));
583
+ document.dispatchEvent(new CustomEvent('chayns_api_data', {
584
+ detail: {
585
+ type: 'user',
586
+ value: this.values.user
587
+ }
588
+ }));
582
589
  }
583
590
  });
584
591
  return undefined;
@@ -282,12 +282,12 @@ export const storageSetItem = function () {
282
282
  export const vibrate = function () {
283
283
  return moduleWrapper.current.functions.vibrate(...arguments);
284
284
  };
285
+
285
286
  /**
286
287
  * This method creates a dialog
287
288
  */
288
- export const createDialog = function () {
289
- return moduleWrapper.current.functions.createDialog(...arguments);
290
- };
289
+ // @ts-ignore
290
+ export const createDialog = config => moduleWrapper.current.functions.createDialog(config);
291
291
  /**
292
292
  * Displays an overlay
293
293
  */
@@ -0,0 +1,13 @@
1
+ export let DeviceLanguage = /*#__PURE__*/function (DeviceLanguage) {
2
+ DeviceLanguage[DeviceLanguage["de"] = 1] = "de";
3
+ DeviceLanguage[DeviceLanguage["en"] = 2] = "en";
4
+ DeviceLanguage[DeviceLanguage["fr"] = 3] = "fr";
5
+ DeviceLanguage[DeviceLanguage["it"] = 4] = "it";
6
+ DeviceLanguage[DeviceLanguage["nl"] = 5] = "nl";
7
+ DeviceLanguage[DeviceLanguage["es"] = 6] = "es";
8
+ DeviceLanguage[DeviceLanguage["pt"] = 7] = "pt";
9
+ DeviceLanguage[DeviceLanguage["tr"] = 8] = "tr";
10
+ DeviceLanguage[DeviceLanguage["pl"] = 9] = "pl";
11
+ DeviceLanguage[DeviceLanguage["uk"] = 10] = "uk";
12
+ return DeviceLanguage;
13
+ }({});
@@ -12,13 +12,15 @@ import getDeviceInfo, { getScreenSize } from '../util/deviceHelper';
12
12
  import getUserInfo from '../calls/getUserInfo';
13
13
  import { sendMessageToGroup, sendMessageToPage, sendMessageToUser } from '../calls/sendMessage';
14
14
  import { addApiListener, dispatchApiEvent, removeApiListener } from '../helper/apiListenerHelper';
15
+ import { DeviceLanguage } from "../constants/languages";
15
16
  let appWrapperDialogId = 0;
16
17
  export class AppWrapper {
17
18
  mapOldApiToNew(retVal) {
18
19
  var _window, _colorMode, _window2, _AppInfo$TappSelected;
19
20
  const {
20
21
  AppInfo,
21
- AppUser
22
+ AppUser,
23
+ Device
22
24
  } = retVal;
23
25
  this.accessToken = AppUser.TobitAccessToken;
24
26
  const urlParams = new URLSearchParams(location.search);
@@ -52,6 +54,10 @@ export class AppWrapper {
52
54
  // ignore
53
55
  }
54
56
  }
57
+ let language = AppInfo.Language;
58
+ if (!language) {
59
+ language = DeviceLanguage[Number.parseInt(Device === null || Device === void 0 ? void 0 : Device.LanguageID, 10)] || 'de';
60
+ }
55
61
  return {
56
62
  device: getDeviceInfo(navigator.userAgent, 'image/webp'),
57
63
  environment: {
@@ -59,12 +65,11 @@ export class AppWrapper {
59
65
  runtimeEnvironment: RuntimeEnviroment.Unknown
60
66
  },
61
67
  language: {
62
- site: urlParamsLowerCase.get('lang') || AppInfo.Language,
68
+ site: language,
63
69
  translation: null,
64
- device: urlParamsLowerCase.get('lang') || AppInfo.Language,
65
- active: urlParamsLowerCase.get('lang') || AppInfo.Language
70
+ device: language,
71
+ active: language
66
72
  },
67
- // ToDo: Find better way to detect
68
73
  site: {
69
74
  id: AppInfo.SiteID,
70
75
  locationId: AppInfo.LocationID,
@@ -571,12 +576,14 @@ export class AppWrapper {
571
576
  this.values = this.mapOldApiToNew(await this.appCall(18));
572
577
  this.appCall(66, {
573
578
  enabled: true,
574
- callback: value => {
575
- if ('tobitAccessToken' in value) {
576
- this.accessToken = value.tobitAccessToken;
577
- } else {
578
- this.mapOldApiToNew(value);
579
- }
579
+ callback: async () => {
580
+ this.values = this.mapOldApiToNew(await this.appCall(18));
581
+ document.dispatchEvent(new CustomEvent('chayns_api_data', {
582
+ detail: {
583
+ type: 'user',
584
+ value: this.values.user
585
+ }
586
+ }));
580
587
  }
581
588
  });
582
589
  return undefined;
@@ -200,7 +200,7 @@ export declare const vibrate: (value: import("../types/IChaynsReact").Vibrate) =
200
200
  /**
201
201
  * This method creates a dialog
202
202
  */
203
- export declare const createDialog: (config: import("../types/IChaynsReact").Dialog) => import("..").DialogHandler;
203
+ export declare const createDialog: ChaynsReactFunctions["createDialog"];
204
204
  /**
205
205
  * Displays an overlay
206
206
  */
@@ -233,9 +233,7 @@ export declare const getParameters: () => {
233
233
  export declare const getPages: () => import("../types/IChaynsReact").Page[];
234
234
  export declare const getEnvironment: () => {
235
235
  buildEnvironment: import("../types/IChaynsReact").Environment;
236
- runtimeEnvironment: string | import("../types/IChaynsReact").RuntimeEnviroment; /**
237
- * Refresh accesstoken, should only be used when user object changes, not when token is invalid
238
- */
236
+ runtimeEnvironment: string | import("../types/IChaynsReact").RuntimeEnviroment;
239
237
  };
240
238
  export declare const user: UserInfo;
241
239
  export declare const site: ChaynsApiSite;
@@ -253,7 +251,5 @@ export declare const parameters: {
253
251
  export declare const pages: import("../types/IChaynsReact").Page[];
254
252
  export declare const environment: {
255
253
  buildEnvironment: import("../types/IChaynsReact").Environment;
256
- runtimeEnvironment: string | import("../types/IChaynsReact").RuntimeEnviroment; /**
257
- * Refresh accesstoken, should only be used when user object changes, not when token is invalid
258
- */
254
+ runtimeEnvironment: string | import("../types/IChaynsReact").RuntimeEnviroment;
259
255
  };
@@ -0,0 +1,12 @@
1
+ export declare enum DeviceLanguage {
2
+ de = 1,
3
+ en = 2,
4
+ fr = 3,
5
+ it = 4,
6
+ nl = 5,
7
+ es = 6,
8
+ pt = 7,
9
+ tr = 8,
10
+ pl = 9,
11
+ uk = 10
12
+ }
@@ -1,4 +1,4 @@
1
- export default class DialogHandler {
1
+ export default class DialogHandler<S = void, T extends any = void> {
2
2
  private dialogId;
3
3
  private isOpen;
4
4
  private result;
@@ -9,10 +9,13 @@ export default class DialogHandler {
9
9
  private readonly _addDataListener;
10
10
  private readonly listeners;
11
11
  constructor(config: any, open: any, close: any, dispatchEvent: any, addDataListener: any);
12
- open(): Promise<unknown>;
12
+ open(): Promise<{
13
+ buttonType: number;
14
+ value: T extends undefined ? S : T;
15
+ }>;
13
16
  close(buttonType: any, data: any): void;
14
17
  dispatchEvent(data: object): void;
15
18
  addDataListener(listener: (data: any) => void): void;
16
19
  removeDataListener(listener: (data: any) => void): void;
17
- getResult(): any;
20
+ getResult(): T;
18
21
  }
@@ -61,23 +61,23 @@ export interface BaseDialog {
61
61
  config?: any;
62
62
  };
63
63
  }
64
- export type Dialog = BaseDialog & (DialogAlert | DialogConfirm | DialogInput | DialogModule | DialogIFrame | DialogSelect | DialogDate | DialogToast | DialogFileSelect | DialogSignature);
64
+ export type Dialog<T extends any = object> = BaseDialog & (DialogAlert | DialogConfirm | DialogInput | DialogModule<T> | DialogIFrame<T> | DialogSelect | DialogDate | DialogToast);
65
65
  export interface DialogSignature {
66
66
  type: DialogType.SIGNATURE;
67
67
  }
68
- export interface DialogModule {
68
+ export interface DialogModule<T extends any = object> {
69
69
  type: DialogType.MODULE;
70
70
  system: {
71
71
  url: string;
72
72
  module: string;
73
73
  scope: string;
74
74
  };
75
- dialogInput: object;
75
+ dialogInput?: T;
76
76
  }
77
- export interface DialogIFrame {
77
+ export interface DialogIFrame<T extends any = object> {
78
78
  type: DialogType.IFRAME;
79
79
  url: string;
80
- dialogInput: object;
80
+ dialogInput?: T;
81
81
  }
82
82
  export declare enum DialogInputType {
83
83
  NUMBER = "number",
@@ -88,8 +88,8 @@ export declare enum DialogInputType {
88
88
  }
89
89
  export interface DialogInput {
90
90
  type: DialogType.INPUT;
91
- placeholder: string;
92
- inputType: DialogInputType;
91
+ placeholder?: string;
92
+ inputType?: DialogInputType;
93
93
  defaultValue?: string;
94
94
  formatter?: (input: string) => string;
95
95
  }
@@ -216,6 +216,30 @@ export interface ChaynsReactValues {
216
216
  isClosingRequested: boolean;
217
217
  };
218
218
  }
219
+ export interface DialogResultFile {
220
+ blockDownload?: boolean;
221
+ contentType: string;
222
+ filename: string;
223
+ id: number;
224
+ key: string;
225
+ modifyTime: string;
226
+ personId: string;
227
+ protected?: boolean;
228
+ size: number;
229
+ url: string;
230
+ }
231
+ type DialogResultValue<T> = {
232
+ [DialogType.INPUT]: string;
233
+ [DialogType.SELECT]: number[];
234
+ [DialogType.CONFIRM]: void;
235
+ [DialogType.ALERT]: void;
236
+ [DialogType.DATE]: Date;
237
+ [DialogType.FILE_SELECT]: DialogResultFile[];
238
+ [DialogType.IFRAME]: T;
239
+ [DialogType.MODULE]: T;
240
+ [DialogType.SIGNATURE]: string;
241
+ [DialogType.TOAST]: void;
242
+ };
219
243
  /**
220
244
  * @ignore
221
245
  */
@@ -275,7 +299,7 @@ export interface ChaynsReactFunctions {
275
299
  vibrate: (value: Vibrate) => Promise<void>;
276
300
  scrollByY: (position: number, duration?: number) => Promise<void>;
277
301
  setOverlay: (value: ShowOverlay, callback: () => void) => Promise<void>;
278
- createDialog: (config: Dialog) => DialogHandler;
302
+ createDialog: <I extends any = undefined, T extends any = undefined, Z extends Dialog<I> = Dialog<I>>(config: Z) => DialogHandler<DialogResultValue<T>[Z["type"]], T>;
279
303
  openDialog: (value: any, callback: (data: any) => any) => Promise<any>;
280
304
  closeDialog: (dialogId: number) => Promise<void>;
281
305
  setDialogResult: (buttonType: DialogButtonType, result: any) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chayns-api",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "new chayns api",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",