{"version":3,"file":"ajf-core-range.mjs","sources":["../../../projects/core/range/src/range.ts","../../../projects/core/range/src/public_api.ts","../../../projects/core/range/src/ajf-core-range.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {\n  AJF_WARNING_ALERT_SERVICE,\n  AjfBaseFieldComponent,\n  AjfFormRendererService,\n  AjfRangeFieldInstance,\n  AjfWarningAlertService,\n} from '@ajf/core/forms';\nimport {ChangeDetectorRef, Directive, Inject, Input, OnInit} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n@Directive()\nexport abstract class AjfRange\n  extends AjfBaseFieldComponent<AjfRangeFieldInstance>\n  implements ControlValueAccessor, OnInit\n{\n  private _appearance: string = '';\n  private _end: number = 10;\n  private _name: string = '';\n  private _onChangeCallback: (value: any) => void = _ => {};\n\n  private _onTouchedCallback: () => void = () => {};\n\n  private _start: number = 1;\n  private _step: number = 1;\n  private _value: number = 1;\n\n  constructor(\n    public cdr: ChangeDetectorRef,\n    service: AjfFormRendererService,\n    @Inject(AJF_WARNING_ALERT_SERVICE) was: AjfWarningAlertService,\n  ) {\n    super(cdr, service, was);\n  }\n\n  get appearance(): string {\n    return this._appearance;\n  }\n  @Input()\n  set appearance(newAppearance: string) {\n    if (newAppearance != null && this._appearance != newAppearance) {\n      this._appearance = newAppearance;\n      this.cdr.detectChanges();\n    }\n  }\n\n  get end(): number | undefined {\n    return this._end;\n  }\n  @Input()\n  set end(newEnd: number | undefined) {\n    if (newEnd != null && this._end != newEnd) {\n      this._end = newEnd as number;\n      this.cdr.detectChanges();\n    }\n  }\n\n  get name(): string | undefined {\n    return this._name;\n  }\n  @Input()\n  set name(newName: string | undefined) {\n    if (newName != null && this._name != newName) {\n      this._name = newName;\n      this.cdr.detectChanges();\n    }\n  }\n\n  get start(): number | undefined {\n    return this._start;\n  }\n  @Input()\n  set start(newStart: number | undefined) {\n    if (newStart != null && this._start != newStart) {\n      this._start = newStart;\n      this.cdr.detectChanges();\n    }\n  }\n\n  get step(): number | undefined {\n    return this._step;\n  }\n  @Input()\n  set step(newStep: number | undefined) {\n    if (newStep != null && this._step !== newStep) {\n      this._step = newStep;\n      this.cdr.detectChanges();\n    }\n  }\n\n  get value(): number {\n    return this._value;\n  }\n\n  set value(newValue: number) {\n    if (this._value !== newValue) {\n      this._value = newValue;\n      this._onChangeCallback(newValue);\n      this.cdr.detectChanges();\n    }\n  }\n\n  override ngOnInit(): void {\n    super.ngOnInit();\n    if (this.instance != null && this.instance.node != null) {\n      const node = this.instance.node;\n      if (node.appearance != null) {\n        this.appearance = node.appearance;\n      }\n      if (node.end != null) {\n        this.end = node.end;\n      }\n      if (node.start != null) {\n        this.start = node.start;\n      }\n      if (node.step != null) {\n        this.step = node.step;\n      }\n      if (node.name != null) {\n        this.name = node.name;\n      }\n      if (this.instance != null && this.instance.value != null) {\n        this.value = this.instance.value;\n      }\n    }\n  }\n\n  registerOnChange(fn: (value: any) => void): void {\n    this._onChangeCallback = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this._onTouchedCallback = fn;\n  }\n\n  reset(): void {\n    this.value = 0;\n    this._onTouchedCallback();\n  }\n\n  writeValue(value: number): void {\n    this.value = value;\n  }\n\n  /**\n   * Handles rating star clicks by updating the form control value\n   * @param starValue The rating value (1-5) to set\n   */\n  onRatingClick(starValue: number): void {\n    this._value = starValue;\n    this._onChangeCallback(starValue);\n    this._onTouchedCallback();\n    this.cdr.detectChanges();\n  }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport * from './range';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}