UNPKG

carbon-components-angular

Version:
42 lines 4.51 kB
import { Injectable } from "@angular/core"; import { ReplaySubject } from "rxjs"; import * as i0 from "@angular/core"; export class ContextMenuSelectionService { constructor() { this.selectionSubject = new ReplaySubject(1); this.value = []; this.selectionObservable = this.selectionSubject.asObservable(); } selectRadio(value) { if (!value) { return; } this.selectionSubject.next(value); this.value = [value]; } selectCheckbox(value) { if (!value) { return; } if (this.value.includes(value)) { this.value = this.value.filter(v => v !== value); } else { this.value.push(value); } this.selectionSubject.next(this.value); } selectCheckboxes(value) { if (!value) { return; } this.value = value; this.selectionSubject.next(value); } } ContextMenuSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); ContextMenuSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuSelectionService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContextMenuSelectionService, decorators: [{ type: Injectable }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUtc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdqRCxNQUFNLE9BQU8sMkJBQTJCO0lBS3ZDO1FBSFEscUJBQWdCLEdBQUcsSUFBSSxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7UUFDckQsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUd6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1gsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWCxPQUFPO1NBQ1A7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNYLE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7d0hBbkNXLDJCQUEyQjs0SEFBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVTZWxlY3Rpb25TZXJ2aWNlIHtcblx0cHVibGljIHNlbGVjdGlvbk9ic2VydmFibGU6IE9ic2VydmFibGU8YW55IHwgYW55W10+O1xuXHRwcml2YXRlIHNlbGVjdGlvblN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnkgfCBhbnlbXT4oMSk7XG5cdHByaXZhdGUgdmFsdWU6IGFueVtdID0gW107XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5zZWxlY3Rpb25PYnNlcnZhYmxlID0gdGhpcy5zZWxlY3Rpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0c2VsZWN0UmFkaW8odmFsdWU6IGFueSkge1xuXHRcdGlmICghdmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5zZWxlY3Rpb25TdWJqZWN0Lm5leHQodmFsdWUpO1xuXHRcdHRoaXMudmFsdWUgPSBbdmFsdWVdO1xuXHR9XG5cblx0c2VsZWN0Q2hlY2tib3godmFsdWU6IGFueSkge1xuXHRcdGlmICghdmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHRoaXMudmFsdWUuaW5jbHVkZXModmFsdWUpKSB7XG5cdFx0XHR0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5maWx0ZXIodiA9PiB2ICE9PSB2YWx1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudmFsdWUucHVzaCh2YWx1ZSk7XG5cdFx0fVxuXHRcdHRoaXMuc2VsZWN0aW9uU3ViamVjdC5uZXh0KHRoaXMudmFsdWUpO1xuXHR9XG5cblx0c2VsZWN0Q2hlY2tib3hlcyh2YWx1ZTogYW55W10pIHtcblx0XHRpZiAoIXZhbHVlKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLnNlbGVjdGlvblN1YmplY3QubmV4dCh2YWx1ZSk7XG5cdH1cbn1cbiJdfQ==