UNPKG

@obliczeniowo/elementary

Version:
1 lines 8.68 kB
{"version":3,"file":"obliczeniowo-elementary-channel-volume.mjs","sources":["../../../../projects/components/channel-volume/components/channel-volume/channel-volume.component.ts","../../../../projects/components/channel-volume/components/channel-volume/channel-volume.component.html","../../../../projects/components/channel-volume/channel-volume.module.ts","../../../../projects/components/channel-volume/obliczeniowo-elementary-channel-volume.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, model } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport interface Volumes {\r\n left: number;\r\n right: number;\r\n}\r\n\r\n@Component({\r\n selector: 'obl-channel-volume',\r\n templateUrl: './channel-volume.component.html',\r\n styleUrls: ['./channel-volume.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: ChannelVolumeComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class ChannelVolumeComponent implements ControlValueAccessor {\r\n /** Volumes value from range 0-1 */\r\n volumes = model<Volumes>({\r\n left: 0, right: 0\r\n });\r\n\r\n protected random?: number;\r\n\r\n onChange = (value: { left: number; right: number }) => { };\r\n\r\n onTouched = () => { };\r\n\r\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; };\r\n\r\n writeValue(set?: { left: number; right: number }): void {\r\n if (set) {\r\n this.volumes.set(set);\r\n }\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n constructor() {\r\n while (!this.random || document.querySelector(this.leftId)) {\r\n this.random = Math.ceil(Math.random() * 10000000);\r\n }\r\n }\r\n\r\n get leftId(): string {\r\n return 'channelVolumeLeft' + this.random;\r\n }\r\n\r\n get rightId(): string {\r\n return 'channelVolumeRight' + this.random;\r\n }\r\n}\r\n","<svg width=\"100%\" viewBox=\"0 0 54.239583 25.135417\">\r\n <defs>\r\n <clipPath [attr.id]=\"rightId\">\r\n <rect\r\n [attr.width]=\"volumes().right * 30\"\r\n height=\"10.583344\"\r\n [attr.x]=\"31.749997 - volumes().right * 30\"\r\n y=\"273.1875\"\r\n />\r\n </clipPath>\r\n <clipPath [attr.id]=\"leftId\">\r\n <rect\r\n [attr.width]=\"volumes().left * 30\"\r\n height=\"10.583333\"\r\n [attr.x]=\"22.489584\"\r\n y=\"285.09375\"\r\n />\r\n </clipPath>\r\n </defs>\r\n <g transform=\"translate(0,-271.86457)\">\r\n <path\r\n class=\"volume-left-background\"\r\n d=\"m 1.3229167,273.18749 v 10.58333 h 3.9687499 v -10.58333 z m 5.2916666,1.32291 v 9.26042 h 3.9687507 v -9.26042 z m 5.2916667,1.32292 v 7.9375 H 15.875 v -7.9375 z m 5.291667,1.32292 v 6.61458 h 3.96875 v -6.61458 z m 5.291666,2.64583 v 3.96875 h 3.96875 v -3.96875 z m 5.291667,2.64583 v 1.32292 H 31.75 v -1.32292 z\"\r\n />\r\n <path\r\n class=\"volume-right-background\"\r\n d=\"m 52.916667,295.67707 v -10.58333 h -3.96875 v 10.58333 z m -5.291666,-1.32292 v -9.26041 h -3.96875 v 9.26041 z m -5.291667,-1.32291 v -7.9375 h -3.96875 v 7.9375 z m -5.291666,-1.32292 v -6.61458 h -3.96875 v 6.61458 z m -5.291667,-2.64583 v -3.96875 h -3.96875 v 3.96875 z m -5.291667,-2.64584 v -1.32291 h -3.96875 v 1.32291 z\"\r\n />\r\n <g class=\"lines\">\r\n <path\r\n d=\"m 20.6375,285.09374 h 0.529166 l 1e-6,10.58333 h -0.529166\"\r\n style=\"\r\n fill: none;\r\n stroke-width: 0.25;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n \"\r\n />\r\n <path\r\n d=\"M 21.166667,290.3854 H 20.637501\"\r\n style=\"\r\n stroke-width: 0.25;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n \"\r\n />\r\n </g>\r\n <g transform=\"matrix(-1,0,0,1,54.239583,-10.58333)\" class=\"lines\">\r\n <path\r\n style=\"\r\n fill: none;\r\n stroke-width: 0.25;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n \"\r\n d=\"m 20.6375,283.77082 h 0.529166 l 0,10.58333 H 20.6375\"\r\n />\r\n <path\r\n style=\"\r\n stroke-width: 0.25;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n \"\r\n d=\"M 21.166666,289.06248 H 20.6375\"\r\n />\r\n </g>\r\n <path\r\n d=\"m 1.3229167,273.18749 v 10.58333 h 3.9687499 v -10.58333 z m 5.2916666,1.32291 v 9.26042 h 3.9687507 v -9.26042 z m 5.2916667,1.32292 v 7.9375 H 15.875 v -7.9375 z m 5.291667,1.32292 v 6.61458 h 3.96875 v -6.61458 z m 5.291666,2.64583 v 3.96875 h 3.96875 v -3.96875 z m 5.291667,2.64583 v 1.32292 H 31.75 v -1.32292 z\"\r\n class=\"volume-left\"\r\n [attr.clip-path]=\"'url(#' + rightId + ')'\"\r\n />\r\n <path\r\n class=\"volume-right\"\r\n d=\"m 52.916667,295.67707 v -10.58333 h -3.96875 v 10.58333 z m -5.291666,-1.32292 v -9.26041 h -3.96875 v 9.26041 z m -5.291667,-1.32291 v -7.9375 h -3.96875 v 7.9375 z m -5.291666,-1.32292 v -6.61458 h -3.96875 v 6.61458 z m -5.291667,-2.64583 v -3.96875 h -3.96875 v 3.96875 z m -5.291667,-2.64584 v -1.32291 h -3.96875 v 1.32291 z\"\r\n [attr.clip-path]=\"'url(#' + leftId + ')'\"\r\n />\r\n </g>\r\n</svg>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChannelVolumeComponent } from './components/channel-volume/channel-volume.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChannelVolumeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ChannelVolumeComponent\r\n ]\r\n})\r\nexport class ChannelVolumeModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}