@blackbaud/skyux-lib-addin-client 3.0.0 → 4.0.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.
Files changed (31) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -1
  3. package/blackbaud-skyux-lib-addin-client.d.ts +2 -1
  4. package/bundles/blackbaud-skyux-lib-addin-client.umd.js +87 -224
  5. package/bundles/blackbaud-skyux-lib-addin-client.umd.js.map +1 -1
  6. package/documentation.json +1298 -0
  7. package/esm2015/blackbaud-skyux-lib-addin-client.js +2 -2
  8. package/esm2015/public-api.js +4 -0
  9. package/esm2015/src/addin-client.service.js +40 -8
  10. package/esm2015/src/events/addin-event-handler-instance.js +6 -0
  11. package/esm2015/src/events/addin-event.js +7 -0
  12. package/esm2015/src/events/index.js +3 -0
  13. package/fesm2015/blackbaud-skyux-lib-addin-client.js +52 -7
  14. package/fesm2015/blackbaud-skyux-lib-addin-client.js.map +1 -1
  15. package/package.json +9 -18
  16. package/public-api.d.ts +3 -0
  17. package/src/addin-client.service.d.ts +22 -1
  18. package/src/events/addin-event-handler-instance.d.ts +11 -0
  19. package/src/events/addin-event.d.ts +14 -0
  20. package/src/events/index.d.ts +2 -0
  21. package/CHANGELOG.md +0 -74
  22. package/blackbaud-skyux-lib-addin-client.metadata.json +0 -1
  23. package/bundles/blackbaud-skyux-lib-addin-client.umd.min.js +0 -16
  24. package/bundles/blackbaud-skyux-lib-addin-client.umd.min.js.map +0 -1
  25. package/esm2015/public_api.js +0 -2
  26. package/esm5/blackbaud-skyux-lib-addin-client.js +0 -5
  27. package/esm5/public_api.js +0 -2
  28. package/esm5/src/addin-client.service.js +0 -169
  29. package/fesm5/blackbaud-skyux-lib-addin-client.js +0 -175
  30. package/fesm5/blackbaud-skyux-lib-addin-client.js.map +0 -1
  31. package/public_api.d.ts +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Blackbaud
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  [![npm](https://img.shields.io/npm/v/@blackbaud/skyux-lib-addin-client.svg)](https://www.npmjs.com/package/@blackbaud/skyux-lib-addin-client)
2
- [![status](https://travis-ci.org/blackbaud/skyux-lib-addin-client.svg?branch=master)](https://travis-ci.org/blackbaud/skyux-lib-addin-client)
2
+ ![SKY UX CI](https://github.com/blackbaud/skyux-lib-addin-client/workflows/SKY%20UX%20CI/badge.svg)
3
+ [![coverage](https://codecov.io/gh/blackbaud/skyux-lib-addin-client/branch/master/graphs/badge.svg?branch=master)](https://codecov.io/gh/blackbaud/skyux-lib-addin-client/branch/master)
3
4
 
4
5
  # SKY UX Add-in Client Library
5
6
 
@@ -187,6 +188,64 @@ this.addinClientService.showError({
187
188
  });
188
189
  ```
189
190
 
191
+ You can handle entry form add-in events using the `addEventHandler` method:
192
+
193
+ ```js
194
+ this.addinClientService.addEventHandler({
195
+ eventType: 'form-data-update'
196
+ }).addinEvent.subscribe((addinEvent: AddinEvent) => {
197
+ // get updated data from addinEvent.context object
198
+ });
199
+
200
+ this.addinClientService.addEventHandler({
201
+ eventType: 'form-save'
202
+ }).addinEvent.subscribe((addinEvent: AddinEvent) => {
203
+ // handle the save event, asynchronously
204
+
205
+ addinEvent.done(); // When done, call the done function (tells the entry form it's OK to close)
206
+ });
207
+
208
+ this.addinClientService.addEventHandler({
209
+ eventType: 'form-cancel'
210
+ }).addinEvent.subscribe((addinEvent: AddinEvent) => {
211
+ // handle the cancel event, asynchronously
212
+
213
+ addinEvent.done(); // When done, call the done function (tells the entry form it's OK to close)
214
+ });
215
+ ```
216
+
217
+ You can send a custom event to the host page, as long as the host supports the event type.
218
+ Before sending an event to the host page, you must subscribe to the AddinClientService's init `args`
219
+ event and check the `supportedEventTypes` property to determine what event types the host page
220
+ will handle.
221
+ Sending custom events to the host page is currently only supported for Blackbaud internal use.
222
+
223
+ ```js
224
+ this.addinClientService.args.subscribe((args: AddinClientInitArgs) => {
225
+ this.supportedEventTypes = args.supportedEventTypes;
226
+
227
+ args.ready({
228
+ showUI: true
229
+ });
230
+ });
231
+
232
+ // Before sending event, check to make sure the event is supported by the host page
233
+ if (this.supportedEventTypes.includes('my-event-type')) {
234
+ // To send add-in events to the host, call the sendEvent method
235
+ this.addinClientService.sendEvent({
236
+ type: 'my-event-type',
237
+ context: { /* context object to pass to host page */ }
238
+ }).subscribe(() => {
239
+ // host page received the event
240
+ }, (err) => {
241
+ // an error occurred while attempting to send the event
242
+ });
243
+ }
244
+ ```
245
+
246
+ To determine the add-in extension points that support custom events,
247
+ please see https://developer.blackbaud.com/skyapi/docs/addins/concepts/extension-points.
248
+
190
249
  Finally, you can show/hide a page-blocking wait using the `showWait` and `hideWait` methods:
191
250
 
192
251
  ```js
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public_api';
4
+ /// <amd-module name="@blackbaud/skyux-lib-addin-client" />
5
+ export * from './public-api';
@@ -1,223 +1,48 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs'), require('@angular/core'), require('@blackbaud/sky-addin-client')) :
3
3
  typeof define === 'function' && define.amd ? define('@blackbaud/skyux-lib-addin-client', ['exports', 'rxjs', '@angular/core', '@blackbaud/sky-addin-client'], factory) :
4
- (global = global || self, factory((global.blackbaud = global.blackbaud || {}, global.blackbaud['skyux-lib-addin-client'] = {}), global.rxjs, global.ng.core, global.skyAddinClient));
5
- }(this, (function (exports, rxjs, core, skyAddinClient) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.blackbaud = global.blackbaud || {}, global.blackbaud["skyux-lib-addin-client"] = {}), global.rxjs, global.ng.core, global.skyAddinClient));
5
+ })(this, (function (exports, rxjs, i0, skyAddinClient) { 'use strict';
6
6
 
7
- /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation. All rights reserved.
9
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
10
- this file except in compliance with the License. You may obtain a copy of the
11
- License at http://www.apache.org/licenses/LICENSE-2.0
12
-
13
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
15
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
16
- MERCHANTABLITY OR NON-INFRINGEMENT.
17
-
18
- See the Apache Version 2.0 License for specific language governing permissions
19
- and limitations under the License.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise */
22
-
23
- var extendStatics = function(d, b) {
24
- extendStatics = Object.setPrototypeOf ||
25
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
26
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
27
- return extendStatics(d, b);
28
- };
29
-
30
- function __extends(d, b) {
31
- extendStatics(d, b);
32
- function __() { this.constructor = d; }
33
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
- }
35
-
36
- var __assign = function() {
37
- __assign = Object.assign || function __assign(t) {
38
- for (var s, i = 1, n = arguments.length; i < n; i++) {
39
- s = arguments[i];
40
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
41
- }
42
- return t;
43
- };
44
- return __assign.apply(this, arguments);
45
- };
46
-
47
- function __rest(s, e) {
48
- var t = {};
49
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
50
- t[p] = s[p];
51
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
52
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
53
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
54
- t[p[i]] = s[p[i]];
55
- }
56
- return t;
57
- }
58
-
59
- function __decorate(decorators, target, key, desc) {
60
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
62
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
63
- return c > 3 && r && Object.defineProperty(target, key, r), r;
64
- }
65
-
66
- function __param(paramIndex, decorator) {
67
- return function (target, key) { decorator(target, key, paramIndex); }
68
- }
69
-
70
- function __metadata(metadataKey, metadataValue) {
71
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
72
- }
73
-
74
- function __awaiter(thisArg, _arguments, P, generator) {
75
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
76
- return new (P || (P = Promise))(function (resolve, reject) {
77
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
78
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
79
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
80
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81
- });
82
- }
83
-
84
- function __generator(thisArg, body) {
85
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
86
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
87
- function verb(n) { return function (v) { return step([n, v]); }; }
88
- function step(op) {
89
- if (f) throw new TypeError("Generator is already executing.");
90
- while (_) try {
91
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
92
- if (y = 0, t) op = [op[0] & 2, t.value];
93
- switch (op[0]) {
94
- case 0: case 1: t = op; break;
95
- case 4: _.label++; return { value: op[1], done: false };
96
- case 5: _.label++; y = op[1]; op = [0]; continue;
97
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
98
- default:
99
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
100
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
101
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
102
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
103
- if (t[2]) _.ops.pop();
104
- _.trys.pop(); continue;
105
- }
106
- op = body.call(thisArg, _);
107
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
108
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
109
- }
110
- }
111
-
112
- function __exportStar(m, exports) {
113
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
114
- }
115
-
116
- function __values(o) {
117
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
118
- if (m) return m.call(o);
119
- if (o && typeof o.length === "number") return {
120
- next: function () {
121
- if (o && i >= o.length) o = void 0;
122
- return { value: o && o[i++], done: !o };
123
- }
124
- };
125
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
126
- }
127
-
128
- function __read(o, n) {
129
- var m = typeof Symbol === "function" && o[Symbol.iterator];
130
- if (!m) return o;
131
- var i = m.call(o), r, ar = [], e;
132
- try {
133
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
134
- }
135
- catch (error) { e = { error: error }; }
136
- finally {
137
- try {
138
- if (r && !r.done && (m = i["return"])) m.call(i);
139
- }
140
- finally { if (e) throw e.error; }
141
- }
142
- return ar;
143
- }
144
-
145
- function __spread() {
146
- for (var ar = [], i = 0; i < arguments.length; i++)
147
- ar = ar.concat(__read(arguments[i]));
148
- return ar;
149
- }
150
-
151
- function __spreadArrays() {
152
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
153
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
154
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
155
- r[k] = a[j];
156
- return r;
157
- };
158
-
159
- function __await(v) {
160
- return this instanceof __await ? (this.v = v, this) : new __await(v);
161
- }
162
-
163
- function __asyncGenerator(thisArg, _arguments, generator) {
164
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
165
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
166
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
167
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
168
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
169
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
170
- function fulfill(value) { resume("next", value); }
171
- function reject(value) { resume("throw", value); }
172
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
173
- }
174
-
175
- function __asyncDelegator(o) {
176
- var i, p;
177
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
178
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
179
- }
180
-
181
- function __asyncValues(o) {
182
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
183
- var m = o[Symbol.asyncIterator], i;
184
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
185
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
186
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
187
- }
188
-
189
- function __makeTemplateObject(cooked, raw) {
190
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
191
- return cooked;
192
- };
193
-
194
- function __importStar(mod) {
195
- if (mod && mod.__esModule) return mod;
196
- var result = {};
197
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
198
- result.default = mod;
199
- return result;
200
- }
201
-
202
- function __importDefault(mod) {
203
- return (mod && mod.__esModule) ? mod : { default: mod };
204
- }
205
-
206
- function __classPrivateFieldGet(receiver, privateMap) {
207
- if (!privateMap.has(receiver)) {
208
- throw new TypeError("attempted to get private field on non-instance");
209
- }
210
- return privateMap.get(receiver);
211
- }
212
-
213
- function __classPrivateFieldSet(receiver, privateMap, value) {
214
- if (!privateMap.has(receiver)) {
215
- throw new TypeError("attempted to set private field on non-instance");
216
- }
217
- privateMap.set(receiver, value);
218
- return value;
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
219
23
  }
220
24
 
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+
27
+ /**
28
+ * Contains data for an add-in event and allows you to indicate that an event
29
+ * has been processed
30
+ */
31
+ var AddinEvent = /** @class */ (function () {
32
+ function AddinEvent() {
33
+ }
34
+ return AddinEvent;
35
+ }());
36
+
37
+ /**
38
+ * Allows you to process events from an event handler.
39
+ */
40
+ var AddinEventHandlerInstance = /** @class */ (function () {
41
+ function AddinEventHandlerInstance() {
42
+ }
43
+ return AddinEventHandlerInstance;
44
+ }());
45
+
221
46
  var AddinClientService = /** @class */ (function () {
222
47
  function AddinClientService() {
223
48
  var _this = this;
@@ -228,27 +53,27 @@
228
53
  /**
229
54
  * Event emitted for button add-ins indicating that the button was clicked.
230
55
  */
231
- this.buttonClick = new core.EventEmitter(true);
56
+ this.buttonClick = new i0.EventEmitter(true);
232
57
  /**
233
58
  * Event emitted for add-ins when context information has been updated
234
59
  */
235
- this.updateContext = new core.EventEmitter();
60
+ this.updateContext = new i0.EventEmitter();
236
61
  /**
237
62
  * Event emitted for flyout add-ins indicating that the next button was clicked.
238
63
  */
239
- this.flyoutNextClick = new core.EventEmitter(true);
64
+ this.flyoutNextClick = new i0.EventEmitter(true);
240
65
  /**
241
66
  * Event emitted for flyout add-ins indicating that the previous button was clicked.
242
67
  */
243
- this.flyoutPreviousClick = new core.EventEmitter(true);
68
+ this.flyoutPreviousClick = new i0.EventEmitter(true);
244
69
  /**
245
70
  * Event emitted for tile add-ins indicating that the help button was clicked.
246
71
  */
247
- this.helpClick = new core.EventEmitter(true);
72
+ this.helpClick = new i0.EventEmitter(true);
248
73
  /**
249
74
  * Event emitted for tile add-ins indicating that the settings button was clicked.
250
75
  */
251
- this.settingsClick = new core.EventEmitter(true);
76
+ this.settingsClick = new i0.EventEmitter(true);
252
77
  this.addinClient = new skyAddinClient.AddinClient({
253
78
  callbacks: {
254
79
  init: function (args) {
@@ -376,15 +201,53 @@
376
201
  AddinClientService.prototype.hideWait = function () {
377
202
  this.addinClient.hideWait();
378
203
  };
379
- AddinClientService = __decorate([
380
- core.Injectable()
381
- ], AddinClientService);
204
+ /**
205
+ * Registers an event handler for the provided event type.
206
+ * @param eventType The event type to register.
207
+ * @returns AddinEventHandlerInstance
208
+ */
209
+ AddinClientService.prototype.addEventHandler = function (eventType) {
210
+ var eventHandlerInstance = new AddinEventHandlerInstance();
211
+ eventHandlerInstance.addinEvent = new i0.EventEmitter();
212
+ var eventCallback = function (context, done) {
213
+ eventHandlerInstance.addinEvent.emit({
214
+ context: context,
215
+ done: done
216
+ });
217
+ };
218
+ this.addinClient.addEventHandler(eventType, eventCallback);
219
+ return eventHandlerInstance;
220
+ };
221
+ /**
222
+ * Sends an event to be handled by the host page.
223
+ * Supported for Blackbaud internal only
224
+ * @param args The event arguments to be sent to the host page.
225
+ * @returns Returns an observable which will complete when the add-in host page receives the
226
+ * message. The request will fail if a subsequent event occurs, for the same event type, within
227
+ * 200 milliseconds. A failure can also occur if an event type is not one of the supported types
228
+ * from the host page.
229
+ * @see AddinClientInitArgs#supportedEventTypes
230
+ */
231
+ AddinClientService.prototype.sendEvent = function (args) {
232
+ return rxjs.from(this.addinClient.sendEvent(args));
233
+ };
382
234
  return AddinClientService;
383
235
  }());
236
+ AddinClientService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: AddinClientService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
237
+ AddinClientService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: AddinClientService });
238
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: AddinClientService, decorators: [{
239
+ type: i0.Injectable
240
+ }], ctorParameters: function () { return []; } });
241
+
242
+ /**
243
+ * Generated bundle index. Do not edit.
244
+ */
384
245
 
385
246
  exports.AddinClientService = AddinClientService;
247
+ exports.AddinEvent = AddinEvent;
248
+ exports.AddinEventHandlerInstance = AddinEventHandlerInstance;
386
249
 
387
250
  Object.defineProperty(exports, '__esModule', { value: true });
388
251
 
389
- })));
252
+ }));
390
253
  //# sourceMappingURL=blackbaud-skyux-lib-addin-client.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blackbaud-skyux-lib-addin-client.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@blackbaud/skyux-lib-addin-client/src/addin-client.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n AsyncSubject,\n Observable,\n from\n} from 'rxjs';\n\nimport {\n Injectable,\n EventEmitter\n} from '@angular/core';\n\nimport {\n AddinClient,\n AddinClientInitArgs,\n AddinClientCloseModalArgs,\n AddinClientShowModalArgs,\n AddinClientShowModalResult,\n AddinClientNavigateArgs,\n AddinClientOpenHelpArgs,\n AddinClientShowToastArgs,\n AddinClientShowFlyoutArgs,\n AddinClientShowFlyoutResult,\n AddinClientShowConfirmArgs,\n AddinClientShowErrorArgs\n} from '@blackbaud/sky-addin-client';\n\n@Injectable()\nexport class AddinClientService {\n public readonly addinClient: AddinClient;\n\n // Init args\n private _args: AsyncSubject<AddinClientInitArgs> = new AsyncSubject<AddinClientInitArgs>();\n public args: Observable<AddinClientInitArgs> = this._args.asObservable();\n\n // Addin Client Events\n /**\n * Event emitted for button add-ins indicating that the button was clicked.\n */\n public buttonClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for add-ins when context information has been updated\n */\n public updateContext: EventEmitter<any> = new EventEmitter();\n\n /**\n * Event emitted for flyout add-ins indicating that the next button was clicked.\n */\n public flyoutNextClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for flyout add-ins indicating that the previous button was clicked.\n */\n public flyoutPreviousClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for tile add-ins indicating that the help button was clicked.\n */\n public helpClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for tile add-ins indicating that the settings button was clicked.\n */\n public settingsClick: EventEmitter<any> = new EventEmitter(true);\n\n constructor() {\n this.addinClient = new AddinClient({\n callbacks: {\n init: (args: AddinClientInitArgs) => {\n this._args.next(args);\n this._args.complete();\n },\n buttonClick: () => {\n this.buttonClick.emit();\n },\n flyoutNextClick: () => {\n this.flyoutNextClick.emit();\n },\n flyoutPreviousClick: () => {\n this.flyoutPreviousClick.emit();\n },\n helpClick: () => {\n this.helpClick.emit();\n },\n settingsClick: () => {\n this.settingsClick.emit();\n },\n updateContext: (context: any) => {\n this.updateContext.emit(context);\n }\n }\n });\n }\n\n /**\n * Informs the host to close this modal add-in.\n * Should only be used from within the modal add-in and not the parent add-in.\n * @param args Arguments to provide a context object back to the parent add-in.\n */\n public closeModal(args: AddinClientCloseModalArgs): void {\n this.addinClient.closeModal(args);\n }\n\n /**\n * Requests the host page to launch a modal add-in.\n * @param args Arguments for launching the modal.\n * @returns Returns an observable that will publish a value when the modal add-in is closed.\n * Observables will publish values with context data passed from the modal add-in's closeModal call.\n */\n public showModal(args: AddinClientShowModalArgs): Observable<any> {\n let modalReturn: AddinClientShowModalResult = this.addinClient.showModal(args);\n return from(modalReturn.modalClosed);\n }\n\n /**\n * Cleans up the AddinClient, releasing all resources.\n */\n public destroy(): void {\n this.addinClient.destroy();\n }\n\n /**\n * Requests the host page to navigate.\n * @param args Arguments describing the navigation request.\n */\n public navigate(args: AddinClientNavigateArgs): void {\n this.addinClient.navigate(args);\n }\n\n /**\n * Informs the host to open the help tab with the specified help key.\n * @param args Arguments for launching the help tab.\n */\n public openHelp(args: AddinClientOpenHelpArgs): void {\n this.addinClient.openHelp(args);\n }\n\n /**\n * Requests a user identity token for the current user.\n * @returns Returns an observable which will publish the token value.\n */\n public getUserIdentityToken(): Observable<string> {\n return from(this.addinClient.getUserIdentityToken());\n }\n\n /**\n * @deprecated Use getUserIdentityToken\n */\n public getAuthToken(): Observable<string> {\n return from(this.addinClient.getUserIdentityToken());\n }\n\n /**\n * Informs the host to show a toast message.\n * @param args Arguments for showing a toast.\n */\n public showToast(args: AddinClientShowToastArgs): void {\n this.addinClient.showToast(args);\n }\n\n /**\n * Requests the host page to launch a flyout add-in.\n * @param args Arguments for launching the flyout.\n * @returns Returns an observable that will notify when the flyout add-in is closed.\n */\n public showFlyout(args: AddinClientShowFlyoutArgs): Observable<void> {\n const flyoutReturn: AddinClientShowFlyoutResult = this.addinClient.showFlyout(args);\n return from(flyoutReturn.flyoutClosed);\n }\n\n /**\n * Requests the host page to close the flyout add-in.\n */\n public closeFlyout(): void {\n this.addinClient.closeFlyout();\n }\n\n /**\n * Requests the host page to show a confirm dialog.\n * @param args Arguments for showing a confirm dialog.\n * @returns Returns an observable which will publish the confirm action value.\n */\n public showConfirm(args: AddinClientShowConfirmArgs): Observable<string> {\n return from(this.addinClient.showConfirm(args));\n }\n\n /**\n * Informs the host to show an error dialog.\n * @param args Arguments for showing an error dialog.\n */\n public showError(args: AddinClientShowErrorArgs): void {\n this.addinClient.showError(args);\n }\n\n /**\n * Requests the host page to show a page blocking wait indicator.\n */\n public showWait(): void {\n this.addinClient.showWait();\n }\n\n /**\n * Requests the host page to hide a page blocking wait indicator.\n */\n public hideWait(): void {\n this.addinClient.hideWait();\n }\n}\n"],"names":["AsyncSubject","EventEmitter","AddinClient","from","Injectable"],"mappings":"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"}
1
+ {"version":3,"file":"blackbaud-skyux-lib-addin-client.umd.js","sources":["../../../projects/addin-client/src/src/events/addin-event.ts","../../../projects/addin-client/src/src/events/addin-event-handler-instance.ts","../../../projects/addin-client/src/src/addin-client.service.ts","../../../projects/addin-client/src/blackbaud-skyux-lib-addin-client.ts"],"sourcesContent":["/**\n * Contains data for an add-in event and allows you to indicate that an event\n * has been processed\n */\nexport class AddinEvent {\n\n /**\n * The data that an add-in event has returned.\n */\n public context: any;\n\n /**\n * A function to call indicating that the add-in event is processed.\n */\n public done?: () => void;\n}\n","import {\n EventEmitter\n} from '@angular/core';\n\nimport {\n AddinEvent\n} from './addin-event';\n\n/**\n * Allows you to process events from an event handler.\n */\nexport class AddinEventHandlerInstance {\n\n /**\n * An event that emits when a new add-in event has occurred.\n */\n public addinEvent: EventEmitter<AddinEvent>;\n}\n","import {\n AsyncSubject,\n Observable,\n from\n} from 'rxjs';\n\nimport {\n Injectable,\n EventEmitter\n} from '@angular/core';\n\nimport {\n AddinClient,\n AddinClientInitArgs,\n AddinClientCloseModalArgs,\n AddinClientShowModalArgs,\n AddinClientShowModalResult,\n AddinClientNavigateArgs,\n AddinClientOpenHelpArgs,\n AddinClientShowToastArgs,\n AddinClientShowFlyoutArgs,\n AddinClientShowFlyoutResult,\n AddinClientShowConfirmArgs,\n AddinClientShowErrorArgs,\n AddinEventCallback,\n AddinClientEventArgs\n} from '@blackbaud/sky-addin-client';\n\nimport {\n AddinEvent,\n AddinEventHandlerInstance\n} from './events';\n\n@Injectable()\nexport class AddinClientService {\n public readonly addinClient: AddinClient;\n\n // Init args\n private _args: AsyncSubject<AddinClientInitArgs> = new AsyncSubject<AddinClientInitArgs>();\n public args: Observable<AddinClientInitArgs> = this._args.asObservable();\n\n // Addin Client Events\n /**\n * Event emitted for button add-ins indicating that the button was clicked.\n */\n public buttonClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for add-ins when context information has been updated\n */\n public updateContext: EventEmitter<any> = new EventEmitter();\n\n /**\n * Event emitted for flyout add-ins indicating that the next button was clicked.\n */\n public flyoutNextClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for flyout add-ins indicating that the previous button was clicked.\n */\n public flyoutPreviousClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for tile add-ins indicating that the help button was clicked.\n */\n public helpClick: EventEmitter<any> = new EventEmitter(true);\n\n /**\n * Event emitted for tile add-ins indicating that the settings button was clicked.\n */\n public settingsClick: EventEmitter<any> = new EventEmitter(true);\n\n constructor() {\n this.addinClient = new AddinClient({\n callbacks: {\n init: (args: AddinClientInitArgs) => {\n this._args.next(args);\n this._args.complete();\n },\n buttonClick: () => {\n this.buttonClick.emit();\n },\n flyoutNextClick: () => {\n this.flyoutNextClick.emit();\n },\n flyoutPreviousClick: () => {\n this.flyoutPreviousClick.emit();\n },\n helpClick: () => {\n this.helpClick.emit();\n },\n settingsClick: () => {\n this.settingsClick.emit();\n },\n updateContext: (context: any) => {\n this.updateContext.emit(context);\n }\n }\n });\n }\n\n /**\n * Informs the host to close this modal add-in.\n * Should only be used from within the modal add-in and not the parent add-in.\n * @param args Arguments to provide a context object back to the parent add-in.\n */\n public closeModal(args: AddinClientCloseModalArgs): void {\n this.addinClient.closeModal(args);\n }\n\n /**\n * Requests the host page to launch a modal add-in.\n * @param args Arguments for launching the modal.\n * @returns Returns an observable that will publish a value when the modal add-in is closed.\n * Observables will publish values with context data passed from the modal add-in's closeModal call.\n */\n public showModal(args: AddinClientShowModalArgs): Observable<any> {\n let modalReturn: AddinClientShowModalResult = this.addinClient.showModal(args);\n return from(modalReturn.modalClosed);\n }\n\n /**\n * Cleans up the AddinClient, releasing all resources.\n */\n public destroy(): void {\n this.addinClient.destroy();\n }\n\n /**\n * Requests the host page to navigate.\n * @param args Arguments describing the navigation request.\n */\n public navigate(args: AddinClientNavigateArgs): void {\n this.addinClient.navigate(args);\n }\n\n /**\n * Informs the host to open the help tab with the specified help key.\n * @param args Arguments for launching the help tab.\n */\n public openHelp(args: AddinClientOpenHelpArgs): void {\n this.addinClient.openHelp(args);\n }\n\n /**\n * Requests a user identity token for the current user.\n * @returns Returns an observable which will publish the token value.\n */\n public getUserIdentityToken(): Observable<string> {\n return from(this.addinClient.getUserIdentityToken());\n }\n\n /**\n * @deprecated Use getUserIdentityToken\n */\n public getAuthToken(): Observable<string> {\n return from(this.addinClient.getUserIdentityToken());\n }\n\n /**\n * Informs the host to show a toast message.\n * @param args Arguments for showing a toast.\n */\n public showToast(args: AddinClientShowToastArgs): void {\n this.addinClient.showToast(args);\n }\n\n /**\n * Requests the host page to launch a flyout add-in.\n * @param args Arguments for launching the flyout.\n * @returns Returns an observable that will notify when the flyout add-in is closed.\n */\n public showFlyout(args: AddinClientShowFlyoutArgs): Observable<void> {\n const flyoutReturn: AddinClientShowFlyoutResult = this.addinClient.showFlyout(args);\n return from(flyoutReturn.flyoutClosed);\n }\n\n /**\n * Requests the host page to close the flyout add-in.\n */\n public closeFlyout(): void {\n this.addinClient.closeFlyout();\n }\n\n /**\n * Requests the host page to show a confirm dialog.\n * @param args Arguments for showing a confirm dialog.\n * @returns Returns an observable which will publish the confirm action value.\n */\n public showConfirm(args: AddinClientShowConfirmArgs): Observable<string> {\n return from(this.addinClient.showConfirm(args));\n }\n\n /**\n * Informs the host to show an error dialog.\n * @param args Arguments for showing an error dialog.\n */\n public showError(args: AddinClientShowErrorArgs): void {\n this.addinClient.showError(args);\n }\n\n /**\n * Requests the host page to show a page blocking wait indicator.\n */\n public showWait(): void {\n this.addinClient.showWait();\n }\n\n /**\n * Requests the host page to hide a page blocking wait indicator.\n */\n public hideWait(): void {\n this.addinClient.hideWait();\n }\n\n /**\n * Registers an event handler for the provided event type.\n * @param eventType The event type to register.\n * @returns AddinEventHandlerInstance\n */\n public addEventHandler(eventType: string): AddinEventHandlerInstance {\n let eventHandlerInstance = new AddinEventHandlerInstance();\n eventHandlerInstance.addinEvent = new EventEmitter<AddinEvent>();\n\n const eventCallback: AddinEventCallback = (context, done) => {\n eventHandlerInstance.addinEvent.emit({\n context,\n done\n });\n };\n this.addinClient.addEventHandler(eventType, eventCallback);\n\n return eventHandlerInstance;\n }\n\n /**\n * Sends an event to be handled by the host page.\n * Supported for Blackbaud internal only\n * @param args The event arguments to be sent to the host page.\n * @returns Returns an observable which will complete when the add-in host page receives the\n * message. The request will fail if a subsequent event occurs, for the same event type, within\n * 200 milliseconds. A failure can also occur if an event type is not one of the supported types\n * from the host page.\n * @see AddinClientInitArgs#supportedEventTypes\n */\n public sendEvent(args: AddinClientEventArgs): Observable<void> {\n return from(this.addinClient.sendEvent(args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["AsyncSubject","EventEmitter","AddinClient","from","Injectable"],"mappings":"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"}