@openfin/workspace-platform 17.2.0 → 17.2.2

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.
@@ -5,4 +5,4 @@ import type { LaunchAppRequest } from '../shapes';
5
5
  * @param app the app directory entry.
6
6
  * @param opts launch options.
7
7
  */
8
- export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | OpenFin.Application | OpenFin.Identity | OpenFin.View | OpenFin.Platform>;
8
+ export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | OpenFin.View | OpenFin.Identity | OpenFin.Platform | OpenFin.Application>;
@@ -0,0 +1,13 @@
1
+ import { Locale } from '../../../client-api-platform/src/shapes';
2
+ export declare function getLanguage(): Locale;
3
+ export declare const dispatchLanguageToBrowserWindows: (language: Locale) => Promise<void[]>;
4
+ export declare const setLanguage: (locale: Locale) => Promise<void>;
5
+ export declare function getLanguageResourcesInternal(): {
6
+ currentLanguage: "en-US" | "ja-JP" | "zh-CN" | "ko-KR" | "ru-RU" | "de-DE" | "zh-Hant";
7
+ resources: import("i18next/typescript/options").Resource;
8
+ };
9
+ /**
10
+ * initLanguage()
11
+ * @param language - optional - ISO language code
12
+ */
13
+ export default function initLanguage(language?: Locale): Promise<void>;
@@ -0,0 +1 @@
1
+ import '@common/test/fin-mocks';
@@ -0,0 +1,19 @@
1
+ import type { i18next as i18n } from '../../../common/src/api/i18next';
2
+ /**
3
+ * Returns a score for a version string depending on how specific it is. Higher == more specific.
4
+ * E.g. 16.x.0 gives a score of 101 whereas 16.5.0 returns 111
5
+ * @param versionString 3-fragment version string, e.g. 15.0.4, where fragments can be 'x' for generic templates
6
+ * @returns score from 0 to 111
7
+ */
8
+ export declare const weighVersionString: (versionString: string) => number;
9
+ /**
10
+ * Returns array of versions from less specific to more specific
11
+ * @param matchingVersions versions and templates relevant to the running build
12
+ */
13
+ export declare const getVersionsSortedByPriority: (matchingVersions: string[]) => string[];
14
+ /**
15
+ * Applies translation overrides to the i18next dictionary.
16
+ * In case of failure logs an error without preventing further execution.
17
+ * @param i18next i18next instance to which to apply the overrides
18
+ */
19
+ export declare const applyTranslationOverrides: (i18next: typeof i18n) => Promise<void>;
@@ -34,4 +34,4 @@ import type { WorkspacePlatformInitConfig } from '../shapes';
34
34
  * ```
35
35
  * @param options options for configuring the platform.
36
36
  */
37
- export declare const init: ({ theme, customActions, ...rest }: WorkspacePlatformInitConfig) => Promise<void>;
37
+ export declare const init: ({ theme, customActions, language, ...rest }: WorkspacePlatformInitConfig) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type OpenFin from '@openfin/core';
2
+ export declare const getInteropOverrideCallback: (overrideCallback?: OpenFin.OverrideCallback<OpenFin.InteropBroker, OpenFin.InteropBroker>) => OpenFin.OverrideCallback<OpenFin.InteropBroker, OpenFin.InteropBroker>;
@@ -1362,6 +1362,31 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
1362
1362
  * ```
1363
1363
  */
1364
1364
  applyWorkspace(workspace: Workspace, options?: ApplyWorkspaceOptions): Promise<boolean>;
1365
+ /**
1366
+ * Returns ISO language code of current set language
1367
+ *
1368
+ * @returns One of the seven ISO language codes Browser supports
1369
+ *
1370
+ * @example Example of how to get the current language on Browser
1371
+ *
1372
+ * ```ts
1373
+ * import * as WorkspacePlatform from '@openfin/workspace-platform';
1374
+ * WorkspacePlatform.getCurrentSync().getLanguage();
1375
+ * ```
1376
+ */
1377
+ getLanguage(): Promise<Locale>;
1378
+ /**
1379
+ * Sets the language to ISO language code passed in
1380
+ * @param locale the ISO language code
1381
+ *
1382
+ * @example Example of how to set a different language on Browser
1383
+ *
1384
+ * ```ts
1385
+ * import * as WorkspacePlatform from '@openfin/workspace-platform';
1386
+ * WorkspacePlatform.getCurrentSync().setLanguage('zh-CN');
1387
+ * ```
1388
+ */
1389
+ setLanguage(locale: Locale): Promise<void>;
1365
1390
  /**
1366
1391
  * Implementation for getting the notifications workspace platform configuration.
1367
1392
  */
@@ -1516,7 +1541,11 @@ export interface WorkspacePlatformProvider extends OpenFin.PlatformProvider {
1516
1541
  */
1517
1542
  setActivePage(payload: SetActivePageForWindowPayload): Promise<void>;
1518
1543
  /**
1519
- * Implementation for creating a copy of a page. Called when a page is Saved-As or Duplicated.
1544
+ * Implementation for creating a copy of a page. Called when a page is Saved-As or Duplicated.
1545
+ *
1546
+ * Note: The `page.layout` and `page.panels` property cannot be overridden for 'Save As' operations,
1547
+ * the `page.layout` and `page.panels` property provided in the return value will be ignored, and the layout and panels of
1548
+ * the original page will remain after 'Save As' is performed.
1520
1549
  */
1521
1550
  copyPage(payload: CopyPagePayload): Promise<Page>;
1522
1551
  }
@@ -1610,6 +1639,8 @@ export interface AnalyticsConfig {
1610
1639
  */
1611
1640
  sendToOpenFin: boolean;
1612
1641
  }
1642
+ export declare const SUPPORTED_LANGUAGES: readonly ["en-US", "ja-JP", "zh-CN", "ko-KR", "ru-RU", "de-DE", "zh-Hant"];
1643
+ export type Locale = (typeof SUPPORTED_LANGUAGES)[number];
1613
1644
  /**
1614
1645
  * Configuration for initializing a Workspace platform.
1615
1646
  */
@@ -1673,6 +1704,27 @@ export interface WorkspacePlatformInitConfig {
1673
1704
  * ```
1674
1705
  */
1675
1706
  theme?: CustomThemes;
1707
+ /**
1708
+ * Set a language on Browser by providing one of the seven languages that Workspace supports
1709
+ * Must specify one of the ISO language codes 'en-US', 'ja-JP', 'zh-CN', 'ko-KR', 'ru-RU', 'de-DE' or 'zh-Hant'
1710
+ *
1711
+ * @example
1712
+ * ```ts
1713
+ * await WorkspacePlatform.init({
1714
+ * browser: {
1715
+ * title: "My Browser"
1716
+ * },
1717
+ * language: {
1718
+ * initialLanguage: 'ru-RU'
1719
+ * }
1720
+ * });
1721
+ * ```
1722
+ * @default 'en-EN'
1723
+ *
1724
+ */
1725
+ language?: {
1726
+ initialLanguage?: Locale;
1727
+ };
1676
1728
  /**
1677
1729
  * Override workspace platform behavior
1678
1730
  */
@@ -0,0 +1,7 @@
1
+ import i18next, { type Resource } from 'i18next';
2
+ import { Locale } from '../../../client-api-platform/src/shapes';
3
+ declare function initI18next(language?: Locale): void;
4
+ export declare const setLanguageInI18next: (locale: Locale) => void;
5
+ declare const t: import("i18next").TFunction<["translation", ...string[]], undefined>;
6
+ export { initI18next, i18next, t, type Resource };
7
+ export { useTranslation } from 'react-i18next';
@@ -17,6 +17,7 @@ export interface Overrides {
17
17
  browserBaseUrl: string;
18
18
  disableOpenFinAnalytics: boolean;
19
19
  analyticsEndpoint: string;
20
+ translationOverridesUrl: string;
20
21
  }
21
22
  export declare function getOverrides(): Promise<Partial<Overrides>>;
22
23
  export declare const useOverrides: () => Partial<Overrides>;
@@ -30,7 +30,8 @@ declare enum GeneralBrowserChannelActions {
30
30
  OpenSaveModalInternal = "open-save-modal-internal",
31
31
  DuplicatePage = "duplicate-page",
32
32
  SetSelectedScheme = "set-selected-scheme",
33
- ShowBrowserIndicator = "show-browser-indicator"
33
+ ShowBrowserIndicator = "show-browser-indicator",
34
+ SetSelectedLanguage = "set-selected-language"
34
35
  }
35
36
  /**
36
37
  * All of the remote procedures that can be called in the
@@ -70,6 +71,7 @@ export declare const BrowserChannelAction: {
70
71
  DuplicatePage: GeneralBrowserChannelActions.DuplicatePage;
71
72
  SetSelectedScheme: GeneralBrowserChannelActions.SetSelectedScheme;
72
73
  ShowBrowserIndicator: GeneralBrowserChannelActions.ShowBrowserIndicator;
74
+ SetSelectedLanguage: GeneralBrowserChannelActions.SetSelectedLanguage;
73
75
  };
74
76
  export type BrowserChannelAction = typeof BrowserChannelAction;
75
77
  export {};
@@ -51,6 +51,9 @@ export declare enum WorkspacePlatformChannelAction {
51
51
  SetActiveWorkspace = "setActiveWorkspace",
52
52
  IsBrowserInitialized = "isBrowserInitialized",
53
53
  Analytics = "analyticsInternal",
54
+ GetLanguage = "getLanguage",
55
+ GetLanguageResourcesInternal = "getLanguageResourcesInternal",
56
+ SetLanguage = "setLanguage",
54
57
  GetDockProviderConfig = "getDockProviderConfig",
55
58
  SaveDockProviderConfig = "saveDockProviderConfig",
56
59
  HandleSaveModalOnPageClose = "handleSaveModalOnPageClose",
@@ -1,54 +1,4 @@
1
1
  import type OpenFin from '@openfin/core';
2
- import { MenuItemType } from '../../../common/src/utils/context-menu';
3
- import * as WP from '../../../client-api-platform/src/index';
4
- import { GlobalContextMenuItemTemplate, GlobalContextMenuOptionType, Workspace } from '../../../client-api-platform/src/shapes';
2
+ import { GlobalContextMenuItemTemplate } from '../../../client-api-platform/src/shapes';
5
3
  export declare const isOSWindows: () => Promise<boolean>;
6
- export declare const savePage: {
7
- type: MenuItemType;
8
- label: string;
9
- data: {
10
- type: WP.GlobalContextMenuOptionType;
11
- };
12
- };
13
- export declare const savePageAs: {
14
- type: MenuItemType;
15
- label: string;
16
- data: {
17
- type: WP.GlobalContextMenuOptionType;
18
- };
19
- };
20
- export declare const saveWorkspace: {
21
- type: MenuItemType;
22
- label: string;
23
- data: {
24
- type: WP.GlobalContextMenuOptionType;
25
- };
26
- };
27
- export declare const saveWorkspaceAs: {
28
- type: MenuItemType;
29
- label: string;
30
- data: {
31
- type: WP.GlobalContextMenuOptionType;
32
- };
33
- };
34
- export declare const printMenuOptions: (isViewSelected: boolean) => Promise<GlobalContextMenuItemTemplate>;
35
- export declare const getSavedWorkspaceContextMenuOptions: (activeWorkspace: Workspace, savedWorkspaces: Workspace[], contextMenuOptionType: GlobalContextMenuOptionType) => {
36
- label: string;
37
- type: MenuItemType;
38
- enabled: boolean;
39
- checked: boolean;
40
- data: {
41
- type: WP.GlobalContextMenuOptionType;
42
- workspaceId: string;
43
- };
44
- }[];
45
- export declare const getAppearanceContextMenuOptions: () => Promise<{
46
- label: string;
47
- type: MenuItemType;
48
- checked: boolean;
49
- data: {
50
- type: WP.GlobalContextMenuOptionType;
51
- scheme: WP.ColorSchemeOptionType;
52
- };
53
- }[]>;
54
4
  export declare const getGlobalContextMenuTemplate: (winIdentity: OpenFin.Identity, selectedViews?: OpenFin.Identity[]) => Promise<GlobalContextMenuItemTemplate[]>;
@@ -36,4 +36,5 @@ export interface RightButtonConfig {
36
36
  export type ButtonConfig = {
37
37
  label: string;
38
38
  type: 'primary' | 'secondary';
39
+ id: string;
39
40
  };