carbon-components-angular
Version:
Next generation components
42 lines • 4.51 kB
JavaScript
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==