UNPKG

portal-preferences

Version:

This is an angular component which enables configuration of an IBM WebSphere Portal scripting portlet by using its preferences REST service.

167 lines (158 loc) 13.8 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/forms')) : typeof define === 'function' && define.amd ? define('portal-preferences', ['exports', '@angular/core', 'rxjs', '@angular/forms'], factory) : (factory((global['portal-preferences'] = {}),global.ng.core,global.rxjs,global.ng.forms)); }(this, (function (exports,i0,rxjs,forms) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PortalPreferencesService = /** @class */ (function () { function PortalPreferencesService() { this.preferencesLoaded = null; try { // __SPNS__spHelper is replaced with a value by the scripting portlet at runtime // @ts-ignore this.spInstance = __SPNS__spHelper; } catch (e) { // running locally } } /** * @return {?} */ PortalPreferencesService.prototype.getPreferences = /** * @return {?} */ function () { if (this.spInstance) { if (this.preferencesLoaded == null) { this.preferencesLoaded = this.spInstance.getPortletPreferences(); } return rxjs.from(this.preferencesLoaded); } else { return rxjs.throwError('portal-preferences: Not running in portal. Add your own override for local testing.'); } }; /** * @param {?} preferences * @return {?} */ PortalPreferencesService.prototype.setPreferences = /** * @param {?} preferences * @return {?} */ function (preferences) { if (this.spInstance) { /** @type {?} */ var preferencesSaved = this.spInstance.setPortletPreferences(preferences); return rxjs.from(preferencesSaved); } else { return rxjs.throwError('portal-preferences: Not running in portal. Add your own override for local testing.'); } }; PortalPreferencesService.decorators = [ { type: i0.Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ PortalPreferencesService.ctorParameters = function () { return []; }; /** @nocollapse */ PortalPreferencesService.ngInjectableDef = i0.defineInjectable({ factory: function PortalPreferencesService_Factory() { return new PortalPreferencesService(); }, token: PortalPreferencesService, providedIn: "root" }); return PortalPreferencesService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PortalPreferencesComponent = /** @class */ (function () { function PortalPreferencesComponent(portalPreferencesService) { this.portalPreferencesService = portalPreferencesService; this.preferencesString = ''; this.logMessage = ''; } /** * @return {?} */ PortalPreferencesComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.portalPreferencesService.getPreferences().subscribe(function (d) { _this.preferencesString = JSON.stringify(d, null, 3); }, function (err) { console.log(err); }); }; /** * @return {?} */ PortalPreferencesComponent.prototype.savePreferences = /** * @return {?} */ function () { var _this = this; // clear out message this.logMessage = ''; /** @type {?} */ var prefObject = {}; try { prefObject = JSON.parse(this.preferencesString); } catch (e) { this.logMessage = 'Failed to parse JSON. Logged to console.'; console.log(e); return; } this.portalPreferencesService.setPreferences(prefObject).subscribe(function (d) { _this.logMessage = 'Portlet preferences updated.'; }, function (err) { _this.logMessage = 'Save failed! Logged to console.'; console.log(err); }); }; PortalPreferencesComponent.decorators = [ { type: i0.Component, args: [{ selector: 'lib-portlet-preferences', template: "<p>\n Configure the portlet with valid JSON:\n <br>\n <textarea cols=\"50\" rows=\"10\" [(ngModel)]=\"preferencesString\"></textarea>\n <br>\n <button (click)=\"savePreferences()\">Save</button> {{logMessage}}\n</p>\n", styles: [] },] }, ]; /** @nocollapse */ PortalPreferencesComponent.ctorParameters = function () { return [ { type: PortalPreferencesService } ]; }; return PortalPreferencesComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PortalPreferencesModule = /** @class */ (function () { function PortalPreferencesModule() { } PortalPreferencesModule.decorators = [ { type: i0.NgModule, args: [{ imports: [ forms.FormsModule ], declarations: [PortalPreferencesComponent], exports: [PortalPreferencesComponent] },] }, ]; return PortalPreferencesModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ exports.PortalPreferencesService = PortalPreferencesService; exports.PortalPreferencesComponent = PortalPreferencesComponent; exports.PortalPreferencesModule = PortalPreferencesModule; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXByZWZlcmVuY2VzLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vcG9ydGFsLXByZWZlcmVuY2VzL2xpYi9wb3J0YWwtcHJlZmVyZW5jZXMuc2VydmljZS50cyIsIm5nOi8vcG9ydGFsLXByZWZlcmVuY2VzL2xpYi9wb3J0YWwtcHJlZmVyZW5jZXMuY29tcG9uZW50LnRzIiwibmc6Ly9wb3J0YWwtcHJlZmVyZW5jZXMvbGliL3BvcnRhbC1wcmVmZXJlbmNlcy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgZW1wdHksIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUG9ydGFsUHJlZmVyZW5jZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHNwSW5zdGFuY2U6IGFueTtcbiAgcHJpdmF0ZSBwcmVmZXJlbmNlc0xvYWRlZDogUHJvbWlzZTxhbnk+ID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cbiAgICB0cnkge1xuICAgICAgLy8gX19TUE5TX19zcEhlbHBlciBpcyByZXBsYWNlZCB3aXRoIGEgdmFsdWUgYnkgdGhlIHNjcmlwdGluZyBwb3J0bGV0IGF0IHJ1bnRpbWVcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRoaXMuc3BJbnN0YW5jZSA9IF9fU1BOU19fc3BIZWxwZXI7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gcnVubmluZyBsb2NhbGx5XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFByZWZlcmVuY2VzKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgaWYgKHRoaXMuc3BJbnN0YW5jZSkge1xuICAgICAgaWYgKHRoaXMucHJlZmVyZW5jZXNMb2FkZWQgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnByZWZlcmVuY2VzTG9hZGVkID0gdGhpcy5zcEluc3RhbmNlLmdldFBvcnRsZXRQcmVmZXJlbmNlcygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZyb20odGhpcy5wcmVmZXJlbmNlc0xvYWRlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdwb3J0YWwtcHJlZmVyZW5jZXM6IE5vdCBydW5uaW5nIGluIHBvcnRhbC4gQWRkIHlvdXIgb3duIG92ZXJyaWRlIGZvciBsb2NhbCB0ZXN0aW5nLicpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRQcmVmZXJlbmNlcyhwcmVmZXJlbmNlczogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBpZiAodGhpcy5zcEluc3RhbmNlKSB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlc1NhdmVkID0gdGhpcy5zcEluc3RhbmNlLnNldFBvcnRsZXRQcmVmZXJlbmNlcyhwcmVmZXJlbmNlcyk7XG4gICAgICByZXR1cm4gZnJvbShwcmVmZXJlbmNlc1NhdmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoJ3BvcnRhbC1wcmVmZXJlbmNlczogTm90IHJ1bm5pbmcgaW4gcG9ydGFsLiBBZGQgeW91ciBvd24gb3ZlcnJpZGUgZm9yIGxvY2FsIHRlc3RpbmcuJyk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9ydGFsUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi9wb3J0YWwtcHJlZmVyZW5jZXMuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXBvcnRsZXQtcHJlZmVyZW5jZXMnLFxuICB0ZW1wbGF0ZTogYDxwPlxuICAgIENvbmZpZ3VyZSB0aGUgcG9ydGxldCB3aXRoIHZhbGlkIEpTT046XG4gICAgPGJyPlxuICAgIDx0ZXh0YXJlYSBjb2xzPVwiNTBcIiByb3dzPVwiMTBcIiBbKG5nTW9kZWwpXT1cInByZWZlcmVuY2VzU3RyaW5nXCI+PC90ZXh0YXJlYT5cbiAgICA8YnI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZVByZWZlcmVuY2VzKClcIj5TYXZlPC9idXR0b24+IHt7bG9nTWVzc2FnZX19XG48L3A+XG5gLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFBvcnRhbFByZWZlcmVuY2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgcHJlZmVyZW5jZXNTdHJpbmcgPSAnJztcbiAgcHVibGljIGxvZ01lc3NhZ2UgPSAnJztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3J0YWxQcmVmZXJlbmNlc1NlcnZpY2U6IFBvcnRhbFByZWZlcmVuY2VzU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wb3J0YWxQcmVmZXJlbmNlc1NlcnZpY2UuZ2V0UHJlZmVyZW5jZXMoKS5zdWJzY3JpYmUoXG4gICAgICAoZDogb2JqZWN0KSA9PiB7IHRoaXMucHJlZmVyZW5jZXNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShkLCBudWxsLCAzKTsgfSxcbiAgICAgIChlcnIpID0+IHsgY29uc29sZS5sb2coZXJyKTsgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVByZWZlcmVuY2VzKCkge1xuICAgIC8vIGNsZWFyIG91dCBtZXNzYWdlXG4gICAgdGhpcy5sb2dNZXNzYWdlID0gJyc7XG5cbiAgICBsZXQgcHJlZk9iamVjdCA9IHt9O1xuICAgIHRyeSB7XG4gICAgICBwcmVmT2JqZWN0ID0gSlNPTi5wYXJzZSh0aGlzLnByZWZlcmVuY2VzU3RyaW5nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ01lc3NhZ2UgPSAnRmFpbGVkIHRvIHBhcnNlIEpTT04uIExvZ2dlZCB0byBjb25zb2xlLic7XG4gICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBvcnRhbFByZWZlcmVuY2VzU2VydmljZS5zZXRQcmVmZXJlbmNlcyhwcmVmT2JqZWN0KS5zdWJzY3JpYmUoXG4gICAgICAoZCkgPT4geyB0aGlzLmxvZ01lc3NhZ2UgPSAnUG9ydGxldCBwcmVmZXJlbmNlcyB1cGRhdGVkLic7IH0sXG4gICAgICAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMubG9nTWVzc2FnZSA9ICdTYXZlIGZhaWxlZCEgTG9nZ2VkIHRvIGNvbnNvbGUuJztcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3J0YWxQcmVmZXJlbmNlc0NvbXBvbmVudCB9IGZyb20gJy4vcG9ydGFsLXByZWZlcmVuY2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1BvcnRhbFByZWZlcmVuY2VzQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1BvcnRhbFByZWZlcmVuY2VzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBQb3J0YWxQcmVmZXJlbmNlc01vZHVsZSB7IH1cbiJdLCJuYW1lcyI6WyJmcm9tIiwidGhyb3dFcnJvciIsIkluamVjdGFibGUiLCJDb21wb25lbnQiLCJOZ01vZHVsZSIsIkZvcm1zTW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O3FDQVM0QyxJQUFJO1lBSTVDLElBQUk7OztnQkFHRixJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO2FBQ3BDO1lBQUMsT0FBTyxDQUFDLEVBQUU7O2FBRVg7Ozs7O1FBR0ksaURBQWM7Ozs7Z0JBQ25CLElBQUksSUFBSSxDQUFD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