barsa-develop-components 2.2.1 → 2.2.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/esm2022/barsa-develop-components.mjs +5 -0
- package/esm2022/lib/accept-reject/accept-reject.component.mjs +68 -0
- package/esm2022/lib/avatar/avatar.component.mjs +29 -0
- package/esm2022/lib/barcode-format-pipe.mjs +25 -0
- package/esm2022/lib/barcode-reader/barcode-reader.component.mjs +62 -0
- package/esm2022/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +82 -0
- package/esm2022/lib/barcode-reader-video/barcode-reader-video.component.mjs +66 -0
- package/esm2022/lib/barcode.service.mjs +330 -0
- package/esm2022/lib/barsa-develop-components.module.mjs +292 -0
- package/esm2022/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +104 -0
- package/esm2022/lib/barsa-documents/barsa-documents.component.mjs +159 -0
- package/esm2022/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +173 -0
- package/esm2022/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +50 -0
- package/esm2022/lib/card-content-line-chart/card-content-line-chart.component.mjs +36 -0
- package/esm2022/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +19 -0
- package/esm2022/lib/card-header-kpi/card-header-kpi.component.mjs +40 -0
- package/esm2022/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +45 -0
- package/esm2022/lib/checkbox-button/checkbox-button.component.mjs +23 -0
- package/esm2022/lib/column-chip/column-chip.component.mjs +44 -0
- package/esm2022/lib/column-form-viewer/column-form-viewer.component.mjs +88 -0
- package/esm2022/lib/column-progressbar/column-progressbar.component.mjs +87 -0
- package/esm2022/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +18 -0
- package/esm2022/lib/footer/footer.component.mjs +43 -0
- package/esm2022/lib/form-card/form-card.component.mjs +17 -0
- package/esm2022/lib/form-chart-content/form-chart-content.component.mjs +36 -0
- package/esm2022/lib/form-content-quick-view/form-content-quick-view.component.mjs +102 -0
- package/esm2022/lib/form-report-view/form-report-view.component.mjs +25 -0
- package/esm2022/lib/form-report-view-item/form-report-view-item.component.mjs +45 -0
- package/esm2022/lib/g4b-details/g4b-details.component.mjs +28 -0
- package/esm2022/lib/g4b-estelam/g4b-estelam.component.mjs +30 -0
- package/esm2022/lib/geographic-location/geographic-location.component.mjs +88 -0
- package/esm2022/lib/login-form/login-form.component.mjs +55 -0
- package/esm2022/lib/login-social-conncetions/login-social-conncetions.component.mjs +30 -0
- package/esm2022/lib/master-detail-card-form/master-detail-card-form.component.mjs +17 -0
- package/esm2022/lib/media-file-uploader/media-file-uploader.component.mjs +238 -0
- package/esm2022/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +52 -0
- package/esm2022/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +24 -0
- package/esm2022/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +23 -0
- package/esm2022/lib/models/document-item.mjs +2 -0
- package/esm2022/lib/models/documents-setting.mjs +2 -0
- package/esm2022/lib/models/form-report-view-setting.mjs +2 -0
- package/esm2022/lib/models/index.mjs +8 -0
- package/esm2022/lib/models/micro-process-flow-view-setting.mjs +2 -0
- package/esm2022/lib/models/person.mjs +2 -0
- package/esm2022/lib/models/service-desk-view-of-services-setting.mjs +2 -0
- package/esm2022/lib/models/tab-process-view-setting.mjs +2 -0
- package/esm2022/lib/pipes/datasource-to-flow-item.mjs +23 -0
- package/esm2022/lib/pipes/index.mjs +3 -0
- package/esm2022/lib/pipes/mo-list-to-flow-item.pipe.mjs +23 -0
- package/esm2022/lib/query-string-form-observable/query-string-form-observable.component.mjs +37 -0
- package/esm2022/lib/query-string-observable/query-string-observable.component.mjs +22 -0
- package/esm2022/lib/report-button-view/report-button-view.component.mjs +37 -0
- package/esm2022/lib/report-line-chart-view/report-line-chart-view.component.mjs +12 -0
- package/esm2022/lib/report-tab-view/report-tab-view.component.mjs +27 -0
- package/esm2022/lib/resend-verification-code/resend-verification-code.component.mjs +62 -0
- package/esm2022/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +28 -0
- package/esm2022/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +110 -0
- package/esm2022/lib/service-desk-header/service-desk-header.component.mjs +238 -0
- package/esm2022/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +142 -0
- package/esm2022/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +37 -0
- package/esm2022/lib/setting-form/setting-form.component.mjs +64 -0
- package/esm2022/lib/subform-in-row-report/subform-in-row-report.component.mjs +73 -0
- package/esm2022/lib/tab-process-view/tab-process-view.component.mjs +48 -0
- package/esm2022/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +16 -0
- package/esm2022/lib/timer-count-down/timer-count-down.component.mjs +104 -0
- package/esm2022/lib/token-report-view/token-report-view.component.mjs +27 -0
- package/esm2022/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +25 -0
- package/esm2022/lib/ui-num-rate/ui-num-rate.component.mjs +29 -0
- package/esm2022/lib/ui-person/ui-person.component.mjs +160 -0
- package/esm2022/lib/ui-person/ui-person.pipe.mjs +41 -0
- package/esm2022/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +17 -0
- package/esm2022/lib/ui-text-field-search/ui-text-field-search.component.mjs +42 -0
- package/esm2022/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +69 -0
- package/esm2022/public-api.mjs +64 -0
- package/package.json +3 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { BaseComponent, getUniqueId } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/bar";
|
|
7
|
+
import * as i4 from "@fundamental-ngx/core/button";
|
|
8
|
+
import * as i5 from "@fundamental-ngx/core/form";
|
|
9
|
+
import * as i6 from "@fundamental-ngx/core/object-status";
|
|
10
|
+
import * as i7 from "@fundamental-ngx/core/popover";
|
|
11
|
+
export class AcceptRejectComponent extends BaseComponent {
|
|
12
|
+
constructor(_cdr) {
|
|
13
|
+
super();
|
|
14
|
+
this._cdr = _cdr;
|
|
15
|
+
this.rejectedChanged = new EventEmitter();
|
|
16
|
+
this.id = getUniqueId(3);
|
|
17
|
+
this.applied = false;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
super.ngOnInit();
|
|
21
|
+
this._initilaize();
|
|
22
|
+
}
|
|
23
|
+
onReject() {
|
|
24
|
+
this._raiseEvent(true, true, this.rejectedReason);
|
|
25
|
+
}
|
|
26
|
+
onReset() {
|
|
27
|
+
this._raiseEvent(false, false);
|
|
28
|
+
}
|
|
29
|
+
onAccept() {
|
|
30
|
+
this._raiseEvent(true, false);
|
|
31
|
+
}
|
|
32
|
+
_initilaize() {
|
|
33
|
+
if (this.rejectedReason) {
|
|
34
|
+
this.rejected = true;
|
|
35
|
+
this.applied = true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
_raiseEvent(applied, rejected, rejectedReason = '') {
|
|
39
|
+
this.applied = applied;
|
|
40
|
+
this.rejected = rejected;
|
|
41
|
+
this.rejectedReason = rejectedReason;
|
|
42
|
+
this.rejectedChanged.emit({ accept: rejected, error: rejectedReason });
|
|
43
|
+
this._cdr.detectChanges();
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AcceptRejectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AcceptRejectComponent, selector: "bdc-accept-reject", inputs: { negativeText: "negativeText", positiveText: "positiveText", rejectedReason: "rejectedReason", acceptedText: "acceptedText", deviceSize: "deviceSize", readonly: "readonly", rejected: "rejected" }, outputs: { rejectedChanged: "rejectedChanged" }, usesInheritance: true, ngImport: i0, template: "@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>\u0639\u0644\u062A \u0631\u062F</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('\u2713' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i5.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i5.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "component", type: i6.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AcceptRejectComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'bdc-accept-reject', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>\u0639\u0644\u062A \u0631\u062F</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('\u2713' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n", styles: [":host{display:block}\n"] }]
|
|
51
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { negativeText: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], positiveText: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], rejectedReason: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], acceptedText: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], deviceSize: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], readonly: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], rejected: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], rejectedChanged: [{
|
|
66
|
+
type: Output
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0LXJlamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9hY2NlcHQtcmVqZWN0L2FjY2VwdC1yZWplY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYWNjZXB0LXJlamVjdC9hY2NlcHQtcmVqZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFTekYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFZcEQsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUpqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBRW5GLE9BQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUdoQixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUNTLFdBQVcsQ0FBQyxPQUFnQixFQUFFLFFBQWlCLEVBQUUsY0FBYyxHQUFHLEVBQUU7UUFDMUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0F6Q1EscUJBQXFCO21HQUFyQixxQkFBcUIsK1VDbEJsQywrcEZBZ0VBOzs0RkQ5Q2EscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7c0ZBR1IsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYmJyZXZhdGlvbkRldmljZVNpemUsIEJhc2VDb21wb25lbnQsIGdldFVuaXF1ZUlkIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1hY2NlcHQtcmVqZWN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NlcHQtcmVqZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FjY2VwdC1yZWplY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY2VwdFJlamVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgbmVnYXRpdmVUZXh0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwb3NpdGl2ZVRleHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHJlamVjdGVkUmVhc29uOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBhY2NlcHRlZFRleHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcmVqZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgcmVqZWN0ZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFjY2VwdDogYm9vbGVhbjsgZXJyb3I6IHN0cmluZyB9PigpO1xyXG5cclxuICAgIGlkID0gZ2V0VW5pcXVlSWQoMyk7XHJcbiAgICBhcHBsaWVkID0gZmFsc2U7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX2luaXRpbGFpemUoKTtcclxuICAgIH1cclxuICAgIG9uUmVqZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQodHJ1ZSwgdHJ1ZSwgdGhpcy5yZWplY3RlZFJlYXNvbik7XHJcbiAgICB9XHJcbiAgICBvblJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQoZmFsc2UsIGZhbHNlKTtcclxuICAgIH1cclxuICAgIG9uQWNjZXB0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQodHJ1ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9pbml0aWxhaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnJlamVjdGVkUmVhc29uKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGxpZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VFdmVudChhcHBsaWVkOiBib29sZWFuLCByZWplY3RlZDogYm9vbGVhbiwgcmVqZWN0ZWRSZWFzb24gPSAnJyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXBwbGllZCA9IGFwcGxpZWQ7XHJcbiAgICAgICAgdGhpcy5yZWplY3RlZCA9IHJlamVjdGVkO1xyXG4gICAgICAgIHRoaXMucmVqZWN0ZWRSZWFzb24gPSByZWplY3RlZFJlYXNvbjtcclxuICAgICAgICB0aGlzLnJlamVjdGVkQ2hhbmdlZC5lbWl0KHsgYWNjZXB0OiByZWplY3RlZCwgZXJyb3I6IHJlamVjdGVkUmVhc29uIH0pO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmICghYXBwbGllZCAmJiAhcmVhZG9ubHkpIHtcclxuPGRpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbbGFiZWxdPVwicG9zaXRpdmVUZXh0IHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBmZFR5cGU9XCJwb3NpdGl2ZVwiXHJcbiAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLXN1Y2Nlc3NcIlxyXG4gICAgICAgIGFyaWFMYWJlbD1cInBvc2l0aXZlXCJcclxuICAgICAgICB2YWx1ZT1cInllc1wiXHJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW46IDAgNXB4XCJcclxuICAgICAgICAoY2xpY2spPVwib25BY2NlcHQoKVwiXHJcbiAgICA+PC9idXR0b24+XHJcbiAgICA8ZmQtcG9wb3ZlciBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIiAjcG9wb3Zlcj5cclxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJuZWdhdGl2ZVRleHQgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLWVycm9yXCJcclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cIm5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgPGZkLXBvcG92ZXItYm9keSBzdHlsZT1cIm1pbi13aWR0aDogMzIwcHhcIj5cclxuICAgICAgICAgICAgPGRpdiBmZC1wb3BvdmVyLWJvZHktaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXIgW2NvenldPVwidHJ1ZVwiIGlkPVwicG9wb3Zlci1iYXItaGVhZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtb2JqZWN0LXN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPVwibmVnYXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLWVycm9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQXJpYUxhYmVsPVwiTmVnYXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJOZWdhdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD7YudmE2Kog2LHYrzwvZmQtYmFyLWVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGZkLWZvcm0taW5wdXQtbWVzc2FnZS1ncm91cD5cclxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgZmQtZm9ybS1jb250cm9sIFtpZF09XCJpZFwiIFsobmdNb2RlbCldPVwicmVqZWN0ZWRSZWFzb25cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhciBiYXJEZXNpZ249XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT2snIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKTsgb25SZWplY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiIChjbGljayk9XCJwb3BvdmVyLmNsb3NlKClcIj48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICA8L2ZkLXBvcG92ZXI+XHJcbjwvZGl2PlxyXG59IEBpZiAocmVhZG9ubHkgfHwgYXBwbGllZCkge1xyXG48ZGl2PlxyXG4gICAgPHNwYW4+e3sgcmVqZWN0ZWQgPyByZWplY3RlZFJlYXNvbiA6ICgn4pyTJyArIGFjY2VwdGVkVGV4dCB8IGJiYlRyYW5zbGF0ZSkgfX08L3NwYW4+XHJcbiAgICA8YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImRlY2xpbmVcIiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJvblJlc2V0KClcIj48L2J1dHRvbj5cclxuPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BaseItemContentPropsComponent } from 'barsa-novin-ray-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
+
import * as i2 from "@fundamental-ngx/core/avatar";
|
|
6
|
+
import * as i3 from "@fundamental-ngx/core/card";
|
|
7
|
+
export class AvatarComponent extends BaseItemContentPropsComponent {
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
super.ngOnInit();
|
|
10
|
+
this._setProps(this.mo);
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
const { mo } = changes;
|
|
14
|
+
if (mo && !mo.firstChange) {
|
|
15
|
+
this._setProps(mo.currentValue);
|
|
16
|
+
this._cdr.detectChanges();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
_setProps(mo) {
|
|
20
|
+
this.pictureId = this.mo[this.parameters.FieldName]?.FileId;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AvatarComponent, selector: "bdc-avatar", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-card>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters.FieldName]\"\r\n [size]=\"'xs'\"\r\n [glyph]=\"parameters.DefaultIcon || null\"\r\n [circle]=\"parameters.Circle\"\r\n [placeHolder]=\"parameters.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title nowraptext width=\"90%\">\r\n {{ column.Name | val: mo:true | bbbTranslate }}\r\n </h2>\r\n <h3 fd-card-subtitle nowraptext>{{ parameters.Subtitle | rval: mo:allColumns:true | bbbTranslate }}</h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n", styles: [":host{display:flex;align-items:flex-start;column-gap:5px;padding:3px 0;width:100%}.avatar-data{display:flex;flex-direction:column;row-gap:5px}fd-card{border:none;box-shadow:none;background:transparent!important}fd-card-header{border:none!important;background:transparent!important}fd-card-header:hover{background:transparent!important}fd-card-header ::ng-deep .fd-card__header-main{background:transparent!important;padding:.2rem 0!important}fd-card,fd-card-header{cursor:default;font-weight:inherit!important}fd-card:focus:before,fd-card-header:focus:before{border:none!important}fd-card ::ng-deep .fd-card__title-area,fd-card ::ng-deep .fd-card__header-text,fd-card ::ng-deep .fd-card__subtitle-area,fd-card ::ng-deep h2,fd-card ::ng-deep h3,fd-card-header ::ng-deep .fd-card__title-area,fd-card-header ::ng-deep .fd-card__header-text,fd-card-header ::ng-deep .fd-card__subtitle-area,fd-card-header ::ng-deep h2,fd-card-header ::ng-deep h3{font-weight:inherit!important}fd-card-header{padding:0!important;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.PlaceHolderDirective, selector: "[placeHolder]", inputs: ["placeHolder"] }, { kind: "directive", type: i1.NowraptextDirective, selector: "[nowraptext]", inputs: ["width"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "directive", type: i3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "pipe", type: i1.MoValuePipe, name: "val" }, { kind: "pipe", type: i1.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ selector: 'bdc-avatar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-card>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters.FieldName]\"\r\n [size]=\"'xs'\"\r\n [glyph]=\"parameters.DefaultIcon || null\"\r\n [circle]=\"parameters.Circle\"\r\n [placeHolder]=\"parameters.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title nowraptext width=\"90%\">\r\n {{ column.Name | val: mo:true | bbbTranslate }}\r\n </h2>\r\n <h3 fd-card-subtitle nowraptext>{{ parameters.Subtitle | rval: mo:allColumns:true | bbbTranslate }}</h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n", styles: [":host{display:flex;align-items:flex-start;column-gap:5px;padding:3px 0;width:100%}.avatar-data{display:flex;flex-direction:column;row-gap:5px}fd-card{border:none;box-shadow:none;background:transparent!important}fd-card-header{border:none!important;background:transparent!important}fd-card-header:hover{background:transparent!important}fd-card-header ::ng-deep .fd-card__header-main{background:transparent!important;padding:.2rem 0!important}fd-card,fd-card-header{cursor:default;font-weight:inherit!important}fd-card:focus:before,fd-card-header:focus:before{border:none!important}fd-card ::ng-deep .fd-card__title-area,fd-card ::ng-deep .fd-card__header-text,fd-card ::ng-deep .fd-card__subtitle-area,fd-card ::ng-deep h2,fd-card ::ng-deep h3,fd-card-header ::ng-deep .fd-card__title-area,fd-card-header ::ng-deep .fd-card__header-text,fd-card-header ::ng-deep .fd-card__subtitle-area,fd-card-header ::ng-deep h2,fd-card-header ::ng-deep h3{font-weight:inherit!important}fd-card-header{padding:0!important;align-items:center}\n"] }]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBU25ILE1BQU0sT0FBTyxlQUFnQixTQUFRLDZCQUFzRDtJQUd2RixRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ1MsU0FBUyxDQUFDLEVBQXVCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoRSxDQUFDOytHQWhCUSxlQUFlO21HQUFmLGVBQWUsOEZDVjVCLDI1QkFtQkE7OzRGRFRhLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUl0ZW1Db250ZW50UHJvcHNDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1hdmF0YXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwaWN0dXJlSWQ6IHN0cmluZztcclxuICAgIHN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldFByb3BzKHRoaXMubW8pO1xyXG4gICAgfVxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHsgbW8gfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG1vICYmICFtby5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRQcm9wcyhtby5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0UHJvcHMobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBpY3R1cmVJZCA9IHRoaXMubW9bdGhpcy5wYXJhbWV0ZXJzLkZpZWxkTmFtZV0/LkZpbGVJZDtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtY2FyZD5cclxuICAgIDxmZC1jYXJkLWhlYWRlcj5cclxuICAgICAgICA8ZmQtY2FyZC1tYWluLWhlYWRlcj5cclxuICAgICAgICAgICAgPGZkLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIiFtb1twYXJhbWV0ZXJzLkZpZWxkTmFtZV1cIlxyXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ3hzJ1wiXHJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwicGFyYW1ldGVycy5EZWZhdWx0SWNvbiB8fCBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwicGFyYW1ldGVycy5DaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cInBhcmFtZXRlcnMuRGVmYXVsdEljb24hIVwiXHJcbiAgICAgICAgICAgICAgICBbaW1hZ2VdPVwicGljdHVyZUlkID8gKHBpY3R1cmVJZCB8IHBpY0ZpZWxkU3JjOiAnUGljdHVyZUZpbGVJbmZvJzptby5JZDpjb2x1bW4uRmllbGREZWZJZCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIGFsdGVySWNvbj1cImFsdHxjb250ZW50fGJhY2t1cHxkZWZhdWx0LWljb25cIlxyXG4gICAgICAgICAgICA+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgIDxoMiBmZC1jYXJkLXRpdGxlIG5vd3JhcHRleHQgd2lkdGg9XCI5MCVcIj5cclxuICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5OYW1lIHwgdmFsOiBtbzp0cnVlIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxoMyBmZC1jYXJkLXN1YnRpdGxlIG5vd3JhcHRleHQ+e3sgcGFyYW1ldGVycy5TdWJ0aXRsZSB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSB8IGJiYlRyYW5zbGF0ZSB9fTwvaDM+XHJcbiAgICAgICAgPC9mZC1jYXJkLW1haW4taGVhZGVyPlxyXG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cclxuPC9mZC1jYXJkPlxyXG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { BarcodeFormat } from '@zxing/library';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BarcodeFormatPipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
let format = '';
|
|
7
|
+
for (const enumMember of Object.keys(BarcodeFormat)) {
|
|
8
|
+
const isValueProperty = parseInt(enumMember, 10) >= 0;
|
|
9
|
+
if (isValueProperty && Number(enumMember) === value) {
|
|
10
|
+
format = BarcodeFormat[enumMember];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return format;
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
16
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: BarcodeFormatPipe, name: "barcodeFormat" }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeFormatPipe, decorators: [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{
|
|
21
|
+
name: 'barcodeFormat',
|
|
22
|
+
standalone: false
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1mb3JtYXQtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcmNvZGUtZm9ybWF0LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU0vQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLGVBQWUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOytHQVZRLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhcmNvZGVGb3JtYXQgfSBmcm9tICdAenhpbmcvbGlicmFyeSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnYmFyY29kZUZvcm1hdCcsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyY29kZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgZm9ybWF0ID0gJyc7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbnVtTWVtYmVyIG9mIE9iamVjdC5rZXlzKEJhcmNvZGVGb3JtYXQpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsdWVQcm9wZXJ0eSA9IHBhcnNlSW50KGVudW1NZW1iZXIsIDEwKSA+PSAwO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWx1ZVByb3BlcnR5ICYmIE51bWJlcihlbnVtTWVtYmVyKSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGZvcm1hdCA9IEJhcmNvZGVGb3JtYXRbZW51bU1lbWJlcl07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { takeUntil } from 'rxjs/operators';
|
|
3
|
+
import { BarsaApi } from 'barsa-novin-ray-core';
|
|
4
|
+
import { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';
|
|
5
|
+
import { BarcodeReaderDialogComponent } from '../barcode-reader-dialog/barcode-reader-dialog.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@fundamental-ngx/platform";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "barsa-novin-ray-core";
|
|
10
|
+
export class BarcodeReaderComponent extends UiMoInfoSubFormUiComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.size = 'large';
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
super.ngOnInit();
|
|
17
|
+
this.barcodeValue = this.context.Setting.FormPanelSetting.Data.Mo.Value;
|
|
18
|
+
const format = this.context.Setting.CustomFieldInfo?.Format;
|
|
19
|
+
if (format) {
|
|
20
|
+
this.barcodeFormat = format
|
|
21
|
+
.split(',')
|
|
22
|
+
.filter((c) => c)
|
|
23
|
+
.map((c) => Number(c) - 1);
|
|
24
|
+
}
|
|
25
|
+
this.size = BarsaApi.Bw.GetWindowSize();
|
|
26
|
+
}
|
|
27
|
+
onOpenBarcodeReader() {
|
|
28
|
+
const data = { barcodeFormats: this.barcodeFormat };
|
|
29
|
+
const dialogRef = this._dialogService.open(BarcodeReaderDialogComponent, {
|
|
30
|
+
data,
|
|
31
|
+
fullScreen: this.isMobileDevice ? false : true,
|
|
32
|
+
verticalPadding: true,
|
|
33
|
+
responsivePadding: true,
|
|
34
|
+
mobile: this.isMobileDevice,
|
|
35
|
+
mobileOuterSpacing: true
|
|
36
|
+
});
|
|
37
|
+
dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {
|
|
38
|
+
if (value) {
|
|
39
|
+
this._setFieldValue(value);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
onValueChange(e) {
|
|
44
|
+
this._setFieldValue(e.target.value);
|
|
45
|
+
}
|
|
46
|
+
_addFormControl(formControl) {
|
|
47
|
+
this.customFormPanelUi = formControl;
|
|
48
|
+
}
|
|
49
|
+
_setFieldValue(value) {
|
|
50
|
+
this.barcodeValue = value;
|
|
51
|
+
const valueCustomFieldUi = this.context.formControl._dictFieldUi.Value;
|
|
52
|
+
valueCustomFieldUi.value = value;
|
|
53
|
+
valueCustomFieldUi.fireEvent('change', value);
|
|
54
|
+
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarcodeReaderComponent, selector: "bdc-barcode-reader", usesInheritance: true, ngImport: i0, template: "<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputGroupComponent, selector: "fdp-input-group", inputs: ["value"] }, { kind: "component", type: i1.InputGroupAddonComponent, selector: "fdp-input-group-addon" }, { kind: "component", type: i1.InputGroupInputComponent, selector: "fdp-input-group-input", inputs: ["type"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{ selector: 'bdc-barcode-reader', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n" }]
|
|
61
|
+
}] });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXIvYmFyY29kZS1yZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXIvYmFyY29kZS1yZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7QUFTeEcsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDBCQUEwQjtJQVB0RTs7UUFRVyxTQUFJLEdBQThCLE9BQU8sQ0FBQztLQThDcEQ7SUF6Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7UUFDcEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTTtpQkFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDaEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsTUFBTSxJQUFJLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JFLElBQUk7WUFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzlDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hFLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsYUFBYSxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNTLGVBQWUsQ0FBQyxXQUFXO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUM7SUFDekMsQ0FBQztJQUNPLGNBQWMsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN2RSxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzsrR0E5Q1Esc0JBQXNCO21HQUF0QixzQkFBc0IsaUZDakJuQyw0eUJBdUJBOzs0RkROYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etc2FwLXVpJztcclxuXHJcbmltcG9ydCB7IEJhcmNvZGVSZWFkZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iYXJjb2RlLXJlYWRlci1kaWFsb2cvYmFyY29kZS1yZWFkZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcmNvZGVGb3JtYXQgfSBmcm9tICdAenhpbmcvbGlicmFyeSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtYmFyY29kZS1yZWFkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcmNvZGUtcmVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcmNvZGUtcmVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJjb2RlUmVhZGVyQ29tcG9uZW50IGV4dGVuZHMgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIHNpemU6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgPSAnbGFyZ2UnO1xyXG4gICAgcHVibGljIGJhcmNvZGVWYWx1ZTogc3RyaW5nO1xyXG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcclxuICAgIGJhcmNvZGVGb3JtYXQ6IEFycmF5PEJhcmNvZGVGb3JtYXQ+O1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5iYXJjb2RlVmFsdWUgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5Gb3JtUGFuZWxTZXR0aW5nLkRhdGEuTW8uVmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybWF0OiBzdHJpbmcgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5DdXN0b21GaWVsZEluZm8/LkZvcm1hdDtcclxuICAgICAgICBpZiAoZm9ybWF0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFyY29kZUZvcm1hdCA9IGZvcm1hdFxyXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IGMpXHJcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiBOdW1iZXIoYykgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaXplID0gQmFyc2FBcGkuQncuR2V0V2luZG93U2l6ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uT3BlbkJhcmNvZGVSZWFkZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgYmFyY29kZUZvcm1hdHM6IHRoaXMuYmFyY29kZUZvcm1hdCB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihCYXJjb2RlUmVhZGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGZ1bGxTY3JlZW46IHRoaXMuaXNNb2JpbGVEZXZpY2UgPyBmYWxzZSA6IHRydWUsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5pc01vYmlsZURldmljZSxcclxuICAgICAgICAgICAgbW9iaWxlT3V0ZXJTcGFjaW5nOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0RmllbGRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9uVmFsdWVDaGFuZ2UoZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldEZpZWxkVmFsdWUoZS50YXJnZXQudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9hZGRGb3JtQ29udHJvbChmb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtQ29udHJvbDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NldEZpZWxkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYmFyY29kZVZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgY29uc3QgdmFsdWVDdXN0b21GaWVsZFVpID0gdGhpcy5jb250ZXh0LmZvcm1Db250cm9sLl9kaWN0RmllbGRVaS5WYWx1ZTtcclxuICAgICAgICB2YWx1ZUN1c3RvbUZpZWxkVWkudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB2YWx1ZUN1c3RvbUZpZWxkVWkuZmlyZUV2ZW50KCdjaGFuZ2UnLCB2YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSA8ZmQtaW5wdXQtZ3JvdXBcclxuICBwbGFjZW1lbnQ9XCJhZnRlclwiXHJcbiAgZ2x5cGg9XCJjYW1lcmFcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCInQmFyY29kZVJlYWRlcicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gIFtidXR0b25dPVwidHJ1ZVwiXHJcbiAgYXJpYUxhYmVsbGVkQnk9XCJmZC1pbnB1dC1ncm91cC1idXR0b24tbGFiZWwtMlwiXHJcbiAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJvbk9wZW5CYXJjb2RlUmVhZGVyKClcIlxyXG4gIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4+XHJcbjwvZmQtaW5wdXQtZ3JvdXA+IC0tPlxyXG5cclxuPGZkcC1pbnB1dC1ncm91cFxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidCYXJjb2RlUmVhZGVyJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICBbdmFsdWVdPVwiYmFyY29kZVZhbHVlXCJcclxuICAgIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ2JhcmNvZGVfJyArIGlkXCJcclxuICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpISFcIlxyXG4+XHJcbiAgICA8ZmRwLWlucHV0LWdyb3VwLWlucHV0IHR5cGU9XCJ0ZXh0XCI+PC9mZHAtaW5wdXQtZ3JvdXAtaW5wdXQ+XHJcbiAgICA8ZmRwLWlucHV0LWdyb3VwLWFkZG9uPlxyXG4gICAgICAgIDxmZHAtYnV0dG9uIGdseXBoPVwiY2FtZXJhXCIgKGNsaWNrKT1cIm9uT3BlbkJhcmNvZGVSZWFkZXIoKVwiPjwvZmRwLWJ1dHRvbj5cclxuICAgIDwvZmRwLWlucHV0LWdyb3VwLWFkZG9uPlxyXG48L2ZkcC1pbnB1dC1ncm91cD5cclxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
4
|
+
import { concatMap, delay, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
+
import { BarcodeFormat } from '@zxing/library';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@fundamental-ngx/core";
|
|
8
|
+
import * as i2 from "../barcode.service";
|
|
9
|
+
import * as i3 from "@fundamental-ngx/core/bar";
|
|
10
|
+
import * as i4 from "@fundamental-ngx/core/dialog";
|
|
11
|
+
import * as i5 from "@fundamental-ngx/cdk/utils";
|
|
12
|
+
import * as i6 from "@fundamental-ngx/core/title";
|
|
13
|
+
import * as i7 from "@fundamental-ngx/core/select";
|
|
14
|
+
import * as i8 from "../barcode-reader-video/barcode-reader-video.component";
|
|
15
|
+
import * as i9 from "@angular/common";
|
|
16
|
+
import * as i10 from "barsa-novin-ray-core";
|
|
17
|
+
export class BarcodeReaderDialogComponent extends BaseComponent {
|
|
18
|
+
constructor(_dialogRef, _userMediaService) {
|
|
19
|
+
super();
|
|
20
|
+
this._dialogRef = _dialogRef;
|
|
21
|
+
this._userMediaService = _userMediaService;
|
|
22
|
+
this.value = '';
|
|
23
|
+
this.format = [BarcodeFormat.QR_CODE];
|
|
24
|
+
this.loading = true;
|
|
25
|
+
this._dialogRef.loading(true);
|
|
26
|
+
this.barcodeFormats = this._dialogRef.data?.barcodeFormats ?? [];
|
|
27
|
+
this.selectedFormat = this.barcodeFormats.length > 0 ? this.barcodeFormats[0] : BarcodeFormat.QR_CODE;
|
|
28
|
+
}
|
|
29
|
+
ngAfterViewInit() {
|
|
30
|
+
super.ngAfterViewInit();
|
|
31
|
+
this._initialize();
|
|
32
|
+
}
|
|
33
|
+
onDismiss() {
|
|
34
|
+
this._dialogRef.dismiss();
|
|
35
|
+
}
|
|
36
|
+
onOk() {
|
|
37
|
+
this._close();
|
|
38
|
+
}
|
|
39
|
+
onCameraChange(value) {
|
|
40
|
+
this.selectedCamera = value;
|
|
41
|
+
}
|
|
42
|
+
onFormatChange(format) {
|
|
43
|
+
this.selectedFormat = format;
|
|
44
|
+
}
|
|
45
|
+
onScanSuccess(result) {
|
|
46
|
+
this.value = result;
|
|
47
|
+
this._close();
|
|
48
|
+
}
|
|
49
|
+
onValueChanged(e) {
|
|
50
|
+
this.value = e.target.value;
|
|
51
|
+
}
|
|
52
|
+
_close() {
|
|
53
|
+
this._dialogRef.close(this.value);
|
|
54
|
+
}
|
|
55
|
+
_initialize() {
|
|
56
|
+
of(true)
|
|
57
|
+
.pipe(takeUntil(this._onDestroy$), exhaustMap(() => this._userMediaService.askForPermission()), concatMap((permission) => {
|
|
58
|
+
if (permission) {
|
|
59
|
+
return this._userMediaService.updateVideoInputDevices();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return of(true);
|
|
63
|
+
}
|
|
64
|
+
}), finalize(() => {
|
|
65
|
+
this.loading = false;
|
|
66
|
+
this._dialogRef.loading(false);
|
|
67
|
+
}))
|
|
68
|
+
.subscribe();
|
|
69
|
+
this.hasDevice$ = this._userMediaService.hasDevices$;
|
|
70
|
+
this.permission$ = this._userMediaService.permission$;
|
|
71
|
+
this.cameras$ = this._userMediaService.cameras$.pipe(delay(0), tap((cameras) => {
|
|
72
|
+
this.selectedCamera = cameras.find((c) => c.label.indexOf('back') > -1) ?? cameras[0];
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.UserMediaBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarcodeReaderDialogComponent, selector: "bdc-barcode-reader-dialog", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i4.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i4.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i4.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i5.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i7.SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "textOverflow", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "glyphFont", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i7.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i8.BarcodeReaderVideoComponent, selector: "bdc-barcode-reader-video", inputs: ["allFormats", "previewFitMode", "selectedCamera"], outputs: ["scanSuccess"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderDialogComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
args: [{ selector: 'bdc-barcode-reader-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.UserMediaBaseService }] });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy9iYXJjb2RlLXJlYWRlci1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItZGlhbG9nL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQVEvQyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsYUFBYTtJQVUzRCxZQUFvQixVQUFxQixFQUFVLGlCQUF1QztRQUN0RixLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQVc7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBVDFGLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxXQUFNLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFTN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQzFHLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUk7UUFDQSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBTTtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxjQUFjLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNPLE1BQU07UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNPLFdBQVc7UUFDZixFQUFFLENBQUMsSUFBSSxDQUFDO2FBQ0gsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUMzRCxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQixJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDNUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7K0dBeEVRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdGQ2Z6Qyxza0RBd0NBOzs0RkR6QmEsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVXNlck1lZGlhQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9iYXJjb2RlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb25jYXRNYXAsIGRlbGF5LCBleGhhdXN0TWFwLCBmaW5hbGl6ZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhcmNvZGVGb3JtYXQgfSBmcm9tICdAenhpbmcvbGlicmFyeSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtYmFyY29kZS1yZWFkZXItZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJjb2RlLXJlYWRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyY29kZS1yZWFkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJjb2RlUmVhZGVyRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gICAgdmFsdWUgPSAnJztcclxuICAgIGNhbWVyYXMkOiBPYnNlcnZhYmxlPE1lZGlhRGV2aWNlSW5mb1tdPjtcclxuICAgIGZvcm1hdCA9IFtCYXJjb2RlRm9ybWF0LlFSX0NPREVdO1xyXG4gICAgaGFzRGV2aWNlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBlcm1pc3Npb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgbG9hZGluZzogYm9vbGVhbjtcclxuICAgIHNlbGVjdGVkQ2FtZXJhOiBNZWRpYURldmljZUluZm87XHJcbiAgICBiYXJjb2RlRm9ybWF0czogQXJyYXk8QmFyY29kZUZvcm1hdD47XHJcbiAgICBzZWxlY3RlZEZvcm1hdDogQmFyY29kZUZvcm1hdDtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZ1JlZjogRGlhbG9nUmVmLCBwcml2YXRlIF91c2VyTWVkaWFTZXJ2aWNlOiBVc2VyTWVkaWFCYXNlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYubG9hZGluZyh0cnVlKTtcclxuICAgICAgICB0aGlzLmJhcmNvZGVGb3JtYXRzID0gdGhpcy5fZGlhbG9nUmVmLmRhdGE/LmJhcmNvZGVGb3JtYXRzID8/IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGb3JtYXQgPSB0aGlzLmJhcmNvZGVGb3JtYXRzLmxlbmd0aCA+IDAgPyB0aGlzLmJhcmNvZGVGb3JtYXRzWzBdIDogQmFyY29kZUZvcm1hdC5RUl9DT0RFO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaXNtaXNzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5kaXNtaXNzKCk7XHJcbiAgICB9XHJcbiAgICBvbk9rKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DYW1lcmFDaGFuZ2UodmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FtZXJhID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBvbkZvcm1hdENoYW5nZShmb3JtYXQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRm9ybWF0ID0gZm9ybWF0O1xyXG4gICAgfVxyXG4gICAgb25TY2FuU3VjY2VzcyhyZXN1bHQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gcmVzdWx0O1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB9XHJcbiAgICBvblZhbHVlQ2hhbmdlZChlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfY2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgICAgICBvZih0cnVlKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5fdXNlck1lZGlhU2VydmljZS5hc2tGb3JQZXJtaXNzaW9uKCkpLFxyXG4gICAgICAgICAgICAgICAgY29uY2F0TWFwKChwZXJtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJNZWRpYVNlcnZpY2UudXBkYXRlVmlkZW9JbnB1dERldmljZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmxvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5oYXNEZXZpY2UkID0gdGhpcy5fdXNlck1lZGlhU2VydmljZS5oYXNEZXZpY2VzJDtcclxuICAgICAgICB0aGlzLnBlcm1pc3Npb24kID0gdGhpcy5fdXNlck1lZGlhU2VydmljZS5wZXJtaXNzaW9uJDtcclxuICAgICAgICB0aGlzLmNhbWVyYXMkID0gdGhpcy5fdXNlck1lZGlhU2VydmljZS5jYW1lcmFzJC5waXBlKFxyXG4gICAgICAgICAgICBkZWxheSgwKSxcclxuICAgICAgICAgICAgdGFwKChjYW1lcmFzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FtZXJhID0gY2FtZXJhcy5maW5kKChjKSA9PiBjLmxhYmVsLmluZGV4T2YoJ2JhY2snKSA+IC0xKSA/PyBjYW1lcmFzWzBdO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWRpYWxvZz5cclxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgIDxoMSBmZC10aXRsZT57eyAnQmFyY29kZVJlYWRlcicgfCBiYmJUcmFuc2xhdGUgfX0ge3sgc2VsZWN0ZWRDYW1lcmE/LmxhYmVsIH19PC9oMT5cclxuICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cIm9uRGlzbWlzcygpXCI+PC9idXR0b24+XHJcbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICA8ZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgQGlmICghbG9hZGluZykgeyBAaWYgKHBlcm1pc3Npb24kIHwgYXN5bmMpIHsgQGlmIChoYXNEZXZpY2UkIHwgYXN5bmMpIHsgQGlmIChzZWxlY3RlZENhbWVyYSkge1xyXG4gICAgICAgIDxiZGMtYmFyY29kZS1yZWFkZXItdmlkZW9cclxuICAgICAgICAgICAgW2Zvcm1hdF09XCJmb3JtYXRcIlxyXG4gICAgICAgICAgICBbc2VsZWN0ZWRDYW1lcmFdPVwic2VsZWN0ZWRDYW1lcmFcIlxyXG4gICAgICAgICAgICBbYWxsRm9ybWF0c109XCJiYXJjb2RlRm9ybWF0c1wiXHJcbiAgICAgICAgICAgIChzY2FuU3VjY2Vzcyk9XCJvblNjYW5TdWNjZXNzKCRldmVudClcIlxyXG4gICAgICAgID48L2JkYy1iYXJjb2RlLXJlYWRlci12aWRlbz5cclxuICAgICAgICB9IH0gQGVsc2Uge1xyXG4gICAgICAgIDxwPkJyb3dzZXJOb3RTdXBwb3J0PC9wPlxyXG4gICAgICAgIH0gfSBAZWxzZSB7XHJcbiAgICAgICAgPHA+Tm9QZXJtaXNzaW9uPC9wPlxyXG4gICAgICAgIH0gfVxyXG4gICAgPC9mZC1kaWFsb2ctYm9keT5cclxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICBAaWYgKGNhbWVyYXMkIHwgYXN5bmM7IGFzIGNhbWVyYUxpc3QpIHtcclxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cclxuICAgICAgICAgICAgICAgIEBpZiAoY2FtZXJhTGlzdC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICA8ZmQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDYW1lcmEnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DYW1lcmFDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2FtZXJhXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjYW1lcmEgb2YgY2FtZXJhTGlzdDsgdHJhY2sgY2FtZXJhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLW9wdGlvbiBbdmFsdWVdPVwiY2FtZXJhXCI+e3sgY2FtZXJhLmxhYmVsIH19PC9mZC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9mZC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD48L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbjwvZmQtZGlhbG9nPlxyXG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
4
|
+
import { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../barcode.service";
|
|
7
|
+
import * as i2 from "barsa-novin-ray-core";
|
|
8
|
+
export class BarcodeReaderVideoComponent extends BaseComponent {
|
|
9
|
+
set selectedCamera(val) {
|
|
10
|
+
this._cameraSource.next(val);
|
|
11
|
+
}
|
|
12
|
+
constructor(_webBarcodeService) {
|
|
13
|
+
super();
|
|
14
|
+
this._webBarcodeService = _webBarcodeService;
|
|
15
|
+
this.previewFitMode = 'fill';
|
|
16
|
+
this.scanSuccess = new EventEmitter();
|
|
17
|
+
this._cameraSource = new BehaviorSubject(null);
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
super.ngOnInit();
|
|
21
|
+
this._setFormat(this.allFormats);
|
|
22
|
+
this._cameraSource
|
|
23
|
+
.asObservable()
|
|
24
|
+
.pipe(takeUntil(this._onDestroy$), debounceTime(500), filter((camera) => camera != null), tap((camera) => {
|
|
25
|
+
this._stopScan();
|
|
26
|
+
this._startScan(camera);
|
|
27
|
+
}))
|
|
28
|
+
.subscribe();
|
|
29
|
+
this._webBarcodeService.scanSuccess$.subscribe((result) => {
|
|
30
|
+
this.scanSuccess.emit(result);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
super.ngOnDestroy();
|
|
35
|
+
this._webBarcodeService.scanStop();
|
|
36
|
+
}
|
|
37
|
+
_setFormat(formats) {
|
|
38
|
+
this._webBarcodeService.setFormat(formats);
|
|
39
|
+
}
|
|
40
|
+
_stopScan() {
|
|
41
|
+
this._webBarcodeService.scanStop();
|
|
42
|
+
}
|
|
43
|
+
_startScan(camera) {
|
|
44
|
+
if (this.videoElement) {
|
|
45
|
+
this._webBarcodeService.startScan(camera, this.videoElement.nativeElement);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderVideoComponent, deps: [{ token: i1.WebBarcodeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarcodeReaderVideoComponent, selector: "bdc-barcode-reader-video", inputs: { allFormats: "allFormats", previewFitMode: "previewFitMode", selectedCamera: "selectedCamera" }, outputs: { scanSuccess: "scanSuccess" }, viewQueries: [{ propertyName: "videoElement", first: true, predicate: ["videoElement"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n", styles: [":host,video{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarcodeReaderVideoComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'bdc-barcode-reader-video', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n", styles: [":host,video{display:block;width:100%;height:100%}\n"] }]
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.WebBarcodeService }], propDecorators: { allFormats: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], previewFitMode: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], scanSuccess: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}], videoElement: [{
|
|
61
|
+
type: ViewChild,
|
|
62
|
+
args: ['videoElement', { static: true }]
|
|
63
|
+
}], selectedCamera: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItdmlkZW8vYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItdmlkZW8vYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVN0RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQVMxRCxJQUFhLGNBQWMsQ0FBQyxHQUFvQjtRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsWUFBb0Isa0JBQXFDO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRFEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQVh6RCxtQkFBYyxHQUF5RCxNQUFNLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBTzNDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXlCLElBQUksQ0FBQyxDQUFDO0lBSTFFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxhQUFhO2FBQ2IsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBRWxDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBd0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ08sU0FBUztRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ08sVUFBVSxDQUFDLE1BQU07UUFDckIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0wsQ0FBQzsrR0F2RFEsMkJBQTJCO21HQUEzQiwyQkFBMkIsc1dDekJ4QyxvSUFHQTs7NEZEc0JhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSztzRkFHUixVQUFVO3NCQUFsQixLQUFLO2dCQUVOLGNBQWM7c0JBRGIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUU5QixjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXJjb2RlRm9ybWF0IH0gZnJvbSAnQHp4aW5nL2xpYnJhcnknO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgV2ViQmFyY29kZVNlcnZpY2UgfSBmcm9tICcuLi9iYXJjb2RlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLWJhcmNvZGUtcmVhZGVyLXZpZGVvJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJjb2RlLXJlYWRlci12aWRlby5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJjb2RlLXJlYWRlci12aWRlby5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyY29kZVJlYWRlclZpZGVvQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGFsbEZvcm1hdHM6IEJhcmNvZGVGb3JtYXRbXTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwcmV2aWV3Rml0TW9kZTogJ2ZpbGwnIHwgJ2NvbnRhaW4nIHwgJ2NvdmVyJyB8ICdzY2FsZS1kb3duJyB8ICdub25lJyA9ICdmaWxsJztcclxuXHJcbiAgICBAT3V0cHV0KCkgc2NhblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCd2aWRlb0VsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgdmlkZW9FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxWaWRlb0VsZW1lbnQ+O1xyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGVkQ2FtZXJhKHZhbDogTWVkaWFEZXZpY2VJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5fY2FtZXJhU291cmNlLm5leHQodmFsKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NhbWVyYVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVkaWFEZXZpY2VJbmZvIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfd2ViQmFyY29kZVNlcnZpY2U6IFdlYkJhcmNvZGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldEZvcm1hdCh0aGlzLmFsbEZvcm1hdHMpO1xyXG5cclxuICAgICAgICB0aGlzLl9jYW1lcmFTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGNhbWVyYSkgPT4gY2FtZXJhICE9IG51bGwpLFxyXG5cclxuICAgICAgICAgICAgICAgIHRhcCgoY2FtZXJhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcFNjYW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdGFydFNjYW4oY2FtZXJhKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl93ZWJCYXJjb2RlU2VydmljZS5zY2FuU3VjY2VzcyQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zY2FuU3VjY2Vzcy5lbWl0KHJlc3VsdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNjYW5TdG9wKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0Rm9ybWF0KGZvcm1hdHM6IEJhcmNvZGVGb3JtYXRbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNldEZvcm1hdChmb3JtYXRzKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3N0b3BTY2FuKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNjYW5TdG9wKCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zdGFydFNjYW4oY2FtZXJhKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlkZW9FbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnN0YXJ0U2NhbihjYW1lcmEsIHRoaXMudmlkZW9FbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8dmlkZW8gI3ZpZGVvRWxlbWVudCBbc3R5bGUub2JqZWN0LWZpdF09XCJwcmV2aWV3Rml0TW9kZVwiPlxyXG4gICAgPHA+e3sgJ0Jyb3dzZXJOb3RTdXBwb3J0JyB8IGJiYlRyYW5zbGF0ZSB9fTwvcD5cclxuPC92aWRlbz5cclxuIl19
|