UNPKG

@ui-tool/core

Version:
44 lines 7.68 kB
import { ReplaySubject } from 'rxjs'; export class BannerService { //#endregion //#region Constructor constructor() { this._bannerDisplayRequestSubject = new ReplaySubject(1); this._deleteRequestSubject = new ReplaySubject(1); this._displayNextSubject = new ReplaySubject(1); this.addedRequestEvent = this._bannerDisplayRequestSubject.asObservable(); this.deleteRequestEvent = this._deleteRequestSubject.asObservable(); this.nextBannerDisplayRequested = this._displayNextSubject.asObservable(); } //#endregion //#region Methods // Display banner using specific settings. // If container id is defined, only the contain whose id matches will display the banner. addBanner(settings, containerId) { const request = { id: settings.id, containerId, settings }; this._bannerDisplayRequestSubject.next(request); return request.id; } // Find and delete banner by id. // No id is defined, all banner will be deleted. deleteBanner(id, containerId) { const deleteRequest = { id, containerId }; this._deleteRequestSubject.next(deleteRequest); } // Get the next banner and display it inside a specific container. // If no container id is defined, display next banner into every banner. displayNextBanner(containerId) { const request = { containerId }; this._displayNextSubject.next(request); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL3NlcnZpY2VzL2ltcGxlbWVudGF0aW9ucy9iYW5uZXJzL2Jhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFPeEQsTUFBTSxPQUFPLGFBQWE7SUF5QnhCLFlBQVk7SUFFWixxQkFBcUI7SUFFckI7UUFFRSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxhQUFhLENBQXdCLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLGFBQWEsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksYUFBYSxDQUE0QixDQUFDLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsWUFBWTtJQUVaLGlCQUFpQjtJQUVqQiwwQ0FBMEM7SUFDMUMseUZBQXlGO0lBQ2xGLFNBQVMsQ0FBQyxRQUFnQyxFQUFFLFdBQW9CO1FBQ3JFLE1BQU0sT0FBTyxHQUEwQjtZQUNyQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDZixXQUFXO1lBQ1gsUUFBUTtTQUNULENBQUM7UUFFRixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLGdEQUFnRDtJQUN6QyxZQUFZLENBQUMsRUFBVyxFQUFFLFdBQW9CO1FBRW5ELE1BQU0sYUFBYSxHQUF5QjtZQUMxQyxFQUFFO1lBQ0YsV0FBVztTQUNaLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsd0VBQXdFO0lBQ2pFLGlCQUFpQixDQUFDLFdBQW9CO1FBQzNDLE1BQU0sT0FBTyxHQUE4QjtZQUN6QyxXQUFXO1NBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lCYW5uZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Jhbm5lcnMvYmFubmVyLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7SURlbGV0ZUJhbm5lclJlcXVlc3R9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2Jhbm5lcnMvZGVsZXRlLWJhbm5lci1jb250ZW50LXJlcXVlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7SUJhbm5lck5leHREaXNwbGF5UmVxdWVzdH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ludGVyZmFjZXMvYmFubmVycy9kaXNwbGF5LW5leHQtYmFubmVyLWNvbnRlbnQtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURpc3BsYXlCYW5uZXJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ludGVyZmFjZXMvYmFubmVycy9hZGQtYmFubmVyLWNvbnRlbnQtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUJhbm5lckNvbnRlbnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2Jhbm5lcnMvYmFubmVyLWNvbnRlbnQtc2V0dGluZ3MuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEJhbm5lclNlcnZpY2UgaW1wbGVtZW50cyBJQmFubmVyU2VydmljZSB7XG5cbiAgLy8jcmVnaW9uIFByb3BlcnRpZXNcblxuXG4gIC8vIFJhaXNlIGFuIGV2ZW50IGFib3V0IGJhbm5lciBkaXNwbGF5IHJlcXVlc3QuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jhbm5lckRpc3BsYXlSZXF1ZXN0U3ViamVjdDogU3ViamVjdDxJRGlzcGxheUJhbm5lclJlcXVlc3Q+O1xuXG4gIC8vIFJhaXNlIGFuIGV2ZW50IGFib3V0IGJhbm5lciBkZWxldGUgcmVxdWVzdC5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsZXRlUmVxdWVzdFN1YmplY3Q6IFN1YmplY3Q8SURlbGV0ZUJhbm5lclJlcXVlc3Q+O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc3BsYXlOZXh0U3ViamVjdDogU3ViamVjdDxJQmFubmVyTmV4dERpc3BsYXlSZXF1ZXN0PjtcblxuICAvLyBSYWlzZWQgd2hlbiBhIGJhbm5lciBkaXNwbGF5IGlzIHJlcXVlc3RlZC5cbiAgcHVibGljIHJlYWRvbmx5IGFkZGVkUmVxdWVzdEV2ZW50OiBPYnNlcnZhYmxlPElEaXNwbGF5QmFubmVyUmVxdWVzdD47XG5cbiAgLy8gUmFpc2VkIHdoZW4gIGJhbm5lcnMgZGVsZXRpb24gaXMgcmVxdWVzdGVkLlxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlUmVxdWVzdEV2ZW50OiBPYnNlcnZhYmxlPElEZWxldGVCYW5uZXJSZXF1ZXN0PjtcblxuICAvLyBSYWlzZWQgd2hlbiBuZXh0IGJhbm5lciBzaG91bGQgYmUgZGlzcGxheWVkLlxuICBwdWJsaWMgcmVhZG9ubHkgbmV4dEJhbm5lckRpc3BsYXlSZXF1ZXN0ZWQ6IE9ic2VydmFibGU8SUJhbm5lck5leHREaXNwbGF5UmVxdWVzdD47XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIENvbnN0cnVjdG9yXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgdGhpcy5fYmFubmVyRGlzcGxheVJlcXVlc3RTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8SURpc3BsYXlCYW5uZXJSZXF1ZXN0PigxKTtcbiAgICB0aGlzLl9kZWxldGVSZXF1ZXN0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PElEZWxldGVCYW5uZXJSZXF1ZXN0PigxKTtcbiAgICB0aGlzLl9kaXNwbGF5TmV4dFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxJQmFubmVyTmV4dERpc3BsYXlSZXF1ZXN0PigxKTtcblxuICAgIHRoaXMuYWRkZWRSZXF1ZXN0RXZlbnQgPSB0aGlzLl9iYW5uZXJEaXNwbGF5UmVxdWVzdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5kZWxldGVSZXF1ZXN0RXZlbnQgPSB0aGlzLl9kZWxldGVSZXF1ZXN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLm5leHRCYW5uZXJEaXNwbGF5UmVxdWVzdGVkID0gdGhpcy5fZGlzcGxheU5leHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIE1ldGhvZHNcblxuICAvLyBEaXNwbGF5IGJhbm5lciB1c2luZyBzcGVjaWZpYyBzZXR0aW5ncy5cbiAgLy8gSWYgY29udGFpbmVyIGlkIGlzIGRlZmluZWQsIG9ubHkgdGhlIGNvbnRhaW4gd2hvc2UgaWQgbWF0Y2hlcyB3aWxsIGRpc3BsYXkgdGhlIGJhbm5lci5cbiAgcHVibGljIGFkZEJhbm5lcihzZXR0aW5nczogSUJhbm5lckNvbnRlbnRTZXR0aW5ncywgY29udGFpbmVySWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlcXVlc3Q6IElEaXNwbGF5QmFubmVyUmVxdWVzdCA9IHtcbiAgICAgIGlkOiBzZXR0aW5ncy5pZCxcbiAgICAgIGNvbnRhaW5lcklkLFxuICAgICAgc2V0dGluZ3NcbiAgICB9O1xuXG4gICAgdGhpcy5fYmFubmVyRGlzcGxheVJlcXVlc3RTdWJqZWN0Lm5leHQocmVxdWVzdCk7XG4gICAgcmV0dXJuIHJlcXVlc3QuaWQ7XG4gIH1cblxuICAvLyBGaW5kIGFuZCBkZWxldGUgYmFubmVyIGJ5IGlkLlxuICAvLyBObyBpZCBpcyBkZWZpbmVkLCBhbGwgYmFubmVyIHdpbGwgYmUgZGVsZXRlZC5cbiAgcHVibGljIGRlbGV0ZUJhbm5lcihpZD86IHN0cmluZywgY29udGFpbmVySWQ/OiBzdHJpbmcpOiB2b2lkIHtcblxuICAgIGNvbnN0IGRlbGV0ZVJlcXVlc3Q6IElEZWxldGVCYW5uZXJSZXF1ZXN0ID0ge1xuICAgICAgaWQsXG4gICAgICBjb250YWluZXJJZFxuICAgIH07XG5cbiAgICB0aGlzLl9kZWxldGVSZXF1ZXN0U3ViamVjdC5uZXh0KGRlbGV0ZVJlcXVlc3QpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBuZXh0IGJhbm5lciBhbmQgZGlzcGxheSBpdCBpbnNpZGUgYSBzcGVjaWZpYyBjb250YWluZXIuXG4gIC8vIElmIG5vIGNvbnRhaW5lciBpZCBpcyBkZWZpbmVkLCBkaXNwbGF5IG5leHQgYmFubmVyIGludG8gZXZlcnkgYmFubmVyLlxuICBwdWJsaWMgZGlzcGxheU5leHRCYW5uZXIoY29udGFpbmVySWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByZXF1ZXN0OiBJQmFubmVyTmV4dERpc3BsYXlSZXF1ZXN0ID0ge1xuICAgICAgY29udGFpbmVySWRcbiAgICB9O1xuXG4gICAgdGhpcy5fZGlzcGxheU5leHRTdWJqZWN0Lm5leHQocmVxdWVzdCk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==