ngx-modialog-11
Version:
Modal / Dialog for Angular
38 lines • 8.62 kB
JavaScript
import { privateKey, setAssignAlias, extend, arrayUnion } from 'ngx-modialog-11';
import { BSMessageModal } from '../message-modal.component';
import { BSModalContextBuilder } from '../modal-context';
const DEFAULT_VALUES = {
component: BSMessageModal,
headerClass: 'modal-header',
bodyClass: 'modal-body',
footerClass: 'modal-footer'
};
const DEFAULT_SETTERS = [
'headerClass',
'title',
'titleHtml',
'bodyClass',
'footerClass'
];
/**
* A Preset representing the configuration needed to open MessageModal.
* This is an abstract implementation with no concrete behaviour.
* Use derived implementation.
*/
export class MessageModalPresetBuilder extends BSModalContextBuilder {
constructor(defaultValues, initialSetters, baseType) {
super(extend(extend({ buttons: [] }, DEFAULT_VALUES), defaultValues || {}), arrayUnion(DEFAULT_SETTERS, initialSetters || []), baseType);
setAssignAlias(this, 'body', 'message', true);
}
addButton(css, caption, onClick) {
const btn = {
cssClass: css,
caption: caption,
onClick: onClick
};
const key = privateKey('buttons');
this[key].push(btn);
return this;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1tb2RhbC1wcmVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wbHVnaW5zL2Jvb3RzdHJhcC9zcmMvbGliL3ByZXNldHMvbWVzc2FnZS1tb2RhbC1wcmVzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLFVBQVUsRUFDWCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxjQUFjLEVBR2YsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHekUsTUFBTSxjQUFjLEdBQUc7SUFDckIsU0FBUyxFQUFFLGNBQWM7SUFDekIsV0FBVyxFQUFFLGNBQWM7SUFDM0IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsV0FBVyxFQUFFLGNBQWM7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLGFBQWE7SUFDYixPQUFPO0lBQ1AsV0FBVztJQUNYLFdBQVc7SUFDWCxhQUFhO0NBQ2QsQ0FBQztBQTRERjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQix5QkFDcEIsU0FBUSxxQkFBd0I7SUFrRGhDLFlBQVksYUFBaUIsRUFDakIsY0FBeUIsRUFDekIsUUFBc0I7UUFDaEMsS0FBSyxDQUNILE1BQU0sQ0FBTSxNQUFNLENBQUMsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUN2RSxVQUFVLENBQVMsZUFBZSxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQUMsRUFDekQsUUFBUSxDQUNULENBQUM7UUFFRixjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBZSxFQUFFLE9BQW9DO1FBQzFFLE1BQU0sR0FBRyxHQUFHO1lBQ1YsUUFBUSxFQUFFLEdBQUc7WUFDYixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQWtDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXRELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGbHVlbnRBc3NpZ25NZXRob2QsXHJcbiAgcHJpdmF0ZUtleSxcclxuICBzZXRBc3NpZ25BbGlhcyxcclxuICBleHRlbmQsXHJcbiAgYXJyYXlVbmlvblxyXG59IGZyb20gJ25neC1tb2RpYWxvZy0xMSc7XHJcbmltcG9ydCB7XHJcbiAgQlNNZXNzYWdlTW9kYWwsXHJcbiAgQlNNZXNzYWdlTW9kYWxCdXR0b25Db25maWcsXHJcbiAgQlNNZXNzYWdlTW9kYWxCdXR0b25IYW5kbGVyXHJcbn0gZnJvbSAnLi4vbWVzc2FnZS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCU01vZGFsQ29udGV4dCwgQlNNb2RhbENvbnRleHRCdWlsZGVyIH0gZnJvbSAnLi4vbW9kYWwtY29udGV4dCc7XHJcblxyXG5cclxuY29uc3QgREVGQVVMVF9WQUxVRVMgPSB7XHJcbiAgY29tcG9uZW50OiBCU01lc3NhZ2VNb2RhbCxcclxuICBoZWFkZXJDbGFzczogJ21vZGFsLWhlYWRlcicsXHJcbiAgYm9keUNsYXNzOiAnbW9kYWwtYm9keScsXHJcbiAgZm9vdGVyQ2xhc3M6ICdtb2RhbC1mb290ZXInXHJcbn07XHJcblxyXG5jb25zdCBERUZBVUxUX1NFVFRFUlMgPSBbXHJcbiAgJ2hlYWRlckNsYXNzJyxcclxuICAndGl0bGUnLFxyXG4gICd0aXRsZUh0bWwnLFxyXG4gICdib2R5Q2xhc3MnLFxyXG4gICdmb290ZXJDbGFzcydcclxuXTtcclxuXHJcblxyXG4vKipcclxuICogRGF0YSBkZWZpbml0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VNb2RhbFByZXNldCBleHRlbmRzIEJTTW9kYWxDb250ZXh0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBDbGFzcyBmb3IgdGhlIGhlYWRlciAodGl0bGUpIGNvbnRhaW5lci5cclxuICAgKiBEZWZhdWx0OiBtb2RhbC1oZWFkZXJcclxuICAgKi9cclxuICBoZWFkZXJDbGFzczogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBDYXB0aW9uIGZvciB0aGUgdGl0bGUsIGVuY2xvc2VkIGluIGEgSDMgY29udGFpbmVyLlxyXG4gICAqL1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhUTUwgZm9yIHRoZSB0aXRsZSwgaWYgc2V0IG92ZXJyaWRlcyB0aXRsZSBwcm9wZXJ0eS5cclxuICAgKiBUaGUgSFRNTCBpcyB3cmFwcGVkIGluIGEgRElWIGVsZW1lbnQsIGluc2lkZSB0aGUgaGVhZGVyIGNvbnRhaW5lci5cclxuICAgKiBFeGFtcGxlOlxyXG4gICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgIDxkaXY+IEhUTUwgQ09OVEVOVCBJTlNFUlRFRCBIRVJFIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuICAgKiBOb3RlOiBIVE1MIGlzIG5vdCBjb21waWxlZC5cclxuICAgKi9cclxuICB0aXRsZUh0bWw6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogYWxpYXNlZCBieSAnYm9keSdcclxuICAgKiBAYWxpYXNlZEJ5IGJvZHlcclxuICAgKi9cclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBib2R5IG9mIHRoZSBtb2RhbC5cclxuICAgKiBDYW4gYmUgZWl0aGVyIHRleHQgb3IgSFRNTC5cclxuICAgKiBOb3RlOiBXaGVuIHVzaW5nIEhUTUwsIHRoZSB0ZW1wbGF0ZSBpcyBub3QgY29tcGlsZWQuIChiaW5kaW5nIGFuZCBleHByZXNzaW9uIHdpbGwgbm90IHBhcnNlKVxyXG4gICAqIEBhbGlhc09mIG1lc3NhZ2VcclxuICAgKi9cclxuICBib2R5OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgQ2xhc3MgZm9yIHRoZSBib2R5IGNvbnRhaW5lci5cclxuICAgKiBEZWZhdWx0OiBtb2RhbC1ib2R5XHJcbiAgICovXHJcbiAgYm9keUNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgQ2xhc3MgZm9yIHRoZSBmb290ZXIgY29udGFpbmVyLlxyXG4gICAqIERlZmF1bHQ6IG1vZGFsLWZvb3RlclxyXG4gICAqL1xyXG4gIGZvb3RlckNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIGJ1dHRvbnM6IEJTTWVzc2FnZU1vZGFsQnV0dG9uQ29uZmlnW107XHJcbiAgc2hvd0lucHV0PzogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQSBQcmVzZXQgcmVwcmVzZW50aW5nIHRoZSBjb25maWd1cmF0aW9uIG5lZWRlZCB0byBvcGVuIE1lc3NhZ2VNb2RhbC5cclxuICogVGhpcyBpcyBhbiBhYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiB3aXRoIG5vIGNvbmNyZXRlIGJlaGF2aW91ci5cclxuICogVXNlIGRlcml2ZWQgaW1wbGVtZW50YXRpb24uXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWVzc2FnZU1vZGFsUHJlc2V0QnVpbGRlcjxUIGV4dGVuZHMgTWVzc2FnZU1vZGFsUHJlc2V0PlxyXG4gIGV4dGVuZHMgQlNNb2RhbENvbnRleHRCdWlsZGVyPFQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBDbGFzcyBmb3IgdGhlIGhlYWRlciAodGl0bGUpIGNvbnRhaW5lci5cclxuICAgKiBEZWZhdWx0OiBtb2RhbC1oZWFkZXJcclxuICAgKi9cclxuICBoZWFkZXJDbGFzczogRmx1ZW50QXNzaWduTWV0aG9kPHN0cmluZywgdGhpcz47XHJcblxyXG4gIC8qKlxyXG4gICAqIENhcHRpb24gZm9yIHRoZSB0aXRsZSwgZW5jbG9zZWQgaW4gYSBIMyBjb250YWluZXIuXHJcbiAgICovXHJcbiAgdGl0bGU6IEZsdWVudEFzc2lnbk1ldGhvZDxzdHJpbmcsIHRoaXM+O1xyXG5cclxuICAvKipcclxuICAgKiBIVE1MIGZvciB0aGUgdGl0bGUsIGlmIHNldCBvdmVycmlkZXMgdGl0bGUgcHJvcGVydHkuXHJcbiAgICogVGhlIEhUTUwgaXMgd3JhcHBlZCBpbiBhIERJViBlbGVtZW50LCBpbnNpZGUgdGhlIGhlYWRlciBjb250YWluZXIuXHJcbiAgICogRXhhbXBsZTpcclxuICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICA8ZGl2PiBIVE1MIENPTlRFTlQgSU5TRVJURUQgSEVSRSA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbiAgICogTm90ZTogSFRNTCBpcyBub3QgY29tcGlsZWQuXHJcbiAgICovXHJcbiAgdGl0bGVIdG1sOiBGbHVlbnRBc3NpZ25NZXRob2Q8c3RyaW5nLCB0aGlzPjtcclxuXHJcbiAgLyoqXHJcbiAgICogYWxpYXNlZCBieSAnYm9keSdcclxuICAgKiBAYWxpYXNlZEJ5IGJvZHlcclxuICAgKi9cclxuICBtZXNzYWdlOiBGbHVlbnRBc3NpZ25NZXRob2Q8c3RyaW5nLCB0aGlzPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGJvZHkgb2YgdGhlIG1vZGFsLlxyXG4gICAqIENhbiBiZSBlaXRoZXIgdGV4dCBvciBIVE1MLlxyXG4gICAqIE5vdGU6IFdoZW4gdXNpbmcgSFRNTCwgdGhlIHRlbXBsYXRlIGlzIG5vdCBjb21waWxlZC4gKGJpbmRpbmcgYW5kIGV4cHJlc3Npb24gd2lsbCBub3QgcGFyc2UpXHJcbiAgICogQGFsaWFzT2YgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGJvZHk6IEZsdWVudEFzc2lnbk1ldGhvZDxzdHJpbmcsIHRoaXM+O1xyXG5cclxuICAvKipcclxuICAgKiBBIENsYXNzIGZvciB0aGUgYm9keSBjb250YWluZXIuXHJcbiAgICogRGVmYXVsdDogbW9kYWwtYm9keVxyXG4gICAqL1xyXG4gIGJvZHlDbGFzczogRmx1ZW50QXNzaWduTWV0aG9kPHN0cmluZywgdGhpcz47XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgQ2xhc3MgZm9yIHRoZSBmb290ZXIgY29udGFpbmVyLlxyXG4gICAqIERlZmF1bHQ6IG1vZGFsLWZvb3RlclxyXG4gICAqL1xyXG4gIGZvb3RlckNsYXNzOiBGbHVlbnRBc3NpZ25NZXRob2Q8c3RyaW5nLCB0aGlzPjtcclxuXHJcbiAgY29uc3RydWN0b3IoZGVmYXVsdFZhbHVlcz86IFQsXHJcbiAgICAgICAgICAgICAgaW5pdGlhbFNldHRlcnM/OiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICBiYXNlVHlwZT86IG5ldyAoKSA9PiBUKSB7XHJcbiAgICBzdXBlcihcclxuICAgICAgZXh0ZW5kPGFueT4oZXh0ZW5kKHtidXR0b25zOiBbXX0sIERFRkFVTFRfVkFMVUVTKSwgZGVmYXVsdFZhbHVlcyB8fCB7fSksXHJcbiAgICAgIGFycmF5VW5pb248c3RyaW5nPihERUZBVUxUX1NFVFRFUlMsIGluaXRpYWxTZXR0ZXJzIHx8IFtdKSxcclxuICAgICAgYmFzZVR5cGVcclxuICAgICk7XHJcblxyXG4gICAgc2V0QXNzaWduQWxpYXModGhpcywgJ2JvZHknLCAnbWVzc2FnZScsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgYWRkQnV0dG9uKGNzczogc3RyaW5nLCBjYXB0aW9uOiBzdHJpbmcsIG9uQ2xpY2s6IEJTTWVzc2FnZU1vZGFsQnV0dG9uSGFuZGxlcik6IHRoaXMge1xyXG4gICAgY29uc3QgYnRuID0ge1xyXG4gICAgICBjc3NDbGFzczogY3NzLFxyXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxyXG4gICAgICBvbkNsaWNrOiBvbkNsaWNrXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGtleSA9IHByaXZhdGVLZXkoJ2J1dHRvbnMnKTtcclxuICAgICh0aGlzW2tleV0gYXMgQlNNZXNzYWdlTW9kYWxCdXR0b25Db25maWdbXSkucHVzaChidG4pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG4iXX0=