ngx-modialog-11
Version:
Modal / Dialog for Angular
75 lines • 6.88 kB
JavaScript
/**
* Simple object extend
* @param m1
* @param m2
*/
export function extend(m1, m2) {
const m = {};
for (const attr in m1) {
if (m1.hasOwnProperty(attr)) {
m[attr] = m1[attr];
}
}
for (const attr in m2) {
if (m2.hasOwnProperty(attr)) {
m[attr] = m2[attr];
}
}
return m;
}
/**
* Simple, not optimized, array union of unique values.
* @param arr1
* @param arr2
*/
export function arrayUnion(arr1, arr2) {
return arr1
.concat(arr2.filter(v => arr1.indexOf(v) === -1));
}
/**
* Returns true if the config supports a given key.
* @param keyCode
* @param config
*/
export function supportsKey(keyCode, config) {
if (!Array.isArray(config)) {
return config !== null;
}
return config.indexOf(keyCode) > -1;
}
/**
* Given an object representing a key/value map of css properties, returns a valid css string
* representing the object.
* Example:
* console.log(toStyleString({
* position: 'absolute',
* width: '100%',
* height: '100%',
* top: '0',
* left: '0',
* right: '0',
* bottom: '0'
* }));
* // position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0
* @param obj
*/
export function toStyleString(obj) {
return Object.getOwnPropertyNames(obj)
.map(k => `${k}:${obj[k]}`)
.join(';');
// let objStr = JSON.stringify(obj);
// return objStr.substr(1, objStr.length - 2)
// .replace(/,/g, ';')
// .replace(/"/g, '');
}
export class PromiseCompleter {
constructor() {
this.promise = new Promise((res, rej) => {
this.resolve = res;
this.reject = rej;
});
}
}
export function noop() {
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbW9kaWFsb2ctMTEvc3JjL2xpYi9mcmFtZXdvcmsvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUksRUFBTyxFQUFFLEVBQU87SUFDeEMsTUFBTSxDQUFDLEdBQVMsRUFBRSxDQUFDO0lBQ25CLEtBQUssTUFBTSxJQUFJLElBQUksRUFBRSxFQUFFO1FBQ3JCLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixDQUFFLENBQUMsSUFBSSxDQUFDLEdBQVMsRUFBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0tBQ0Y7SUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEVBQUUsRUFBRTtRQUNyQixJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckIsQ0FBRSxDQUFDLElBQUksQ0FBQyxHQUFTLEVBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQztLQUNGO0lBRUQsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUksSUFBVyxFQUFFLElBQVc7SUFDcEQsT0FBTyxJQUFJO1NBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV0RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE1BQXFCO0lBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzFCLE9BQU8sTUFBTSxLQUFLLElBQUksQ0FBQztLQUN4QjtJQUVELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUE4QjtJQUMxRCxPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7U0FDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWIsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QywwQkFBMEI7SUFDMUIsMEJBQTBCO0FBQzVCLENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUlELE1BQU0sVUFBVSxJQUFJO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU2ltcGxlIG9iamVjdCBleHRlbmRcclxuICogQHBhcmFtIG0xXHJcbiAqIEBwYXJhbSBtMlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZDxUPihtMTogYW55LCBtMjogYW55KTogVCB7XHJcbiAgY29uc3QgbTogVCA9IDxUPnt9O1xyXG4gIGZvciAoY29uc3QgYXR0ciBpbiBtMSkge1xyXG4gICAgaWYgKG0xLmhhc093blByb3BlcnR5KGF0dHIpKSB7XHJcbiAgICAgICg8YW55Pm0pW2F0dHJdID0gKDxhbnk+bTEpW2F0dHJdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBhdHRyIGluIG0yKSB7XHJcbiAgICBpZiAobTIuaGFzT3duUHJvcGVydHkoYXR0cikpIHtcclxuICAgICAgKDxhbnk+bSlbYXR0cl0gPSAoPGFueT5tMilbYXR0cl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNpbXBsZSwgbm90IG9wdGltaXplZCwgYXJyYXkgdW5pb24gb2YgdW5pcXVlIHZhbHVlcy5cclxuICogQHBhcmFtIGFycjFcclxuICogQHBhcmFtIGFycjJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhcnJheVVuaW9uPFQ+KGFycjE6IGFueVtdLCBhcnIyOiBhbnlbXSk6IFRbXSB7XHJcbiAgcmV0dXJuIGFycjFcclxuICAgIC5jb25jYXQoYXJyMi5maWx0ZXIodiA9PiBhcnIxLmluZGV4T2YodikgPT09IC0xKSk7XHJcblxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBjb25maWcgc3VwcG9ydHMgYSBnaXZlbiBrZXkuXHJcbiAqIEBwYXJhbSBrZXlDb2RlXHJcbiAqIEBwYXJhbSBjb25maWdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3J0c0tleShrZXlDb2RlOiBudW1iZXIsIGNvbmZpZzogQXJyYXk8bnVtYmVyPik6IGJvb2xlYW4ge1xyXG4gIGlmICghQXJyYXkuaXNBcnJheShjb25maWcpKSB7XHJcbiAgICByZXR1cm4gY29uZmlnICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbmZpZy5pbmRleE9mKGtleUNvZGUpID4gLTE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHaXZlbiBhbiBvYmplY3QgcmVwcmVzZW50aW5nIGEga2V5L3ZhbHVlIG1hcCBvZiBjc3MgcHJvcGVydGllcywgcmV0dXJucyBhIHZhbGlkIGNzcyBzdHJpbmdcclxuICogcmVwcmVzZW50aW5nIHRoZSBvYmplY3QuXHJcbiAqIEV4YW1wbGU6XHJcbiAqIGNvbnNvbGUubG9nKHRvU3R5bGVTdHJpbmcoe1xyXG4gKiAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAqICAgICB3aWR0aDogJzEwMCUnLFxyXG4gKiAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAqICAgICB0b3A6ICcwJyxcclxuICogICAgIGxlZnQ6ICcwJyxcclxuICogICAgIHJpZ2h0OiAnMCcsXHJcbiAqICAgICBib3R0b206ICcwJ1xyXG4gKiB9KSk7XHJcbiAqIC8vIHBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjBcclxuICogQHBhcmFtIG9ialxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvU3R5bGVTdHJpbmcob2JqOiBhbnkgfCBDU1NTdHlsZURlY2xhcmF0aW9uKTogc3RyaW5nIHtcclxuICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKVxyXG4gICAgLm1hcChrID0+IGAke2t9OiR7b2JqW2tdfWApXHJcbiAgICAuam9pbignOycpO1xyXG5cclxuICAvLyBsZXQgb2JqU3RyID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAvLyByZXR1cm4gb2JqU3RyLnN1YnN0cigxLCBvYmpTdHIubGVuZ3RoIC0gMilcclxuICAvLyAgICAgLnJlcGxhY2UoLywvZywgJzsnKVxyXG4gIC8vICAgICAucmVwbGFjZSgvXCIvZywgJycpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvbWlzZUNvbXBsZXRlcjxSPiB7XHJcbiAgcHJvbWlzZTogUHJvbWlzZTxSPjtcclxuICByZXNvbHZlOiAodmFsdWU/OiBSIHwgUHJvbWlzZUxpa2U8Uj4pID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAoZXJyb3I/OiBhbnksIHN0YWNrVHJhY2U/OiBzdHJpbmcpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5wcm9taXNlID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMucmVzb2x2ZSA9IHJlcztcclxuICAgICAgdGhpcy5yZWplY3QgPSByZWo7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENsYXNzPFQ+ID0gbmV3KC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKSB7XHJcbn1cclxuIl19