@ng-nest/ui 14.0.2 → 14.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auto-complete/auto-complete.component.d.ts +1 -1
- package/base-form/base-form.component.d.ts +6 -3
- package/button/button.property.d.ts +11 -1
- package/cascade/cascade.component.d.ts +1 -1
- package/color-picker/color-picker.component.d.ts +1 -1
- package/core/config/config.d.ts +3 -0
- package/date-picker/date-picker.component.d.ts +1 -1
- package/date-picker/date-range.component.d.ts +1 -1
- package/dialog/dialog.module.d.ts +2 -1
- package/dialog/dialog.property.d.ts +2 -0
- package/esm2020/auto-complete/auto-complete.component.mjs +1 -1
- package/esm2020/base-form/base-form.component.mjs +11 -3
- package/esm2020/button/button.component.mjs +3 -3
- package/esm2020/button/button.property.mjs +7 -2
- package/esm2020/cascade/cascade.component.mjs +4 -3
- package/esm2020/checkbox/checkbox.component.mjs +6 -4
- package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
- package/esm2020/color-picker/color-picker.component.mjs +4 -3
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/date-picker/date-picker.component.mjs +4 -3
- package/esm2020/date-picker/date-range.component.mjs +1 -1
- package/esm2020/dialog/dialog.module.mjs +8 -4
- package/esm2020/dialog/dialog.property.mjs +1 -1
- package/esm2020/find/find.component.mjs +5 -3
- package/esm2020/form/control.component.mjs +37 -25
- package/esm2020/form/form.component.mjs +15 -3
- package/esm2020/form/form.module.mjs +6 -3
- package/esm2020/form/form.property.mjs +10 -3
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_US.mjs +6 -2
- package/esm2020/i18n/languages/zh_CN.mjs +6 -2
- package/esm2020/i18n/languages/zh_TW.mjs +6 -2
- package/esm2020/input/input.component.mjs +21 -9
- package/esm2020/input/input.property.mjs +24 -2
- package/esm2020/input-number/input-number.component.mjs +3 -3
- package/esm2020/list/list.component.mjs +13 -13
- package/esm2020/radio/radio.component.mjs +4 -3
- package/esm2020/rate/rate.component.mjs +8 -3
- package/esm2020/select/select-portal.component.mjs +6 -4
- package/esm2020/select/select.component.mjs +225 -31
- package/esm2020/select/select.module.mjs +35 -4
- package/esm2020/select/select.property.mjs +14 -3
- package/esm2020/slider-select/slider-select.component.mjs +6 -5
- package/esm2020/switch/switch.component.mjs +1 -1
- package/esm2020/table/table-body.component.mjs +9 -4
- package/esm2020/table/table-head.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +23 -5
- package/esm2020/table/table.property.mjs +10 -3
- package/esm2020/tag/tag.component.mjs +5 -5
- package/esm2020/tag/tag.property.mjs +1 -1
- package/esm2020/textarea/textarea.component.mjs +3 -3
- package/esm2020/textarea/textarea.property.mjs +1 -6
- package/esm2020/theme/theme.component.mjs +1 -1
- package/esm2020/time-picker/time-picker.component.mjs +4 -3
- package/esm2020/transfer/transfer.component.mjs +1 -1
- package/esm2020/upload/upload.component.mjs +1 -1
- package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.mjs +10 -2
- package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-button.mjs +8 -3
- package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.mjs +3 -2
- package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.mjs +5 -3
- package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.mjs +5 -4
- package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +3 -2
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.mjs +7 -3
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-find.mjs +4 -2
- package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-form.mjs +65 -30
- package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +15 -3
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.mjs +2 -2
- package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input.mjs +43 -9
- package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +12 -12
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-radio.mjs +3 -2
- package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-rate.mjs +7 -2
- package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-select.mjs +278 -38
- package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.mjs +5 -4
- package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +46 -15
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tag.mjs +4 -4
- package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.mjs +2 -7
- package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.mjs +3 -2
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-base-form.mjs +10 -2
- package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-button.mjs +8 -3
- package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-cascade.mjs +3 -2
- package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-checkbox.mjs +5 -3
- package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color-picker.mjs +5 -4
- package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +3 -2
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dialog.mjs +7 -3
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-find.mjs +4 -2
- package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-form.mjs +64 -30
- package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +15 -3
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input-number.mjs +2 -2
- package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input.mjs +43 -9
- package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +12 -12
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-radio.mjs +3 -2
- package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-rate.mjs +7 -2
- package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-select.mjs +275 -38
- package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider-select.mjs +5 -4
- package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +42 -12
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tag.mjs +4 -4
- package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-textarea.mjs +2 -7
- package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-picker.mjs +3 -2
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
- package/find/find.component.d.ts +1 -1
- package/form/control.component.d.ts +6 -3
- package/form/examples/en_US/default/form-vaild/README.md +8 -0
- package/form/examples/zh_CN/default/form-vaild/README.md +8 -0
- package/form/form.component.d.ts +3 -1
- package/form/form.module.d.ts +2 -1
- package/form/form.property.d.ts +7 -2
- package/i18n/i18n.property.d.ts +6 -0
- package/i18n/languages/en_US.d.ts +4 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +4 -0
- package/input/input.component.d.ts +3 -0
- package/input/input.property.d.ts +26 -1
- package/input-number/input-number.component.d.ts +1 -1
- package/package.json +1 -1
- package/rate/rate.component.d.ts +1 -0
- package/select/select.component.d.ts +25 -5
- package/select/select.module.d.ts +4 -2
- package/select/select.property.d.ts +13 -2
- package/slider-select/slider-select.component.d.ts +1 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/examples/en_US/default/head/README.md +6 -0
- package/table/examples/zh_CN/default/head/README.md +6 -0
- package/table/table.component.d.ts +5 -2
- package/table/table.property.d.ts +17 -2
- package/tag/tag.component.d.ts +1 -1
- package/tag/tag.property.d.ts +1 -1
- package/time-picker/time-picker.component.d.ts +1 -1
|
@@ -84,6 +84,9 @@ class XRateComponent extends XRateProperty {
|
|
|
84
84
|
}
|
|
85
85
|
return color;
|
|
86
86
|
}
|
|
87
|
+
get requiredIsEmpty() {
|
|
88
|
+
return this.validator && this.required && (XIsEmpty(this.value) || this.value === 0);
|
|
89
|
+
}
|
|
87
90
|
writeValue(value) {
|
|
88
91
|
if (XIsEmpty(value))
|
|
89
92
|
value = 0;
|
|
@@ -123,6 +126,7 @@ class XRateComponent extends XRateProperty {
|
|
|
123
126
|
rateClick(rate, _event) {
|
|
124
127
|
if (this.disabled)
|
|
125
128
|
return;
|
|
129
|
+
this.formControlValidator();
|
|
126
130
|
this.value = this.value === rate ? 0 : rate;
|
|
127
131
|
if (this.onChange)
|
|
128
132
|
this.onChange(this.value);
|
|
@@ -130,6 +134,7 @@ class XRateComponent extends XRateProperty {
|
|
|
130
134
|
rateHalfHover(rate, _event) {
|
|
131
135
|
if (this.disabled)
|
|
132
136
|
return;
|
|
137
|
+
this.formControlValidator();
|
|
133
138
|
this.hoverActivated = rate - 1;
|
|
134
139
|
this.hoverHalfActivated = rate;
|
|
135
140
|
this.cdr.detectChanges();
|
|
@@ -150,10 +155,10 @@ class XRateComponent extends XRateProperty {
|
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
157
|
/** @nocollapse */ XRateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XRateComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
-
/** @nocollapse */ XRateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XRateComponent, selector: "x-rate", providers: [XValueAccessor(XRateComponent)], viewQueries: [{ propertyName: "rate", first: true, predicate: ["rate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n", styles: [".x-rate{margin:0;padding:0;width:100%}.x-rate.x-flex{display:flex}.x-rate.x-justify-start{justify-content:flex-start}.x-rate.x-justify-center{justify-content:center}.x-rate.x-justify-end{justify-content:flex-end}.x-rate.x-justify-space-between{justify-content:space-between}.x-rate.x-justify-space-around{justify-content:space-around}.x-rate.x-align-start{align-items:flex-start}.x-rate.x-align-center{align-items:center}.x-rate.x-align-end{align-items:flex-end}.x-rate.x-direction-column{flex-direction:column}.x-rate.x-direction-column-reverse{flex-direction:column-reverse}.x-rate.x-direction-row{flex-direction:row}.x-rate.x-direction-row-reverse{flex-direction:row-reverse}.x-rate>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-rate>label.x-text-align-start{text-align:start}.x-rate>label.x-text-align-center{text-align:center}.x-rate>label.x-text-align-end{text-align:end}.x-rate-icons{display:inline-flex;align-items:center;height:calc(var(--x-font-size) + .875rem);cursor:pointer}.x-rate-icon{margin:0 .2rem;display:flex;align-items:center;position:relative;color:var(--x-info);transition:transform var(--x-animation-duration-base),color var(--x-animation-duration-base);font-size:calc(var(--x-font-size-big) + .125rem)}.x-rate-icon .x-icon{vertical-align:0}.x-rate-icon:hover{transform:scale(1.1)}.x-rate-icon.activated,.x-rate-icon.half-activated .x-rate-half{color:var(--x-warning)}.x-rate-half{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;display:flex;align-items:center}.x-rate-half:hover{opacity:1}.x-rate-back{display:flex;align-items:center}.x-rate.x-invalid>label,.x-rate.x-required>label{color:var(--x-danger)}.x-rate.x-disabled .x-rate-icons{cursor:not-allowed;opacity:.8}.x-rate.x-direction-row>label{padding:0 .5rem 0 0}.x-rate.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-rate.x-direction-column,.x-rate.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
158
|
+
/** @nocollapse */ XRateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XRateComponent, selector: "x-rate", providers: [XValueAccessor(XRateComponent)], viewQueries: [{ propertyName: "rate", first: true, predicate: ["rate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-rate-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n", styles: [".x-rate{margin:0;padding:0;width:100%}.x-rate.x-flex{display:flex}.x-rate.x-justify-start{justify-content:flex-start}.x-rate.x-justify-center{justify-content:center}.x-rate.x-justify-end{justify-content:flex-end}.x-rate.x-justify-space-between{justify-content:space-between}.x-rate.x-justify-space-around{justify-content:space-around}.x-rate.x-align-start{align-items:flex-start}.x-rate.x-align-center{align-items:center}.x-rate.x-align-end{align-items:flex-end}.x-rate.x-direction-column{flex-direction:column}.x-rate.x-direction-column-reverse{flex-direction:column-reverse}.x-rate.x-direction-row{flex-direction:row}.x-rate.x-direction-row-reverse{flex-direction:row-reverse}.x-rate>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-rate>label.x-text-align-start{text-align:start}.x-rate>label.x-text-align-center{text-align:center}.x-rate>label.x-text-align-end{text-align:end}.x-rate-icons{display:inline-flex;align-items:center;height:calc(var(--x-font-size) + .875rem);cursor:pointer}.x-rate-icon{margin:0 .2rem;display:flex;align-items:center;position:relative;color:var(--x-info);transition:transform var(--x-animation-duration-base),color var(--x-animation-duration-base);font-size:calc(var(--x-font-size-big) + .125rem)}.x-rate-icon .x-icon{vertical-align:0}.x-rate-icon:hover{transform:scale(1.1)}.x-rate-icon.activated,.x-rate-icon.half-activated .x-rate-half{color:var(--x-warning)}.x-rate-half{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;display:flex;align-items:center}.x-rate-half:hover{opacity:1}.x-rate-back{display:flex;align-items:center}.x-rate-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-rate.x-invalid>label,.x-rate.x-required>label{color:var(--x-danger)}.x-rate.x-disabled .x-rate-icons{cursor:not-allowed;opacity:.8}.x-rate.x-direction-row>label{padding:0 .5rem 0 0}.x-rate.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-rate.x-direction-column,.x-rate.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
154
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XRateComponent, decorators: [{
|
|
155
160
|
type: Component,
|
|
156
|
-
args: [{ selector: `${XRatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRateComponent)], template: "<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n", styles: [".x-rate{margin:0;padding:0;width:100%}.x-rate.x-flex{display:flex}.x-rate.x-justify-start{justify-content:flex-start}.x-rate.x-justify-center{justify-content:center}.x-rate.x-justify-end{justify-content:flex-end}.x-rate.x-justify-space-between{justify-content:space-between}.x-rate.x-justify-space-around{justify-content:space-around}.x-rate.x-align-start{align-items:flex-start}.x-rate.x-align-center{align-items:center}.x-rate.x-align-end{align-items:flex-end}.x-rate.x-direction-column{flex-direction:column}.x-rate.x-direction-column-reverse{flex-direction:column-reverse}.x-rate.x-direction-row{flex-direction:row}.x-rate.x-direction-row-reverse{flex-direction:row-reverse}.x-rate>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-rate>label.x-text-align-start{text-align:start}.x-rate>label.x-text-align-center{text-align:center}.x-rate>label.x-text-align-end{text-align:end}.x-rate-icons{display:inline-flex;align-items:center;height:calc(var(--x-font-size) + .875rem);cursor:pointer}.x-rate-icon{margin:0 .2rem;display:flex;align-items:center;position:relative;color:var(--x-info);transition:transform var(--x-animation-duration-base),color var(--x-animation-duration-base);font-size:calc(var(--x-font-size-big) + .125rem)}.x-rate-icon .x-icon{vertical-align:0}.x-rate-icon:hover{transform:scale(1.1)}.x-rate-icon.activated,.x-rate-icon.half-activated .x-rate-half{color:var(--x-warning)}.x-rate-half{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;display:flex;align-items:center}.x-rate-half:hover{opacity:1}.x-rate-back{display:flex;align-items:center}.x-rate.x-invalid>label,.x-rate.x-required>label{color:var(--x-danger)}.x-rate.x-disabled .x-rate-icons{cursor:not-allowed;opacity:.8}.x-rate.x-direction-row>label{padding:0 .5rem 0 0}.x-rate.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-rate.x-direction-column,.x-rate.x-direction-column-reverse{align-items:inherit}\n"] }]
|
|
161
|
+
args: [{ selector: `${XRatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRateComponent)], template: "<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-rate-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n", styles: [".x-rate{margin:0;padding:0;width:100%}.x-rate.x-flex{display:flex}.x-rate.x-justify-start{justify-content:flex-start}.x-rate.x-justify-center{justify-content:center}.x-rate.x-justify-end{justify-content:flex-end}.x-rate.x-justify-space-between{justify-content:space-between}.x-rate.x-justify-space-around{justify-content:space-around}.x-rate.x-align-start{align-items:flex-start}.x-rate.x-align-center{align-items:center}.x-rate.x-align-end{align-items:flex-end}.x-rate.x-direction-column{flex-direction:column}.x-rate.x-direction-column-reverse{flex-direction:column-reverse}.x-rate.x-direction-row{flex-direction:row}.x-rate.x-direction-row-reverse{flex-direction:row-reverse}.x-rate>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-rate>label.x-text-align-start{text-align:start}.x-rate>label.x-text-align-center{text-align:center}.x-rate>label.x-text-align-end{text-align:end}.x-rate-icons{display:inline-flex;align-items:center;height:calc(var(--x-font-size) + .875rem);cursor:pointer}.x-rate-icon{margin:0 .2rem;display:flex;align-items:center;position:relative;color:var(--x-info);transition:transform var(--x-animation-duration-base),color var(--x-animation-duration-base);font-size:calc(var(--x-font-size-big) + .125rem)}.x-rate-icon .x-icon{vertical-align:0}.x-rate-icon:hover{transform:scale(1.1)}.x-rate-icon.activated,.x-rate-icon.half-activated .x-rate-half{color:var(--x-warning)}.x-rate-half{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;display:flex;align-items:center}.x-rate-half:hover{opacity:1}.x-rate-back{display:flex;align-items:center}.x-rate-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-rate.x-invalid>label,.x-rate.x-required>label{color:var(--x-danger)}.x-rate.x-disabled .x-rate-icons{cursor:not-allowed;opacity:.8}.x-rate.x-direction-row>label{padding:0 .5rem 0 0}.x-rate.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-rate.x-direction-column,.x-rate.x-direction-column-reverse{align-items:inherit}\n"] }]
|
|
157
162
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { rate: [{
|
|
158
163
|
type: ViewChild,
|
|
159
164
|
args: ['rate', { static: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-rate.mjs","sources":["../../../../lib/ng-nest/ui/rate/rate.property.ts","../../../../lib/ng-nest/ui/rate/rate.component.ts","../../../../lib/ng-nest/ui/rate/rate.component.html","../../../../lib/ng-nest/ui/rate/rate.module.ts","../../../../lib/ng-nest/ui/rate/ng-nest-ui-rate.ts"],"sourcesContent":["import { XInputNumber, XNumber, XInputBoolean, XBoolean, XTemplate, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component, TemplateRef } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Rate\r\n * @selector x-rate\r\n * @decorator component\r\n */\r\nexport const XRatePrefix = 'x-rate';\r\nconst X_CONFIG_NAME = 'rate';\r\n\r\n/**\r\n * Rate Property\r\n */\r\n@Component({ template: '' })\r\nexport class XRateProperty extends XControlValueAccessor<any> implements XRateOption {\r\n /**\r\n * @zh_CN 评分个数\r\n * @en_US Number of ratings\r\n */\r\n @Input() @XInputNumber() count: XNumber = 5;\r\n /**\r\n * @zh_CN 半星模式\r\n * @en_US Number of ratings\r\n */\r\n @Input() @XInputBoolean() half?: XBoolean;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n @Input() @XWithConfig<XRateColor>(X_CONFIG_NAME) color?: XRateColor;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() customTemp!: TemplateRef<any>;\r\n}\r\n\r\n/**\r\n * @zh_CN 颜色类型\r\n * @en_US Color type\r\n */\r\nexport type XRateColor = string | { [color: string]: (rate: number) => boolean };\r\n\r\n/**\r\n * Rate Option\r\n * @undocument true\r\n */\r\nexport interface XRateOption extends XFormOption {\r\n /**\r\n * @zh_CN 评分个数\r\n * @en_US Number of ratings\r\n */\r\n count?: XNumber;\r\n /**\r\n * @zh_CN 半星模式\r\n * @en_US Number of ratings\r\n */\r\n half?: XBoolean;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n customTemp?: XTemplate;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { XIsEmpty, XClearClass, XConfigService, XIsString, XIsObject } from '@ng-nest/ui/core';\r\nimport { XRatePrefix, XRateProperty } from './rate.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XRatePrefix}`,\r\n templateUrl: './rate.component.html',\r\n styleUrls: ['./rate.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XRateComponent)]\r\n})\r\nexport class XRateComponent extends XRateProperty {\r\n @ViewChild('rate', { static: true }) rate!: ElementRef;\r\n rates: number[] = [];\r\n\r\n hoverActivated = 0;\r\n hoverHalfActivated = 0;\r\n\r\n get getColor() {\r\n let color = '';\r\n if (XIsString(this.color)) {\r\n color = this.color as string;\r\n } else if (XIsObject(this.color)) {\r\n this.color = this.color as { [color: string]: (rate: number) => boolean };\r\n let val = this.half ? (Math.floor(this.hoverActivated) + this.hoverHalfActivated) * 0.5 : this.hoverActivated;\r\n for (let key in this.color) {\r\n if (this.color[key](val)) {\r\n color = key;\r\n break;\r\n }\r\n }\r\n }\r\n return color;\r\n }\r\n\r\n override writeValue(value: any) {\r\n if (XIsEmpty(value)) value = 0;\r\n this.value = value;\r\n this.hoverActivated = value;\r\n this.hoverHalfActivated = Math.ceil(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateNodes: any = [];\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setRates();\r\n this.setFlex(this.rate.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setRates() {\r\n this.rates = Array(this.count)\r\n .fill(0)\r\n .map((_, i) => i + 1);\r\n }\r\n\r\n rateHover(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.hoverActivated = rate;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n leaveRates() {\r\n if (this.disabled) return;\r\n const activited = this.value;\r\n this.hoverActivated = activited;\r\n this.hoverHalfActivated = Math.ceil(activited);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateClick(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.value = this.value === rate ? 0 : rate;\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n rateHalfHover(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.hoverActivated = rate - 1;\r\n this.hoverHalfActivated = rate;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateHalfClick(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.value = rate - 0.5;\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n trackByItem(_index: number, item: number) {\r\n return item;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XRateComponent } from './rate.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XRateProperty } from './rate.property';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XRateComponent, XRateProperty],\r\n exports: [XRateComponent],\r\n imports: [CommonModule, FormsModule, XButtonModule, XIconModule, XBaseFormModule]\r\n})\r\nexport class XRateModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-rate.mjs","sources":["../../../../lib/ng-nest/ui/rate/rate.property.ts","../../../../lib/ng-nest/ui/rate/rate.component.ts","../../../../lib/ng-nest/ui/rate/rate.component.html","../../../../lib/ng-nest/ui/rate/rate.module.ts","../../../../lib/ng-nest/ui/rate/ng-nest-ui-rate.ts"],"sourcesContent":["import { XInputNumber, XNumber, XInputBoolean, XBoolean, XTemplate, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component, TemplateRef } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Rate\r\n * @selector x-rate\r\n * @decorator component\r\n */\r\nexport const XRatePrefix = 'x-rate';\r\nconst X_CONFIG_NAME = 'rate';\r\n\r\n/**\r\n * Rate Property\r\n */\r\n@Component({ template: '' })\r\nexport class XRateProperty extends XControlValueAccessor<any> implements XRateOption {\r\n /**\r\n * @zh_CN 评分个数\r\n * @en_US Number of ratings\r\n */\r\n @Input() @XInputNumber() count: XNumber = 5;\r\n /**\r\n * @zh_CN 半星模式\r\n * @en_US Number of ratings\r\n */\r\n @Input() @XInputBoolean() half?: XBoolean;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n @Input() @XWithConfig<XRateColor>(X_CONFIG_NAME) color?: XRateColor;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() customTemp!: TemplateRef<any>;\r\n}\r\n\r\n/**\r\n * @zh_CN 颜色类型\r\n * @en_US Color type\r\n */\r\nexport type XRateColor = string | { [color: string]: (rate: number) => boolean };\r\n\r\n/**\r\n * Rate Option\r\n * @undocument true\r\n */\r\nexport interface XRateOption extends XFormOption {\r\n /**\r\n * @zh_CN 评分个数\r\n * @en_US Number of ratings\r\n */\r\n count?: XNumber;\r\n /**\r\n * @zh_CN 半星模式\r\n * @en_US Number of ratings\r\n */\r\n half?: XBoolean;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n customTemp?: XTemplate;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { XIsEmpty, XClearClass, XConfigService, XIsString, XIsObject } from '@ng-nest/ui/core';\r\nimport { XRatePrefix, XRateProperty } from './rate.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XRatePrefix}`,\r\n templateUrl: './rate.component.html',\r\n styleUrls: ['./rate.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XRateComponent)]\r\n})\r\nexport class XRateComponent extends XRateProperty {\r\n @ViewChild('rate', { static: true }) rate!: ElementRef;\r\n rates: number[] = [];\r\n\r\n hoverActivated = 0;\r\n hoverHalfActivated = 0;\r\n\r\n get getColor() {\r\n let color = '';\r\n if (XIsString(this.color)) {\r\n color = this.color as string;\r\n } else if (XIsObject(this.color)) {\r\n this.color = this.color as { [color: string]: (rate: number) => boolean };\r\n let val = this.half ? (Math.floor(this.hoverActivated) + this.hoverHalfActivated) * 0.5 : this.hoverActivated;\r\n for (let key in this.color) {\r\n if (this.color[key](val)) {\r\n color = key;\r\n break;\r\n }\r\n }\r\n }\r\n return color;\r\n }\r\n\r\n override get requiredIsEmpty() {\r\n return this.validator && this.required && (XIsEmpty(this.value) || this.value === 0);\r\n }\r\n\r\n override writeValue(value: any) {\r\n if (XIsEmpty(value)) value = 0;\r\n this.value = value;\r\n this.hoverActivated = value;\r\n this.hoverHalfActivated = Math.ceil(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateNodes: any = [];\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setRates();\r\n this.setFlex(this.rate.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setRates() {\r\n this.rates = Array(this.count)\r\n .fill(0)\r\n .map((_, i) => i + 1);\r\n }\r\n\r\n rateHover(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.hoverActivated = rate;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n leaveRates() {\r\n if (this.disabled) return;\r\n const activited = this.value;\r\n this.hoverActivated = activited;\r\n this.hoverHalfActivated = Math.ceil(activited);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateClick(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.formControlValidator();\r\n this.value = this.value === rate ? 0 : rate;\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n rateHalfHover(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.formControlValidator();\r\n this.hoverActivated = rate - 1;\r\n this.hoverHalfActivated = rate;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n rateHalfClick(rate: number, _event: MouseEvent) {\r\n if (this.disabled) return;\r\n this.value = rate - 0.5;\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n trackByItem(_index: number, item: number) {\r\n return item;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #rate\r\n class=\"x-rate\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-rate-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-rate-icons\" (mouseleave)=\"leaveRates()\">\r\n <div\r\n class=\"x-rate-icon\"\r\n [class.activated]=\"rate <= hoverActivated\"\r\n [class.half-activated]=\"rate <= hoverHalfActivated\"\r\n [style.color]=\"rate <= hoverActivated ? getColor : ''\"\r\n *ngFor=\"let rate of rates; index as i; trackBy: trackByItem\"\r\n >\r\n <div\r\n *ngIf=\"half\"\r\n class=\"x-rate-half\"\r\n [style.color]=\"rate <= hoverHalfActivated ? getColor : ''\"\r\n (mouseenter)=\"rateHalfHover(rate, $event)\"\r\n (click)=\"rateHalfClick(rate, $event)\"\r\n >\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-rate-back\" (mouseenter)=\"rateHover(rate, $event)\" (click)=\"rateClick(rate, $event)\">\r\n <ng-container *ngIf=\"customTemp; else iconTpl\">\r\n <ng-container *ngTemplateOutlet=\"customTemp\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTpl>\r\n <x-icon type=\"adf-star\"></x-icon>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XRateComponent } from './rate.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XRateProperty } from './rate.property';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XRateComponent, XRateProperty],\r\n exports: [XRateComponent],\r\n imports: [CommonModule, FormsModule, XButtonModule, XIconModule, XBaseFormModule]\r\n})\r\nexport class XRateModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|