portal-preferences
Version:
This is an angular component which enables configuration of an IBM WebSphere Portal scripting portlet by using its preferences REST service.
71 lines (70 loc) • 5.89 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { PortalPreferencesService } from './portal-preferences.service';
export class PortalPreferencesComponent {
/**
* @param {?} portalPreferencesService
*/
constructor(portalPreferencesService) {
this.portalPreferencesService = portalPreferencesService;
this.preferencesString = '';
this.logMessage = '';
}
/**
* @return {?}
*/
ngOnInit() {
this.portalPreferencesService.getPreferences().subscribe((d) => { this.preferencesString = JSON.stringify(d, null, 3); }, (err) => { console.log(err); });
}
/**
* @return {?}
*/
savePreferences() {
// clear out message
this.logMessage = '';
/** @type {?} */
let 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((d) => { this.logMessage = 'Portlet preferences updated.'; }, (err) => {
this.logMessage = 'Save failed! Logged to console.';
console.log(err);
});
}
}
PortalPreferencesComponent.decorators = [
{ type: Component, args: [{
selector: 'lib-portlet-preferences',
template: `<p>
Configure the portlet with valid JSON:
<br>
<textarea cols="50" rows="10" [(ngModel)]="preferencesString"></textarea>
<br>
<button (click)="savePreferences()">Save</button> {{logMessage}}
</p>
`,
styles: []
},] },
];
/** @nocollapse */
PortalPreferencesComponent.ctorParameters = () => [
{ type: PortalPreferencesService }
];
if (false) {
/** @type {?} */
PortalPreferencesComponent.prototype.preferencesString;
/** @type {?} */
PortalPreferencesComponent.prototype.logMessage;
/** @type {?} */
PortalPreferencesComponent.prototype.portalPreferencesService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXByZWZlcmVuY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3BvcnRhbC1wcmVmZXJlbmNlcy8iLCJzb3VyY2VzIjpbImxpYi9wb3J0YWwtcHJlZmVyZW5jZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBZXhFLE1BQU0sT0FBTywwQkFBMEI7Ozs7SUFJckMsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7aUNBRjNDLEVBQUU7MEJBQ1QsRUFBRTtLQUNxRDs7OztJQUUzRSxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FDdEQsQ0FBQyxDQUFTLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN2RSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQy9CLENBQUM7S0FDSDs7OztJQUVNLGVBQWU7O1FBRXBCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDOztRQUVyQixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSTtZQUNGLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2pEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLDBDQUEwQyxDQUFDO1lBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FDaEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsOEJBQThCLENBQUMsRUFBRSxFQUM1RCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxpQ0FBaUMsQ0FBQztZQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xCLENBQ0YsQ0FBQzs7OztZQTVDTCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFOzs7Ozs7O0NBT1g7Z0JBQ0MsTUFBTSxFQUFFLEVBQUU7YUFDWDs7OztZQWRRLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3J0YWxQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuL3BvcnRhbC1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcG9ydGxldC1wcmVmZXJlbmNlcycsXG4gIHRlbXBsYXRlOiBgPHA+XG4gICAgQ29uZmlndXJlIHRoZSBwb3J0bGV0IHdpdGggdmFsaWQgSlNPTjpcbiAgICA8YnI+XG4gICAgPHRleHRhcmVhIGNvbHM9XCI1MFwiIHJvd3M9XCIxMFwiIFsobmdNb2RlbCldPVwicHJlZmVyZW5jZXNTdHJpbmdcIj48L3RleHRhcmVhPlxuICAgIDxicj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlUHJlZmVyZW5jZXMoKVwiPlNhdmU8L2J1dHRvbj4ge3tsb2dNZXNzYWdlfX1cbjwvcD5cbmAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgUG9ydGFsUHJlZmVyZW5jZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBwcmVmZXJlbmNlc1N0cmluZyA9ICcnO1xuICBwdWJsaWMgbG9nTWVzc2FnZSA9ICcnO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcnRhbFByZWZlcmVuY2VzU2VydmljZTogUG9ydGFsUHJlZmVyZW5jZXNTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBvcnRhbFByZWZlcmVuY2VzU2VydmljZS5nZXRQcmVmZXJlbmNlcygpLnN1YnNjcmliZShcbiAgICAgIChkOiBvYmplY3QpID0+IHsgdGhpcy5wcmVmZXJlbmNlc1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KGQsIG51bGwsIDMpOyB9LFxuICAgICAgKGVycikgPT4geyBjb25zb2xlLmxvZyhlcnIpOyB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlUHJlZmVyZW5jZXMoKSB7XG4gICAgLy8gY2xlYXIgb3V0IG1lc3NhZ2VcbiAgICB0aGlzLmxvZ01lc3NhZ2UgPSAnJztcblxuICAgIGxldCBwcmVmT2JqZWN0ID0ge307XG4gICAgdHJ5IHtcbiAgICAgIHByZWZPYmplY3QgPSBKU09OLnBhcnNlKHRoaXMucHJlZmVyZW5jZXNTdHJpbmcpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nTWVzc2FnZSA9ICdGYWlsZWQgdG8gcGFyc2UgSlNPTi4gTG9nZ2VkIHRvIGNvbnNvbGUuJztcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucG9ydGFsUHJlZmVyZW5jZXNTZXJ2aWNlLnNldFByZWZlcmVuY2VzKHByZWZPYmplY3QpLnN1YnNjcmliZShcbiAgICAgIChkKSA9PiB7IHRoaXMubG9nTWVzc2FnZSA9ICdQb3J0bGV0IHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsgfSxcbiAgICAgIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5sb2dNZXNzYWdlID0gJ1NhdmUgZmFpbGVkISBMb2dnZWQgdG8gY29uc29sZS4nO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuIl19