@openfin/core 41.100.62 → 41.100.63

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/out/mock.js +1137 -1158
  2. package/package.json +1 -1
package/out/mock.js CHANGED
@@ -840,11 +840,11 @@ const handleDeprecatedWarnings = (options) => {
840
840
  };
841
841
  warnings.handleDeprecatedWarnings = handleDeprecatedWarnings;
842
842
 
843
- var hasRequiredFactory$2;
843
+ var hasRequiredFactory$1;
844
844
 
845
- function requireFactory$2 () {
846
- if (hasRequiredFactory$2) return Factory$6;
847
- hasRequiredFactory$2 = 1;
845
+ function requireFactory$1 () {
846
+ if (hasRequiredFactory$1) return Factory$6;
847
+ hasRequiredFactory$1 = 1;
848
848
  Object.defineProperty(Factory$6, "__esModule", { value: true });
849
849
  Factory$6.ViewModule = void 0;
850
850
  const base_1 = base;
@@ -1059,8 +1059,8 @@ var main = {};
1059
1059
 
1060
1060
  Object.defineProperty(main, "__esModule", { value: true });
1061
1061
  main.WebContents = void 0;
1062
- const base_1$m = base;
1063
- class WebContents extends base_1$m.EmitterBase {
1062
+ const base_1$o = base;
1063
+ class WebContents extends base_1$o.EmitterBase {
1064
1064
  /**
1065
1065
  * @param identity The identity of the {@link OpenFin.WebContentsEvents WebContents}.
1066
1066
  * @param entityType The type of the {@link OpenFin.WebContentsEvents WebContents}.
@@ -2141,11 +2141,11 @@ class WebContents extends base_1$m.EmitterBase {
2141
2141
  }
2142
2142
  main.WebContents = WebContents;
2143
2143
 
2144
- var hasRequiredInstance$2;
2144
+ var hasRequiredInstance$1;
2145
2145
 
2146
- function requireInstance$2 () {
2147
- if (hasRequiredInstance$2) return Instance$5;
2148
- hasRequiredInstance$2 = 1;
2146
+ function requireInstance$1 () {
2147
+ if (hasRequiredInstance$1) return Instance$5;
2148
+ hasRequiredInstance$1 = 1;
2149
2149
  var _View_providerChannelClient;
2150
2150
  Object.defineProperty(Instance$5, "__esModule", { value: true });
2151
2151
  Instance$5.View = void 0;
@@ -2725,1160 +2725,1139 @@ function requireView () {
2725
2725
  *
2726
2726
  * @packageDocumentation
2727
2727
  */
2728
- __exportStar(requireFactory$2(), exports);
2729
- __exportStar(requireInstance$2(), exports);
2728
+ __exportStar(requireFactory$1(), exports);
2729
+ __exportStar(requireInstance$1(), exports);
2730
2730
  } (view));
2731
2731
  return view;
2732
2732
  }
2733
2733
 
2734
- var hasRequiredInstance$1;
2735
-
2736
- function requireInstance$1 () {
2737
- if (hasRequiredInstance$1) return Instance$6;
2738
- hasRequiredInstance$1 = 1;
2739
- Object.defineProperty(Instance$6, "__esModule", { value: true });
2740
- Instance$6.Application = void 0;
2741
- /* eslint-disable import/prefer-default-export */
2742
- const base_1 = base;
2743
- const window_1 = requireWindow();
2744
- const view_1 = requireView();
2745
- /**
2746
- * An object representing an application. Allows the developer to create,
2747
- * execute, show/close an application as well as listen to {@link OpenFin.ApplicationEvents application events}.
2748
- */
2749
- class Application extends base_1.EmitterBase {
2750
- /**
2751
- * @internal
2752
- */
2753
- constructor(wire, identity) {
2754
- super(wire, 'application', identity.uuid);
2755
- this.identity = identity;
2756
- this.window = new window_1._Window(this.wire, {
2757
- uuid: this.identity.uuid,
2758
- name: this.identity.uuid
2759
- });
2760
- }
2761
- windowListFromIdentityList(identityList) {
2762
- const windowList = [];
2763
- identityList.forEach((identity) => {
2764
- windowList.push(new window_1._Window(this.wire, {
2765
- uuid: identity.uuid,
2766
- name: identity.name
2767
- }));
2768
- });
2769
- return windowList;
2770
- }
2771
- /**
2772
- * Determines if the application is currently running.
2773
- *
2774
- * @example
2775
- *
2776
- * ```js
2777
- * async function isAppRunning() {
2778
- * const app = await fin.Application.getCurrent();
2779
- * return await app.isRunning();
2780
- * }
2781
- * isAppRunning().then(running => console.log(`Current app is running: ${running}`)).catch(err => console.log(err));
2782
- * ```
2783
- */
2784
- isRunning() {
2785
- return this.wire.sendAction('is-application-running', this.identity).then(({ payload }) => payload.data);
2786
- }
2787
- /**
2788
- * Closes the application and any child windows created by the application.
2789
- * Cleans the application from state so it is no longer found in getAllApplications.
2790
- * @param force Close will be prevented from closing when force is false and
2791
- * ‘close-requested’ has been subscribed to for application’s main window.
2792
- *
2793
- * @example
2794
- *
2795
- * ```js
2796
- * async function closeApp() {
2797
- * const allApps1 = await fin.System.getAllApplications(); //[{uuid: 'app1', isRunning: true}, {uuid: 'app2', isRunning: true}]
2798
- * const app = await fin.Application.wrap({uuid: 'app2'});
2799
- * await app.quit();
2800
- * const allApps2 = await fin.System.getAllApplications(); //[{uuid: 'app1', isRunning: true}]
2801
- *
2802
- * }
2803
- * closeApp().then(() => console.log('Application quit')).catch(err => console.log(err));
2804
- * ```
2805
- */
2806
- async quit(force = false) {
2807
- try {
2808
- await this._close(force);
2809
- await this.wire.sendAction('destroy-application', { force, ...this.identity });
2810
- }
2811
- catch (error) {
2812
- const acceptableErrors = ['Remote connection has closed', 'Could not locate the requested application'];
2813
- if (!acceptableErrors.some((msg) => error.message.includes(msg))) {
2814
- throw error;
2815
- }
2816
- }
2817
- }
2818
- async _close(force = false) {
2819
- try {
2820
- await this.wire.sendAction('close-application', { force, ...this.identity });
2821
- }
2822
- catch (error) {
2823
- if (!error.message.includes('Remote connection has closed')) {
2824
- throw error;
2825
- }
2826
- }
2827
- }
2828
- /**
2829
- * @deprecated use Application.quit instead
2830
- * Closes the application and any child windows created by the application.
2831
- * @param force - Close will be prevented from closing when force is false and ‘close-requested’ has been subscribed to for application’s main window.
2832
- * @param callback - called if the method succeeds.
2833
- * @param errorCallback - called if the method fails. The reason for failure is passed as an argument.
2834
- *
2835
- * @example
2836
- *
2837
- * ```js
2838
- * async function closeApp() {
2839
- * const app = await fin.Application.getCurrent();
2840
- * return await app.close();
2841
- * }
2842
- * closeApp().then(() => console.log('Application closed')).catch(err => console.log(err));
2843
- * ```
2844
- */
2845
- close(force = false) {
2846
- console.warn('Deprecation Warning: Application.close is deprecated Please use Application.quit');
2847
- this.wire.sendAction('application-close', this.identity).catch((e) => {
2848
- // we do not want to expose this error, just continue if this analytics-only call fails
2849
- });
2850
- return this._close(force);
2851
- }
2852
- /**
2853
- * Retrieves an array of wrapped fin.Windows for each of the application’s child windows.
2854
- *
2855
- * @example
2856
- *
2857
- * ```js
2858
- * async function getChildWindows() {
2859
- * const app = await fin.Application.getCurrent();
2860
- * return await app.getChildWindows();
2861
- * }
2862
- *
2863
- * getChildWindows().then(children => console.log(children)).catch(err => console.log(err));
2864
- * ```
2865
- */
2866
- getChildWindows() {
2867
- return this.wire.sendAction('get-child-windows', this.identity).then(({ payload }) => {
2868
- const identityList = [];
2869
- payload.data.forEach((winName) => {
2870
- identityList.push({ uuid: this.identity.uuid, name: winName });
2871
- });
2872
- return this.windowListFromIdentityList(identityList);
2873
- });
2874
- }
2875
- /**
2876
- * Retrieves the JSON manifest that was used to create the application. Invokes the error callback
2877
- * if the application was not created from a manifest.
2878
- *
2879
- * @example
2880
- *
2881
- * ```js
2882
- * async function getManifest() {
2883
- * const app = await fin.Application.getCurrent();
2884
- * return await app.getManifest();
2885
- * }
2886
- *
2887
- * getManifest().then(manifest => console.log(manifest)).catch(err => console.log(err));
2888
- * ```
2889
- */
2890
- getManifest() {
2891
- return this.wire.sendAction('get-application-manifest', this.identity).then(({ payload }) => payload.data);
2892
- }
2893
- /**
2894
- * Retrieves UUID of the application that launches this application. Invokes the error callback
2895
- * if the application was created from a manifest.
2896
- *
2897
- * @example
2898
- *
2899
- * ```js
2900
- * async function getParentUuid() {
2901
- * const app = await fin.Application.start({
2902
- * uuid: 'app-1',
2903
- * name: 'myApp',
2904
- * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.getParentUuid.html',
2905
- * autoShow: true
2906
- * });
2907
- * return await app.getParentUuid();
2908
- * }
2909
- *
2910
- * getParentUuid().then(parentUuid => console.log(parentUuid)).catch(err => console.log(err));
2911
- * ```
2912
- */
2913
- getParentUuid() {
2914
- return this.wire.sendAction('get-parent-application', this.identity).then(({ payload }) => payload.data);
2915
- }
2916
- /**
2917
- * Retrieves current application's shortcut configuration.
2918
- *
2919
- * @example
2920
- *
2921
- * ```js
2922
- * async function getShortcuts() {
2923
- * const app = await fin.Application.wrap({ uuid: 'testapp' });
2924
- * return await app.getShortcuts();
2925
- * }
2926
- * getShortcuts().then(config => console.log(config)).catch(err => console.log(err));
2927
- * ```
2928
- */
2929
- getShortcuts() {
2930
- return this.wire.sendAction('get-shortcuts', this.identity).then(({ payload }) => payload.data);
2931
- }
2932
- /**
2933
- * Retrieves current application's views.
2934
- * @experimental
2935
- *
2936
- * @example
2937
- *
2938
- * ```js
2939
- * async function getViews() {
2940
- * const app = await fin.Application.getCurrent();
2941
- * return await app.getViews();
2942
- * }
2943
- * getViews().then(views => console.log(views)).catch(err => console.log(err));
2944
- * ```
2945
- */
2946
- async getViews() {
2947
- const { payload } = await this.wire.sendAction('application-get-views', this.identity);
2948
- return payload.data.map((id) => new view_1.View(this.wire, id));
2949
- }
2950
- /**
2951
- * Returns the current zoom level of the application.
2952
- *
2953
- * @example
2954
- *
2955
- * ```js
2956
- * async function getZoomLevel() {
2957
- * const app = await fin.Application.getCurrent();
2958
- * return await app.getZoomLevel();
2959
- * }
2960
- *
2961
- * getZoomLevel().then(zoomLevel => console.log(zoomLevel)).catch(err => console.log(err));
2962
- * ```
2963
- */
2964
- getZoomLevel() {
2965
- return this.wire.sendAction('get-application-zoom-level', this.identity).then(({ payload }) => payload.data);
2966
- }
2967
- /**
2968
- * Returns an instance of the main Window of the application
2969
- *
2970
- * @example
2971
- *
2972
- * ```js
2973
- * async function getWindow() {
2974
- * const app = await fin.Application.start({
2975
- * uuid: 'app-1',
2976
- * name: 'myApp',
2977
- * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.getWindow.html',
2978
- * autoShow: true
2979
- * });
2980
- * return await app.getWindow();
2981
- * }
2982
- *
2983
- * getWindow().then(win => {
2984
- * win.showAt(0, 400);
2985
- * win.flash();
2986
- * }).catch(err => console.log(err));
2987
- * ```
2988
- */
2989
- getWindow() {
2990
- this.wire.sendAction('application-get-window', this.identity).catch((e) => {
2991
- // we do not want to expose this error, just continue if this analytics-only call fails
2992
- });
2993
- return Promise.resolve(this.window);
2994
- }
2995
- /**
2996
- * Manually registers a user with the licensing service. The only data sent by this call is userName and appName.
2997
- * @param userName - username to be passed to the RVM.
2998
- * @param appName - app name to be passed to the RVM.
2999
- *
3000
- * @example
3001
- *
3002
- * ```js
3003
- * async function registerUser() {
3004
- * const app = await fin.Application.getCurrent();
3005
- * return await app.registerUser('user', 'myApp');
3006
- * }
3007
- *
3008
- * registerUser().then(() => console.log('Successfully registered the user')).catch(err => console.log(err));
3009
- * ```
3010
- */
3011
- registerUser(userName, appName) {
3012
- return this.wire.sendAction('register-user', { userName, appName, ...this.identity }).then(() => undefined);
3013
- }
3014
- /**
3015
- * Removes the application’s icon from the tray.
3016
- *
3017
- * @example
3018
- *
3019
- * ```js
3020
- * async function removeTrayIcon() {
3021
- * const app = await fin.Application.getCurrent();
3022
- * return await app.removeTrayIcon();
3023
- * }
3024
- *
3025
- * removeTrayIcon().then(() => console.log('Removed the tray icon.')).catch(err => console.log(err));
3026
- * ```
3027
- */
3028
- removeTrayIcon() {
3029
- return this.wire.sendAction('remove-tray-icon', this.identity).then(() => undefined);
3030
- }
3031
- /**
3032
- * Restarts the application.
3033
- *
3034
- * @example
3035
- *
3036
- * ```js
3037
- * async function restartApp() {
3038
- * const app = await fin.Application.getCurrent();
3039
- * return await app.restart();
3040
- * }
3041
- * restartApp().then(() => console.log('Application restarted')).catch(err => console.log(err));
3042
- * ```
3043
- */
3044
- restart() {
3045
- return this.wire.sendAction('restart-application', this.identity).then(() => undefined);
3046
- }
3047
- /**
3048
- * DEPRECATED method to run the application.
3049
- * Needed when starting application via {@link Application.create}, but NOT needed when starting via {@link Application.start}.
3050
- *
3051
- * @example
3052
- *
3053
- * ```js
3054
- * async function run() {
3055
- * const app = await fin.Application.create({
3056
- * name: 'myApp',
3057
- * uuid: 'app-1',
3058
- * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.run.html',
3059
- * autoShow: true
3060
- * });
3061
- * await app.run();
3062
- * }
3063
- * run().then(() => console.log('Application is running')).catch(err => console.log(err));
3064
- * ```
3065
- *
3066
- * @ignore
3067
- */
3068
- run() {
3069
- console.warn('Deprecation Warning: Application.run is deprecated Please use fin.Application.start');
3070
- this.wire.sendAction('application-run', this.identity).catch((e) => {
3071
- // we do not want to expose this error, just continue if this analytics-only call fails
3072
- });
3073
- return this._run();
3074
- }
3075
- _run(opts = {}) {
3076
- return this.wire
3077
- .sendAction('run-application', {
3078
- manifestUrl: this._manifestUrl,
3079
- opts,
3080
- ...this.identity
3081
- })
3082
- .then(() => undefined);
3083
- }
3084
- /**
3085
- * Instructs the RVM to schedule one restart of the application.
3086
- *
3087
- * @example
3088
- *
3089
- * ```js
3090
- * async function scheduleRestart() {
3091
- * const app = await fin.Application.getCurrent();
3092
- * return await app.scheduleRestart();
3093
- * }
3094
- *
3095
- * scheduleRestart().then(() => console.log('Application is scheduled to restart')).catch(err => console.log(err));
3096
- * ```
3097
- */
3098
- scheduleRestart() {
3099
- return this.wire.sendAction('relaunch-on-close', this.identity).then(() => undefined);
3100
- }
3101
- /**
3102
- * Sends a message to the RVM to upload the application's logs. On success,
3103
- * an object containing logId is returned.
3104
- *
3105
- * @example
3106
- *
3107
- * ```js
3108
- * async function sendLog() {
3109
- * const app = await fin.Application.getCurrent();
3110
- * return await app.sendApplicationLog();
3111
- * }
3112
- *
3113
- * sendLog().then(info => console.log(info.logId)).catch(err => console.log(err));
3114
- * ```
3115
- */
3116
- async sendApplicationLog() {
3117
- const { payload } = await this.wire.sendAction('send-application-log', this.identity);
3118
- return payload.data;
3119
- }
3120
- /**
3121
- * Sets or removes a custom JumpList for the application. Only applicable in Windows OS.
3122
- * If categories is null the previously set custom JumpList (if any) will be replaced by the standard JumpList for the app (managed by Windows).
3123
- *
3124
- * Note: If the "name" property is omitted it defaults to "tasks".
3125
- * @param jumpListCategories An array of JumpList Categories to populate. If null, remove any existing JumpList configuration and set to Windows default.
3126
- *
3127
- *
3128
- * @remarks If categories is null the previously set custom JumpList (if any) will be replaced by the standard JumpList for the app (managed by Windows).
3129
- *
3130
- * The bottommost item in the jumplist will always be an item pointing to the current app. Its name is taken from the manifest's
3131
- * **` shortcut.name `** and uses **` shortcut.company `** as a fallback. Clicking that item will launch the app from its current manifest.
3132
- *
3133
- * Note: If the "name" property is omitted it defaults to "tasks".
3134
- *
3135
- * Note: Window OS caches jumplists icons, therefore an icon change might only be visible after the cache is removed or the
3136
- * uuid or shortcut.name is changed.
3137
- *
3138
- * @example
3139
- *
3140
- * ```js
3141
- * const app = fin.Application.getCurrentSync();
3142
- * const appName = 'My App';
3143
- * const jumpListConfig = [ // array of JumpList categories
3144
- * {
3145
- * // has no name and no type so `type` is assumed to be "tasks"
3146
- * items: [ // array of JumpList items
3147
- * {
3148
- * type: 'task',
3149
- * title: `Launch ${appName}`,
3150
- * description: `Runs ${appName} with the default configuration`,
3151
- * deepLink: 'fins://path.to/app/manifest.json',
3152
- * iconPath: 'https://path.to/app/icon.ico',
3153
- * iconIndex: 0
3154
- * },
3155
- * { type: 'separator' },
3156
- * {
3157
- * type: 'task',
3158
- * title: `Restore ${appName}`,
3159
- * description: 'Restore to last configuration',
3160
- * deepLink: 'fins://path.to/app/manifest.json?$$use-last-configuration=true',
3161
- * iconPath: 'https://path.to/app/icon.ico',
3162
- * iconIndex: 0
3163
- * },
3164
- * ]
3165
- * },
3166
- * {
3167
- * name: 'Tools',
3168
- * items: [ // array of JumpList items
3169
- * {
3170
- * type: 'task',
3171
- * title: 'Tool A',
3172
- * description: 'Runs Tool A',
3173
- * deepLink: 'fins://path.to/tool-a/manifest.json',
3174
- * iconPath: 'https://path.to/tool-a/icon.ico',
3175
- * iconIndex: 0
3176
- * },
3177
- * {
3178
- * type: 'task',
3179
- * title: 'Tool B',
3180
- * description: 'Runs Tool B',
3181
- * deepLink: 'fins://path.to/tool-b/manifest.json',
3182
- * iconPath: 'https://path.to/tool-b/icon.ico',
3183
- * iconIndex: 0
3184
- * }]
3185
- * }
3186
- * ];
3187
- *
3188
- * app.setJumpList(jumpListConfig).then(() => console.log('JumpList applied')).catch(e => console.log(`JumpList failed to apply: ${e.toString()}`));
3189
- * ```
3190
- *
3191
- * To handle deeplink args:
3192
- * ```js
3193
- * function handleUseLastConfiguration() {
3194
- * // this handler is called when the app is being launched
3195
- * app.on('run-requested', event => {
3196
- * if(event.userAppConfigArgs['use-last-configuration']) {
3197
- * // your logic here
3198
- * }
3199
- * });
3200
- * // this handler is called when the app was already running when the launch was requested
3201
- * fin.desktop.main(function(args) {
3202
- * if(args && args['use-last-configuration']) {
3203
- * // your logic here
3204
- * }
3205
- * });
3206
- * }
3207
- * ```
3208
- */
3209
- async setJumpList(jumpListCategories) {
3210
- await this.wire.sendAction('set-jump-list', { config: jumpListCategories, ...this.identity });
3211
- }
3212
- /**
3213
- * Adds a customizable icon in the system tray. To listen for a click on the icon use the `tray-icon-clicked` event.
3214
- * @param icon Image URL or base64 encoded string to be used as the icon
3215
- *
3216
- * @example
3217
- *
3218
- * ```js
3219
- * const imageUrl = "http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png";
3220
- * const base64EncodedImage = "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX\
3221
- * ///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII";
3222
- * const dataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DH\
3223
- * xgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
3224
- *
3225
- * async function setTrayIcon(icon) {
3226
- * const app = await fin.Application.getCurrent();
3227
- * return await app.setTrayIcon(icon);
3228
- * }
3229
- *
3230
- * // use image url to set tray icon
3231
- * setTrayIcon(imageUrl).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3232
- *
3233
- * // use base64 encoded string to set tray icon
3234
- * setTrayIcon(base64EncodedImage).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3235
- *
3236
- * // use a dataURL to set tray icon
3237
- * setTrayIcon(dataURL).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3238
- * ```
3239
- */
3240
- setTrayIcon(icon) {
3241
- return this.wire
3242
- .sendAction('set-tray-icon', {
3243
- enabledIcon: icon,
3244
- ...this.identity
3245
- })
3246
- .then(() => undefined);
3247
- }
3248
- /**
3249
- * Set hover text for this application's system tray icon.
3250
- * Note: Application must first set a tray icon with {@link Application.setTrayIcon}.
3251
- * @param toolTip
3252
- *
3253
- * @example
3254
- *
3255
- * ```js
3256
- * const app = fin.Application.getCurrentSync();
3257
- * const iconUrl = "http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png";
3258
- *
3259
- * await app.setTrayIcon(iconUrl);
3260
- *
3261
- * await app.setTrayIconToolTip('My Application');
3262
- * ```
3263
- */
3264
- async setTrayIconToolTip(toolTip) {
3265
- await this.wire.sendAction('set-tray-icon-tooltip', { ...this.identity, toolTip });
3266
- }
3267
- /**
3268
- * Sets new application's shortcut configuration. Windows only.
3269
- * @param config New application's shortcut configuration.
3270
- *
3271
- * @remarks Application has to be launched with a manifest and has to have shortcut configuration (icon url, name, etc.) in its manifest
3272
- * to be able to change shortcut states.
3273
- *
3274
- * @example
3275
- *
3276
- * ```js
3277
- * async function setShortcuts(config) {
3278
- * const app = await fin.Application.getCurrent();
3279
- * return app.setShortcuts(config);
3280
- * }
3281
- *
3282
- * setShortcuts({
3283
- * desktop: true,
3284
- * startMenu: false,
3285
- * systemStartup: true
3286
- * }).then(() => console.log('Shortcuts are set.')).catch(err => console.log(err));
3287
- * ```
3288
- */
3289
- setShortcuts(config) {
3290
- return this.wire.sendAction('set-shortcuts', { data: config, ...this.identity }).then(() => undefined);
3291
- }
3292
- /**
3293
- * Sets the query string in all shortcuts for this app. Requires RVM 5.5+.
3294
- * @param queryString The new query string for this app's shortcuts.
3295
- *
3296
- * @example
3297
- *
3298
- * ```js
3299
- * const newQueryArgs = 'arg=true&arg2=false';
3300
- * const app = await fin.Application.getCurrent();
3301
- * try {
3302
- * await app.setShortcutQueryParams(newQueryArgs);
3303
- * } catch(err) {
3304
- * console.error(err)
3305
- * }
3306
- * ```
3307
- */
3308
- async setShortcutQueryParams(queryString) {
3309
- await this.wire.sendAction('set-shortcut-query-args', { data: queryString, ...this.identity });
3310
- }
3311
- /**
3312
- * Sets the zoom level of the application. The original size is 0 and each increment above or below represents zooming 20%
3313
- * larger or smaller to default limits of 300% and 50% of original size, respectively.
3314
- * @param level The zoom level
3315
- *
3316
- * @example
3317
- *
3318
- * ```js
3319
- * async function setZoomLevel(number) {
3320
- * const app = await fin.Application.getCurrent();
3321
- * return await app.setZoomLevel(number);
3322
- * }
3323
- *
3324
- * setZoomLevel(5).then(() => console.log('Setting a zoom level')).catch(err => console.log(err));
3325
- * ```
3326
- */
3327
- setZoomLevel(level) {
3328
- return this.wire.sendAction('set-application-zoom-level', { level, ...this.identity }).then(() => undefined);
3329
- }
3330
- /**
3331
- * Sets a username to correlate with App Log Management.
3332
- * @param username Username to correlate with App's Log.
3333
- *
3334
- * @example
3335
- *
3336
- * ```js
3337
- * async function setAppLogUser() {
3338
- * const app = await fin.Application.getCurrent();
3339
- * return await app.setAppLogUsername('username');
3340
- * }
3341
- *
3342
- * setAppLogUser().then(() => console.log('Success')).catch(err => console.log(err));
3343
- *
3344
- * ```
3345
- */
3346
- async setAppLogUsername(username) {
3347
- await this.wire.sendAction('set-app-log-username', { data: username, ...this.identity });
3348
- }
3349
- /**
3350
- * Retrieves information about the system tray. If the system tray is not set, it will throw an error message.
3351
- * @remarks The only information currently returned is the position and dimensions.
3352
- *
3353
- * @example
3354
- *
3355
- * ```js
3356
- * async function getTrayIconInfo() {
3357
- * const app = await fin.Application.wrap({ uuid: 'testapp' });
3358
- * return await app.getTrayIconInfo();
3359
- * }
3360
- * getTrayIconInfo().then(info => console.log(info)).catch(err => console.log(err));
3361
- * ```
3362
- */
3363
- getTrayIconInfo() {
3364
- return this.wire.sendAction('get-tray-icon-info', this.identity).then(({ payload }) => payload.data);
3365
- }
3366
- /**
3367
- * Checks if the application has an associated tray icon.
3368
- *
3369
- * @example
3370
- *
3371
- * ```js
3372
- * const app = await fin.Application.wrap({ uuid: 'testapp' });
3373
- * const hasTrayIcon = await app.hasTrayIcon();
3374
- * console.log(hasTrayIcon);
3375
- * ```
3376
- */
3377
- hasTrayIcon() {
3378
- return this.wire.sendAction('has-tray-icon', this.identity).then(({ payload }) => payload.data);
3379
- }
3380
- /**
3381
- * Closes the application by terminating its process.
3382
- *
3383
- * @example
3384
- *
3385
- * ```js
3386
- * async function terminateApp() {
3387
- * const app = await fin.Application.getCurrent();
3388
- * return await app.terminate();
3389
- * }
3390
- * terminateApp().then(() => console.log('Application terminated')).catch(err => console.log(err));
3391
- * ```
3392
- */
3393
- terminate() {
3394
- return this.wire.sendAction('terminate-application', this.identity).then(() => undefined);
3395
- }
3396
- /**
3397
- * Waits for a hanging application. This method can be called in response to an application
3398
- * "not-responding" to allow the application to continue and to generate another "not-responding"
3399
- * message after a certain period of time.
3400
- *
3401
- * @ignore
3402
- */
3403
- wait() {
3404
- return this.wire.sendAction('wait-for-hung-application', this.identity).then(() => undefined);
3405
- }
3406
- /**
3407
- * Retrieves information about the application.
3408
- *
3409
- * @remarks If the application was not launched from a manifest, the call will return the closest parent application `manifest`
3410
- * and `manifestUrl`. `initialOptions` shows the parameters used when launched programmatically, or the `startup_app` options
3411
- * if launched from manifest. The `parentUuid` will be the uuid of the immediate parent (if applicable).
3412
- *
3413
- * @example
3414
- *
3415
- * ```js
3416
- * async function getInfo() {
3417
- * const app = await fin.Application.getCurrent();
3418
- * return await app.getInfo();
3419
- * }
3420
- *
3421
- * getInfo().then(info => console.log(info)).catch(err => console.log(err));
3422
- * ```
3423
- */
3424
- getInfo() {
3425
- return this.wire.sendAction('get-info', this.identity).then(({ payload }) => payload.data);
3426
- }
3427
- /**
3428
- * Retrieves all process information for entities (windows and views) associated with an application.
3429
- *
3430
- * @example
3431
- * ```js
3432
- * const app = await fin.Application.getCurrent();
3433
- * const processInfo = await app.getProcessInfo();
3434
- * ```
3435
- * @experimental
3436
- */
3437
- async getProcessInfo() {
3438
- const { payload: { data } } = await this.wire.sendAction('application-get-process-info', this.identity);
3439
- return data;
3440
- }
3441
- /**
3442
- * Sets file auto download location. It's only allowed in the same application.
3443
- *
3444
- * Note: This method is restricted by default and must be enabled via
3445
- * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
3446
- * @param downloadLocation file auto download location
3447
- *
3448
- * @throws if setting file auto download location on different applications.
3449
- * @example
3450
- *
3451
- * ```js
3452
- * const downloadLocation = 'C:\\dev\\temp';
3453
- * const app = await fin.Application.getCurrent();
3454
- * try {
3455
- * await app.setFileDownloadLocation(downloadLocation);
3456
- * console.log('File download location is set');
3457
- * } catch(err) {
3458
- * console.error(err)
3459
- * }
3460
- * ```
3461
- */
3462
- async setFileDownloadLocation(downloadLocation) {
3463
- const { name } = this.wire.me;
3464
- const entityIdentity = { uuid: this.identity.uuid, name };
3465
- await this.wire.sendAction('set-file-download-location', { ...entityIdentity, downloadLocation });
3466
- }
3467
- /**
3468
- * Gets file auto download location. It's only allowed in the same application. If file auto download location is not set, it will return the default location.
3469
- *
3470
- * Note: This method is restricted by default and must be enabled via
3471
- * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
3472
- *
3473
- * @throws if getting file auto download location on different applications.
3474
- * @example
3475
- *
3476
- * ```js
3477
- * const app = await fin.Application.getCurrent();
3478
- * const fileDownloadDir = await app.getFileDownloadLocation();
3479
- * ```
3480
- */
3481
- async getFileDownloadLocation() {
3482
- const { payload: { data } } = await this.wire.sendAction('get-file-download-location', this.identity);
3483
- return data;
3484
- }
3485
- /**
3486
- * Shows a menu on the tray icon. Use with tray-icon-clicked event.
3487
- * @param options
3488
- * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3489
- * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
3490
- * of all possible data shapes for the entire menu, and the click handler should process
3491
- * these with a "reducer" pattern.
3492
- * @throws if the application has no tray icon set
3493
- * @throws if the system tray is currently hidden
3494
- * @example
3495
- *
3496
- * ```js
3497
- * const iconUrl = 'http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png';
3498
- * const app = fin.Application.getCurrentSync();
3499
- *
3500
- * await app.setTrayIcon(iconUrl);
3501
- *
3502
- * const template = [
3503
- * {
3504
- * label: 'Menu Item 1',
3505
- * data: 'hello from item 1'
3506
- * },
3507
- * { type: 'separator' },
3508
- * {
3509
- * label: 'Menu Item 2',
3510
- * type: 'checkbox',
3511
- * checked: true,
3512
- * data: 'The user clicked the checkbox'
3513
- * },
3514
- * {
3515
- * label: 'see more',
3516
- * enabled: false,
3517
- * submenu: [
3518
- * { label: 'submenu 1', data: 'hello from submenu' }
3519
- * ]
3520
- * }
3521
- * ];
3522
- *
3523
- * app.addListener('tray-icon-clicked', (event) => {
3524
- * // right-click
3525
- * if (event.button === 2) {
3526
- * app.showTrayIconPopupMenu({ template }).then(r => {
3527
- * if (r.result === 'closed') {
3528
- * console.log('nothing happened');
3529
- * } else {
3530
- * console.log(r.data);
3531
- * }
3532
- * });
3533
- * }
3534
- * });
3535
- * ```
3536
- */
3537
- async showTrayIconPopupMenu(options) {
3538
- const { name } = this.wire.me;
3539
- const entityIdentity = { uuid: this.identity.uuid, name };
3540
- const { payload } = await this.wire.sendAction('show-tray-icon-popup-menu', { ...entityIdentity, options });
3541
- return payload.data;
3542
- }
3543
- /**
3544
- * Closes the tray icon menu.
3545
- *
3546
- * @throws if the application has no tray icon set
3547
- * @example
3548
- *
3549
- * ```js
3550
- * const app = fin.Application.getCurrentSync();
3551
- *
3552
- * await app.closeTrayIconPopupMenu();
3553
- * ```
3554
- */
3555
- async closeTrayIconPopupMenu() {
3556
- const { name } = this.wire.me;
3557
- const entityIdentity = { uuid: this.identity.uuid, name };
3558
- await this.wire.sendAction('close-tray-icon-popup-menu', { ...entityIdentity });
3559
- }
3560
- }
3561
- Instance$6.Application = Application;
3562
- return Instance$6;
2734
+ Object.defineProperty(Instance$6, "__esModule", { value: true });
2735
+ Instance$6.Application = void 0;
2736
+ /* eslint-disable import/prefer-default-export */
2737
+ const base_1$n = base;
2738
+ const window_1$1 = requireWindow();
2739
+ const view_1 = requireView();
2740
+ /**
2741
+ * An object representing an application. Allows the developer to create,
2742
+ * execute, show/close an application as well as listen to {@link OpenFin.ApplicationEvents application events}.
2743
+ */
2744
+ class Application extends base_1$n.EmitterBase {
2745
+ /**
2746
+ * @internal
2747
+ */
2748
+ constructor(wire, identity) {
2749
+ super(wire, 'application', identity.uuid);
2750
+ this.identity = identity;
2751
+ this.window = new window_1$1._Window(this.wire, {
2752
+ uuid: this.identity.uuid,
2753
+ name: this.identity.uuid
2754
+ });
2755
+ }
2756
+ windowListFromIdentityList(identityList) {
2757
+ const windowList = [];
2758
+ identityList.forEach((identity) => {
2759
+ windowList.push(new window_1$1._Window(this.wire, {
2760
+ uuid: identity.uuid,
2761
+ name: identity.name
2762
+ }));
2763
+ });
2764
+ return windowList;
2765
+ }
2766
+ /**
2767
+ * Determines if the application is currently running.
2768
+ *
2769
+ * @example
2770
+ *
2771
+ * ```js
2772
+ * async function isAppRunning() {
2773
+ * const app = await fin.Application.getCurrent();
2774
+ * return await app.isRunning();
2775
+ * }
2776
+ * isAppRunning().then(running => console.log(`Current app is running: ${running}`)).catch(err => console.log(err));
2777
+ * ```
2778
+ */
2779
+ isRunning() {
2780
+ return this.wire.sendAction('is-application-running', this.identity).then(({ payload }) => payload.data);
2781
+ }
2782
+ /**
2783
+ * Closes the application and any child windows created by the application.
2784
+ * Cleans the application from state so it is no longer found in getAllApplications.
2785
+ * @param force Close will be prevented from closing when force is false and
2786
+ * ‘close-requested’ has been subscribed to for application’s main window.
2787
+ *
2788
+ * @example
2789
+ *
2790
+ * ```js
2791
+ * async function closeApp() {
2792
+ * const allApps1 = await fin.System.getAllApplications(); //[{uuid: 'app1', isRunning: true}, {uuid: 'app2', isRunning: true}]
2793
+ * const app = await fin.Application.wrap({uuid: 'app2'});
2794
+ * await app.quit();
2795
+ * const allApps2 = await fin.System.getAllApplications(); //[{uuid: 'app1', isRunning: true}]
2796
+ *
2797
+ * }
2798
+ * closeApp().then(() => console.log('Application quit')).catch(err => console.log(err));
2799
+ * ```
2800
+ */
2801
+ async quit(force = false) {
2802
+ try {
2803
+ await this._close(force);
2804
+ await this.wire.sendAction('destroy-application', { force, ...this.identity });
2805
+ }
2806
+ catch (error) {
2807
+ const acceptableErrors = ['Remote connection has closed', 'Could not locate the requested application'];
2808
+ if (!acceptableErrors.some((msg) => error.message.includes(msg))) {
2809
+ throw error;
2810
+ }
2811
+ }
2812
+ }
2813
+ async _close(force = false) {
2814
+ try {
2815
+ await this.wire.sendAction('close-application', { force, ...this.identity });
2816
+ }
2817
+ catch (error) {
2818
+ if (!error.message.includes('Remote connection has closed')) {
2819
+ throw error;
2820
+ }
2821
+ }
2822
+ }
2823
+ /**
2824
+ * @deprecated use Application.quit instead
2825
+ * Closes the application and any child windows created by the application.
2826
+ * @param force - Close will be prevented from closing when force is false and ‘close-requested’ has been subscribed to for application’s main window.
2827
+ * @param callback - called if the method succeeds.
2828
+ * @param errorCallback - called if the method fails. The reason for failure is passed as an argument.
2829
+ *
2830
+ * @example
2831
+ *
2832
+ * ```js
2833
+ * async function closeApp() {
2834
+ * const app = await fin.Application.getCurrent();
2835
+ * return await app.close();
2836
+ * }
2837
+ * closeApp().then(() => console.log('Application closed')).catch(err => console.log(err));
2838
+ * ```
2839
+ */
2840
+ close(force = false) {
2841
+ console.warn('Deprecation Warning: Application.close is deprecated Please use Application.quit');
2842
+ this.wire.sendAction('application-close', this.identity).catch((e) => {
2843
+ // we do not want to expose this error, just continue if this analytics-only call fails
2844
+ });
2845
+ return this._close(force);
2846
+ }
2847
+ /**
2848
+ * Retrieves an array of wrapped fin.Windows for each of the application’s child windows.
2849
+ *
2850
+ * @example
2851
+ *
2852
+ * ```js
2853
+ * async function getChildWindows() {
2854
+ * const app = await fin.Application.getCurrent();
2855
+ * return await app.getChildWindows();
2856
+ * }
2857
+ *
2858
+ * getChildWindows().then(children => console.log(children)).catch(err => console.log(err));
2859
+ * ```
2860
+ */
2861
+ getChildWindows() {
2862
+ return this.wire.sendAction('get-child-windows', this.identity).then(({ payload }) => {
2863
+ const identityList = [];
2864
+ payload.data.forEach((winName) => {
2865
+ identityList.push({ uuid: this.identity.uuid, name: winName });
2866
+ });
2867
+ return this.windowListFromIdentityList(identityList);
2868
+ });
2869
+ }
2870
+ /**
2871
+ * Retrieves the JSON manifest that was used to create the application. Invokes the error callback
2872
+ * if the application was not created from a manifest.
2873
+ *
2874
+ * @example
2875
+ *
2876
+ * ```js
2877
+ * async function getManifest() {
2878
+ * const app = await fin.Application.getCurrent();
2879
+ * return await app.getManifest();
2880
+ * }
2881
+ *
2882
+ * getManifest().then(manifest => console.log(manifest)).catch(err => console.log(err));
2883
+ * ```
2884
+ */
2885
+ getManifest() {
2886
+ return this.wire.sendAction('get-application-manifest', this.identity).then(({ payload }) => payload.data);
2887
+ }
2888
+ /**
2889
+ * Retrieves UUID of the application that launches this application. Invokes the error callback
2890
+ * if the application was created from a manifest.
2891
+ *
2892
+ * @example
2893
+ *
2894
+ * ```js
2895
+ * async function getParentUuid() {
2896
+ * const app = await fin.Application.start({
2897
+ * uuid: 'app-1',
2898
+ * name: 'myApp',
2899
+ * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.getParentUuid.html',
2900
+ * autoShow: true
2901
+ * });
2902
+ * return await app.getParentUuid();
2903
+ * }
2904
+ *
2905
+ * getParentUuid().then(parentUuid => console.log(parentUuid)).catch(err => console.log(err));
2906
+ * ```
2907
+ */
2908
+ getParentUuid() {
2909
+ return this.wire.sendAction('get-parent-application', this.identity).then(({ payload }) => payload.data);
2910
+ }
2911
+ /**
2912
+ * Retrieves current application's shortcut configuration.
2913
+ *
2914
+ * @example
2915
+ *
2916
+ * ```js
2917
+ * async function getShortcuts() {
2918
+ * const app = await fin.Application.wrap({ uuid: 'testapp' });
2919
+ * return await app.getShortcuts();
2920
+ * }
2921
+ * getShortcuts().then(config => console.log(config)).catch(err => console.log(err));
2922
+ * ```
2923
+ */
2924
+ getShortcuts() {
2925
+ return this.wire.sendAction('get-shortcuts', this.identity).then(({ payload }) => payload.data);
2926
+ }
2927
+ /**
2928
+ * Retrieves current application's views.
2929
+ * @experimental
2930
+ *
2931
+ * @example
2932
+ *
2933
+ * ```js
2934
+ * async function getViews() {
2935
+ * const app = await fin.Application.getCurrent();
2936
+ * return await app.getViews();
2937
+ * }
2938
+ * getViews().then(views => console.log(views)).catch(err => console.log(err));
2939
+ * ```
2940
+ */
2941
+ async getViews() {
2942
+ const { payload } = await this.wire.sendAction('application-get-views', this.identity);
2943
+ return payload.data.map((id) => new view_1.View(this.wire, id));
2944
+ }
2945
+ /**
2946
+ * Returns the current zoom level of the application.
2947
+ *
2948
+ * @example
2949
+ *
2950
+ * ```js
2951
+ * async function getZoomLevel() {
2952
+ * const app = await fin.Application.getCurrent();
2953
+ * return await app.getZoomLevel();
2954
+ * }
2955
+ *
2956
+ * getZoomLevel().then(zoomLevel => console.log(zoomLevel)).catch(err => console.log(err));
2957
+ * ```
2958
+ */
2959
+ getZoomLevel() {
2960
+ return this.wire.sendAction('get-application-zoom-level', this.identity).then(({ payload }) => payload.data);
2961
+ }
2962
+ /**
2963
+ * Returns an instance of the main Window of the application
2964
+ *
2965
+ * @example
2966
+ *
2967
+ * ```js
2968
+ * async function getWindow() {
2969
+ * const app = await fin.Application.start({
2970
+ * uuid: 'app-1',
2971
+ * name: 'myApp',
2972
+ * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.getWindow.html',
2973
+ * autoShow: true
2974
+ * });
2975
+ * return await app.getWindow();
2976
+ * }
2977
+ *
2978
+ * getWindow().then(win => {
2979
+ * win.showAt(0, 400);
2980
+ * win.flash();
2981
+ * }).catch(err => console.log(err));
2982
+ * ```
2983
+ */
2984
+ getWindow() {
2985
+ this.wire.sendAction('application-get-window', this.identity).catch((e) => {
2986
+ // we do not want to expose this error, just continue if this analytics-only call fails
2987
+ });
2988
+ return Promise.resolve(this.window);
2989
+ }
2990
+ /**
2991
+ * Manually registers a user with the licensing service. The only data sent by this call is userName and appName.
2992
+ * @param userName - username to be passed to the RVM.
2993
+ * @param appName - app name to be passed to the RVM.
2994
+ *
2995
+ * @example
2996
+ *
2997
+ * ```js
2998
+ * async function registerUser() {
2999
+ * const app = await fin.Application.getCurrent();
3000
+ * return await app.registerUser('user', 'myApp');
3001
+ * }
3002
+ *
3003
+ * registerUser().then(() => console.log('Successfully registered the user')).catch(err => console.log(err));
3004
+ * ```
3005
+ */
3006
+ registerUser(userName, appName) {
3007
+ return this.wire.sendAction('register-user', { userName, appName, ...this.identity }).then(() => undefined);
3008
+ }
3009
+ /**
3010
+ * Removes the application’s icon from the tray.
3011
+ *
3012
+ * @example
3013
+ *
3014
+ * ```js
3015
+ * async function removeTrayIcon() {
3016
+ * const app = await fin.Application.getCurrent();
3017
+ * return await app.removeTrayIcon();
3018
+ * }
3019
+ *
3020
+ * removeTrayIcon().then(() => console.log('Removed the tray icon.')).catch(err => console.log(err));
3021
+ * ```
3022
+ */
3023
+ removeTrayIcon() {
3024
+ return this.wire.sendAction('remove-tray-icon', this.identity).then(() => undefined);
3025
+ }
3026
+ /**
3027
+ * Restarts the application.
3028
+ *
3029
+ * @example
3030
+ *
3031
+ * ```js
3032
+ * async function restartApp() {
3033
+ * const app = await fin.Application.getCurrent();
3034
+ * return await app.restart();
3035
+ * }
3036
+ * restartApp().then(() => console.log('Application restarted')).catch(err => console.log(err));
3037
+ * ```
3038
+ */
3039
+ restart() {
3040
+ return this.wire.sendAction('restart-application', this.identity).then(() => undefined);
3041
+ }
3042
+ /**
3043
+ * DEPRECATED method to run the application.
3044
+ * Needed when starting application via {@link Application.create}, but NOT needed when starting via {@link Application.start}.
3045
+ *
3046
+ * @example
3047
+ *
3048
+ * ```js
3049
+ * async function run() {
3050
+ * const app = await fin.Application.create({
3051
+ * name: 'myApp',
3052
+ * uuid: 'app-1',
3053
+ * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.run.html',
3054
+ * autoShow: true
3055
+ * });
3056
+ * await app.run();
3057
+ * }
3058
+ * run().then(() => console.log('Application is running')).catch(err => console.log(err));
3059
+ * ```
3060
+ *
3061
+ * @ignore
3062
+ */
3063
+ run() {
3064
+ console.warn('Deprecation Warning: Application.run is deprecated Please use fin.Application.start');
3065
+ this.wire.sendAction('application-run', this.identity).catch((e) => {
3066
+ // we do not want to expose this error, just continue if this analytics-only call fails
3067
+ });
3068
+ return this._run();
3069
+ }
3070
+ _run(opts = {}) {
3071
+ return this.wire
3072
+ .sendAction('run-application', {
3073
+ manifestUrl: this._manifestUrl,
3074
+ opts,
3075
+ ...this.identity
3076
+ })
3077
+ .then(() => undefined);
3078
+ }
3079
+ /**
3080
+ * Instructs the RVM to schedule one restart of the application.
3081
+ *
3082
+ * @example
3083
+ *
3084
+ * ```js
3085
+ * async function scheduleRestart() {
3086
+ * const app = await fin.Application.getCurrent();
3087
+ * return await app.scheduleRestart();
3088
+ * }
3089
+ *
3090
+ * scheduleRestart().then(() => console.log('Application is scheduled to restart')).catch(err => console.log(err));
3091
+ * ```
3092
+ */
3093
+ scheduleRestart() {
3094
+ return this.wire.sendAction('relaunch-on-close', this.identity).then(() => undefined);
3095
+ }
3096
+ /**
3097
+ * Sends a message to the RVM to upload the application's logs. On success,
3098
+ * an object containing logId is returned.
3099
+ *
3100
+ * @example
3101
+ *
3102
+ * ```js
3103
+ * async function sendLog() {
3104
+ * const app = await fin.Application.getCurrent();
3105
+ * return await app.sendApplicationLog();
3106
+ * }
3107
+ *
3108
+ * sendLog().then(info => console.log(info.logId)).catch(err => console.log(err));
3109
+ * ```
3110
+ */
3111
+ async sendApplicationLog() {
3112
+ const { payload } = await this.wire.sendAction('send-application-log', this.identity);
3113
+ return payload.data;
3114
+ }
3115
+ /**
3116
+ * Sets or removes a custom JumpList for the application. Only applicable in Windows OS.
3117
+ * If categories is null the previously set custom JumpList (if any) will be replaced by the standard JumpList for the app (managed by Windows).
3118
+ *
3119
+ * Note: If the "name" property is omitted it defaults to "tasks".
3120
+ * @param jumpListCategories An array of JumpList Categories to populate. If null, remove any existing JumpList configuration and set to Windows default.
3121
+ *
3122
+ *
3123
+ * @remarks If categories is null the previously set custom JumpList (if any) will be replaced by the standard JumpList for the app (managed by Windows).
3124
+ *
3125
+ * The bottommost item in the jumplist will always be an item pointing to the current app. Its name is taken from the manifest's
3126
+ * **` shortcut.name `** and uses **` shortcut.company `** as a fallback. Clicking that item will launch the app from its current manifest.
3127
+ *
3128
+ * Note: If the "name" property is omitted it defaults to "tasks".
3129
+ *
3130
+ * Note: Window OS caches jumplists icons, therefore an icon change might only be visible after the cache is removed or the
3131
+ * uuid or shortcut.name is changed.
3132
+ *
3133
+ * @example
3134
+ *
3135
+ * ```js
3136
+ * const app = fin.Application.getCurrentSync();
3137
+ * const appName = 'My App';
3138
+ * const jumpListConfig = [ // array of JumpList categories
3139
+ * {
3140
+ * // has no name and no type so `type` is assumed to be "tasks"
3141
+ * items: [ // array of JumpList items
3142
+ * {
3143
+ * type: 'task',
3144
+ * title: `Launch ${appName}`,
3145
+ * description: `Runs ${appName} with the default configuration`,
3146
+ * deepLink: 'fins://path.to/app/manifest.json',
3147
+ * iconPath: 'https://path.to/app/icon.ico',
3148
+ * iconIndex: 0
3149
+ * },
3150
+ * { type: 'separator' },
3151
+ * {
3152
+ * type: 'task',
3153
+ * title: `Restore ${appName}`,
3154
+ * description: 'Restore to last configuration',
3155
+ * deepLink: 'fins://path.to/app/manifest.json?$$use-last-configuration=true',
3156
+ * iconPath: 'https://path.to/app/icon.ico',
3157
+ * iconIndex: 0
3158
+ * },
3159
+ * ]
3160
+ * },
3161
+ * {
3162
+ * name: 'Tools',
3163
+ * items: [ // array of JumpList items
3164
+ * {
3165
+ * type: 'task',
3166
+ * title: 'Tool A',
3167
+ * description: 'Runs Tool A',
3168
+ * deepLink: 'fins://path.to/tool-a/manifest.json',
3169
+ * iconPath: 'https://path.to/tool-a/icon.ico',
3170
+ * iconIndex: 0
3171
+ * },
3172
+ * {
3173
+ * type: 'task',
3174
+ * title: 'Tool B',
3175
+ * description: 'Runs Tool B',
3176
+ * deepLink: 'fins://path.to/tool-b/manifest.json',
3177
+ * iconPath: 'https://path.to/tool-b/icon.ico',
3178
+ * iconIndex: 0
3179
+ * }]
3180
+ * }
3181
+ * ];
3182
+ *
3183
+ * app.setJumpList(jumpListConfig).then(() => console.log('JumpList applied')).catch(e => console.log(`JumpList failed to apply: ${e.toString()}`));
3184
+ * ```
3185
+ *
3186
+ * To handle deeplink args:
3187
+ * ```js
3188
+ * function handleUseLastConfiguration() {
3189
+ * // this handler is called when the app is being launched
3190
+ * app.on('run-requested', event => {
3191
+ * if(event.userAppConfigArgs['use-last-configuration']) {
3192
+ * // your logic here
3193
+ * }
3194
+ * });
3195
+ * // this handler is called when the app was already running when the launch was requested
3196
+ * fin.desktop.main(function(args) {
3197
+ * if(args && args['use-last-configuration']) {
3198
+ * // your logic here
3199
+ * }
3200
+ * });
3201
+ * }
3202
+ * ```
3203
+ */
3204
+ async setJumpList(jumpListCategories) {
3205
+ await this.wire.sendAction('set-jump-list', { config: jumpListCategories, ...this.identity });
3206
+ }
3207
+ /**
3208
+ * Adds a customizable icon in the system tray. To listen for a click on the icon use the `tray-icon-clicked` event.
3209
+ * @param icon Image URL or base64 encoded string to be used as the icon
3210
+ *
3211
+ * @example
3212
+ *
3213
+ * ```js
3214
+ * const imageUrl = "http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png";
3215
+ * const base64EncodedImage = "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX\
3216
+ * ///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII";
3217
+ * const dataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DH\
3218
+ * xgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
3219
+ *
3220
+ * async function setTrayIcon(icon) {
3221
+ * const app = await fin.Application.getCurrent();
3222
+ * return await app.setTrayIcon(icon);
3223
+ * }
3224
+ *
3225
+ * // use image url to set tray icon
3226
+ * setTrayIcon(imageUrl).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3227
+ *
3228
+ * // use base64 encoded string to set tray icon
3229
+ * setTrayIcon(base64EncodedImage).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3230
+ *
3231
+ * // use a dataURL to set tray icon
3232
+ * setTrayIcon(dataURL).then(() => console.log('Setting tray icon')).catch(err => console.log(err));
3233
+ * ```
3234
+ */
3235
+ setTrayIcon(icon) {
3236
+ return this.wire
3237
+ .sendAction('set-tray-icon', {
3238
+ enabledIcon: icon,
3239
+ ...this.identity
3240
+ })
3241
+ .then(() => undefined);
3242
+ }
3243
+ /**
3244
+ * Set hover text for this application's system tray icon.
3245
+ * Note: Application must first set a tray icon with {@link Application.setTrayIcon}.
3246
+ * @param toolTip
3247
+ *
3248
+ * @example
3249
+ *
3250
+ * ```js
3251
+ * const app = fin.Application.getCurrentSync();
3252
+ * const iconUrl = "http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png";
3253
+ *
3254
+ * await app.setTrayIcon(iconUrl);
3255
+ *
3256
+ * await app.setTrayIconToolTip('My Application');
3257
+ * ```
3258
+ */
3259
+ async setTrayIconToolTip(toolTip) {
3260
+ await this.wire.sendAction('set-tray-icon-tooltip', { ...this.identity, toolTip });
3261
+ }
3262
+ /**
3263
+ * Sets new application's shortcut configuration. Windows only.
3264
+ * @param config New application's shortcut configuration.
3265
+ *
3266
+ * @remarks Application has to be launched with a manifest and has to have shortcut configuration (icon url, name, etc.) in its manifest
3267
+ * to be able to change shortcut states.
3268
+ *
3269
+ * @example
3270
+ *
3271
+ * ```js
3272
+ * async function setShortcuts(config) {
3273
+ * const app = await fin.Application.getCurrent();
3274
+ * return app.setShortcuts(config);
3275
+ * }
3276
+ *
3277
+ * setShortcuts({
3278
+ * desktop: true,
3279
+ * startMenu: false,
3280
+ * systemStartup: true
3281
+ * }).then(() => console.log('Shortcuts are set.')).catch(err => console.log(err));
3282
+ * ```
3283
+ */
3284
+ setShortcuts(config) {
3285
+ return this.wire.sendAction('set-shortcuts', { data: config, ...this.identity }).then(() => undefined);
3286
+ }
3287
+ /**
3288
+ * Sets the query string in all shortcuts for this app. Requires RVM 5.5+.
3289
+ * @param queryString The new query string for this app's shortcuts.
3290
+ *
3291
+ * @example
3292
+ *
3293
+ * ```js
3294
+ * const newQueryArgs = 'arg=true&arg2=false';
3295
+ * const app = await fin.Application.getCurrent();
3296
+ * try {
3297
+ * await app.setShortcutQueryParams(newQueryArgs);
3298
+ * } catch(err) {
3299
+ * console.error(err)
3300
+ * }
3301
+ * ```
3302
+ */
3303
+ async setShortcutQueryParams(queryString) {
3304
+ await this.wire.sendAction('set-shortcut-query-args', { data: queryString, ...this.identity });
3305
+ }
3306
+ /**
3307
+ * Sets the zoom level of the application. The original size is 0 and each increment above or below represents zooming 20%
3308
+ * larger or smaller to default limits of 300% and 50% of original size, respectively.
3309
+ * @param level The zoom level
3310
+ *
3311
+ * @example
3312
+ *
3313
+ * ```js
3314
+ * async function setZoomLevel(number) {
3315
+ * const app = await fin.Application.getCurrent();
3316
+ * return await app.setZoomLevel(number);
3317
+ * }
3318
+ *
3319
+ * setZoomLevel(5).then(() => console.log('Setting a zoom level')).catch(err => console.log(err));
3320
+ * ```
3321
+ */
3322
+ setZoomLevel(level) {
3323
+ return this.wire.sendAction('set-application-zoom-level', { level, ...this.identity }).then(() => undefined);
3324
+ }
3325
+ /**
3326
+ * Sets a username to correlate with App Log Management.
3327
+ * @param username Username to correlate with App's Log.
3328
+ *
3329
+ * @example
3330
+ *
3331
+ * ```js
3332
+ * async function setAppLogUser() {
3333
+ * const app = await fin.Application.getCurrent();
3334
+ * return await app.setAppLogUsername('username');
3335
+ * }
3336
+ *
3337
+ * setAppLogUser().then(() => console.log('Success')).catch(err => console.log(err));
3338
+ *
3339
+ * ```
3340
+ */
3341
+ async setAppLogUsername(username) {
3342
+ await this.wire.sendAction('set-app-log-username', { data: username, ...this.identity });
3343
+ }
3344
+ /**
3345
+ * Retrieves information about the system tray. If the system tray is not set, it will throw an error message.
3346
+ * @remarks The only information currently returned is the position and dimensions.
3347
+ *
3348
+ * @example
3349
+ *
3350
+ * ```js
3351
+ * async function getTrayIconInfo() {
3352
+ * const app = await fin.Application.wrap({ uuid: 'testapp' });
3353
+ * return await app.getTrayIconInfo();
3354
+ * }
3355
+ * getTrayIconInfo().then(info => console.log(info)).catch(err => console.log(err));
3356
+ * ```
3357
+ */
3358
+ getTrayIconInfo() {
3359
+ return this.wire.sendAction('get-tray-icon-info', this.identity).then(({ payload }) => payload.data);
3360
+ }
3361
+ /**
3362
+ * Checks if the application has an associated tray icon.
3363
+ *
3364
+ * @example
3365
+ *
3366
+ * ```js
3367
+ * const app = await fin.Application.wrap({ uuid: 'testapp' });
3368
+ * const hasTrayIcon = await app.hasTrayIcon();
3369
+ * console.log(hasTrayIcon);
3370
+ * ```
3371
+ */
3372
+ hasTrayIcon() {
3373
+ return this.wire.sendAction('has-tray-icon', this.identity).then(({ payload }) => payload.data);
3374
+ }
3375
+ /**
3376
+ * Closes the application by terminating its process.
3377
+ *
3378
+ * @example
3379
+ *
3380
+ * ```js
3381
+ * async function terminateApp() {
3382
+ * const app = await fin.Application.getCurrent();
3383
+ * return await app.terminate();
3384
+ * }
3385
+ * terminateApp().then(() => console.log('Application terminated')).catch(err => console.log(err));
3386
+ * ```
3387
+ */
3388
+ terminate() {
3389
+ return this.wire.sendAction('terminate-application', this.identity).then(() => undefined);
3390
+ }
3391
+ /**
3392
+ * Waits for a hanging application. This method can be called in response to an application
3393
+ * "not-responding" to allow the application to continue and to generate another "not-responding"
3394
+ * message after a certain period of time.
3395
+ *
3396
+ * @ignore
3397
+ */
3398
+ wait() {
3399
+ return this.wire.sendAction('wait-for-hung-application', this.identity).then(() => undefined);
3400
+ }
3401
+ /**
3402
+ * Retrieves information about the application.
3403
+ *
3404
+ * @remarks If the application was not launched from a manifest, the call will return the closest parent application `manifest`
3405
+ * and `manifestUrl`. `initialOptions` shows the parameters used when launched programmatically, or the `startup_app` options
3406
+ * if launched from manifest. The `parentUuid` will be the uuid of the immediate parent (if applicable).
3407
+ *
3408
+ * @example
3409
+ *
3410
+ * ```js
3411
+ * async function getInfo() {
3412
+ * const app = await fin.Application.getCurrent();
3413
+ * return await app.getInfo();
3414
+ * }
3415
+ *
3416
+ * getInfo().then(info => console.log(info)).catch(err => console.log(err));
3417
+ * ```
3418
+ */
3419
+ getInfo() {
3420
+ return this.wire.sendAction('get-info', this.identity).then(({ payload }) => payload.data);
3421
+ }
3422
+ /**
3423
+ * Retrieves all process information for entities (windows and views) associated with an application.
3424
+ *
3425
+ * @example
3426
+ * ```js
3427
+ * const app = await fin.Application.getCurrent();
3428
+ * const processInfo = await app.getProcessInfo();
3429
+ * ```
3430
+ * @experimental
3431
+ */
3432
+ async getProcessInfo() {
3433
+ const { payload: { data } } = await this.wire.sendAction('application-get-process-info', this.identity);
3434
+ return data;
3435
+ }
3436
+ /**
3437
+ * Sets file auto download location. It's only allowed in the same application.
3438
+ *
3439
+ * Note: This method is restricted by default and must be enabled via
3440
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
3441
+ * @param downloadLocation file auto download location
3442
+ *
3443
+ * @throws if setting file auto download location on different applications.
3444
+ * @example
3445
+ *
3446
+ * ```js
3447
+ * const downloadLocation = 'C:\\dev\\temp';
3448
+ * const app = await fin.Application.getCurrent();
3449
+ * try {
3450
+ * await app.setFileDownloadLocation(downloadLocation);
3451
+ * console.log('File download location is set');
3452
+ * } catch(err) {
3453
+ * console.error(err)
3454
+ * }
3455
+ * ```
3456
+ */
3457
+ async setFileDownloadLocation(downloadLocation) {
3458
+ const { name } = this.wire.me;
3459
+ const entityIdentity = { uuid: this.identity.uuid, name };
3460
+ await this.wire.sendAction('set-file-download-location', { ...entityIdentity, downloadLocation });
3461
+ }
3462
+ /**
3463
+ * Gets file auto download location. It's only allowed in the same application. If file auto download location is not set, it will return the default location.
3464
+ *
3465
+ * Note: This method is restricted by default and must be enabled via
3466
+ * <a href="https://developers.openfin.co/docs/api-security">API security settings</a>.
3467
+ *
3468
+ * @throws if getting file auto download location on different applications.
3469
+ * @example
3470
+ *
3471
+ * ```js
3472
+ * const app = await fin.Application.getCurrent();
3473
+ * const fileDownloadDir = await app.getFileDownloadLocation();
3474
+ * ```
3475
+ */
3476
+ async getFileDownloadLocation() {
3477
+ const { payload: { data } } = await this.wire.sendAction('get-file-download-location', this.identity);
3478
+ return data;
3479
+ }
3480
+ /**
3481
+ * Shows a menu on the tray icon. Use with tray-icon-clicked event.
3482
+ * @param options
3483
+ * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3484
+ * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
3485
+ * of all possible data shapes for the entire menu, and the click handler should process
3486
+ * these with a "reducer" pattern.
3487
+ * @throws if the application has no tray icon set
3488
+ * @throws if the system tray is currently hidden
3489
+ * @example
3490
+ *
3491
+ * ```js
3492
+ * const iconUrl = 'http://cdn.openfin.co/assets/testing/icons/circled-digit-one.png';
3493
+ * const app = fin.Application.getCurrentSync();
3494
+ *
3495
+ * await app.setTrayIcon(iconUrl);
3496
+ *
3497
+ * const template = [
3498
+ * {
3499
+ * label: 'Menu Item 1',
3500
+ * data: 'hello from item 1'
3501
+ * },
3502
+ * { type: 'separator' },
3503
+ * {
3504
+ * label: 'Menu Item 2',
3505
+ * type: 'checkbox',
3506
+ * checked: true,
3507
+ * data: 'The user clicked the checkbox'
3508
+ * },
3509
+ * {
3510
+ * label: 'see more',
3511
+ * enabled: false,
3512
+ * submenu: [
3513
+ * { label: 'submenu 1', data: 'hello from submenu' }
3514
+ * ]
3515
+ * }
3516
+ * ];
3517
+ *
3518
+ * app.addListener('tray-icon-clicked', (event) => {
3519
+ * // right-click
3520
+ * if (event.button === 2) {
3521
+ * app.showTrayIconPopupMenu({ template }).then(r => {
3522
+ * if (r.result === 'closed') {
3523
+ * console.log('nothing happened');
3524
+ * } else {
3525
+ * console.log(r.data);
3526
+ * }
3527
+ * });
3528
+ * }
3529
+ * });
3530
+ * ```
3531
+ */
3532
+ async showTrayIconPopupMenu(options) {
3533
+ const { name } = this.wire.me;
3534
+ const entityIdentity = { uuid: this.identity.uuid, name };
3535
+ const { payload } = await this.wire.sendAction('show-tray-icon-popup-menu', { ...entityIdentity, options });
3536
+ return payload.data;
3537
+ }
3538
+ /**
3539
+ * Closes the tray icon menu.
3540
+ *
3541
+ * @throws if the application has no tray icon set
3542
+ * @example
3543
+ *
3544
+ * ```js
3545
+ * const app = fin.Application.getCurrentSync();
3546
+ *
3547
+ * await app.closeTrayIconPopupMenu();
3548
+ * ```
3549
+ */
3550
+ async closeTrayIconPopupMenu() {
3551
+ const { name } = this.wire.me;
3552
+ const entityIdentity = { uuid: this.identity.uuid, name };
3553
+ await this.wire.sendAction('close-tray-icon-popup-menu', { ...entityIdentity });
3554
+ }
3555
+ }
3556
+ Instance$6.Application = Application;
3557
+
3558
+ Object.defineProperty(Factory$7, "__esModule", { value: true });
3559
+ Factory$7.ApplicationModule = void 0;
3560
+ const base_1$m = base;
3561
+ const validate_1$4 = validate;
3562
+ const Instance_1$5 = Instance$6;
3563
+ /**
3564
+ * Static namespace for OpenFin API methods that interact with the {@link Application} class, available under `fin.Application`.
3565
+ */
3566
+ class ApplicationModule extends base_1$m.Base {
3567
+ /**
3568
+ * Asynchronously returns an API handle for the given Application identity.
3569
+ *
3570
+ * @remarks Wrapping an Application identity that does not yet exist will *not* throw an error, and instead
3571
+ * returns a stub object that cannot yet perform rendering tasks. This can be useful for plumbing eventing
3572
+ * for an Application throughout its entire lifecycle.
3573
+ *
3574
+ * @example
3575
+ *
3576
+ * ```js
3577
+ * fin.Application.wrap({ uuid: 'testapp' })
3578
+ * .then(app => app.isRunning())
3579
+ * .then(running => console.log('Application is running: ' + running))
3580
+ * .catch(err => console.log(err));
3581
+ * ```
3582
+ *
3583
+ */
3584
+ async wrap(identity) {
3585
+ this.wire.sendAction('wrap-application').catch((e) => {
3586
+ // we do not want to expose this error, just continue if this analytics-only call fails
3587
+ });
3588
+ const errorMsg = (0, validate_1$4.validateIdentity)(identity);
3589
+ if (errorMsg) {
3590
+ throw new Error(errorMsg);
3591
+ }
3592
+ return new Instance_1$5.Application(this.wire, identity);
3593
+ }
3594
+ /**
3595
+ * Synchronously returns an API handle for the given Application identity.
3596
+ *
3597
+ * @remarks Wrapping an Application identity that does not yet exist will *not* throw an error, and instead
3598
+ * returns a stub object that cannot yet perform rendering tasks. This can be useful for plumbing eventing
3599
+ * for an Aplication throughout its entire lifecycle.
3600
+ *
3601
+ * @example
3602
+ *
3603
+ * ```js
3604
+ * const app = fin.Application.wrapSync({ uuid: 'testapp' });
3605
+ * await app.close();
3606
+ * ```
3607
+ *
3608
+ */
3609
+ wrapSync(identity) {
3610
+ this.wire.sendAction('wrap-application-sync').catch((e) => {
3611
+ // we do not want to expose this error, just continue if this analytics-only call fails
3612
+ });
3613
+ const errorMsg = (0, validate_1$4.validateIdentity)(identity);
3614
+ if (errorMsg) {
3615
+ throw new Error(errorMsg);
3616
+ }
3617
+ return new Instance_1$5.Application(this.wire, identity);
3618
+ }
3619
+ async _create(appOptions) {
3620
+ // set defaults:
3621
+ if (appOptions.waitForPageLoad === undefined) {
3622
+ appOptions.waitForPageLoad = false;
3623
+ }
3624
+ if (appOptions.autoShow === undefined && appOptions.isPlatformController === undefined) {
3625
+ appOptions.autoShow = true;
3626
+ }
3627
+ await this.wire.sendAction('create-application', appOptions);
3628
+ return this.wrap({ uuid: appOptions.uuid });
3629
+ }
3630
+ /**
3631
+ * DEPRECATED method to create a new Application. Use {@link Application.ApplicationModule.start Application.start} instead.
3632
+ *
3633
+ * @example
3634
+ *
3635
+ * ```js
3636
+ * async function createApp() {
3637
+ * const app = await fin.Application.create({
3638
+ * name: 'myApp',
3639
+ * uuid: 'app-3',
3640
+ * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.create.html',
3641
+ * autoShow: true
3642
+ * });
3643
+ * await app.run();
3644
+ * }
3645
+ *
3646
+ * createApp().then(() => console.log('Application is created')).catch(err => console.log(err));
3647
+ * ```
3648
+ *
3649
+ * @ignore
3650
+ */
3651
+ create(appOptions) {
3652
+ console.warn('Deprecation Warning: fin.Application.create is deprecated. Please use fin.Application.start');
3653
+ this.wire.sendAction('application-create').catch((e) => {
3654
+ // we do not want to expose this error, just continue if this analytics-only call fails
3655
+ });
3656
+ return this._create(appOptions);
3657
+ }
3658
+ /**
3659
+ * Creates and starts a new Application.
3660
+ *
3661
+ * @example
3662
+ *
3663
+ * ```js
3664
+ * async function start() {
3665
+ * return fin.Application.start({
3666
+ * name: 'app-1',
3667
+ * uuid: 'app-1',
3668
+ * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.start.html',
3669
+ * autoShow: true
3670
+ * });
3671
+ * }
3672
+ * start().then(() => console.log('Application is running')).catch(err => console.log(err));
3673
+ * ```
3674
+ *
3675
+ */
3676
+ async start(appOptions) {
3677
+ this.wire.sendAction('start-application').catch((e) => {
3678
+ // we do not want to expose this error, just continue if this analytics-only call fails
3679
+ });
3680
+ const app = await this._create(appOptions);
3681
+ await this.wire.sendAction('run-application', { uuid: appOptions.uuid });
3682
+ return app;
3683
+ }
3684
+ /**
3685
+ * Asynchronously starts a batch of applications given an array of application identifiers and manifestUrls.
3686
+ * Returns once the RVM is finished attempting to launch the applications.
3687
+ * @param opts - Parameters that the RVM will use.
3688
+ *
3689
+ * @example
3690
+ *
3691
+ * ```js
3692
+ *
3693
+ * const applicationInfoArray = [
3694
+ * {
3695
+ * "uuid": 'App-1',
3696
+ * "manifestUrl": 'http://localhost:5555/app1.json',
3697
+ * },
3698
+ * {
3699
+ * "uuid": 'App-2',
3700
+ * "manifestUrl": 'http://localhost:5555/app2.json',
3701
+ * },
3702
+ * {
3703
+ * "uuid": 'App-3',
3704
+ * "manifestUrl": 'http://localhost:5555/app3.json',
3705
+ * }
3706
+ * ]
3707
+ *
3708
+ * fin.Application.startManyManifests(applicationInfoArray)
3709
+ * .then(() => {
3710
+ * console.log('RVM has finished launching the application list.');
3711
+ * })
3712
+ * .catch((err) => {
3713
+ * console.log(err);
3714
+ * })
3715
+ * ```
3716
+ *
3717
+ * @experimental
3718
+ */
3719
+ async startManyManifests(applications, opts) {
3720
+ return this.wire.sendAction('run-applications', { applications, opts }).then(() => undefined);
3721
+ }
3722
+ /**
3723
+ * Asynchronously returns an Application object that represents the current application
3724
+ *
3725
+ * @example
3726
+ *
3727
+ * ```js
3728
+ * async function isCurrentAppRunning () {
3729
+ * const app = await fin.Application.getCurrent();
3730
+ * return app.isRunning();
3731
+ * }
3732
+ *
3733
+ * isCurrentAppRunning().then(running => {
3734
+ * console.log(`Current app is running: ${running}`);
3735
+ * }).catch(err => {
3736
+ * console.error(err);
3737
+ * });
3738
+ *
3739
+ * ```
3740
+ */
3741
+ getCurrent() {
3742
+ this.wire.sendAction('get-current-application').catch((e) => {
3743
+ // we do not want to expose this error, just continue if this analytics-only call fails
3744
+ });
3745
+ return this.wrap({ uuid: this.wire.me.uuid });
3746
+ }
3747
+ /**
3748
+ * Synchronously returns an Application object that represents the current application
3749
+ *
3750
+ * @example
3751
+ *
3752
+ * ```js
3753
+ * async function isCurrentAppRunning () {
3754
+ * const app = fin.Application.getCurrentSync();
3755
+ * return app.isRunning();
3756
+ * }
3757
+ *
3758
+ * isCurrentAppRunning().then(running => {
3759
+ * console.log(`Current app is running: ${running}`);
3760
+ * }).catch(err => {
3761
+ * console.error(err);
3762
+ * });
3763
+ *
3764
+ * ```
3765
+ */
3766
+ getCurrentSync() {
3767
+ this.wire.sendAction('get-current-application-sync').catch((e) => {
3768
+ // we do not want to expose this error, just continue if this analytics-only call fails
3769
+ });
3770
+ return this.wrapSync({ uuid: this.wire.me.uuid });
3771
+ }
3772
+ /**
3773
+ * Retrieves application's manifest and returns a running instance of the application.
3774
+ * @param manifestUrl - The URL of app's manifest.
3775
+ * @param opts - Parameters that the RVM will use.
3776
+ *
3777
+ * @example
3778
+ *
3779
+ * ```js
3780
+ * fin.Application.startFromManifest('http://localhost:5555/app.json').then(app => console.log('App is running')).catch(err => console.log(err));
3781
+ *
3782
+ * // For a local manifest file:
3783
+ * fin.Application.startFromManifest('file:///C:/somefolder/app.json').then(app => console.log('App is running')).catch(err => console.log(err));
3784
+ * ```
3785
+ */
3786
+ async startFromManifest(manifestUrl, opts) {
3787
+ this.wire.sendAction('application-start-from-manifest').catch((e) => {
3788
+ // we do not want to expose this error, just continue if this analytics-only call fails
3789
+ });
3790
+ const app = await this._createFromManifest(manifestUrl);
3791
+ // @ts-expect-error using private method without warning.
3792
+ await app._run(opts); // eslint-disable-line no-underscore-dangle
3793
+ return app;
3794
+ }
3795
+ /**
3796
+ * @deprecated Use {@link Application.ApplicationModule.startFromManifest Application.startFromManifest} instead.
3797
+ * Retrieves application's manifest and returns a wrapped application.
3798
+ * @param manifestUrl - The URL of app's manifest.
3799
+ * @param callback - called if the method succeeds.
3800
+ * @param errorCallback - called if the method fails. The reason for failure is passed as an argument.
3801
+ *
3802
+ * @example
3803
+ *
3804
+ * ```js
3805
+ * fin.Application.createFromManifest('http://localhost:5555/app.json').then(app => console.log(app)).catch(err => console.log(err));
3806
+ * ```
3807
+ * @ignore
3808
+ */
3809
+ createFromManifest(manifestUrl) {
3810
+ console.warn('Deprecation Warning: fin.Application.createFromManifest is deprecated. Please use fin.Application.startFromManifest');
3811
+ this.wire.sendAction('application-create-from-manifest').catch((e) => {
3812
+ // we do not want to expose this error, just continue if this analytics-only call fails
3813
+ });
3814
+ return this._createFromManifest(manifestUrl);
3815
+ }
3816
+ _createFromManifest(manifestUrl) {
3817
+ return this.wire
3818
+ .sendAction('get-application-manifest', { manifestUrl })
3819
+ .then(({ payload }) => {
3820
+ const uuid = payload.data.platform ? payload.data.platform.uuid : payload.data.startup_app.uuid;
3821
+ return this.wrap({ uuid });
3822
+ })
3823
+ .then((app) => {
3824
+ app._manifestUrl = manifestUrl; // eslint-disable-line no-underscore-dangle
3825
+ return app;
3826
+ });
3827
+ }
3563
3828
  }
3829
+ Factory$7.ApplicationModule = ApplicationModule;
3564
3830
 
3565
- var hasRequiredFactory$1;
3566
-
3567
- function requireFactory$1 () {
3568
- if (hasRequiredFactory$1) return Factory$7;
3569
- hasRequiredFactory$1 = 1;
3570
- Object.defineProperty(Factory$7, "__esModule", { value: true });
3571
- Factory$7.ApplicationModule = void 0;
3572
- const base_1 = base;
3573
- const validate_1 = validate;
3574
- const Instance_1 = requireInstance$1();
3831
+ (function (exports) {
3832
+ var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3833
+ if (k2 === undefined) k2 = k;
3834
+ var desc = Object.getOwnPropertyDescriptor(m, k);
3835
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
3836
+ desc = { enumerable: true, get: function() { return m[k]; } };
3837
+ }
3838
+ Object.defineProperty(o, k2, desc);
3839
+ }) : (function(o, m, k, k2) {
3840
+ if (k2 === undefined) k2 = k;
3841
+ o[k2] = m[k];
3842
+ }));
3843
+ var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m, exports) {
3844
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
3845
+ };
3846
+ Object.defineProperty(exports, "__esModule", { value: true });
3575
3847
  /**
3576
- * Static namespace for OpenFin API methods that interact with the {@link Application} class, available under `fin.Application`.
3848
+ * Entry points for the OpenFin `Application` API (`fin.Application`).
3849
+ *
3850
+ * * {@link ApplicationModule} contains static members of the `Application` API, accessible through `fin.Application`.
3851
+ * * {@link Application} describes an instance of an OpenFin Application, e.g. as returned by `fin.Application.getCurrent`.
3852
+ *
3853
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
3854
+ * both of these were documented on the same page.
3855
+ *
3856
+ * @packageDocumentation
3577
3857
  */
3578
- class ApplicationModule extends base_1.Base {
3579
- /**
3580
- * Asynchronously returns an API handle for the given Application identity.
3581
- *
3582
- * @remarks Wrapping an Application identity that does not yet exist will *not* throw an error, and instead
3583
- * returns a stub object that cannot yet perform rendering tasks. This can be useful for plumbing eventing
3584
- * for an Application throughout its entire lifecycle.
3585
- *
3586
- * @example
3587
- *
3588
- * ```js
3589
- * fin.Application.wrap({ uuid: 'testapp' })
3590
- * .then(app => app.isRunning())
3591
- * .then(running => console.log('Application is running: ' + running))
3592
- * .catch(err => console.log(err));
3593
- * ```
3594
- *
3595
- */
3596
- async wrap(identity) {
3597
- this.wire.sendAction('wrap-application').catch((e) => {
3598
- // we do not want to expose this error, just continue if this analytics-only call fails
3599
- });
3600
- const errorMsg = (0, validate_1.validateIdentity)(identity);
3601
- if (errorMsg) {
3602
- throw new Error(errorMsg);
3603
- }
3604
- return new Instance_1.Application(this.wire, identity);
3605
- }
3606
- /**
3607
- * Synchronously returns an API handle for the given Application identity.
3608
- *
3609
- * @remarks Wrapping an Application identity that does not yet exist will *not* throw an error, and instead
3610
- * returns a stub object that cannot yet perform rendering tasks. This can be useful for plumbing eventing
3611
- * for an Aplication throughout its entire lifecycle.
3612
- *
3613
- * @example
3614
- *
3615
- * ```js
3616
- * const app = fin.Application.wrapSync({ uuid: 'testapp' });
3617
- * await app.close();
3618
- * ```
3619
- *
3620
- */
3621
- wrapSync(identity) {
3622
- this.wire.sendAction('wrap-application-sync').catch((e) => {
3623
- // we do not want to expose this error, just continue if this analytics-only call fails
3624
- });
3625
- const errorMsg = (0, validate_1.validateIdentity)(identity);
3626
- if (errorMsg) {
3627
- throw new Error(errorMsg);
3628
- }
3629
- return new Instance_1.Application(this.wire, identity);
3630
- }
3631
- async _create(appOptions) {
3632
- // set defaults:
3633
- if (appOptions.waitForPageLoad === undefined) {
3634
- appOptions.waitForPageLoad = false;
3635
- }
3636
- if (appOptions.autoShow === undefined && appOptions.isPlatformController === undefined) {
3637
- appOptions.autoShow = true;
3638
- }
3639
- await this.wire.sendAction('create-application', appOptions);
3640
- return this.wrap({ uuid: appOptions.uuid });
3641
- }
3642
- /**
3643
- * DEPRECATED method to create a new Application. Use {@link Application.ApplicationModule.start Application.start} instead.
3644
- *
3645
- * @example
3646
- *
3647
- * ```js
3648
- * async function createApp() {
3649
- * const app = await fin.Application.create({
3650
- * name: 'myApp',
3651
- * uuid: 'app-3',
3652
- * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.create.html',
3653
- * autoShow: true
3654
- * });
3655
- * await app.run();
3656
- * }
3657
- *
3658
- * createApp().then(() => console.log('Application is created')).catch(err => console.log(err));
3659
- * ```
3660
- *
3661
- * @ignore
3662
- */
3663
- create(appOptions) {
3664
- console.warn('Deprecation Warning: fin.Application.create is deprecated. Please use fin.Application.start');
3665
- this.wire.sendAction('application-create').catch((e) => {
3666
- // we do not want to expose this error, just continue if this analytics-only call fails
3667
- });
3668
- return this._create(appOptions);
3669
- }
3670
- /**
3671
- * Creates and starts a new Application.
3672
- *
3673
- * @example
3674
- *
3675
- * ```js
3676
- * async function start() {
3677
- * return fin.Application.start({
3678
- * name: 'app-1',
3679
- * uuid: 'app-1',
3680
- * url: 'https://cdn.openfin.co/docs/javascript/stable/tutorial-Application.start.html',
3681
- * autoShow: true
3682
- * });
3683
- * }
3684
- * start().then(() => console.log('Application is running')).catch(err => console.log(err));
3685
- * ```
3686
- *
3687
- */
3688
- async start(appOptions) {
3689
- this.wire.sendAction('start-application').catch((e) => {
3690
- // we do not want to expose this error, just continue if this analytics-only call fails
3691
- });
3692
- const app = await this._create(appOptions);
3693
- await this.wire.sendAction('run-application', { uuid: appOptions.uuid });
3694
- return app;
3695
- }
3696
- /**
3697
- * Asynchronously starts a batch of applications given an array of application identifiers and manifestUrls.
3698
- * Returns once the RVM is finished attempting to launch the applications.
3699
- * @param opts - Parameters that the RVM will use.
3700
- *
3701
- * @example
3702
- *
3703
- * ```js
3704
- *
3705
- * const applicationInfoArray = [
3706
- * {
3707
- * "uuid": 'App-1',
3708
- * "manifestUrl": 'http://localhost:5555/app1.json',
3709
- * },
3710
- * {
3711
- * "uuid": 'App-2',
3712
- * "manifestUrl": 'http://localhost:5555/app2.json',
3713
- * },
3714
- * {
3715
- * "uuid": 'App-3',
3716
- * "manifestUrl": 'http://localhost:5555/app3.json',
3717
- * }
3718
- * ]
3719
- *
3720
- * fin.Application.startManyManifests(applicationInfoArray)
3721
- * .then(() => {
3722
- * console.log('RVM has finished launching the application list.');
3723
- * })
3724
- * .catch((err) => {
3725
- * console.log(err);
3726
- * })
3727
- * ```
3728
- *
3729
- * @experimental
3730
- */
3731
- async startManyManifests(applications, opts) {
3732
- return this.wire.sendAction('run-applications', { applications, opts }).then(() => undefined);
3733
- }
3734
- /**
3735
- * Asynchronously returns an Application object that represents the current application
3736
- *
3737
- * @example
3738
- *
3739
- * ```js
3740
- * async function isCurrentAppRunning () {
3741
- * const app = await fin.Application.getCurrent();
3742
- * return app.isRunning();
3743
- * }
3744
- *
3745
- * isCurrentAppRunning().then(running => {
3746
- * console.log(`Current app is running: ${running}`);
3747
- * }).catch(err => {
3748
- * console.error(err);
3749
- * });
3750
- *
3751
- * ```
3752
- */
3753
- getCurrent() {
3754
- this.wire.sendAction('get-current-application').catch((e) => {
3755
- // we do not want to expose this error, just continue if this analytics-only call fails
3756
- });
3757
- return this.wrap({ uuid: this.wire.me.uuid });
3758
- }
3759
- /**
3760
- * Synchronously returns an Application object that represents the current application
3761
- *
3762
- * @example
3763
- *
3764
- * ```js
3765
- * async function isCurrentAppRunning () {
3766
- * const app = fin.Application.getCurrentSync();
3767
- * return app.isRunning();
3768
- * }
3769
- *
3770
- * isCurrentAppRunning().then(running => {
3771
- * console.log(`Current app is running: ${running}`);
3772
- * }).catch(err => {
3773
- * console.error(err);
3774
- * });
3775
- *
3776
- * ```
3777
- */
3778
- getCurrentSync() {
3779
- this.wire.sendAction('get-current-application-sync').catch((e) => {
3780
- // we do not want to expose this error, just continue if this analytics-only call fails
3781
- });
3782
- return this.wrapSync({ uuid: this.wire.me.uuid });
3783
- }
3784
- /**
3785
- * Retrieves application's manifest and returns a running instance of the application.
3786
- * @param manifestUrl - The URL of app's manifest.
3787
- * @param opts - Parameters that the RVM will use.
3788
- *
3789
- * @example
3790
- *
3791
- * ```js
3792
- * fin.Application.startFromManifest('http://localhost:5555/app.json').then(app => console.log('App is running')).catch(err => console.log(err));
3793
- *
3794
- * // For a local manifest file:
3795
- * fin.Application.startFromManifest('file:///C:/somefolder/app.json').then(app => console.log('App is running')).catch(err => console.log(err));
3796
- * ```
3797
- */
3798
- async startFromManifest(manifestUrl, opts) {
3799
- this.wire.sendAction('application-start-from-manifest').catch((e) => {
3800
- // we do not want to expose this error, just continue if this analytics-only call fails
3801
- });
3802
- const app = await this._createFromManifest(manifestUrl);
3803
- // @ts-expect-error using private method without warning.
3804
- await app._run(opts); // eslint-disable-line no-underscore-dangle
3805
- return app;
3806
- }
3807
- /**
3808
- * @deprecated Use {@link Application.ApplicationModule.startFromManifest Application.startFromManifest} instead.
3809
- * Retrieves application's manifest and returns a wrapped application.
3810
- * @param manifestUrl - The URL of app's manifest.
3811
- * @param callback - called if the method succeeds.
3812
- * @param errorCallback - called if the method fails. The reason for failure is passed as an argument.
3813
- *
3814
- * @example
3815
- *
3816
- * ```js
3817
- * fin.Application.createFromManifest('http://localhost:5555/app.json').then(app => console.log(app)).catch(err => console.log(err));
3818
- * ```
3819
- * @ignore
3820
- */
3821
- createFromManifest(manifestUrl) {
3822
- console.warn('Deprecation Warning: fin.Application.createFromManifest is deprecated. Please use fin.Application.startFromManifest');
3823
- this.wire.sendAction('application-create-from-manifest').catch((e) => {
3824
- // we do not want to expose this error, just continue if this analytics-only call fails
3825
- });
3826
- return this._createFromManifest(manifestUrl);
3827
- }
3828
- _createFromManifest(manifestUrl) {
3829
- return this.wire
3830
- .sendAction('get-application-manifest', { manifestUrl })
3831
- .then(({ payload }) => {
3832
- const uuid = payload.data.platform ? payload.data.platform.uuid : payload.data.startup_app.uuid;
3833
- return this.wrap({ uuid });
3834
- })
3835
- .then((app) => {
3836
- app._manifestUrl = manifestUrl; // eslint-disable-line no-underscore-dangle
3837
- return app;
3838
- });
3839
- }
3840
- }
3841
- Factory$7.ApplicationModule = ApplicationModule;
3842
- return Factory$7;
3843
- }
3844
-
3845
- var hasRequiredApplication;
3846
-
3847
- function requireApplication () {
3848
- if (hasRequiredApplication) return application;
3849
- hasRequiredApplication = 1;
3850
- (function (exports) {
3851
- var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3852
- if (k2 === undefined) k2 = k;
3853
- var desc = Object.getOwnPropertyDescriptor(m, k);
3854
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
3855
- desc = { enumerable: true, get: function() { return m[k]; } };
3856
- }
3857
- Object.defineProperty(o, k2, desc);
3858
- }) : (function(o, m, k, k2) {
3859
- if (k2 === undefined) k2 = k;
3860
- o[k2] = m[k];
3861
- }));
3862
- var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m, exports) {
3863
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
3864
- };
3865
- Object.defineProperty(exports, "__esModule", { value: true });
3866
- /**
3867
- * Entry points for the OpenFin `Application` API (`fin.Application`).
3868
- *
3869
- * * {@link ApplicationModule} contains static members of the `Application` API, accessible through `fin.Application`.
3870
- * * {@link Application} describes an instance of an OpenFin Application, e.g. as returned by `fin.Application.getCurrent`.
3871
- *
3872
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
3873
- * both of these were documented on the same page.
3874
- *
3875
- * @packageDocumentation
3876
- */
3877
- __exportStar(requireFactory$1(), exports);
3878
- __exportStar(requireInstance$1(), exports);
3879
- } (application));
3880
- return application;
3881
- }
3858
+ __exportStar(Factory$7, exports);
3859
+ __exportStar(Instance$6, exports);
3860
+ } (application));
3882
3861
 
3883
3862
  var promisifySubscription$1 = {};
3884
3863
 
@@ -3922,7 +3901,7 @@ function requireInstance () {
3922
3901
  /* eslint-disable @typescript-eslint/no-unused-vars */
3923
3902
  /* eslint-disable no-console */
3924
3903
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
3925
- const application_1 = requireApplication();
3904
+ const application_1 = application;
3926
3905
  const main_1 = main;
3927
3906
  const view_1 = requireView();
3928
3907
  const warnings_1 = warnings;
@@ -17208,7 +17187,7 @@ const events_1$3 = require$$0;
17208
17187
  // Import from the file rather than the directory in case someone consuming types is using module resolution other than "node"
17209
17188
  const index_1 = system;
17210
17189
  const index_2 = requireWindow();
17211
- const index_3 = requireApplication();
17190
+ const index_3 = application;
17212
17191
  const index_4 = interappbus;
17213
17192
  const index_5 = clipboard;
17214
17193
  const index_6 = externalApplication;