@openfin/workspace 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.
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * This module exports only notifications types that are not defined in 'openfin-notifications' npm package
3
3
  */
4
+ import { NotificationsCustomManifestOptions } from '../../../common/src/api/shapes/notifications';
4
5
  /**
5
6
  * Platform object to pass to `register` function.
6
7
  *
@@ -36,4 +37,5 @@ export interface NotificationsPlatform {
36
37
  }
37
38
  export interface NotificationsRegisterOptions {
38
39
  notificationsPlatformOptions?: NotificationsPlatform;
40
+ notificationsCustomManifest?: NotificationsCustomManifestOptions;
39
41
  }
@@ -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,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>;
@@ -2,8 +2,10 @@ import type OpenFin from '@openfin/core';
2
2
  import { IconProps } from '@openfin/ui-library';
3
3
  import type { AnalyticsEvent, AnalyticsEventInternal } from '../../common/src/utils/usage-register';
4
4
  import { CustomActionSpecifier, CustomButtonConfig } from '../../common/src/api/action';
5
+ import { Resource } from '../../common/src/api/i18next';
5
6
  import type { AttachedPage, CopyPagePayload, HandleSaveModalOnPageClosePayload, Page, PageWithUpdatableRuntimeAttribs, SaveModalOnPageCloseResult } from '../../common/src/api/pages/shapes';
6
7
  import { SetActivePageForWindowPayload } from '../../common/src/api/pages/shapes';
8
+ import { NotificationsCustomManifestOptions } from '../../common/src/api/shapes/notifications';
7
9
  import type { CustomThemes } from '../../common/src/api/theming';
8
10
  import type { App, DockProviderConfigWithIdentity, StoreButtonConfig } from '../../client-api/src/shapes';
9
11
  import type { WorkflowIntegration } from '../../client-api/src/shapes/integrations';
@@ -1413,6 +1415,43 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
1413
1415
  * ```
1414
1416
  */
1415
1417
  applyWorkspace(workspace: Workspace, options?: ApplyWorkspaceOptions): Promise<boolean>;
1418
+ /**
1419
+ * Returns ISO language code of current set language
1420
+ *
1421
+ * @returns One of the seven ISO language codes Browser supports
1422
+ *
1423
+ * @example Example of how to get the current language on Browser
1424
+ *
1425
+ * ```ts
1426
+ * import * as WorkspacePlatform from '@openfin/workspace-platform';
1427
+ * WorkspacePlatform.getCurrentSync().getLanguage();
1428
+ * ```
1429
+ */
1430
+ getLanguage(): Promise<Locale>;
1431
+ /**
1432
+ * Fetches currently selected language and language resources from platform provider.
1433
+ * @internal
1434
+ */
1435
+ _getLanguageResources(): Promise<{
1436
+ currentLanguage: Locale;
1437
+ resources: Resource;
1438
+ }>;
1439
+ /**
1440
+ * Sets the language to ISO language code passed in
1441
+ * @param locale the ISO language code
1442
+ *
1443
+ * @example Example of how to set a different language on Browser
1444
+ *
1445
+ * ```ts
1446
+ * import * as WorkspacePlatform from '@openfin/workspace-platform';
1447
+ * WorkspacePlatform.getCurrentSync().setLanguage('zh-CN');
1448
+ * ```
1449
+ */
1450
+ setLanguage(locale: Locale): Promise<void>;
1451
+ /**
1452
+ * Implementation for getting the notifications workspace platform configuration.
1453
+ */
1454
+ getNotificationsConfig(): Promise<NotificationsCustomManifestOptions | undefined>;
1416
1455
  /**
1417
1456
  * The browser window factory for the Workspace Platform.
1418
1457
  */
@@ -1675,6 +1714,8 @@ export interface AnalyticsConfig {
1675
1714
  */
1676
1715
  sendToOpenFin: boolean;
1677
1716
  }
1717
+ export declare const SUPPORTED_LANGUAGES: readonly ["en-US", "ja-JP", "zh-CN", "ko-KR", "ru-RU", "de-DE", "zh-Hant"];
1718
+ export type Locale = (typeof SUPPORTED_LANGUAGES)[number];
1678
1719
  /**
1679
1720
  * Configuration for initializing a Workspace platform.
1680
1721
  */
@@ -1738,6 +1779,27 @@ export interface WorkspacePlatformInitConfig {
1738
1779
  * ```
1739
1780
  */
1740
1781
  theme?: CustomThemes;
1782
+ /**
1783
+ * Set a language on Browser by providing one of the seven languages that Workspace supports
1784
+ * Must specify one of the ISO language codes 'en-US', 'ja-JP', 'zh-CN', 'ko-KR', 'ru-RU', 'de-DE' or 'zh-Hant'
1785
+ *
1786
+ * @example
1787
+ * ```ts
1788
+ * await WorkspacePlatform.init({
1789
+ * browser: {
1790
+ * title: "My Browser"
1791
+ * },
1792
+ * language: {
1793
+ * initialLanguage: 'ru-RU'
1794
+ * }
1795
+ * });
1796
+ * ```
1797
+ * @default 'en-EN'
1798
+ *
1799
+ */
1800
+ language?: {
1801
+ initialLanguage?: Locale;
1802
+ };
1741
1803
  /**
1742
1804
  * Override workspace platform behavior
1743
1805
  */
@@ -1774,6 +1836,11 @@ export interface WorkspacePlatformInitConfig {
1774
1836
  * ```
1775
1837
  */
1776
1838
  integrations?: WorkflowIntegration[];
1839
+ /**
1840
+ * Config for overriding default notifications behaviour.
1841
+ * Leave undefined to use OpenFin hosted Notification Center.
1842
+ */
1843
+ notifications?: NotificationsCustomManifestOptions;
1777
1844
  }
1778
1845
  /**
1779
1846
  * 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
  };