@obliczeniowo/elementary
Version:
Library made in Angular version 19
1 lines • 7.62 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-rating.mjs","sources":["../../../../projects/components/rating/components/star-rating/star-rating.component.ts","../../../../projects/components/rating/components/star-rating/star-rating.component.html","../../../../projects/components/rating/rating.module.ts","../../../../projects/components/rating/obliczeniowo-elementary-rating.ts"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, input, model, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'obl-star-rating',\r\n templateUrl: './star-rating.component.html',\r\n styleUrls: ['./star-rating.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: StarRatingComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class StarRatingComponent implements ControlValueAccessor {\r\n nrOfStars = input(5);\r\n\r\n rating = model(0);\r\n\r\n disabled = input<any>();\r\n\r\n displayValue = input(true);\r\n\r\n touched = false;\r\n\r\n private _size = 20;\r\n\r\n public get size(): number {\r\n return this._size;\r\n }\r\n\r\n @Input()\r\n public set size(size) {\r\n this.matrix = new DOMMatrix([1, 0, 0, 1, 0, 0]);\r\n this._size = size;\r\n }\r\n\r\n hoverRating = 0;\r\n\r\n matrix: DOMMatrix = new DOMMatrix([1, 0, 0, 1, 0, 0]);\r\n\r\n onChange = (rating: number) => { };\r\n\r\n onTouched = () => { };\r\n\r\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\r\n\r\n writeValue(rating: number): void {\r\n this.rating.set(rating);\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 markAsTouched(): void {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n setValue(): void {\r\n this.markAsTouched();\r\n this.rating.set(this.rating());\r\n this.onChange(this.rating());\r\n }\r\n\r\n getTable(): number[] {\r\n const table = [];\r\n for (let i = 0; i < this.nrOfStars(); i++) {\r\n table.push(i);\r\n }\r\n return table;\r\n }\r\n\r\n clicked(rating: number): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n this.rating.set(rating);\r\n }\r\n}\r\n","<svg\r\n [attr.height]=\"size\"\r\n [attr.width]=\"size * nrOfStars()\"\r\n [attr.viewBox]=\"'0 0 ' + 10 * nrOfStars() + ' 10'\"\r\n>\r\n @for (i of getTable(); track i) {\r\n <path\r\n [class.selected]=\"i + 1 <= (hoverRating || rating())\"\r\n style=\"stroke-width: 3; stroke-linejoin: round\"\r\n (mouseover)=\"hoverRating = i + 1\"\r\n (mouseleave)=\"hoverRating = 0\"\r\n [attr.transform]=\"matrix.translate(i * 10, 0).toString()\"\r\n (click)=\"clicked(i + 1)\"\r\n d=\"M 5.0000001,1 6.1755705,3.381966 8.8042261,3.7639321 6.902113,5.618034 7.3511409,8.236068 4.9999999,7 2.6488589,8.2360679 3.097887,5.6180339 1.195774,3.7639319 3.8244295,3.381966 Z\"\r\n />\r\n }\r\n</svg>\r\n\r\n@if (displayValue()) {\r\n <span>{{ rating() }} / {{ nrOfStars() }}</span>\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StarRatingComponent } from './components/star-rating/star-rating.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n StarRatingComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n StarRatingComponent\r\n ]\r\n})\r\nexport class RatingModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,mBAAmB,CAAA;AAC9B,IAAA,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAEpB,IAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAEjB,QAAQ,GAAG,KAAK,EAAO;AAEvB,IAAA,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;IAE1B,OAAO,GAAG,KAAK;IAEP,KAAK,GAAG,EAAE;AAElB,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;;IAGnB,IACW,IAAI,CAAC,IAAI,EAAA;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;IAGnB,WAAW,GAAG,CAAC;AAEf,IAAA,MAAM,GAAc,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAErD,IAAA,QAAQ,GAAG,CAAC,MAAc,KAAI,GAAI;AAElC,IAAA,SAAS,GAAG,MAAK,GAAI;IAErB,yBAAyB,CAAC,EAAc,EAAA,EAAU,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAErE,IAAA,UAAU,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;;AAGzB,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;IAG5B,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;;IAIvB,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;;IAG9B,QAAQ,GAAA;QACN,MAAM,KAAK,GAAG,EAAE;AAChB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AACzC,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;AAEf,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,CAAC,MAAc,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB;;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;;uGAtEd,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EATjB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdL,qzBAqBA,EAAA,MAAA,EAAA,CAAA,olDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDJa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGV,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAqB;AACnC,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,qzBAAA,EAAA,MAAA,EAAA,CAAA,olDAAA,CAAA,EAAA;8BAoBR,IAAI,EAAA,CAAA;sBADd;;;MEnBU,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EATrB,YAAA,EAAA,CAAA,mBAAmB,CAGnB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,mBAAmB,CAAA,EAAA,CAAA;AAGV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YANrB,YAAY,CAAA,EAAA,CAAA;;2FAMH,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;ACdD;;AAEG;;;;"}