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
JavaScript
(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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