@openfin/workspace-platform 17.0.12 → 17.2.1

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.
@@ -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>;
@@ -1,3 +1,4 @@
1
1
  import type OpenFin from '@openfin/core';
2
+ import { NotificationsCustomManifestOptions } from '../../../../common/src/api/shapes/notifications';
2
3
  import { BrowserInitConfig, WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '../../../../client-api-platform/src/shapes';
3
- export declare const getOverrideCallback: (browserInitOptions: BrowserInitConfig | null, overrideCallback?: WorkspacePlatformOverrideCallback) => OpenFin.OverrideCallback<WorkspacePlatformProvider>;
4
+ export declare const getOverrideCallback: (browserInitOptions: BrowserInitConfig | null, overrideCallback?: WorkspacePlatformOverrideCallback, notificationsConfig?: NotificationsCustomManifestOptions) => OpenFin.OverrideCallback<WorkspacePlatformProvider>;
@@ -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>;
@@ -4,6 +4,7 @@ import type { AnalyticsEvent, AnalyticsEventInternal } from '../../common/src/ut
4
4
  import { CustomActionSpecifier, CustomButtonConfig } from '../../common/src/api/action';
5
5
  import type { AttachedPage, CopyPagePayload, HandleSaveModalOnPageClosePayload, Page, PageWithUpdatableRuntimeAttribs, SaveModalOnPageCloseResult } from '../../common/src/api/pages/shapes';
6
6
  import { SetActivePageForWindowPayload } from '../../common/src/api/pages/shapes';
7
+ import { NotificationsCustomManifestOptions } from '../../common/src/api/shapes/notifications';
7
8
  import type { CustomThemes } from '../../common/src/api/theming';
8
9
  import type { App, DockProviderConfigWithIdentity, StoreButtonConfig } from '../../client-api/src/shapes';
9
10
  import type { WorkflowIntegration } from '../../client-api/src/shapes/integrations';
@@ -1361,6 +1362,35 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
1361
1362
  * ```
1362
1363
  */
1363
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>;
1390
+ /**
1391
+ * Implementation for getting the notifications workspace platform configuration.
1392
+ */
1393
+ getNotificationsConfig(): Promise<NotificationsCustomManifestOptions | undefined>;
1364
1394
  /**
1365
1395
  * The browser window factory for the Workspace Platform.
1366
1396
  */
@@ -1605,6 +1635,8 @@ export interface AnalyticsConfig {
1605
1635
  */
1606
1636
  sendToOpenFin: boolean;
1607
1637
  }
1638
+ export declare const SUPPORTED_LANGUAGES: readonly ["en-US", "ja-JP", "zh-CN", "ko-KR", "ru-RU", "de-DE", "zh-Hant"];
1639
+ export type Locale = (typeof SUPPORTED_LANGUAGES)[number];
1608
1640
  /**
1609
1641
  * Configuration for initializing a Workspace platform.
1610
1642
  */
@@ -1668,6 +1700,27 @@ export interface WorkspacePlatformInitConfig {
1668
1700
  * ```
1669
1701
  */
1670
1702
  theme?: CustomThemes;
1703
+ /**
1704
+ * Set a language on Browser by providing one of the seven languages that Workspace supports
1705
+ * Must specify one of the ISO language codes 'en-US', 'ja-JP', 'zh-CN', 'ko-KR', 'ru-RU', 'de-DE' or 'zh-Hant'
1706
+ *
1707
+ * @example
1708
+ * ```ts
1709
+ * await WorkspacePlatform.init({
1710
+ * browser: {
1711
+ * title: "My Browser"
1712
+ * },
1713
+ * language: {
1714
+ * initialLanguage: 'ru-RU'
1715
+ * }
1716
+ * });
1717
+ * ```
1718
+ * @default 'en-EN'
1719
+ *
1720
+ */
1721
+ language?: {
1722
+ initialLanguage?: Locale;
1723
+ };
1671
1724
  /**
1672
1725
  * Override workspace platform behavior
1673
1726
  */
@@ -1704,6 +1757,11 @@ export interface WorkspacePlatformInitConfig {
1704
1757
  * ```
1705
1758
  */
1706
1759
  integrations?: WorkflowIntegration[];
1760
+ /**
1761
+ * Config for overriding default notifications behaviour.
1762
+ * Leave undefined to use OpenFin hosted Notification Center.
1763
+ */
1764
+ notifications?: NotificationsCustomManifestOptions;
1707
1765
  }
1708
1766
  /**
1709
1767
  * Extend or replace default functionality in order to customize behavior of a Workspace Platform Provider.
@@ -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,11 +51,15 @@ 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",
57
60
  CopyPage = "copyPage",
58
- HandlePageChanges = "handlePageChanges"
61
+ HandlePageChanges = "handlePageChanges",
62
+ GetNotificationsConfig = "getNotificationsConfig"
59
63
  }
60
64
  export type PlatFormSupportedFeatures = boolean | {
61
65
  isWorkspacePlatform: boolean;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Options for using privately hosted notification service.
3
+ */
4
+ export type NotificationsCustomManifestOptions = {
5
+ /**
6
+ * A custom manifest location to start the notification service from.
7
+ * The UUID cannot be OpenFin hosted Notification Service UUID, 'notifications-service'.
8
+ */
9
+ manifestUrl: string;
10
+ /**
11
+ * The UUID of the provided custom notifications service manifest.
12
+ * This value **MUST** match the UUID of the manifest provided in `manifestUrl`.
13
+ */
14
+ manifestUuid: string;
15
+ };
@@ -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[]>;
@@ -62,8 +62,6 @@ export declare const mapContentComponentState: (content: OpenFin.LayoutContent)
62
62
  export declare const getLayoutWithSingleView: (title: string, url: string, winIdentity?: OpenFin.Identity) => Promise<any>;
63
63
  export declare const isLayoutTabActive: (tabSelector: string) => boolean;
64
64
  export declare const containerId = "layout_container";
65
- export declare const getViewComponents: () => OpenFin.LayoutContent;
66
- export declare const removeLayoutView: (name: string) => Promise<void>;
67
65
  export declare const addLayoutEventListener: (event: LayoutDOMEventType, listener: LayoutDOMEventListener) => void;
68
66
  /**
69
67
  * Initialize the layout for the current OF window.
@@ -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
  };