@wavemaker/app-ng-runtime 11.8.0-next.141688 → 11.8.0-next.141689
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/build-task/bundles/index.umd.js +4 -4
- package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +3 -3
- package/build-task/esm2022/containers/repeat-template.build.mjs +3 -3
- package/build-task/fesm2022/index.mjs +4 -4
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/bundles/index.umd.js +3 -2
- package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +4 -3
- package/components/advanced/carousel/fesm2022/index.mjs +3 -2
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +45 -32
- package/components/base/directives/show-in-device.directive.d.ts +3 -6
- package/components/base/esm2022/directives/show-in-device.directive.mjs +12 -14
- package/components/base/esm2022/public_api.mjs +2 -1
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +5 -7
- package/components/base/esm2022/widgets/common/base/base.component.mjs +22 -15
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +13 -6
- package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +4 -3
- package/components/base/fesm2022/index.mjs +45 -33
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -0
- package/components/base/widgets/common/base/base.component.d.ts +18 -1
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -2
- package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +10 -9
- package/components/basic/search/esm2022/search.component.mjs +11 -10
- package/components/basic/search/fesm2022/index.mjs +10 -9
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +1 -1
- package/components/data/form/esm2022/form.component.mjs +2 -2
- package/components/data/form/fesm2022/index.mjs +1 -1
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/list/bundles/index.umd.js +10 -7
- package/components/data/list/esm2022/list-item.directive.mjs +6 -1
- package/components/data/list/esm2022/list.component.mjs +7 -8
- package/components/data/list/fesm2022/index.mjs +11 -8
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +4 -0
- package/components/data/pagination/bundles/index.umd.js +10 -9
- package/components/data/pagination/esm2022/pagination.component.mjs +11 -10
- package/components/data/pagination/fesm2022/index.mjs +10 -9
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +3 -1
- package/components/data/table/esm2022/table.component.mjs +4 -2
- package/components/data/table/fesm2022/index.mjs +3 -1
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/bundles/index.umd.js +2 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +3 -3
- package/components/input/color-picker/fesm2022/index.mjs +2 -2
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/default/bundles/index.umd.js +37 -32
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +6 -5
- package/components/input/default/esm2022/select/select.component.mjs +6 -5
- package/components/input/default/esm2022/text/base/base-input.mjs +3 -2
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -4
- package/components/input/default/esm2022/text/color/input-color.component.mjs +5 -4
- package/components/input/default/fesm2022/index.mjs +37 -32
- package/components/input/default/fesm2022/index.mjs.map +1 -1
- package/components/input/default/text/base/base-input.d.ts +1 -0
- package/components/input/epoch/bundles/index.umd.js +13 -11
- package/components/input/epoch/esm2022/date/date.component.mjs +2 -2
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +6 -5
- package/components/input/epoch/esm2022/time/time.component.mjs +6 -5
- package/components/input/epoch/fesm2022/index.mjs +13 -11
- package/components/input/epoch/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/bundles/index.umd.js +12 -10
- package/components/input/rating/esm2022/rating.component.mjs +13 -11
- package/components/input/rating/fesm2022/index.mjs +12 -10
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/bundles/index.umd.js +4 -3
- package/components/input/slider/esm2022/slider.component.mjs +5 -4
- package/components/input/slider/fesm2022/index.mjs +4 -3
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/bundles/index.umd.js +10 -12
- package/components/navigation/menu/esm2022/menu.module.mjs +3 -2
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +8 -12
- package/components/navigation/menu/fesm2022/index.mjs +11 -13
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
- package/components/navigation/menu/nav/nav.component.d.ts +1 -2
- package/core/bundles/index.umd.js +23 -0
- package/core/esm2022/public_api.mjs +2 -1
- package/core/esm2022/services/custom-icons-loader.service.mjs +26 -0
- package/core/fesm2022/index.mjs +25 -3
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/public_api.d.ts +1 -0
- package/core/services/custom-icons-loader.service.d.ts +7 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +19 -8
- package/runtime/base/components/app-component/app.component.d.ts +3 -1
- package/runtime/base/directives/accessroles.directive.d.ts +4 -3
- package/runtime/base/esm2022/components/app-component/app.component.mjs +9 -5
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +14 -7
- package/runtime/base/esm2022/services/i18n.service.mjs +2 -2
- package/runtime/base/fesm2022/index.mjs +20 -9
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +1 -1
|
@@ -53,10 +53,11 @@
|
|
|
53
53
|
|
|
54
54
|
const _c0 = ["ratingInput"];
|
|
55
55
|
const _c1 = ["wmRating", ""];
|
|
56
|
-
const _c2 =
|
|
57
|
-
const _c3 =
|
|
58
|
-
const _c4 = a0 => ({
|
|
59
|
-
const _c5 =
|
|
56
|
+
const _c2 = () => ({ standalone: true });
|
|
57
|
+
const _c3 = a0 => ({ "font-size": a0 });
|
|
58
|
+
const _c4 = (a0, a1) => ({ width: a0, color: a1 });
|
|
59
|
+
const _c5 = a0 => ({ active: a0 });
|
|
60
|
+
const _c6 = (a0, a1) => ({ "font-size": a0, color: a1 });
|
|
60
61
|
function RatingComponent_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
61
62
|
const _r1 = i0__namespace.ɵɵgetCurrentView();
|
|
62
63
|
i0__namespace.ɵɵelementStart(0, "label", 8);
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
} if (rf & 2) {
|
|
68
69
|
const rate_r3 = ctx.$implicit;
|
|
69
70
|
const ctx_r1 = i0__namespace.ɵɵnextContext(2);
|
|
70
|
-
i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8,
|
|
71
|
+
i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c5, rate_r3.index <= ctx_r1.selectedRatingValue))("ngStyle", i0__namespace.ɵɵpureFunction2(10, _c6, ctx_r1.iconsize, rate_r3.index <= ctx_r1.selectedRatingValue && ctx_r1.iconcolor))("title", rate_r3.label || rate_r3.index)("for", ctx_r1._id + "-" + rate_r3.index);
|
|
71
72
|
i0__namespace.ɵɵadvance();
|
|
72
73
|
i0__namespace.ɵɵproperty("id", ctx_r1._id + "-" + rate_r3.index)("value", rate_r3.key || rate_r3.index);
|
|
73
74
|
i0__namespace.ɵɵattribute("aria-label", (rate_r3.label || rate_r3.index) + " out of " + ctx_r1.ratingItems.length + " ratings")("aria-checked", rate_r3.label === ctx_r1.datavalue ? "true" : "false");
|
|
@@ -269,10 +270,10 @@
|
|
|
269
270
|
} }, features: [i0__namespace.ɵɵProvidersFeature([
|
|
270
271
|
i3.provideAs(RatingComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
271
272
|
i3.provideAsWidgetRef(RatingComponent)
|
|
272
|
-
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars:
|
|
273
|
+
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars: 14, consts: [["ratingInput", ""], ["aria-multiselectable", "true", "ngDefaultControl", "", 1, "ratings-wrapper", 3, "focus", "ngModelChange", "ngModel", "ngModelOptions"], ["class", "rating-style", 4, "ngIf"], [1, "ratings-container", "disabled", 3, "ngStyle"], [1, "ratings", "active", 3, "ngStyle"], ["class", "caption", 3, "textContent", 4, "ngIf"], [1, "rating-style"], [3, "ngClass", "ngStyle", "title", "for", "touchstart", "mouseleave", "mouseover", 4, "ngFor", "ngForOf"], [3, "touchstart", "mouseleave", "mouseover", "ngClass", "ngStyle", "title", "for"], ["type", "radio", "role", "radio", "name", "ratings-id", 3, "click", "id", "value"], [1, "caption", 3, "textContent"]], template: function RatingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
273
274
|
i0__namespace.ɵɵelementStart(0, "div", 1);
|
|
274
|
-
i0__namespace.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0__namespace.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
275
275
|
i0__namespace.ɵɵlistener("focus", function RatingComponent_Template_div_focus_0_listener($event) { return ctx.onFocus($event); });
|
|
276
|
+
i0__namespace.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0__namespace.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
276
277
|
i0__namespace.ɵɵtemplate(1, RatingComponent_div_1_Template, 2, 1, "div", 2);
|
|
277
278
|
i0__namespace.ɵɵelementStart(2, "div", 3);
|
|
278
279
|
i0__namespace.ɵɵelement(3, "div", 4);
|
|
@@ -281,13 +282,14 @@
|
|
|
281
282
|
i0__namespace.ɵɵelementEnd();
|
|
282
283
|
} if (rf & 2) {
|
|
283
284
|
i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
|
|
285
|
+
i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(8, _c2));
|
|
284
286
|
i0__namespace.ɵɵadvance();
|
|
285
287
|
i0__namespace.ɵɵproperty("ngIf", !ctx.readonly);
|
|
286
288
|
i0__namespace.ɵɵadvance();
|
|
287
289
|
i0__namespace.ɵɵclassProp("hidden", !ctx.readonly);
|
|
288
|
-
i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction1(
|
|
290
|
+
i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction1(9, _c3, ctx.iconsize));
|
|
289
291
|
i0__namespace.ɵɵadvance();
|
|
290
|
-
i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction2(
|
|
292
|
+
i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction2(11, _c4, ctx.ratingsWidth, ctx.iconcolor));
|
|
291
293
|
i0__namespace.ɵɵadvance();
|
|
292
294
|
i0__namespace.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
293
295
|
} }, dependencies: [i1__namespace.NgClass, i1__namespace.NgForOf, i1__namespace.NgIf, i1__namespace.NgStyle, i2__namespace.DefaultValueAccessor, i2__namespace.NgControlStatus, i2__namespace.NgModel, i3__namespace.TextContentDirective], encapsulation: 2 }); }
|
|
@@ -297,7 +299,7 @@
|
|
|
297
299
|
args: [{ selector: '[wmRating]', providers: [
|
|
298
300
|
i3.provideAs(RatingComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
299
301
|
i3.provideAsWidgetRef(RatingComponent)
|
|
300
|
-
], template: "<div
|
|
302
|
+
], template: "<div (focus)=\"onFocus($event)\" [(ngModel)]=\"modelByKey\" [ngModelOptions]=\"{standalone: true}\" aria-multiselectable=\"true\"\n class=\"ratings-wrapper\" ngDefaultControl>\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
301
303
|
}], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
|
|
302
304
|
type: i0.Inject,
|
|
303
305
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -11,10 +11,11 @@ import * as i2 from "@angular/forms";
|
|
|
11
11
|
import * as i3 from "@wm/components/base";
|
|
12
12
|
const _c0 = ["ratingInput"];
|
|
13
13
|
const _c1 = ["wmRating", ""];
|
|
14
|
-
const _c2 =
|
|
15
|
-
const _c3 =
|
|
16
|
-
const _c4 = a0 => ({
|
|
17
|
-
const _c5 =
|
|
14
|
+
const _c2 = () => ({ standalone: true });
|
|
15
|
+
const _c3 = a0 => ({ "font-size": a0 });
|
|
16
|
+
const _c4 = (a0, a1) => ({ width: a0, color: a1 });
|
|
17
|
+
const _c5 = a0 => ({ active: a0 });
|
|
18
|
+
const _c6 = (a0, a1) => ({ "font-size": a0, color: a1 });
|
|
18
19
|
function RatingComponent_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
20
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
20
21
|
i0.ɵɵelementStart(0, "label", 8);
|
|
@@ -25,7 +26,7 @@ function RatingComponent_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
25
26
|
} if (rf & 2) {
|
|
26
27
|
const rate_r3 = ctx.$implicit;
|
|
27
28
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
28
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8,
|
|
29
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c5, rate_r3.index <= ctx_r1.selectedRatingValue))("ngStyle", i0.ɵɵpureFunction2(10, _c6, ctx_r1.iconsize, rate_r3.index <= ctx_r1.selectedRatingValue && ctx_r1.iconcolor))("title", rate_r3.label || rate_r3.index)("for", ctx_r1._id + "-" + rate_r3.index);
|
|
29
30
|
i0.ɵɵadvance();
|
|
30
31
|
i0.ɵɵproperty("id", ctx_r1._id + "-" + rate_r3.index)("value", rate_r3.key || rate_r3.index);
|
|
31
32
|
i0.ɵɵattribute("aria-label", (rate_r3.label || rate_r3.index) + " out of " + ctx_r1.ratingItems.length + " ratings")("aria-checked", rate_r3.label === ctx_r1.datavalue ? "true" : "false");
|
|
@@ -227,10 +228,10 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
227
228
|
} }, features: [i0.ɵɵProvidersFeature([
|
|
228
229
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
229
230
|
provideAsWidgetRef(RatingComponent)
|
|
230
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars:
|
|
231
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars: 14, consts: [["ratingInput", ""], ["aria-multiselectable", "true", "ngDefaultControl", "", 1, "ratings-wrapper", 3, "focus", "ngModelChange", "ngModel", "ngModelOptions"], ["class", "rating-style", 4, "ngIf"], [1, "ratings-container", "disabled", 3, "ngStyle"], [1, "ratings", "active", 3, "ngStyle"], ["class", "caption", 3, "textContent", 4, "ngIf"], [1, "rating-style"], [3, "ngClass", "ngStyle", "title", "for", "touchstart", "mouseleave", "mouseover", 4, "ngFor", "ngForOf"], [3, "touchstart", "mouseleave", "mouseover", "ngClass", "ngStyle", "title", "for"], ["type", "radio", "role", "radio", "name", "ratings-id", 3, "click", "id", "value"], [1, "caption", 3, "textContent"]], template: function RatingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
231
232
|
i0.ɵɵelementStart(0, "div", 1);
|
|
232
|
-
i0.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
233
233
|
i0.ɵɵlistener("focus", function RatingComponent_Template_div_focus_0_listener($event) { return ctx.onFocus($event); });
|
|
234
|
+
i0.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
234
235
|
i0.ɵɵtemplate(1, RatingComponent_div_1_Template, 2, 1, "div", 2);
|
|
235
236
|
i0.ɵɵelementStart(2, "div", 3);
|
|
236
237
|
i0.ɵɵelement(3, "div", 4);
|
|
@@ -239,13 +240,14 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
239
240
|
i0.ɵɵelementEnd();
|
|
240
241
|
} if (rf & 2) {
|
|
241
242
|
i0.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
|
|
243
|
+
i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(8, _c2));
|
|
242
244
|
i0.ɵɵadvance();
|
|
243
245
|
i0.ɵɵproperty("ngIf", !ctx.readonly);
|
|
244
246
|
i0.ɵɵadvance();
|
|
245
247
|
i0.ɵɵclassProp("hidden", !ctx.readonly);
|
|
246
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(
|
|
248
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c3, ctx.iconsize));
|
|
247
249
|
i0.ɵɵadvance();
|
|
248
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(
|
|
250
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(11, _c4, ctx.ratingsWidth, ctx.iconcolor));
|
|
249
251
|
i0.ɵɵadvance();
|
|
250
252
|
i0.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
251
253
|
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextContentDirective], encapsulation: 2 }); }
|
|
@@ -255,7 +257,7 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
255
257
|
args: [{ selector: '[wmRating]', providers: [
|
|
256
258
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
257
259
|
provideAsWidgetRef(RatingComponent)
|
|
258
|
-
], template: "<div
|
|
260
|
+
], template: "<div (focus)=\"onFocus($event)\" [(ngModel)]=\"modelByKey\" [ngModelOptions]=\"{standalone: true}\" aria-multiselectable=\"true\"\n class=\"ratings-wrapper\" ngDefaultControl>\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
259
261
|
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
260
262
|
type: Inject,
|
|
261
263
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -266,4 +268,4 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
266
268
|
args: ['ratingInput', /* TODO: add static flag */ { read: ElementRef }]
|
|
267
269
|
}] }); })();
|
|
268
270
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RatingComponent, { className: "RatingComponent", filePath: "rating.component.ts", lineNumber: 25 }); })();
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9yYXRpbmcvc3JjL3JhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvcmF0aW5nL3NyYy9yYXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ045RCxnQ0FPc0M7SUFEL0IsQUFEQSxBQURBLG1NQUFjLDJCQUFvQixLQUFDLGdOQUNyQixvQ0FBMEIsS0FBQyw4TUFDNUIsbUNBQXlCLEtBQUM7SUFFMUMsbUNBQytIO0lBQTFGLG1OQUFTLHFDQUEyQixLQUFDO0lBQzlFLEFBRkksaUJBQytILEVBQzNIOzs7O0lBSEQsQUFKQSxBQURBLEFBREEsaUdBQXdELDBIQUNrQyx5Q0FD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O1lBQTFCLHVDQUEwQjtZQUFDLGtFQUFtQztZQUNuQyxjQUFtRDtZQUFuRCxxRkFBbUQ7WUFFM0UsY0FBa0I7WUFBbEIsdUNBQWtCOzs7aUZET2pCLGVBQWU7Y0FSM0IsU0FBUzsyQkFDSSxZQUFZLGFBRVg7b0JBQ1AsU0FBUyxrQkFBa0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUNuRCxrQkFBa0IsaUJBQWlCO2lCQUN0Qzs7c0JBNkIyQixNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTtxQkFYWSxRQUFRO2tCQUFuRixTQUFTO21CQUFDLGFBQWEsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O2tGQWhCakUsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge2dlbmVyYXRlR1VJZCwgc2V0Q1NTLCBub29wfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBnZXRPcmRlcmVkRGF0YXNldCwgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0JztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vcmF0aW5nLnByb3BzJztcbmltcG9ydCB7ZmluZCwgaXNFbXB0eSwgaXNVbmRlZmluZWQsIHNsaWNlLCB0b1N0cmluZ30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtcmF0aW5ncyc7XG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS1yYXRpbmcnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuY29uc3QgTUFYX1JBVElORyA9IDEwO1xuY29uc3QgREVGQVVMVF9SQVRJTkcgPSA1O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bVJhdGluZ10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoUmF0aW5nQ29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihSYXRpbmdDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSYXRpbmdDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgc2hvd2NhcHRpb25zOiBib29sZWFuO1xuICAgIHB1YmxpYyBtYXh2YWx1ZTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkUmF0aW5nVmFsdWU7XG4gICAgcHVibGljIHJhdGluZ3NXaWR0aDtcbiAgICBwcml2YXRlIHJhdGluZ0l0ZW1zO1xuICAgIHByaXZhdGUgX2lkO1xuXG4gICAgcHVibGljIGljb25zaXplOiBzdHJpbmc7XG4gICAgcHVibGljIGljb25jb2xvcjogc3RyaW5nO1xuICAgIHB1YmxpYyBvbkZvY3VzOiBhbnk7XG4gICAgcHJpdmF0ZSB0b3VjaEVuYWJsZWQ6Ym9vbGVhbjtcbiAgICBAVmlld0NoaWxkKCdyYXRpbmdJbnB1dCcsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcmF0aW5nRWw6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgc2VsZWN0ZWRSYXRpbmdWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUmF0aW5nVmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkUmF0aW5nVmFsdWUodmFsKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkUmF0aW5nVmFsdWUgPSB2YWw7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUmF0aW5nc1dpZHRoKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgdGhpcy5faWQgPSBnZW5lcmF0ZUdVSWQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG5cbiAgICAgICAgLy8gcHJlcGFyZSB0aGUgcmF0aW5nIG9wdGlvbnMgb24gZGF0YXNldCByZWFkeS5cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVJhdGluZ0RhdGFzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgICAgICAvLyBsaXN0ZW4gdG8gY2hhbmdlcyBpbiBkYXRhdmFsdWUuXG4gICAgICAgIGNvbnN0IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXZhbHVlJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkRhdGF2YWx1ZUNoYW5nZSh0aGlzLmRhdGF2YWx1ZSkpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSAhPT0gJ2NoYW5nZScgJiYgZXZlbnROYW1lICE9PSAnYmx1cicpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KHRoaXMucmF0aW5nRWwubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCBldmVudENhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByYXRpbmcgd2lkZ2V0IGRhdGFzZXQgY29udGFpbmluZyB0aGUgaW5kZXgsIHZhbHVlIGFuZCBsYWJlbFxuICAgIHByaXZhdGUgcHJlcGFyZVJhdGluZ0RhdGFzZXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJhdGluZ0l0ZW1zID0gW107XG4gICAgICAgICAgICB0aGlzLmNhcHRpb24gPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByYXRpbmdJdGVtcyA9IFtdO1xuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZGF0YXNldEl0ZW1zO1xuICAgICAgICBjb25zdCBtYXh2YWx1ZSA9IHBhcnNlSW50KHRoaXMubWF4dmFsdWUgfHwgdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoLCAxMCk7XG4gICAgICAgIGNvbnN0IG1heFZhbHVlID0gKG1heHZhbHVlID4gTUFYX1JBVElORyA/IE1BWF9SQVRJTkcgOiBtYXh2YWx1ZSkgfHwgREVGQVVMVF9SQVRJTkc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIDEuIElmIGRhdGFzZXRJdGVtcy5sZW5ndGggaXMgbW9yZSB0aGFuIG1heFZhbHVlIChpLmUuIDEwIHJhdGluZ3MpIHRoZW4ganVzdCBleHRyYWN0IG1heFZhbHVlIG9mIGl0ZW1zIGZyb20gZGF0YXNldEl0ZW1zLlxuICAgICAgICAgKiAyLiBJZiBkYXRhc2V0SXRlbXMgYXJlIG5vdCBhdmFpbGFibGUgdGhlbiBwcmVwYXJlIHJhdGluZ3MgdmFsdWUgZGVwZW5kaW5nIG9uIG1heHZhbHVlLiBlZzogMSwyLDMgLi4gdXB0byBtYXh2YWx1ZVxuICAgICAgICAgKiAzLiBJZiBtYXh2YWx1ZSAvIGkgdmFsdWUgaXMgbW9yZSB0aGFuIGRhdGFzZXRJdGVtcyBsZW5ndGgsIHByZXBhcmUgZGVmYXVsdCByYXRpbmcgaXRlbXMgZm9yIGkgdmFsdWVzIG1vcmUgdGhhbiBkYXRhc2V0SXRlbXMubGVuZ3RoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZGF0YS5sZW5ndGggJiYgZGF0YS5sZW5ndGggPiBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgZGF0YSA9IHNsaWNlKGRhdGEsIDAsIG1heFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSBtYXhWYWx1ZTsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKCFkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJhdGluZ0l0ZW1zLnB1c2goe2tleTogaSwgdmFsdWU6IGksIGluZGV4OiBpLCBsYWJlbDogaX0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaSA+IGRhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhdGluZ0l0ZW1zLnB1c2goe2tleTogaSwgdmFsdWU6IGksIGluZGV4OiBpLCBsYWJlbDogaX0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBnZXRPcmRlcmVkRGF0YXNldChkYXRhLCAnaW5kZXg6ZGVzYycpO1xuICAgICAgICAgICAgICAgICAgICByYXRpbmdJdGVtcyA9IHJhdGluZ0l0ZW1zLmNvbmNhdChkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yYXRpbmdJdGVtcyA9IHJhdGluZ0l0ZW1zO1xuICAgICAgICBpZiAoIWRhdGEubGVuZ3RoKSB7IC8vIGNvbnN0cnVjdHMgZGVmYXVsdCBkYXRhc2V0SXRlbXMgd2hlbiB0aGVyZSBpcyBubyBkYXRhc2V0IGJpbmRpbmcuXG4gICAgICAgICAgICB0aGlzLmRhdGFzZXRJdGVtcyA9IHJhdGluZ0l0ZW1zO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25EYXRhdmFsdWVDaGFuZ2UodGhpcy5kYXRhdmFsdWUpO1xuICAgIH1cblxuICAgIG9uUmF0aW5nQ2xpY2soJGV2ZW50LCByYXRlKSB7XG4gICAgICAgIHRoaXMubW9kZWxCeUtleSA9IHJhdGUua2V5O1xuICAgICAgICB0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUgPSByYXRlLmluZGV4O1xuXG4gICAgICAgIC8vIHN1cHBvcnQgaWYgdGhlIGNhcHRpb24gaXMgYmluZGVkIGluIHRoZSBvbGQgcHJvamVjdHMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgICAgaWYgKCF0aGlzLnNob3djYXB0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gcmF0ZS5sYWJlbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgc2VsZWN0ZWQgZmxhZyBvbiBkYXRhc2V0SXRlbXMgYW5kIGFzc2lnbiB0aGUgcmF0aW5nVmFsdWUuXG4gICAgLyoqXG4gICAgICogT24gZGF0YXZhbHVlIGNoYW5nZSwgdXBkYXRlIHRoZSBjYXB0aW9uLCBzZWxlY3RlZFJhdGluZ1ZhbHVlLlxuICAgICAqIDEuIGlmIGRhdGFzZXRJdGVtcyBjb250YWluIHRoZSBzZWxlY3RlZCBpdGVtIChjaGVjayB0aGUgc2VsZWN0ZWQgZmxhZyBvbiBpdGVtKSwgZmluZCB0aGUgaW5kZXggb2Ygc2VsZWN0ZWQgaXRlbS5cbiAgICAgKiAyLiBpZiBub3QsIGp1c3QgY2hlY2sgaWYgdGhlIGRhdGF2YWx1ZSBpcyBwcm92aWRlZCBhcyB0aGUgaW5kZXggb24gdGhlIGl0ZW0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YVZhbCBkYXRhdmFsdWVcbiAgICAgKi9cbiAgICBvbkRhdGF2YWx1ZUNoYW5nZShkYXRhVmFsKSB7XG4gICAgICAgIGlmICghaXNFbXB0eSh0aGlzLmRhdGFzZXRJdGVtcykpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZEl0ZW0gPSBmaW5kKHRoaXMuZGF0YXNldEl0ZW1zLCB7J3NlbGVjdGVkJzogdHJ1ZX0pO1xuXG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkSXRlbSAmJiAhaXNVbmRlZmluZWQoZGF0YVZhbCkpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0gPSBmaW5kKHRoaXMuZGF0YXNldEl0ZW1zLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9TdHJpbmcoaXRlbS5pbmRleCkgPT09IGRhdGFWYWw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAvLyByZXNldCB0aGUgIG1vZGVsIGlmIHRoZXJlIGlzIG5vIGl0ZW0gZm91bmQuXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUgPSBzZWxlY3RlZEl0ZW0gPyBzZWxlY3RlZEl0ZW0uaW5kZXggOiAwO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9IHNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gZGF0YXNldCBpcyBub3QgZ2l2ZW4gYnV0IGRhdGF2YWx1ZSBpcyBwcm92aWRlZCB3aGljaCBpcyBpbnRlZ2VyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSAmJiAhaXNOYU4oZGF0YVZhbCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUgPSAocGFyc2VGbG9hdChkYXRhVmFsKSA8PSB0aGlzLm1heHZhbHVlKSA/IGRhdGFWYWwgOiB0aGlzLm1heHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yYXRpbmdzV2lkdGggPSB0aGlzLmNhbGN1bGF0ZVJhdGluZ3NXaWR0aChkYXRhVmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZVJhdGluZ3NXaWR0aChkYXRhVmFsPzogYW55KSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmF0aW5nID0gcGFyc2VGbG9hdCh0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUpLFxuICAgICAgICAgICAgc3RhcldpZHRoID0gMC45MjUsXG4gICAgICAgICAgICBtYXhWYWx1ZSA9IHBhcnNlSW50KHRoaXMubWF4dmFsdWUgfHwgdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoLCAxMCkgfHwgREVGQVVMVF9SQVRJTkc7XG5cbiAgICAgICAgc2V0Q1NTKFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yYXRpbmdzLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICAgIChzdGFyV2lkdGggKiBtYXhWYWx1ZSkgKyAnZW0nXG4gICAgICAgICk7XG4gICAgICAgIGRhdGFWYWwgPSBkYXRhVmFsIHx8IHRoaXMuZGF0YXZhbHVlO1xuICAgICAgICBpZiAoZGF0YVZhbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGFWYWwgPT09ICcnIHx8IGRhdGFWYWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkUmF0aW5nIDw9IG1heFZhbHVlICYmIHNlbGVjdGVkUmF0aW5nID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZFJhdGluZyAqIHN0YXJXaWR0aCArICdlbSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkUmF0aW5nID4gbWF4VmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBtYXhWYWx1ZSAqIHN0YXJXaWR0aCArICdlbSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICBpZiAobnYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhdGluZ3NXaWR0aCA9IHRoaXMuY2FsY3VsYXRlUmF0aW5nc1dpZHRoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnbWF4dmFsdWUnKSB7XG4gICAgICAgICAgICAvKiogU3RvcmluZyB0aGUgZGF0YXZhbHVlIGluIHRlbXAgdmFyaWFibGUgYW5kIGFzc2lnaW5nIGJhY2sgdG8gZGF0YXZhbHVlXG4gICAgICAgICAgICAgKiBhZnRlciBkZWZhdWx0IGRhdGFsaXN0IGlzIHByZXBhcmVkIHRvIHRyaWdnZXIgRGF0YXNldCBBd2FyZSBjbGFzcyBzZWxlY3QgY3ljbGVcbiAgICAgICAgICAgICAqIGFzIHRoZSBkYXRhdmFsdWUgcHJvcGVydHkgY2hhbmdlIGlzIHRyaWdnZXJpbmcgZmlyc3QgcmF0aGVyIHRoYW4gbWF4dmFsdWVcbiAgICAgICAgICAgICAqIGluIHRoZSByYXRpbmcgd2lkZ2V0IGlzIHVzZWQgaW5zaWRlIGEgZGF0YXRhYmxlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGxldCB0ZW1wRGF0YVZhbHVlID0gdGhpcy5kYXRhdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVSYXRpbmdEYXRhc2V0KCk7XG4gICAgICAgICAgICAvLyByZXNldCBhbGwgdGhlIGl0ZW1zLlxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGFzZXRJdGVtcygpO1xuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh0ZW1wRGF0YVZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gdGVtcERhdGFWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGV0ZWN0IHRvdWNoIGVuYWJsZWQgZGV2aWNlcyAmIHVwZGF0ZSBob3ZlciBzdHlsZXMqL1xuICAgIG9uVG91Y2hTdGFydCgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy50b3VjaEVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uVG91Y2hTdGFydCA9IG5vb3A7XG4gICAgfVxuICAgIG9uTW91c2VsZWF2ZSgpIHtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gdGhpcy5kaXNwbGF5VmFsdWUgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIG9uTW91c2VPdmVyKCRldmVudCwgcmF0ZSkge1xuICAgICAgICB0aGlzLmNhcHRpb24gPSByYXRlLmxhYmVsO1xuICAgICAgICAhdGhpcy50b3VjaEVuYWJsZWQgJiYgISRldmVudC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdyYXRpbmctbGFiZWwtaG92ZXInKSAmJiAkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3JhdGluZy1sYWJlbC1ob3ZlcicpO1xuICAgIH1cbn1cbiIsIjxkaXYgWyhuZ01vZGVsKV09XCJtb2RlbEJ5S2V5XCIgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiIG5nRGVmYXVsdENvbnRyb2wgY2xhc3M9XCJyYXRpbmdzLXdyYXBwZXJcIiBhcmlhLW11bHRpc2VsZWN0YWJsZT1cInRydWVcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIXJlYWRvbmx5XCIgY2xhc3M9XCJyYXRpbmctc3R5bGVcIj5cbiAgICAgICAgPGxhYmVsICpuZ0Zvcj1cImxldCByYXRlIG9mIHJhdGluZ0l0ZW1zO1wiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7YWN0aXZlIDogcmF0ZS5pbmRleCA8PSBzZWxlY3RlZFJhdGluZ1ZhbHVlfVwiXG4gICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZScgOmljb25zaXplLCBjb2xvcjogcmF0ZS5pbmRleCA8PSBzZWxlY3RlZFJhdGluZ1ZhbHVlICYmIGljb25jb2xvcn1cIlxuICAgICAgICAgICAgICAgW3RpdGxlXT1cInJhdGUubGFiZWwgfHwgcmF0ZS5pbmRleFwiXG4gICAgICAgICAgICAgICAodG91Y2hzdGFydCk9XCJvblRvdWNoU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCByYXRlKVwiXG4gICAgICAgICAgICAgICAobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKCRldmVudCwgcmF0ZSlcIlxuICAgICAgICAgICAgICAgW2Zvcl09XCJfaWQgKyAnLScgKyByYXRlLmluZGV4XCI+XG4gICAgICAgICAgICA8aW5wdXQgI3JhdGluZ0lucHV0IHR5cGU9XCJyYWRpb1wiIHJvbGU9XCJyYWRpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiKHJhdGUubGFiZWwgfHwgcmF0ZS5pbmRleCkgKyAnIG91dCBvZiAnICsgcmF0aW5nSXRlbXMubGVuZ3RoICsgJyByYXRpbmdzJ1wiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJyYXRlLmxhYmVsID09PSBkYXRhdmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy0nICsgcmF0ZS5pbmRleFwiIChjbGljayk9XCJvblJhdGluZ0NsaWNrKCRldmVudCwgcmF0ZSlcIiBuYW1lPVwicmF0aW5ncy1pZFwiIFt2YWx1ZV09XCJyYXRlLmtleSB8fCByYXRlLmluZGV4XCIvPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW2NsYXNzLmhpZGRlbl09XCIhcmVhZG9ubHlcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZScgOmljb25zaXplfVwiIGNsYXNzPVwicmF0aW5ncy1jb250YWluZXIgZGlzYWJsZWRcIiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyYXRpbmdzIGFjdGl2ZVwiIFtuZ1N0eWxlXT1cInt3aWR0aDogcmF0aW5nc1dpZHRoLCBjb2xvcjogaWNvbmNvbG9yfVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxsYWJlbCAqbmdJZj1cInNob3djYXB0aW9uc1wiIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJjYXB0aW9uXCI+PC9sYWJlbD5cbjwvZGl2PlxuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9yYXRpbmcvc3JjL3JhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvcmF0aW5nL3NyYy9yYXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNMOUQsZ0NBT3NDO0lBRC9CLEFBREEsQUFEQSxtTUFBYywyQkFBb0IsS0FBQyxnTkFDckIsb0NBQTBCLEtBQUMsOE1BQzVCLG1DQUF5QixLQUFDO0lBRTFDLG1DQUMrSDtJQUExRixtTkFBUyxxQ0FBMkIsS0FBQztJQUM5RSxBQUZJLGlCQUMrSCxFQUMzSDs7OztJQUhELEFBSkEsQUFEQSxBQURBLGlHQUF3RCwwSEFDa0MseUNB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QWU7WUFhaEIsY0FBMEI7WUFBMUIsdUNBQTBCO1lBQUMsa0VBQW1DO1lBQ25DLGNBQW1EO1lBQW5ELHNGQUFtRDtZQUUzRSxjQUFrQjtZQUFsQix1Q0FBa0I7OztpRkRNakIsZUFBZTtjQVIzQixTQUFTOzJCQUNJLFlBQVksYUFFWDtvQkFDUCxTQUFTLGtCQUFrQixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ25ELGtCQUFrQixpQkFBaUI7aUJBQ3RDOztzQkE2QjJCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQVhZLFFBQVE7a0JBQW5GLFNBQVM7bUJBQUMsYUFBYSxFQUFFLDJCQUEyQixDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs7a0ZBaEJqRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7Z2VuZXJhdGVHVUlkLCBzZXRDU1MsIG5vb3B9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IGdldE9yZGVyZWREYXRhc2V0LCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9yYXRpbmcucHJvcHMnO1xuaW1wb3J0IHtmaW5kLCBpc0VtcHR5LCBpc1VuZGVmaW5lZCwgc2xpY2UsIHRvU3RyaW5nfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1yYXRpbmdzJztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXJhdGluZycsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5jb25zdCBNQVhfUkFUSU5HID0gMTA7XG5jb25zdCBERUZBVUxUX1JBVElORyA9IDU7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtUmF0aW5nXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhdGluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhSYXRpbmdDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFJhdGluZ0NvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhdGluZ0NvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgY2FwdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBzaG93Y2FwdGlvbnM6IGJvb2xlYW47XG4gICAgcHVibGljIG1heHZhbHVlO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRSYXRpbmdWYWx1ZTtcbiAgICBwdWJsaWMgcmF0aW5nc1dpZHRoO1xuICAgIHByaXZhdGUgcmF0aW5nSXRlbXM7XG4gICAgcHJpdmF0ZSBfaWQ7XG5cbiAgICBwdWJsaWMgaWNvbnNpemU6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbmNvbG9yOiBzdHJpbmc7XG4gICAgcHVibGljIG9uRm9jdXM6IGFueTtcbiAgICBwcml2YXRlIHRvdWNoRW5hYmxlZDpib29sZWFuO1xuICAgIEBWaWV3Q2hpbGQoJ3JhdGluZ0lucHV0JywgLyogVE9ETzogYWRkIHN0YXRpYyBmbGFnICovIHsgcmVhZDogRWxlbWVudFJlZiB9KSByYXRpbmdFbDogRWxlbWVudFJlZjtcblxuICAgIGdldCBzZWxlY3RlZFJhdGluZ1ZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRSYXRpbmdWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgc2VsZWN0ZWRSYXRpbmdWYWx1ZSh2YWwpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IHZhbDtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVSYXRpbmdzV2lkdGgoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLl9pZCA9IGdlbmVyYXRlR1VJZCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcblxuICAgICAgICAvLyBwcmVwYXJlIHRoZSByYXRpbmcgb3B0aW9ucyBvbiBkYXRhc2V0IHJlYWR5LlxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUmF0aW5nRGF0YXNldCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIC8vIGxpc3RlbiB0byBjaGFuZ2VzIGluIGRhdGF2YWx1ZS5cbiAgICAgICAgY29uc3QgZGF0YXZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhdmFsdWUkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRGF0YXZhbHVlQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXZhbHVlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIC8vIENoYW5nZSBldmVudCBpcyByZWdpc3RlcmVkIGZyb20gdGhlIHRlbXBsYXRlLCBQcmV2ZW50IHRoZSBmcmFtZXdvcmsgZnJvbSByZWdpc3RlcmluZyBvbmUgbW9yZSBldmVudFxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGV2ZW50Q2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lICE9PSAnY2hhbmdlJyAmJiBldmVudE5hbWUgIT09ICdibHVyJykge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5yYXRpbmdFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJhdGluZyB3aWRnZXQgZGF0YXNldCBjb250YWluaW5nIHRoZSBpbmRleCwgdmFsdWUgYW5kIGxhYmVsXG4gICAgcHJpdmF0ZSBwcmVwYXJlUmF0aW5nRGF0YXNldCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucmF0aW5nSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJhdGluZ0l0ZW1zID0gW107XG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5kYXRhc2V0SXRlbXM7XG4gICAgICAgIGNvbnN0IG1heHZhbHVlID0gcGFyc2VJbnQodGhpcy5tYXh2YWx1ZSB8fCB0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgsIDEwKTtcbiAgICAgICAgY29uc3QgbWF4VmFsdWUgPSAobWF4dmFsdWUgPiBNQVhfUkFUSU5HID8gTUFYX1JBVElORyA6IG1heHZhbHVlKSB8fCBERUZBVUxUX1JBVElORztcblxuICAgICAgICAvKipcbiAgICAgICAgICogMS4gSWYgZGF0YXNldEl0ZW1zLmxlbmd0aCBpcyBtb3JlIHRoYW4gbWF4VmFsdWUgKGkuZS4gMTAgcmF0aW5ncykgdGhlbiBqdXN0IGV4dHJhY3QgbWF4VmFsdWUgb2YgaXRlbXMgZnJvbSBkYXRhc2V0SXRlbXMuXG4gICAgICAgICAqIDIuIElmIGRhdGFzZXRJdGVtcyBhcmUgbm90IGF2YWlsYWJsZSB0aGVuIHByZXBhcmUgcmF0aW5ncyB2YWx1ZSBkZXBlbmRpbmcgb24gbWF4dmFsdWUuIGVnOiAxLDIsMyAuLiB1cHRvIG1heHZhbHVlXG4gICAgICAgICAqIDMuIElmIG1heHZhbHVlIC8gaSB2YWx1ZSBpcyBtb3JlIHRoYW4gZGF0YXNldEl0ZW1zIGxlbmd0aCwgcHJlcGFyZSBkZWZhdWx0IHJhdGluZyBpdGVtcyBmb3IgaSB2YWx1ZXMgbW9yZSB0aGFuIGRhdGFzZXRJdGVtcy5sZW5ndGhcbiAgICAgICAgICovXG4gICAgICAgIGlmIChkYXRhLmxlbmd0aCAmJiBkYXRhLmxlbmd0aCA+IG1heFZhbHVlKSB7XG4gICAgICAgICAgICBkYXRhID0gc2xpY2UoZGF0YSwgMCwgbWF4VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IG1heFZhbHVlOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoIWRhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmF0aW5nSXRlbXMucHVzaCh7a2V5OiBpLCB2YWx1ZTogaSwgaW5kZXg6IGksIGxhYmVsOiBpfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpID4gZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF0aW5nSXRlbXMucHVzaCh7a2V5OiBpLCB2YWx1ZTogaSwgaW5kZXg6IGksIGxhYmVsOiBpfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGdldE9yZGVyZWREYXRhc2V0KGRhdGEsICdpbmRleDpkZXNjJyk7XG4gICAgICAgICAgICAgICAgICAgIHJhdGluZ0l0ZW1zID0gcmF0aW5nSXRlbXMuY29uY2F0KGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJhdGluZ0l0ZW1zID0gcmF0aW5nSXRlbXM7XG4gICAgICAgIGlmICghZGF0YS5sZW5ndGgpIHsgLy8gY29uc3RydWN0cyBkZWZhdWx0IGRhdGFzZXRJdGVtcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGFzZXQgYmluZGluZy5cbiAgICAgICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zID0gcmF0aW5nSXRlbXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkRhdGF2YWx1ZUNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25SYXRpbmdDbGljaygkZXZlbnQsIHJhdGUpIHtcbiAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gcmF0ZS5rZXk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IHJhdGUuaW5kZXg7XG5cbiAgICAgICAgLy8gc3VwcG9ydCBpZiB0aGUgY2FwdGlvbiBpcyBiaW5kZWQgaW4gdGhlIG9sZCBwcm9qZWN0cyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICBpZiAoIXRoaXMuc2hvd2NhcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHRpb24gPSByYXRlLmxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBzZWxlY3RlZCBmbGFnIG9uIGRhdGFzZXRJdGVtcyBhbmQgYXNzaWduIHRoZSByYXRpbmdWYWx1ZS5cbiAgICAvKipcbiAgICAgKiBPbiBkYXRhdmFsdWUgY2hhbmdlLCB1cGRhdGUgdGhlIGNhcHRpb24sIHNlbGVjdGVkUmF0aW5nVmFsdWUuXG4gICAgICogMS4gaWYgZGF0YXNldEl0ZW1zIGNvbnRhaW4gdGhlIHNlbGVjdGVkIGl0ZW0gKGNoZWNrIHRoZSBzZWxlY3RlZCBmbGFnIG9uIGl0ZW0pLCBmaW5kIHRoZSBpbmRleCBvZiBzZWxlY3RlZCBpdGVtLlxuICAgICAqIDIuIGlmIG5vdCwganVzdCBjaGVjayBpZiB0aGUgZGF0YXZhbHVlIGlzIHByb3ZpZGVkIGFzIHRoZSBpbmRleCBvbiB0aGUgaXRlbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhVmFsIGRhdGF2YWx1ZVxuICAgICAqL1xuICAgIG9uRGF0YXZhbHVlQ2hhbmdlKGRhdGFWYWwpIHtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMuZGF0YXNldEl0ZW1zKSkge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHsnc2VsZWN0ZWQnOiB0cnVlfSk7XG5cbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRJdGVtICYmICFpc1VuZGVmaW5lZChkYXRhVmFsKSkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b1N0cmluZyhpdGVtLmluZGV4KSA9PT0gZGF0YVZhbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0IHRoZSAgbW9kZWwgaWYgdGhlcmUgaXMgbm8gaXRlbSBmb3VuZC5cbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IHNlbGVjdGVkSXRlbSA/IHNlbGVjdGVkSXRlbS5pbmRleCA6IDA7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gc2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJhdGluZ1ZhbHVlID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgLy8gd2hlbiBkYXRhc2V0IGlzIG5vdCBnaXZlbiBidXQgZGF0YXZhbHVlIGlzIHByb3ZpZGVkIHdoaWNoIGlzIGludGVnZXJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhdGluZ1ZhbHVlICYmICFpc05hTihkYXRhVmFsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IChwYXJzZUZsb2F0KGRhdGFWYWwpIDw9IHRoaXMubWF4dmFsdWUpID8gZGF0YVZhbCA6IHRoaXMubWF4dmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJhdGluZ3NXaWR0aCA9IHRoaXMuY2FsY3VsYXRlUmF0aW5nc1dpZHRoKGRhdGFWYWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmF0aW5nc1dpZHRoKGRhdGFWYWw/OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYXRpbmcgPSBwYXJzZUZsb2F0KHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSksXG4gICAgICAgICAgICBzdGFyV2lkdGggPSAwLjkyNSxcbiAgICAgICAgICAgIG1heFZhbHVlID0gcGFyc2VJbnQodGhpcy5tYXh2YWx1ZSB8fCB0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgsIDEwKSB8fCBERUZBVUxUX1JBVElORztcblxuICAgICAgICBzZXRDU1MoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnJhdGluZ3MtY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgICAgKHN0YXJXaWR0aCAqIG1heFZhbHVlKSArICdlbSdcbiAgICAgICAgKTtcbiAgICAgICAgZGF0YVZhbCA9IGRhdGFWYWwgfHwgdGhpcy5kYXRhdmFsdWU7XG4gICAgICAgIGlmIChkYXRhVmFsID09PSB1bmRlZmluZWQgfHwgZGF0YVZhbCA9PT0gJycgfHwgZGF0YVZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gJyc7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRSYXRpbmcgPD0gbWF4VmFsdWUgJiYgc2VsZWN0ZWRSYXRpbmcgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkUmF0aW5nICogc3RhcldpZHRoICsgJ2VtJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRSYXRpbmcgPiBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG1heFZhbHVlICogc3RhcldpZHRoICsgJ2VtJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZWFkb25seScpIHtcbiAgICAgICAgICAgIGlmIChudikge1xuICAgICAgICAgICAgICAgIHRoaXMucmF0aW5nc1dpZHRoID0gdGhpcy5jYWxjdWxhdGVSYXRpbmdzV2lkdGgoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdtYXh2YWx1ZScpIHtcbiAgICAgICAgICAgIC8qKiBTdG9yaW5nIHRoZSBkYXRhdmFsdWUgaW4gdGVtcCB2YXJpYWJsZSBhbmQgYXNzaWdpbmcgYmFjayB0byBkYXRhdmFsdWVcbiAgICAgICAgICAgICAqIGFmdGVyIGRlZmF1bHQgZGF0YWxpc3QgaXMgcHJlcGFyZWQgdG8gdHJpZ2dlciBEYXRhc2V0IEF3YXJlIGNsYXNzIHNlbGVjdCBjeWNsZVxuICAgICAgICAgICAgICogYXMgdGhlIGRhdGF2YWx1ZSBwcm9wZXJ0eSBjaGFuZ2UgaXMgdHJpZ2dlcmluZyBmaXJzdCByYXRoZXIgdGhhbiBtYXh2YWx1ZVxuICAgICAgICAgICAgICogaW4gdGhlIHJhdGluZyB3aWRnZXQgaXMgdXNlZCBpbnNpZGUgYSBkYXRhdGFibGVcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IHRlbXBEYXRhVmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVJhdGluZ0RhdGFzZXQoKTtcbiAgICAgICAgICAgIC8vIHJlc2V0IGFsbCB0aGUgaXRlbXMuXG4gICAgICAgICAgICB0aGlzLnJlc2V0RGF0YXNldEl0ZW1zKCk7XG4gICAgICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKHRlbXBEYXRhVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSB0ZW1wRGF0YVZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZXRlY3QgdG91Y2ggZW5hYmxlZCBkZXZpY2VzICYgdXBkYXRlIGhvdmVyIHN0eWxlcyovXG4gICAgb25Ub3VjaFN0YXJ0KCRldmVudCkge1xuICAgICAgICB0aGlzLnRvdWNoRW5hYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Ub3VjaFN0YXJ0ID0gbm9vcDtcbiAgICB9XG4gICAgb25Nb3VzZWxlYXZlKCkge1xuICAgICAgICB0aGlzLmNhcHRpb24gPSB0aGlzLmRpc3BsYXlWYWx1ZSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgb25Nb3VzZU92ZXIoJGV2ZW50LCByYXRlKSB7XG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IHJhdGUubGFiZWw7XG4gICAgICAgICF0aGlzLnRvdWNoRW5hYmxlZCAmJiAhJGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ3JhdGluZy1sYWJlbC1ob3ZlcicpICYmICRldmVudC50YXJnZXQuY2xhc3NMaXN0LmFkZCgncmF0aW5nLWxhYmVsLWhvdmVyJyk7XG4gICAgfVxufVxuIiwiPGRpdiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJtb2RlbEJ5S2V5XCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiXG4gICAgIGNsYXNzPVwicmF0aW5ncy13cmFwcGVyXCIgbmdEZWZhdWx0Q29udHJvbD5cbiAgICA8ZGl2ICpuZ0lmPVwiIXJlYWRvbmx5XCIgY2xhc3M9XCJyYXRpbmctc3R5bGVcIj5cbiAgICAgICAgPGxhYmVsICpuZ0Zvcj1cImxldCByYXRlIG9mIHJhdGluZ0l0ZW1zO1wiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7YWN0aXZlIDogcmF0ZS5pbmRleCA8PSBzZWxlY3RlZFJhdGluZ1ZhbHVlfVwiXG4gICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZScgOmljb25zaXplLCBjb2xvcjogcmF0ZS5pbmRleCA8PSBzZWxlY3RlZFJhdGluZ1ZhbHVlICYmIGljb25jb2xvcn1cIlxuICAgICAgICAgICAgICAgW3RpdGxlXT1cInJhdGUubGFiZWwgfHwgcmF0ZS5pbmRleFwiXG4gICAgICAgICAgICAgICAodG91Y2hzdGFydCk9XCJvblRvdWNoU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCByYXRlKVwiXG4gICAgICAgICAgICAgICAobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKCRldmVudCwgcmF0ZSlcIlxuICAgICAgICAgICAgICAgW2Zvcl09XCJfaWQgKyAnLScgKyByYXRlLmluZGV4XCI+XG4gICAgICAgICAgICA8aW5wdXQgI3JhdGluZ0lucHV0IHR5cGU9XCJyYWRpb1wiIHJvbGU9XCJyYWRpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiKHJhdGUubGFiZWwgfHwgcmF0ZS5pbmRleCkgKyAnIG91dCBvZiAnICsgcmF0aW5nSXRlbXMubGVuZ3RoICsgJyByYXRpbmdzJ1wiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJyYXRlLmxhYmVsID09PSBkYXRhdmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy0nICsgcmF0ZS5pbmRleFwiIChjbGljayk9XCJvblJhdGluZ0NsaWNrKCRldmVudCwgcmF0ZSlcIiBuYW1lPVwicmF0aW5ncy1pZFwiIFt2YWx1ZV09XCJyYXRlLmtleSB8fCByYXRlLmluZGV4XCIvPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW2NsYXNzLmhpZGRlbl09XCIhcmVhZG9ubHlcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZScgOmljb25zaXplfVwiIGNsYXNzPVwicmF0aW5ncy1jb250YWluZXIgZGlzYWJsZWRcIiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyYXRpbmdzIGFjdGl2ZVwiIFtuZ1N0eWxlXT1cInt3aWR0aDogcmF0aW5nc1dpZHRoLCBjb2xvcjogaWNvbmNvbG9yfVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxsYWJlbCAqbmdJZj1cInNob3djYXB0aW9uc1wiIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJjYXB0aW9uXCI+PC9sYWJlbD5cbjwvZGl2PlxuIl19
|
|
@@ -37,10 +37,11 @@ const registerProps = () => {
|
|
|
37
37
|
|
|
38
38
|
const _c0 = ["ratingInput"];
|
|
39
39
|
const _c1 = ["wmRating", ""];
|
|
40
|
-
const _c2 =
|
|
41
|
-
const _c3 =
|
|
42
|
-
const _c4 = a0 => ({
|
|
43
|
-
const _c5 =
|
|
40
|
+
const _c2 = () => ({ standalone: true });
|
|
41
|
+
const _c3 = a0 => ({ "font-size": a0 });
|
|
42
|
+
const _c4 = (a0, a1) => ({ width: a0, color: a1 });
|
|
43
|
+
const _c5 = a0 => ({ active: a0 });
|
|
44
|
+
const _c6 = (a0, a1) => ({ "font-size": a0, color: a1 });
|
|
44
45
|
function RatingComponent_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
45
46
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
46
47
|
i0.ɵɵelementStart(0, "label", 8);
|
|
@@ -51,7 +52,7 @@ function RatingComponent_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
51
52
|
} if (rf & 2) {
|
|
52
53
|
const rate_r3 = ctx.$implicit;
|
|
53
54
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
54
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8,
|
|
55
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c5, rate_r3.index <= ctx_r1.selectedRatingValue))("ngStyle", i0.ɵɵpureFunction2(10, _c6, ctx_r1.iconsize, rate_r3.index <= ctx_r1.selectedRatingValue && ctx_r1.iconcolor))("title", rate_r3.label || rate_r3.index)("for", ctx_r1._id + "-" + rate_r3.index);
|
|
55
56
|
i0.ɵɵadvance();
|
|
56
57
|
i0.ɵɵproperty("id", ctx_r1._id + "-" + rate_r3.index)("value", rate_r3.key || rate_r3.index);
|
|
57
58
|
i0.ɵɵattribute("aria-label", (rate_r3.label || rate_r3.index) + " out of " + ctx_r1.ratingItems.length + " ratings")("aria-checked", rate_r3.label === ctx_r1.datavalue ? "true" : "false");
|
|
@@ -253,10 +254,10 @@ class RatingComponent extends DatasetAwareFormComponent {
|
|
|
253
254
|
} }, features: [i0.ɵɵProvidersFeature([
|
|
254
255
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
255
256
|
provideAsWidgetRef(RatingComponent)
|
|
256
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars:
|
|
257
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars: 14, consts: [["ratingInput", ""], ["aria-multiselectable", "true", "ngDefaultControl", "", 1, "ratings-wrapper", 3, "focus", "ngModelChange", "ngModel", "ngModelOptions"], ["class", "rating-style", 4, "ngIf"], [1, "ratings-container", "disabled", 3, "ngStyle"], [1, "ratings", "active", 3, "ngStyle"], ["class", "caption", 3, "textContent", 4, "ngIf"], [1, "rating-style"], [3, "ngClass", "ngStyle", "title", "for", "touchstart", "mouseleave", "mouseover", 4, "ngFor", "ngForOf"], [3, "touchstart", "mouseleave", "mouseover", "ngClass", "ngStyle", "title", "for"], ["type", "radio", "role", "radio", "name", "ratings-id", 3, "click", "id", "value"], [1, "caption", 3, "textContent"]], template: function RatingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
257
258
|
i0.ɵɵelementStart(0, "div", 1);
|
|
258
|
-
i0.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
259
259
|
i0.ɵɵlistener("focus", function RatingComponent_Template_div_focus_0_listener($event) { return ctx.onFocus($event); });
|
|
260
|
+
i0.ɵɵtwoWayListener("ngModelChange", function RatingComponent_Template_div_ngModelChange_0_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return $event; });
|
|
260
261
|
i0.ɵɵtemplate(1, RatingComponent_div_1_Template, 2, 1, "div", 2);
|
|
261
262
|
i0.ɵɵelementStart(2, "div", 3);
|
|
262
263
|
i0.ɵɵelement(3, "div", 4);
|
|
@@ -265,13 +266,14 @@ class RatingComponent extends DatasetAwareFormComponent {
|
|
|
265
266
|
i0.ɵɵelementEnd();
|
|
266
267
|
} if (rf & 2) {
|
|
267
268
|
i0.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
|
|
269
|
+
i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(8, _c2));
|
|
268
270
|
i0.ɵɵadvance();
|
|
269
271
|
i0.ɵɵproperty("ngIf", !ctx.readonly);
|
|
270
272
|
i0.ɵɵadvance();
|
|
271
273
|
i0.ɵɵclassProp("hidden", !ctx.readonly);
|
|
272
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(
|
|
274
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c3, ctx.iconsize));
|
|
273
275
|
i0.ɵɵadvance();
|
|
274
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(
|
|
276
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(11, _c4, ctx.ratingsWidth, ctx.iconcolor));
|
|
275
277
|
i0.ɵɵadvance();
|
|
276
278
|
i0.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
277
279
|
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextContentDirective], encapsulation: 2 }); }
|
|
@@ -281,7 +283,7 @@ class RatingComponent extends DatasetAwareFormComponent {
|
|
|
281
283
|
args: [{ selector: '[wmRating]', providers: [
|
|
282
284
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
283
285
|
provideAsWidgetRef(RatingComponent)
|
|
284
|
-
], template: "<div
|
|
286
|
+
], template: "<div (focus)=\"onFocus($event)\" [(ngModel)]=\"modelByKey\" [ngModelOptions]=\"{standalone: true}\" aria-multiselectable=\"true\"\n class=\"ratings-wrapper\" ngDefaultControl>\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
285
287
|
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
286
288
|
type: Inject,
|
|
287
289
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/rating/src/rating.props.ts","../../../../../projects/components/widgets/input/rating/src/rating.component.html","../../../../../projects/components/widgets/input/rating/src/rating.component.ts","../../../../../projects/components/widgets/input/rating/src/rating.module.ts","../../../../../projects/components/widgets/input/rating/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const ratingProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['iconcolor', PROP_STRING],\n ['iconsize', PROP_STRING],\n ['maxvalue', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcaptions', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-rating',\n ratingProps\n );\n registerFormWidget(\n FormWidgetType.RATING,\n new Map(ratingProps)\n );\n};\n","<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n","import {Component, ElementRef, Inject, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {generateGUId, setCSS, noop} from '@wm/core';\nimport { getOrderedDataset, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input';\n\nimport { registerProps } from './rating.props';\nimport {find, isEmpty, isUndefined, slice, toString} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-ratings';\nconst WIDGET_CONFIG = {widgetType: 'wm-rating', hostClass: DEFAULT_CLS};\n\nconst MAX_RATING = 10;\nconst DEFAULT_RATING = 5;\n\n@Component({\n selector: '[wmRating]',\n templateUrl: './rating.component.html',\n providers: [\n provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(RatingComponent)\n ]\n})\nexport class RatingComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public caption: string;\n public showcaptions: boolean;\n public maxvalue;\n\n private _selectedRatingValue;\n public ratingsWidth;\n private ratingItems;\n private _id;\n\n public iconsize: string;\n public iconcolor: string;\n public onFocus: any;\n private touchEnabled:boolean;\n @ViewChild('ratingInput', /* TODO: add static flag */ { read: ElementRef }) ratingEl: ElementRef;\n\n get selectedRatingValue() {\n return this._selectedRatingValue;\n }\n\n set selectedRatingValue(val) {\n this._selectedRatingValue = val;\n this.calculateRatingsWidth();\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this._id = generateGUId();\n styler(this.nativeElement, this);\n\n // prepare the rating options on dataset ready.\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.prepareRatingDataset();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n // listen to changes in datavalue.\n const datavalueSubscription = this.datavalue$.subscribe(() => this.onDatavalueChange(this.datavalue));\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.ratingEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // This function returns the rating widget dataset containing the index, value and label\n private prepareRatingDataset() {\n if (!this.datasetItems.length) {\n this.ratingItems = [];\n this.caption = '';\n }\n\n let ratingItems = [];\n let data = this.datasetItems;\n const maxvalue = parseInt(this.maxvalue || this.datasetItems.length, 10);\n const maxValue = (maxvalue > MAX_RATING ? MAX_RATING : maxvalue) || DEFAULT_RATING;\n\n /**\n * 1. If datasetItems.length is more than maxValue (i.e. 10 ratings) then just extract maxValue of items from datasetItems.\n * 2. If datasetItems are not available then prepare ratings value depending on maxvalue. eg: 1,2,3 .. upto maxvalue\n * 3. If maxvalue / i value is more than datasetItems length, prepare default rating items for i values more than datasetItems.length\n */\n if (data.length && data.length > maxValue) {\n data = slice(data, 0, maxValue);\n }\n\n for (let i = maxValue; i > 0; i--) {\n if (!data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n if (i > data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n data = getOrderedDataset(data, 'index:desc');\n ratingItems = ratingItems.concat(data);\n break;\n }\n }\n }\n\n this.ratingItems = ratingItems;\n if (!data.length) { // constructs default datasetItems when there is no dataset binding.\n this.datasetItems = ratingItems;\n }\n this.onDatavalueChange(this.datavalue);\n }\n\n onRatingClick($event, rate) {\n this.modelByKey = rate.key;\n this.selectedRatingValue = rate.index;\n\n // support if the caption is binded in the old projects for backward compatibility\n if (!this.showcaptions) {\n this.caption = rate.label;\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n // Update the selected flag on datasetItems and assign the ratingValue.\n /**\n * On datavalue change, update the caption, selectedRatingValue.\n * 1. if datasetItems contain the selected item (check the selected flag on item), find the index of selected item.\n * 2. if not, just check if the datavalue is provided as the index on the item.\n *\n * @param dataVal datavalue\n */\n onDatavalueChange(dataVal) {\n if (!isEmpty(this.datasetItems)) {\n let selectedItem = find(this.datasetItems, {'selected': true});\n\n if (!selectedItem && !isUndefined(dataVal)) {\n selectedItem = find(this.datasetItems, function (item) {\n return toString(item.index) === dataVal;\n });\n if (selectedItem) {\n selectedItem.selected = true;\n }\n }\n\n if (!selectedItem) {\n // reset the model if there is no item found.\n this.modelByKey = undefined;\n this.caption = '';\n }\n\n this.selectedRatingValue = selectedItem ? selectedItem.index : 0;\n if (selectedItem) {\n this.caption = selectedItem.label;\n }\n } else {\n this.selectedRatingValue = 0;\n }\n if (this.readonly) {\n // when dataset is not given but datavalue is provided which is integer\n if (!this.selectedRatingValue && !isNaN(dataVal)) {\n this.selectedRatingValue = (parseFloat(dataVal) <= this.maxvalue) ? dataVal : this.maxvalue;\n }\n this.ratingsWidth = this.calculateRatingsWidth(dataVal);\n }\n }\n\n calculateRatingsWidth(dataVal?: any) {\n const selectedRating = parseFloat(this.selectedRatingValue),\n starWidth = 0.925,\n maxValue = parseInt(this.maxvalue || this.datasetItems.length, 10) || DEFAULT_RATING;\n\n setCSS(\n this.nativeElement.querySelector('.ratings-container') as HTMLElement,\n 'width',\n (starWidth * maxValue) + 'em'\n );\n dataVal = dataVal || this.datavalue;\n if (dataVal === undefined || dataVal === '' || dataVal === null) {\n this.caption = '';\n return 0;\n }\n if (selectedRating <= maxValue && selectedRating >= 0) {\n return selectedRating * starWidth + 'em';\n }\n if (selectedRating > maxValue) {\n return maxValue * starWidth + 'em';\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'readonly') {\n if (nv) {\n this.ratingsWidth = this.calculateRatingsWidth();\n }\n } else if (key === 'maxvalue') {\n /** Storing the datavalue in temp variable and assiging back to datavalue\n * after default datalist is prepared to trigger Dataset Aware class select cycle\n * as the datavalue property change is triggering first rather than maxvalue\n * in the rating widget is used inside a datatable\n */\n let tempDataValue = this.datavalue;\n this.prepareRatingDataset();\n // reset all the items.\n this.resetDatasetItems();\n if (!isUndefined(tempDataValue)) {\n this.datavalue = tempDataValue;\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /* Detect touch enabled devices & update hover styles*/\n onTouchStart($event) {\n this.touchEnabled = true;\n this.onTouchStart = noop;\n }\n onMouseleave() {\n this.caption = this.displayValue as string;\n }\n\n onMouseOver($event, rate) {\n this.caption = rate.label;\n !this.touchEnabled && !$event.target.classList.contains('rating-label-hover') && $event.target.classList.add('rating-label-hover');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { RatingComponent } from './rating.component';\n\nconst components = [\n RatingComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class RatingModule {\n}\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":"index.mjs","sources":["../../../../../projects/components/widgets/input/rating/src/rating.props.ts","../../../../../projects/components/widgets/input/rating/src/rating.component.html","../../../../../projects/components/widgets/input/rating/src/rating.component.ts","../../../../../projects/components/widgets/input/rating/src/rating.module.ts","../../../../../projects/components/widgets/input/rating/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const ratingProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['iconcolor', PROP_STRING],\n ['iconsize', PROP_STRING],\n ['maxvalue', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcaptions', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-rating',\n ratingProps\n );\n registerFormWidget(\n FormWidgetType.RATING,\n new Map(ratingProps)\n );\n};\n","<div (focus)=\"onFocus($event)\" [(ngModel)]=\"modelByKey\" [ngModelOptions]=\"{standalone: true}\" aria-multiselectable=\"true\"\n class=\"ratings-wrapper\" ngDefaultControl>\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n","import {Component, ElementRef, Inject, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {generateGUId, setCSS, noop} from '@wm/core';\nimport { getOrderedDataset, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input';\n\nimport { registerProps } from './rating.props';\nimport {find, isEmpty, isUndefined, slice, toString} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-ratings';\nconst WIDGET_CONFIG = {widgetType: 'wm-rating', hostClass: DEFAULT_CLS};\n\nconst MAX_RATING = 10;\nconst DEFAULT_RATING = 5;\n\n@Component({\n selector: '[wmRating]',\n templateUrl: './rating.component.html',\n providers: [\n provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(RatingComponent)\n ]\n})\nexport class RatingComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public caption: string;\n public showcaptions: boolean;\n public maxvalue;\n\n private _selectedRatingValue;\n public ratingsWidth;\n private ratingItems;\n private _id;\n\n public iconsize: string;\n public iconcolor: string;\n public onFocus: any;\n private touchEnabled:boolean;\n @ViewChild('ratingInput', /* TODO: add static flag */ { read: ElementRef }) ratingEl: ElementRef;\n\n get selectedRatingValue() {\n return this._selectedRatingValue;\n }\n\n set selectedRatingValue(val) {\n this._selectedRatingValue = val;\n this.calculateRatingsWidth();\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this._id = generateGUId();\n styler(this.nativeElement, this);\n\n // prepare the rating options on dataset ready.\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.prepareRatingDataset();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n // listen to changes in datavalue.\n const datavalueSubscription = this.datavalue$.subscribe(() => this.onDatavalueChange(this.datavalue));\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.ratingEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // This function returns the rating widget dataset containing the index, value and label\n private prepareRatingDataset() {\n if (!this.datasetItems.length) {\n this.ratingItems = [];\n this.caption = '';\n }\n\n let ratingItems = [];\n let data = this.datasetItems;\n const maxvalue = parseInt(this.maxvalue || this.datasetItems.length, 10);\n const maxValue = (maxvalue > MAX_RATING ? MAX_RATING : maxvalue) || DEFAULT_RATING;\n\n /**\n * 1. If datasetItems.length is more than maxValue (i.e. 10 ratings) then just extract maxValue of items from datasetItems.\n * 2. If datasetItems are not available then prepare ratings value depending on maxvalue. eg: 1,2,3 .. upto maxvalue\n * 3. If maxvalue / i value is more than datasetItems length, prepare default rating items for i values more than datasetItems.length\n */\n if (data.length && data.length > maxValue) {\n data = slice(data, 0, maxValue);\n }\n\n for (let i = maxValue; i > 0; i--) {\n if (!data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n if (i > data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n data = getOrderedDataset(data, 'index:desc');\n ratingItems = ratingItems.concat(data);\n break;\n }\n }\n }\n\n this.ratingItems = ratingItems;\n if (!data.length) { // constructs default datasetItems when there is no dataset binding.\n this.datasetItems = ratingItems;\n }\n this.onDatavalueChange(this.datavalue);\n }\n\n onRatingClick($event, rate) {\n this.modelByKey = rate.key;\n this.selectedRatingValue = rate.index;\n\n // support if the caption is binded in the old projects for backward compatibility\n if (!this.showcaptions) {\n this.caption = rate.label;\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n // Update the selected flag on datasetItems and assign the ratingValue.\n /**\n * On datavalue change, update the caption, selectedRatingValue.\n * 1. if datasetItems contain the selected item (check the selected flag on item), find the index of selected item.\n * 2. if not, just check if the datavalue is provided as the index on the item.\n *\n * @param dataVal datavalue\n */\n onDatavalueChange(dataVal) {\n if (!isEmpty(this.datasetItems)) {\n let selectedItem = find(this.datasetItems, {'selected': true});\n\n if (!selectedItem && !isUndefined(dataVal)) {\n selectedItem = find(this.datasetItems, function (item) {\n return toString(item.index) === dataVal;\n });\n if (selectedItem) {\n selectedItem.selected = true;\n }\n }\n\n if (!selectedItem) {\n // reset the model if there is no item found.\n this.modelByKey = undefined;\n this.caption = '';\n }\n\n this.selectedRatingValue = selectedItem ? selectedItem.index : 0;\n if (selectedItem) {\n this.caption = selectedItem.label;\n }\n } else {\n this.selectedRatingValue = 0;\n }\n if (this.readonly) {\n // when dataset is not given but datavalue is provided which is integer\n if (!this.selectedRatingValue && !isNaN(dataVal)) {\n this.selectedRatingValue = (parseFloat(dataVal) <= this.maxvalue) ? dataVal : this.maxvalue;\n }\n this.ratingsWidth = this.calculateRatingsWidth(dataVal);\n }\n }\n\n calculateRatingsWidth(dataVal?: any) {\n const selectedRating = parseFloat(this.selectedRatingValue),\n starWidth = 0.925,\n maxValue = parseInt(this.maxvalue || this.datasetItems.length, 10) || DEFAULT_RATING;\n\n setCSS(\n this.nativeElement.querySelector('.ratings-container') as HTMLElement,\n 'width',\n (starWidth * maxValue) + 'em'\n );\n dataVal = dataVal || this.datavalue;\n if (dataVal === undefined || dataVal === '' || dataVal === null) {\n this.caption = '';\n return 0;\n }\n if (selectedRating <= maxValue && selectedRating >= 0) {\n return selectedRating * starWidth + 'em';\n }\n if (selectedRating > maxValue) {\n return maxValue * starWidth + 'em';\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'readonly') {\n if (nv) {\n this.ratingsWidth = this.calculateRatingsWidth();\n }\n } else if (key === 'maxvalue') {\n /** Storing the datavalue in temp variable and assiging back to datavalue\n * after default datalist is prepared to trigger Dataset Aware class select cycle\n * as the datavalue property change is triggering first rather than maxvalue\n * in the rating widget is used inside a datatable\n */\n let tempDataValue = this.datavalue;\n this.prepareRatingDataset();\n // reset all the items.\n this.resetDatasetItems();\n if (!isUndefined(tempDataValue)) {\n this.datavalue = tempDataValue;\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /* Detect touch enabled devices & update hover styles*/\n onTouchStart($event) {\n this.touchEnabled = true;\n this.onTouchStart = noop;\n }\n onMouseleave() {\n this.caption = this.displayValue as string;\n }\n\n onMouseOver($event, rate) {\n this.caption = rate.label;\n !this.touchEnabled && !$event.target.classList.contains('rating-label-hover') && $event.target.classList.add('rating-label-hover');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { RatingComponent } from './rating.component';\n\nconst components = [\n RatingComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class RatingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
const _c0 = ["wmSlider", ""];
|
|
49
|
+
const _c1 = () => ({ standalone: true });
|
|
49
50
|
function SliderComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
50
51
|
i0__namespace.ɵɵelement(0, "div", 4);
|
|
51
52
|
} }
|
|
@@ -84,7 +85,7 @@
|
|
|
84
85
|
} }, features: [i0__namespace.ɵɵProvidersFeature([
|
|
85
86
|
i3.provideAs(SliderComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
86
87
|
i3.provideAsWidgetRef(SliderComponent)
|
|
87
|
-
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars:
|
|
88
|
+
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars: 21, consts: [[1, "app-slider-value", "pull-left", 3, "textContent"], [1, "app-slider-value", "pull-right", 3, "textContent"], ["aria-orientation", "horizontal", "focus-target", "", "type", "range", 1, "range-input", 3, "ngModelChange", "blur", "title", "ngModel", "ngModelOptions", "disabled", "tabindex"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["aria-readonly", "true", 1, "readonly-wrapper"]], template: function SliderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
88
89
|
i0__namespace.ɵɵelement(0, "span", 0)(1, "span", 1);
|
|
89
90
|
i0__namespace.ɵɵelementStart(2, "input", 2);
|
|
90
91
|
i0__namespace.ɵɵtwoWayListener("ngModelChange", function SliderComponent_Template_input_ngModelChange_2_listener($event) { i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return $event; });
|
|
@@ -100,7 +101,7 @@
|
|
|
100
101
|
i0__namespace.ɵɵadvance();
|
|
101
102
|
i0__namespace.ɵɵproperty("title", ctx.datavalue);
|
|
102
103
|
i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
|
|
103
|
-
i0__namespace.ɵɵproperty("disabled", ctx.disabled)("tabindex", ctx.tabindex)("tabindex", ctx.tabindex);
|
|
104
|
+
i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(20, _c1))("disabled", ctx.disabled)("tabindex", ctx.tabindex)("tabindex", ctx.tabindex);
|
|
104
105
|
i0__namespace.ɵɵattribute("min", ctx.minvalue)("max", ctx.maxvalue)("step", ctx.step)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint || "Slider")("aria-valuemin", ctx.minvalue)("aria-valuemax", ctx.maxvalue)("aria-valuenow", ctx.datavalue)("name", ctx.name);
|
|
105
106
|
i0__namespace.ɵɵadvance();
|
|
106
107
|
i0__namespace.ɵɵproperty("ngIf", ctx.readonly || ctx.disabled);
|
|
@@ -111,7 +112,7 @@
|
|
|
111
112
|
args: [{ selector: '[wmSlider]', providers: [
|
|
112
113
|
i3.provideAs(SliderComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
113
114
|
i3.provideAsWidgetRef(SliderComponent)
|
|
114
|
-
], template: "<span class=\"app-slider-value pull-left\" [attr.aria-valuemin]=\"minvalue\" [textContent]=\"minvalue\"></span>\n<span class=\"app-slider-value pull-right\" [attr.aria-valuemax]=\"maxvalue\" [textContent]=\"maxvalue\"></span>\n<input class=\"range-input\" aria-orientation=\"horizontal\"\n focus-target\n type=\"range\" [title]=\"datavalue\"\n [attr.min]=\"minvalue\"\n [attr.max]=\"maxvalue\"\n [attr.step]=\"step\"\n [(ngModel)]=\"datavalue\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || 'Slider'\"\n [attr.aria-valuemin]=\"minvalue\"\n [attr.aria-valuemax]=\"maxvalue\"\n [attr.aria-valuenow]=\"datavalue\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [attr.name]=\"name\"\n [tabindex]=\"tabindex\"/>\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n" }]
|
|
115
|
+
], template: "<span class=\"app-slider-value pull-left\" [attr.aria-valuemin]=\"minvalue\" [textContent]=\"minvalue\"></span>\n<span class=\"app-slider-value pull-right\" [attr.aria-valuemax]=\"maxvalue\" [textContent]=\"maxvalue\"></span>\n<input class=\"range-input\" aria-orientation=\"horizontal\"\n focus-target\n type=\"range\" [title]=\"datavalue\"\n [attr.min]=\"minvalue\"\n [attr.max]=\"maxvalue\"\n [attr.step]=\"step\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || 'Slider'\"\n [attr.aria-valuemin]=\"minvalue\"\n [attr.aria-valuemax]=\"maxvalue\"\n [attr.aria-valuenow]=\"datavalue\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [attr.name]=\"name\"\n [tabindex]=\"tabindex\"/>\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n" }]
|
|
115
116
|
}], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
|
|
116
117
|
type: i0.Inject,
|
|
117
118
|
args: ['EXPLICIT_CONTEXT']
|