barsa-novin-ray-core 2.2.73 → 2.2.75
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/fesm2022/barsa-novin-ray-core.mjs +630 -651
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/field-base.d.ts +1 -1
- package/lib/abstract-classes/number-base.d.ts +1 -1
- package/lib/date-services/date-hijri.service.d.ts +1 -1
- package/lib/date-services/date.service.d.ts +1 -1
- package/lib/directives/base.directive.d.ts +1 -1
- package/lib/dynamic-component/base-view-item-props.d.ts +4 -4
- package/lib/resolvers/login-settings.resolver.d.ts +1 -1
- package/lib/resolvers/tile-group-breadcrumb.resolver.d.ts +1 -1
- package/lib/services/notification.service.d.ts +2 -2
- package/lib/services/portal.service.d.ts +1 -1
- package/package.json +3 -5
- package/esm2022/barsa-novin-ray-core.mjs +0 -5
- package/esm2022/lib/abstract-classes/application-base.mjs +0 -25
- package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
- package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -89
- package/esm2022/lib/abstract-classes/base.component.mjs +0 -60
- package/esm2022/lib/abstract-classes/field-base.mjs +0 -244
- package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
- package/esm2022/lib/abstract-classes/form-base.mjs +0 -164
- package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
- package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -132
- package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
- package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -100
- package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -57
- package/esm2022/lib/abstract-classes/index.mjs +0 -25
- package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -49
- package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -68
- package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
- package/esm2022/lib/abstract-classes/models.mjs +0 -184
- package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
- package/esm2022/lib/abstract-classes/number-base.mjs +0 -201
- package/esm2022/lib/abstract-classes/page-base.mjs +0 -98
- package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -41
- package/esm2022/lib/abstract-classes/report-base.mjs +0 -266
- package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -54
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -450
- package/esm2022/lib/abstract-classes/system-base.mjs +0 -25
- package/esm2022/lib/abstract-classes/tile-props.mjs +0 -49
- package/esm2022/lib/auth-guard.mjs +0 -48
- package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -311
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -522
- package/esm2022/lib/base-ulv-setting.component.mjs +0 -46
- package/esm2022/lib/base.module.mjs +0 -28
- package/esm2022/lib/button-loading/button-loading.component.mjs +0 -20
- package/esm2022/lib/constants.mjs +0 -963
- package/esm2022/lib/container.component.mjs +0 -100
- package/esm2022/lib/controllers/base-controller.mjs +0 -9
- package/esm2022/lib/controllers/base-view.mjs +0 -24
- package/esm2022/lib/controllers/index.mjs +0 -4
- package/esm2022/lib/controllers/models.mjs +0 -2
- package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
- package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
- package/esm2022/lib/date-services/date-info.mjs +0 -2
- package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
- package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
- package/esm2022/lib/date-services/date.service.mjs +0 -149
- package/esm2022/lib/date-services/index.mjs +0 -6
- package/esm2022/lib/device.mjs +0 -663
- package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -46
- package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -25
- package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -36
- package/esm2022/lib/directives/base.directive.mjs +0 -55
- package/esm2022/lib/directives/body-click.directive.mjs +0 -36
- package/esm2022/lib/directives/column-resizer.directive.mjs +0 -40
- package/esm2022/lib/directives/copy.directive.mjs +0 -60
- package/esm2022/lib/directives/count-down.directive.mjs +0 -109
- package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -43
- package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -66
- package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -70
- package/esm2022/lib/directives/ellipsify.directive.mjs +0 -73
- package/esm2022/lib/directives/field-binding.directive.mjs +0 -18
- package/esm2022/lib/directives/fill-empty-space.mjs +0 -89
- package/esm2022/lib/directives/form-close.directive.mjs +0 -33
- package/esm2022/lib/directives/img-lazy.directive.mjs +0 -82
- package/esm2022/lib/directives/index.mjs +0 -42
- package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -52
- package/esm2022/lib/directives/items-renderer.directive.mjs +0 -60
- package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -49
- package/esm2022/lib/directives/load-external-files.directive.mjs +0 -38
- package/esm2022/lib/directives/mobile.directive.mjs +0 -30
- package/esm2022/lib/directives/nowraptext.directive.mjs +0 -27
- package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -27
- package/esm2022/lib/directives/placeHolder.directive.mjs +0 -16
- package/esm2022/lib/directives/prevent-default.directive.mjs +0 -21
- package/esm2022/lib/directives/print-files.directive.mjs +0 -39
- package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -81
- package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -76
- package/esm2022/lib/directives/render-ulv.directive.mjs +0 -52
- package/esm2022/lib/directives/route-form-change.directive.mjs +0 -38
- package/esm2022/lib/directives/save-image.directive.mjs +0 -28
- package/esm2022/lib/directives/splide-slider.directive.mjs +0 -113
- package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -21
- package/esm2022/lib/directives/table-resizer.directive.mjs +0 -236
- package/esm2022/lib/directives/ulv-command.directive.mjs +0 -43
- package/esm2022/lib/directives/until-inview.directive.mjs +0 -53
- package/esm2022/lib/directives/webotp.directive.mjs +0 -49
- package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -61
- package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -97
- package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -53
- package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -83
- package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -27
- package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -552
- package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -163
- package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
- package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -69
- package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -78
- package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -64
- package/esm2022/lib/dynamic-component/index.mjs +0 -11
- package/esm2022/lib/empty-page/empty-page.component.mjs +0 -49
- package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
- package/esm2022/lib/field-ui/field-ui.component.mjs +0 -149
- package/esm2022/lib/form/form.component.mjs +0 -212
- package/esm2022/lib/form-new/form-new.component.mjs +0 -31
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
- package/esm2022/lib/form-page-routing/constants.mjs +0 -9
- package/esm2022/lib/form-page-routing/index.mjs +0 -3
- package/esm2022/lib/from-intersection-observer.mjs +0 -53
- package/esm2022/lib/global-error-handler.mjs +0 -26
- package/esm2022/lib/injdection-tokens.mjs +0 -8
- package/esm2022/lib/modal-root.component.mjs +0 -34
- package/esm2022/lib/not-found/not-found.component.mjs +0 -16
- package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
- package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -20
- package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -36
- package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -27
- package/esm2022/lib/pipes/card-media-size.pipe.mjs +0 -21
- package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -41
- package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -33
- package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -23
- package/esm2022/lib/pipes/column-value.pipe.mjs +0 -35
- package/esm2022/lib/pipes/column-valueof-parameters.pipe.mjs +0 -34
- package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -17
- package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -41
- package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -32
- package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -33
- package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -35
- package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -21
- package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -23
- package/esm2022/lib/pipes/filter-inline-action-list.pipe.mjs +0 -19
- package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -45
- package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -20
- package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -17
- package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -25
- package/esm2022/lib/pipes/filter.pipe.mjs +0 -34
- package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -28
- package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -20
- package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -43
- package/esm2022/lib/pipes/groupby.pipe.mjs +0 -64
- package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -23
- package/esm2022/lib/pipes/hide-accept-cancel-buttons.pipe.mjs +0 -24
- package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -23
- package/esm2022/lib/pipes/index.mjs +0 -55
- package/esm2022/lib/pipes/isimage.pipe.mjs +0 -20
- package/esm2022/lib/pipes/list-count.pipe.mjs +0 -18
- package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -43
- package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -59
- package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -17
- package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -36
- package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -18
- package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -19
- package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -91
- package/esm2022/lib/pipes/numeral.pipe.mjs +0 -44
- package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -23
- package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -21
- package/esm2022/lib/pipes/replace.pipe.mjs +0 -18
- package/esm2022/lib/pipes/reverse.pipe.mjs +0 -23
- package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -26
- package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -21
- package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -24
- package/esm2022/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2022/lib/pipes/string-to-number.pipe.mjs +0 -26
- package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -60
- package/esm2022/lib/pipes/toolbar-settings.pipe.mjs +0 -27
- package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -17
- package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -26
- package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -19
- package/esm2022/lib/portal-page/portal-page.component.mjs +0 -24
- package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -37
- package/esm2022/lib/redirect-home-guard.mjs +0 -51
- package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
- package/esm2022/lib/report-container/report-container.component.mjs +0 -63
- package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
- package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -42
- package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
- package/esm2022/lib/resolvers/index.mjs +0 -7
- package/esm2022/lib/resolvers/login-settings.resolver.mjs +0 -18
- package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
- package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
- package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
- package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
- package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
- package/esm2022/lib/root-page/root-page.component.mjs +0 -21
- package/esm2022/lib/root-portal/root-portal.component.mjs +0 -236
- package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
- package/esm2022/lib/services/api.service.mjs +0 -63
- package/esm2022/lib/services/audio-recording.service.mjs +0 -95
- package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
- package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
- package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
- package/esm2022/lib/services/column.service.mjs +0 -20
- package/esm2022/lib/services/container.service.mjs +0 -69
- package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
- package/esm2022/lib/services/form-panel.service.mjs +0 -394
- package/esm2022/lib/services/form.service.mjs +0 -14
- package/esm2022/lib/services/groupby.service.mjs +0 -21
- package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
- package/esm2022/lib/services/index.mjs +0 -32
- package/esm2022/lib/services/indexeddb.service.mjs +0 -34
- package/esm2022/lib/services/layout-main-content.service.mjs +0 -19
- package/esm2022/lib/services/layout.service.mjs +0 -42
- package/esm2022/lib/services/local-storage.service.mjs +0 -32
- package/esm2022/lib/services/log.service.mjs +0 -50
- package/esm2022/lib/services/network-status.service.mjs +0 -15
- package/esm2022/lib/services/notification-popup.service.mjs +0 -2
- package/esm2022/lib/services/notification-sw.service.mjs +0 -180
- package/esm2022/lib/services/notification.service.mjs +0 -189
- package/esm2022/lib/services/portal.service.mjs +0 -950
- package/esm2022/lib/services/prompt-update.service.mjs +0 -56
- package/esm2022/lib/services/routing.service.mjs +0 -60
- package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
- package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
- package/esm2022/lib/services/tabpage.service.mjs +0 -13
- package/esm2022/lib/services/toast.service.mjs +0 -2
- package/esm2022/lib/services/ui.service.mjs +0 -23
- package/esm2022/lib/services/ulvmain.service.mjs +0 -824
- package/esm2022/lib/services/upload.service.mjs +0 -166
- package/esm2022/lib/services/video-recording.service.mjs +0 -115
- package/esm2022/lib/unlimit-session/unlimit-session.component.mjs +0 -40
- package/esm2022/public-api.mjs +0 -42
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Input, Renderer2, inject, ElementRef, Directive, HostBinding } from '@angular/core';
|
|
2
|
-
import Splide from '@splidejs/splide';
|
|
3
|
-
import { BaseDirective } from './base.directive';
|
|
4
|
-
import { MoReportValuePipe } from '../pipes/mo-report-value.pipe';
|
|
5
|
-
import { PictureFieldSourcePipe } from '../pipes/picture-field-source.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class SplideSliderDirective extends BaseDirective {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.type = 'small';
|
|
11
|
-
this.width = '100%';
|
|
12
|
-
this.carouselCls = 'carousel-full';
|
|
13
|
-
this.numWidth = window.innerWidth;
|
|
14
|
-
this.height = this.numWidth / 2;
|
|
15
|
-
this.rval = inject(MoReportValuePipe);
|
|
16
|
-
this._picFieldSrc = inject(PictureFieldSourcePipe);
|
|
17
|
-
this._renderer2 = inject(Renderer2);
|
|
18
|
-
this._el = inject(ElementRef);
|
|
19
|
-
}
|
|
20
|
-
get dom() {
|
|
21
|
-
return this._el.nativeElement;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
super.ngOnInit();
|
|
25
|
-
this.type = this.type || 'full';
|
|
26
|
-
this._width = this.width;
|
|
27
|
-
}
|
|
28
|
-
ngAfterViewInit() {
|
|
29
|
-
this._init();
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
this._refreshSplide();
|
|
32
|
-
}, 200);
|
|
33
|
-
}
|
|
34
|
-
ngOnChanges(changes) {
|
|
35
|
-
super.ngOnChanges(changes);
|
|
36
|
-
const { moDataList } = changes;
|
|
37
|
-
if (moDataList && moDataList.currentValue) {
|
|
38
|
-
this._refreshSplide();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
onRefresh() {
|
|
42
|
-
this._refreshSplide();
|
|
43
|
-
}
|
|
44
|
-
_refreshSplide() {
|
|
45
|
-
this._splide && this._splide.refresh();
|
|
46
|
-
this._splide && this._splide.length < this._splide.options.perPage && this._splide.Components.Arrows.destroy();
|
|
47
|
-
}
|
|
48
|
-
_init() {
|
|
49
|
-
this._renderer2.setAttribute(this.dom, 'data-splide', '{"direction":"rtl"}');
|
|
50
|
-
this._splide = new Splide(this.dom, {
|
|
51
|
-
...this._getCommonOptions,
|
|
52
|
-
gap: +this.sliderGap,
|
|
53
|
-
padding: +this.sliderPadding,
|
|
54
|
-
perPage: +this.sliderPerPage,
|
|
55
|
-
breakpoints: {
|
|
56
|
-
480: {
|
|
57
|
-
perPage: +this.breakpoint480
|
|
58
|
-
},
|
|
59
|
-
768: {
|
|
60
|
-
perPage: +this.breakpoint768
|
|
61
|
-
},
|
|
62
|
-
991: {
|
|
63
|
-
perPage: +this.breakpoint991
|
|
64
|
-
},
|
|
65
|
-
1279: {
|
|
66
|
-
perPage: +this.breakpoint1279
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}).mount();
|
|
70
|
-
}
|
|
71
|
-
get _getCommonOptions() {
|
|
72
|
-
return {
|
|
73
|
-
rewind: true,
|
|
74
|
-
arrows: this.moDataList?.length > 1,
|
|
75
|
-
type: 'slide',
|
|
76
|
-
direction: 'rtl',
|
|
77
|
-
pagination: false
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SplideSliderDirective, selector: "[splideSlider]", inputs: { moDataList: "moDataList", type: "type", breakpoint991: "breakpoint991", breakpoint768: "breakpoint768", breakpoint480: "breakpoint480", breakpoint1279: "breakpoint1279", sliderPerPage: "sliderPerPage", sliderGap: "sliderGap", sliderPadding: "sliderPadding", width: "width" }, host: { properties: { "style.width": "this._width" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, decorators: [{
|
|
84
|
-
type: Directive,
|
|
85
|
-
args: [{
|
|
86
|
-
selector: '[splideSlider]',
|
|
87
|
-
standalone: false
|
|
88
|
-
}]
|
|
89
|
-
}], propDecorators: { _width: [{
|
|
90
|
-
type: HostBinding,
|
|
91
|
-
args: ['style.width']
|
|
92
|
-
}], moDataList: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], type: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], breakpoint991: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], breakpoint768: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], breakpoint480: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], breakpoint1279: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], sliderPerPage: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], sliderGap: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], sliderPadding: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], width: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaWRlLXNsaWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3BsaWRlLXNsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBSnhEOztRQVFhLFNBQUksR0FBZSxPQUFPLENBQUM7UUFRM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5QixhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFLM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0EwRC9DO0lBakVHLElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFB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RyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBSZW5kZXJlcjIsIGluamVjdCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IFNwbGlkZSBmcm9tICdAc3BsaWRlanMvc3BsaWRlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1vUmVwb3J0VmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbW8tcmVwb3J0LXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcGljdHVyZS1maWVsZC1zb3VyY2UucGlwZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NwbGlkZVNsaWRlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGlkZVNsaWRlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIF93aWR0aDtcclxuXHJcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBASW5wdXQoKSB0eXBlOiBTbGlkZXJUeXBlID0gJ3NtYWxsJztcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ5OTE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ3Njg6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ0ODA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQxMjc5OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJHYXA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlclBhZGRpbmc6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xyXG5cclxuICAgIGNhcm91c2VsQ2xzID0gJ2Nhcm91c2VsLWZ1bGwnO1xyXG5cclxuICAgIG51bVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBoZWlnaHQgPSB0aGlzLm51bVdpZHRoIC8gMjtcclxuICAgIGdldCBkb20oKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgX3NwbGlkZTogdW5kZWZpbmVkIHwgYW55O1xyXG4gICAgcnZhbCA9IGluamVjdChNb1JlcG9ydFZhbHVlUGlwZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3BpY0ZpZWxkU3JjID0gaW5qZWN0KFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSB8fCAnZnVsbCc7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXQoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hTcGxpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlZnJlc2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgfVxyXG4gICAgX3JlZnJlc2hTcGxpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5sZW5ndGggPCB0aGlzLl9zcGxpZGUub3B0aW9ucy5wZXJQYWdlICYmIHRoaXMuX3NwbGlkZS5Db21wb25lbnRzLkFycm93cy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICBfaW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMuZG9tLCAnZGF0YS1zcGxpZGUnLCAne1wiZGlyZWN0aW9uXCI6XCJydGxcIn0nKTtcclxuICAgICAgICB0aGlzLl9zcGxpZGUgPSBuZXcgU3BsaWRlKHRoaXMuZG9tLCB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuX2dldENvbW1vbk9wdGlvbnMsXHJcbiAgICAgICAgICAgIGdhcDogK3RoaXMuc2xpZGVyR2FwLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiArdGhpcy5zbGlkZXJQYWRkaW5nLFxyXG4gICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5zbGlkZXJQZXJQYWdlLFxyXG4gICAgICAgICAgICBicmVha3BvaW50czoge1xyXG4gICAgICAgICAgICAgICAgNDgwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuYnJlYWtwb2ludDQ4MFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDc2ODoge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQ3NjhcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICA5OTE6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50OTkxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTI3OToge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQxMjc5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5tb3VudCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IF9nZXRDb21tb25PcHRpb25zKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJld2luZDogdHJ1ZSxcclxuICAgICAgICAgICAgYXJyb3dzOiB0aGlzLm1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgIHR5cGU6ICdzbGlkZScsXHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogJ3J0bCcsXHJcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG50eXBlIFNsaWRlclR5cGUgPSAnZnVsbCcgfCAnbXVsdGlwbGUnIHwgJ3NpbmdsZScgfCAnc21hbGwnIHwgdW5kZWZpbmVkO1xyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import { BaseDirective } from './base.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class StopPropagationDirective extends BaseDirective {
|
|
5
|
-
onClick(e) {
|
|
6
|
-
e.stopPropagation();
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StopPropagationDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: StopPropagationDirective, selector: "[stopPropagation]", host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StopPropagationDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[stopPropagation]',
|
|
15
|
-
standalone: false
|
|
16
|
-
}]
|
|
17
|
-
}], propDecorators: { onClick: [{
|
|
18
|
-
type: HostListener,
|
|
19
|
-
args: ['click', ['$event']]
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU1qRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUV2RCxPQUFPLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQUpRLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFHRyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzdG9wUHJvcGFnYXRpb25dJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIG9uQ2xpY2soZSk6IHZvaWQge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, HostListener, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { fromEvent } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseDirective } from './base.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class TableResizerDirective extends BaseDirective {
|
|
7
|
-
constructor(_el, renderer) {
|
|
8
|
-
super(_el);
|
|
9
|
-
this._el = _el;
|
|
10
|
-
this.renderer = renderer;
|
|
11
|
-
this.columnResized = new EventEmitter();
|
|
12
|
-
fromEvent(document, 'mouseup')
|
|
13
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
14
|
-
.subscribe(() => {
|
|
15
|
-
this._mouseUp();
|
|
16
|
-
});
|
|
17
|
-
fromEvent(document, 'mousemove')
|
|
18
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
19
|
-
.subscribe((e) => {
|
|
20
|
-
this._mouseMove(e);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
get _table() {
|
|
24
|
-
return this._el.nativeElement;
|
|
25
|
-
}
|
|
26
|
-
moseDown(e) {
|
|
27
|
-
this._mouseDown(e);
|
|
28
|
-
}
|
|
29
|
-
moseMove(e) {
|
|
30
|
-
this._mouseMove(e);
|
|
31
|
-
}
|
|
32
|
-
ngAfterViewInit() {
|
|
33
|
-
if (this.rowResizer) {
|
|
34
|
-
this._putBodyCellsContentIntoDiv();
|
|
35
|
-
}
|
|
36
|
-
if (this.rowResizer) {
|
|
37
|
-
this._addRowsResizer();
|
|
38
|
-
}
|
|
39
|
-
this._setTableMode(this.fitWidth);
|
|
40
|
-
}
|
|
41
|
-
ngOnChanges(changes) {
|
|
42
|
-
super.ngOnChanges(changes);
|
|
43
|
-
const { fitWidth } = changes;
|
|
44
|
-
if (this.enableResizing && fitWidth && !fitWidth.firstChange) {
|
|
45
|
-
const newFitWidth = fitWidth.currentValue;
|
|
46
|
-
this._setTableMode(newFitWidth);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
_initializeTable() {
|
|
50
|
-
this._initTable();
|
|
51
|
-
this._setTableMode(this.fitWidth);
|
|
52
|
-
}
|
|
53
|
-
_resizeRow(event) {
|
|
54
|
-
this._currentResizer = "Row" /* Resizer.Row */;
|
|
55
|
-
const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);
|
|
56
|
-
this._currentCell = elementFromPoint?.closest('td');
|
|
57
|
-
this._startY = event.pageY;
|
|
58
|
-
this._currentRowHeight = this._currentCell?.clientHeight || 0;
|
|
59
|
-
}
|
|
60
|
-
_resizeColumn(event) {
|
|
61
|
-
if (!this.fitWidth) {
|
|
62
|
-
this._setTableFreeSize();
|
|
63
|
-
}
|
|
64
|
-
this._currentResizer = "Column" /* Resizer.Column */;
|
|
65
|
-
const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);
|
|
66
|
-
this._currentCell = elementFromPoint?.closest('th');
|
|
67
|
-
this._startX = event.pageX;
|
|
68
|
-
this._currentColumnWidth = this._currentCell?.clientWidth || 0;
|
|
69
|
-
this._sideCell = this._getSideCell(this._currentCell);
|
|
70
|
-
this._sideColumnWidth = this._sideCell?.clientWidth;
|
|
71
|
-
}
|
|
72
|
-
_addRowsResizer() {
|
|
73
|
-
const table = this._table;
|
|
74
|
-
const rowsLabel = table.querySelectorAll('.vertical-label');
|
|
75
|
-
rowsLabel.forEach((cell) => {
|
|
76
|
-
const rowResizer = this.renderer.createElement('div');
|
|
77
|
-
this.renderer.appendChild(cell, rowResizer);
|
|
78
|
-
rowResizer.setAttribute('class', 'row-resizer');
|
|
79
|
-
this.renderer.setStyle(cell, 'height', 'inherit');
|
|
80
|
-
this.renderer.setStyle(cell, 'position', 'relative');
|
|
81
|
-
this.renderer.setAttribute(rowResizer, 'style', 'cursor: row-resize; height:8px; position:absolute;bottom:0;left:0;right:0');
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
_putBodyCellsContentIntoDiv() {
|
|
85
|
-
const table = this._table;
|
|
86
|
-
const bodyCells = table.querySelectorAll('body td:not(.vertical-label)');
|
|
87
|
-
bodyCells.forEach((cell) => {
|
|
88
|
-
const contentContainer = this.renderer.createElement('div');
|
|
89
|
-
cell.children.forEach((child) => {
|
|
90
|
-
contentContainer.appendChild(child);
|
|
91
|
-
});
|
|
92
|
-
this.renderer.setStyle(cell, 'overflow', 'hidden');
|
|
93
|
-
this.renderer.setStyle(cell, 'height', 'inherit');
|
|
94
|
-
this.renderer.setStyle(contentContainer, 'height', 'inherit');
|
|
95
|
-
this.renderer.setStyle(contentContainer, 'display', 'block');
|
|
96
|
-
cell.appendChild(contentContainer);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
_getSideCell(currentCell) {
|
|
100
|
-
const currentRow = this._currentCell.parentNode?.children;
|
|
101
|
-
if (currentRow) {
|
|
102
|
-
const cellIndexInRow = Array.from(currentRow).indexOf(currentCell);
|
|
103
|
-
return Array.from(currentRow)[cellIndexInRow + 1];
|
|
104
|
-
}
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
_changeWidth(fitWidth, sideCell, currentCell, changedCurrentCellWidth, changedSideCellWidth) {
|
|
108
|
-
if (fitWidth) {
|
|
109
|
-
if (sideCell && changedCurrentCellWidth >= this.minWidth && changedSideCellWidth >= this.minWidth) {
|
|
110
|
-
this.renderer.setStyle(sideCell, 'width', changedSideCellWidth + 'px');
|
|
111
|
-
this.renderer.setStyle(sideCell, 'min-width', changedSideCellWidth + 'px');
|
|
112
|
-
this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');
|
|
113
|
-
this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else if (changedCurrentCellWidth >= this.minWidth) {
|
|
117
|
-
this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');
|
|
118
|
-
this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
_changeHeight(currentCell, changedHeight, minHeight) {
|
|
122
|
-
if (changedHeight > minHeight) {
|
|
123
|
-
this.renderer.setStyle(currentCell.closest('tr'), 'height', changedHeight + 'px');
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
_initTable() {
|
|
127
|
-
if (this._isInitTable) {
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
this._isInitTable = true;
|
|
131
|
-
const table = this._table;
|
|
132
|
-
const parent = table.parentElement;
|
|
133
|
-
this.renderer.setStyle(parent, 'overflow-x', this.fitWidth ? 'hidden' : 'auto');
|
|
134
|
-
// this.renderer.setStyle(parent, 'overflow-y', 'auto');
|
|
135
|
-
this.renderer.setStyle(parent, 'width', '100%');
|
|
136
|
-
}
|
|
137
|
-
_setTableMode(isFitWidth) {
|
|
138
|
-
if (isFitWidth) {
|
|
139
|
-
this._setTableFitSize();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
_setTableFreeSize() {
|
|
143
|
-
const table = this._table;
|
|
144
|
-
this.renderer.setStyle(table, 'width', this.containerWidth + 'px');
|
|
145
|
-
this.renderer.setStyle(table, 'max-width', 'unset');
|
|
146
|
-
this.renderer.setStyle(table, 'min-width', this.containerWidth + 'px');
|
|
147
|
-
const headCells = table.querySelectorAll('th');
|
|
148
|
-
headCells.forEach((cell) => {
|
|
149
|
-
const width = cell.offsetWidth;
|
|
150
|
-
this.renderer.setStyle(cell, 'width', width + 'px');
|
|
151
|
-
this.renderer.setStyle(cell, 'min-width', width + 'px');
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
_setTableFitSize() {
|
|
155
|
-
const table = this._table;
|
|
156
|
-
this.renderer.setStyle(table, 'width', '100%');
|
|
157
|
-
this.renderer.setStyle(table, 'max-width', '100%');
|
|
158
|
-
}
|
|
159
|
-
_mouseDown(e) {
|
|
160
|
-
if (e.srcElement.className === 'row-resizer') {
|
|
161
|
-
this._resizeRow(e);
|
|
162
|
-
this.renderer.setStyle(this._el.nativeElement, 'cursor', 'row-resize');
|
|
163
|
-
}
|
|
164
|
-
else if (e.srcElement.className === 'column-resizer') {
|
|
165
|
-
this._resizeColumn(e);
|
|
166
|
-
this.renderer.setStyle(this._el.nativeElement, 'cursor', 'col-resize');
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
_mouseMove(e) {
|
|
170
|
-
if (e.buttons !== 0) {
|
|
171
|
-
if (this._currentResizer === "Column" /* Resizer.Column */) {
|
|
172
|
-
if (!this._isInitTable) {
|
|
173
|
-
this._initializeTable();
|
|
174
|
-
}
|
|
175
|
-
const endX = e.pageX;
|
|
176
|
-
const dx = endX - this._startX;
|
|
177
|
-
const changedCurrentCellWidth = this._currentColumnWidth - dx;
|
|
178
|
-
const changedSideCellWidth = this._sideColumnWidth + dx;
|
|
179
|
-
this._changeWidth(this.fitWidth, this._sideCell, this._currentCell, changedCurrentCellWidth, changedSideCellWidth);
|
|
180
|
-
}
|
|
181
|
-
else if (this._currentResizer === "Row" /* Resizer.Row */) {
|
|
182
|
-
const endY = e.pageY;
|
|
183
|
-
const dy = endY - this._startY;
|
|
184
|
-
const changedCurrentRowHeight = this._currentRowHeight + dy;
|
|
185
|
-
this._changeHeight(this._currentCell, changedCurrentRowHeight, this.minHeight);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
_mouseUp() {
|
|
190
|
-
if (this._currentResizer) {
|
|
191
|
-
const table = this._el.nativeElement;
|
|
192
|
-
const headers = table.querySelectorAll('th');
|
|
193
|
-
const columnResized = [];
|
|
194
|
-
for (let i = 0; i < headers.length; i++) {
|
|
195
|
-
const header = headers[i];
|
|
196
|
-
const columnName = header.attributes['columnname']?.value;
|
|
197
|
-
if (typeof columnName !== 'undefined') {
|
|
198
|
-
columnResized.push({ name: columnName, width: header.offsetWidth, thDom: header });
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
this.columnResized.emit(columnResized);
|
|
202
|
-
}
|
|
203
|
-
this._currentResizer = null;
|
|
204
|
-
this.renderer.setStyle(this._el.nativeElement, 'cursor', 'default');
|
|
205
|
-
}
|
|
206
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableResizerDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
207
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableResizerDirective, selector: "[tableResizer]", inputs: { fitWidth: "fitWidth", minWidth: "minWidth", minHeight: "minHeight", containerWidth: "containerWidth", rowResizer: "rowResizer", enableResizing: "enableResizing" }, outputs: { columnResized: "columnResized" }, host: { listeners: { "mousedown": "moseDown($event)", "mousemove": "moseMove($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
208
|
-
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableResizerDirective, decorators: [{
|
|
210
|
-
type: Directive,
|
|
211
|
-
args: [{
|
|
212
|
-
selector: '[tableResizer]',
|
|
213
|
-
standalone: false
|
|
214
|
-
}]
|
|
215
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { fitWidth: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], minWidth: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], minHeight: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], containerWidth: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], rowResizer: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], enableResizing: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], columnResized: [{
|
|
228
|
-
type: Output
|
|
229
|
-
}], moseDown: [{
|
|
230
|
-
type: HostListener,
|
|
231
|
-
args: ['mousedown', ['$event']]
|
|
232
|
-
}], moseMove: [{
|
|
233
|
-
type: HostListener,
|
|
234
|
-
args: ['mousemove', ['$event']]
|
|
235
|
-
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVzaXplci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvdGFibGUtcmVzaXplci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBRUwsWUFBWSxFQU1aLFlBQVksRUFDWixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVVqRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQWlCcEQsWUFBc0IsR0FBZSxFQUFVLFFBQW1CO1FBQzlELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURPLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBVnhELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFZbkUsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNQLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDO2FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENB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Y3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZXNpemVkQXJncyB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XHJcbmNvbnN0IGVudW0gUmVzaXplciB7XHJcbiAgICBSb3cgPSAnUm93JyxcclxuICAgIENvbHVtbiA9ICdDb2x1bW4nXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdGFibGVSZXNpemVyXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVSZXNpemVyRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgZml0V2lkdGg6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBtaW5XaWR0aDtcclxuICAgIEBJbnB1dCgpIG1pbkhlaWdodDtcclxuICAgIEBJbnB1dCgpIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSByb3dSZXNpemVyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZW5hYmxlUmVzaXppbmc6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgY29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudENlbGw6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBfc2lkZUNlbGw7XHJcbiAgICBwcml2YXRlIF9zdGFydFg7XHJcbiAgICBwcml2YXRlIF9zdGFydFk7XHJcbiAgICBwcml2YXRlIF9jdXJyZW50Q29sdW1uV2lkdGg7XHJcbiAgICBwcml2YXRlIF9zaWRlQ29sdW1uV2lkdGg7XHJcbiAgICBwcml2YXRlIF9jdXJyZW50Um93SGVpZ2h0O1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudFJlc2l6ZXI6IFJlc2l6ZXIgfCBudWxsO1xyXG4gICAgcHJpdmF0ZSBfaXNJbml0VGFibGU6IGJvb2xlYW47XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgICAgICBzdXBlcihfZWwpO1xyXG4gICAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VVcCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlTW92ZShlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBfdGFibGUoKTogSFRNTFRhYmxlRWxlbWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRhYmxlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgbW9zZURvd24oZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vdXNlRG93bihlKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgbW9zZU1vdmUoZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vdXNlTW92ZShlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucm93UmVzaXplcikge1xyXG4gICAgICAgICAgICB0aGlzLl9wdXRCb2R5Q2VsbHNDb250ZW50SW50b0RpdigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5yb3dSZXNpemVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZFJvd3NSZXNpemVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZSh0aGlzLmZpdFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBmaXRXaWR0aCB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVSZXNpemluZyAmJiBmaXRXaWR0aCAmJiAhZml0V2lkdGguZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Rml0V2lkdGggPSBmaXRXaWR0aC5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZShuZXdGaXRXaWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZVRhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXRUYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuX3NldFRhYmxlTW9kZSh0aGlzLmZpdFdpZHRoKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3Jlc2l6ZVJvdyhldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRSZXNpemVyID0gUmVzaXplci5Sb3c7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEZyb21Qb2ludCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQucGFnZVgsIGV2ZW50LnBhZ2VZKTtcclxuICAgICAgICB0aGlzLl9jdXJyZW50Q2VsbCA9IGVsZW1lbnRGcm9tUG9pbnQ/LmNsb3Nlc3QoJ3RkJykgYXMgSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRZID0gZXZlbnQucGFnZVk7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudFJvd0hlaWdodCA9IHRoaXMuX2N1cnJlbnRDZWxsPy5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZXNpemVDb2x1bW4oZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZml0V2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0VGFibGVGcmVlU2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IFJlc2l6ZXIuQ29sdW1uO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGV2ZW50LnBhZ2VYLCBldmVudC5wYWdlWSk7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudENlbGwgPSBlbGVtZW50RnJvbVBvaW50Py5jbG9zZXN0KCd0aCcpIGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0WCA9IGV2ZW50LnBhZ2VYO1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb2x1bW5XaWR0aCA9IHRoaXMuX2N1cnJlbnRDZWxsPy5jbGllbnRXaWR0aCB8fCAwO1xyXG4gICAgICAgIHRoaXMuX3NpZGVDZWxsID0gdGhpcy5fZ2V0U2lkZUNlbGwodGhpcy5fY3VycmVudENlbGwpO1xyXG4gICAgICAgIHRoaXMuX3NpZGVDb2x1bW5XaWR0aCA9IHRoaXMuX3NpZGVDZWxsPy5jbGllbnRXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9hZGRSb3dzUmVzaXplcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIGNvbnN0IHJvd3NMYWJlbCA9IHRhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoJy52ZXJ0aWNhbC1sYWJlbCcpO1xyXG4gICAgICAgIHJvd3NMYWJlbC5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd1Jlc2l6ZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjZWxsLCByb3dSZXNpemVyKTtcclxuXHJcbiAgICAgICAgICAgIHJvd1Jlc2l6ZXIuc2V0QXR0cmlidXRlKCdjbGFzcycsICdyb3ctcmVzaXplcicpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIHJvd1Jlc2l6ZXIsXHJcbiAgICAgICAgICAgICAgICAnc3R5bGUnLFxyXG4gICAgICAgICAgICAgICAgJ2N1cnNvcjogcm93LXJlc2l6ZTsgaGVpZ2h0OjhweDsgcG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjAnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHV0Qm9keUNlbGxzQ29udGVudEludG9EaXYoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdGFibGUgPSB0aGlzLl90YWJsZSBhcyBhbnk7XHJcbiAgICAgICAgY29uc3QgYm9keUNlbGxzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbCgnYm9keSB0ZDpub3QoLnZlcnRpY2FsLWxhYmVsKScpO1xyXG4gICAgICAgIGJvZHlDZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICBjZWxsLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50Q29udGFpbmVyLmFwcGVuZENoaWxkKGNoaWxkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY2VsbCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbnRlbnRDb250YWluZXIsICdoZWlnaHQnLCAnaW5oZXJpdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbnRlbnRDb250YWluZXIsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XHJcblxyXG4gICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGNvbnRlbnRDb250YWluZXIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldFNpZGVDZWxsKGN1cnJlbnRDZWxsKTogRWxlbWVudCB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3cgPSB0aGlzLl9jdXJyZW50Q2VsbC5wYXJlbnROb2RlPy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoY3VycmVudFJvdykge1xyXG4gICAgICAgICAgICBjb25zdCBjZWxsSW5kZXhJblJvdyA9IEFycmF5LmZyb20oY3VycmVudFJvdykuaW5kZXhPZihjdXJyZW50Q2VsbCk7XHJcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKGN1cnJlbnRSb3cpW2NlbGxJbmRleEluUm93ICsgMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoYW5nZVdpZHRoKFxyXG4gICAgICAgIGZpdFdpZHRoOiBib29sZWFuLFxyXG4gICAgICAgIHNpZGVDZWxsLFxyXG4gICAgICAgIGN1cnJlbnRDZWxsLFxyXG4gICAgICAgIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoLFxyXG4gICAgICAgIGNoYW5nZWRTaWRlQ2VsbFdpZHRoXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAoZml0V2lkdGgpIHtcclxuICAgICAgICAgICAgaWYgKHNpZGVDZWxsICYmIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoID49IHRoaXMubWluV2lkdGggJiYgY2hhbmdlZFNpZGVDZWxsV2lkdGggPj0gdGhpcy5taW5XaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzaWRlQ2VsbCwgJ3dpZHRoJywgY2hhbmdlZFNpZGVDZWxsV2lkdGggKyAncHgnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2lkZUNlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkU2lkZUNlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50Q2VsbCwgJ3dpZHRoJywgY2hhbmdlZEN1cnJlbnRDZWxsV2lkdGggKyAncHgnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCA+PSB0aGlzLm1pbldpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICd3aWR0aCcsIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwsICdtaW4td2lkdGgnLCBjaGFuZ2VkQ3VycmVudENlbGxXaWR0aCArICdweCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VIZWlnaHQoY3VycmVudENlbGwsIGNoYW5nZWRIZWlnaHQsIG1pbkhlaWdodCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGFuZ2VkSGVpZ2h0ID4gbWluSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudENlbGwuY2xvc2VzdCgndHInKSwgJ2hlaWdodCcsIGNoYW5nZWRIZWlnaHQgKyAncHgnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pbml0VGFibGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzSW5pdFRhYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faXNJbml0VGFibGUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHRhYmxlOiBIVE1MVGFibGVFbGVtZW50ID0gdGhpcy5fdGFibGU7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGFibGUucGFyZW50RWxlbWVudDtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBhcmVudCwgJ292ZXJmbG93LXgnLCB0aGlzLmZpdFdpZHRoID8gJ2hpZGRlbicgOiAnYXV0bycpO1xyXG4gICAgICAgIC8vIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnb3ZlcmZsb3cteScsICdhdXRvJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwYXJlbnQsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0VGFibGVNb2RlKGlzRml0V2lkdGgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNGaXRXaWR0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRUYWJsZUZpdFNpemUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0VGFibGVGcmVlU2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFibGUsICd3aWR0aCcsIHRoaXMuY29udGFpbmVyV2lkdGggKyAncHgnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRhYmxlLCAnbWF4LXdpZHRoJywgJ3Vuc2V0Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0YWJsZSwgJ21pbi13aWR0aCcsIHRoaXMuY29udGFpbmVyV2lkdGggKyAncHgnKTtcclxuICAgICAgICBjb25zdCBoZWFkQ2VsbHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpO1xyXG4gICAgICAgIGhlYWRDZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjZWxsLCAnd2lkdGgnLCB3aWR0aCArICdweCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNlbGwsICdtaW4td2lkdGgnLCB3aWR0aCArICdweCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFRhYmxlRml0U2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX3RhYmxlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGFibGUsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0YWJsZSwgJ21heC13aWR0aCcsICcxMDAlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbW91c2VEb3duKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZS5zcmNFbGVtZW50LmNsYXNzTmFtZSA9PT0gJ3Jvdy1yZXNpemVyJykge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNpemVSb3coZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdyb3ctcmVzaXplJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlLnNyY0VsZW1lbnQuY2xhc3NOYW1lID09PSAnY29sdW1uLXJlc2l6ZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZUNvbHVtbihlKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ2NvbC1yZXNpemUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbW91c2VNb3ZlKGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZS5idXR0b25zICE9PSAwKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmVzaXplciA9PT0gUmVzaXplci5Db2x1bW4pIHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5faXNJbml0VGFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplVGFibGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlLnBhZ2VYO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZHggPSBlbmRYIC0gdGhpcy5fc3RhcnRYO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEN1cnJlbnRDZWxsV2lkdGggPSB0aGlzLl9jdXJyZW50Q29sdW1uV2lkdGggLSBkeDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRTaWRlQ2VsbFdpZHRoID0gdGhpcy5fc2lkZUNvbHVtbldpZHRoICsgZHg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VXaWR0aChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpdFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVDZWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRDZWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWRDdXJyZW50Q2VsbFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWRTaWRlQ2VsbFdpZHRoXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2N1cnJlbnRSZXNpemVyID09PSBSZXNpemVyLlJvdykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kWSA9IGUucGFnZVk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkeSA9IGVuZFkgLSB0aGlzLl9zdGFydFk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjaGFuZ2VkQ3VycmVudFJvd0hlaWdodCA9IHRoaXMuX2N1cnJlbnRSb3dIZWlnaHQgKyBkeTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUhlaWdodCh0aGlzLl9jdXJyZW50Q2VsbCwgY2hhbmdlZEN1cnJlbnRSb3dIZWlnaHQsIHRoaXMubWluSGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tb3VzZVVwKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmVzaXplcikge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpO1xyXG4gICAgICAgICAgICBjb25zdCBjb2x1bW5SZXNpemVkOiBDb2x1bW5SZXNpemVkQXJnc1tdID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVhZGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gaGVhZGVyc1tpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBoZWFkZXIuYXR0cmlidXRlc1snY29sdW1ubmFtZSddPy52YWx1ZTtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29sdW1uTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5SZXNpemVkLnB1c2goeyBuYW1lOiBjb2x1bW5OYW1lLCB3aWR0aDogaGVhZGVyLm9mZnNldFdpZHRoLCB0aERvbTogaGVhZGVyIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY29sdW1uUmVzaXplZC5lbWl0KGNvbHVtblJlc2l6ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseDirective } from './base.directive';
|
|
3
|
-
import { executeUlvCommandHandler } from '../constants';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class UlvCommandDirective extends BaseDirective {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.commandClick = new EventEmitter();
|
|
9
|
-
}
|
|
10
|
-
onClick(event) {
|
|
11
|
-
if (this.disable) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
const button = this.ulvCommandHandler;
|
|
15
|
-
event.stopPropagation();
|
|
16
|
-
event.preventDefault();
|
|
17
|
-
this.commandClick.emit(button);
|
|
18
|
-
setTimeout(() => {
|
|
19
|
-
// add settimeout because we need select row before execute row
|
|
20
|
-
executeUlvCommandHandler(button);
|
|
21
|
-
});
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvCommandDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: { ulvCommandHandler: "ulvCommandHandler", disable: "disable" }, outputs: { commandClick: "commandClick" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UlvCommandDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: '[ulvCommandHandler]',
|
|
31
|
-
standalone: false
|
|
32
|
-
}]
|
|
33
|
-
}], propDecorators: { ulvCommandHandler: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], disable: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], commandClick: [{
|
|
38
|
-
type: Output
|
|
39
|
-
}], onClick: [{
|
|
40
|
-
type: HostListener,
|
|
41
|
-
args: ['click', ['$event']]
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LWNvbW1hbmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL3Vsdi1jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU14RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUp0RDs7UUFPYyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FrQi9DO0lBaEJHLE9BQU8sQ0FBQyxLQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRXRDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLCtEQUErRDtZQUMvRCx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBcEJRLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFWSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRVAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBleGVjdXRlVWx2Q29tbWFuZEhhbmRsZXIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t1bHZDb21tYW5kSGFuZGxlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVsdkNvbW1hbmREaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHVsdkNvbW1hbmRIYW5kbGVyOiBhbnk7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlOiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIGNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIG9uQ2xpY2soZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBidXR0b24gPSB0aGlzLnVsdkNvbW1hbmRIYW5kbGVyO1xyXG5cclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuY29tbWFuZENsaWNrLmVtaXQoYnV0dG9uKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gYWRkIHNldHRpbWVvdXQgYmVjYXVzZSB3ZSBuZWVkIHNlbGVjdCByb3cgYmVmb3JlIGV4ZWN1dGUgcm93XHJcbiAgICAgICAgICAgIGV4ZWN1dGVVbHZDb21tYW5kSGFuZGxlcihidXR0b24pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseDirective } from './base.directive';
|
|
5
|
-
import { fromIntersectionObserver } from '../from-intersection-observer';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class UntilInViewDirective extends BaseDirective {
|
|
8
|
-
constructor(_templateRef, _vcr, _cdr, _el) {
|
|
9
|
-
super(_el);
|
|
10
|
-
this._templateRef = _templateRef;
|
|
11
|
-
this._vcr = _vcr;
|
|
12
|
-
this._cdr = _cdr;
|
|
13
|
-
this._el = _el;
|
|
14
|
-
this.intersectionDebounce = 100;
|
|
15
|
-
this.viewed$ = new Subject();
|
|
16
|
-
}
|
|
17
|
-
viewed() {
|
|
18
|
-
this.viewed$.next();
|
|
19
|
-
this._vcr.createEmbeddedView(this._templateRef);
|
|
20
|
-
this._cdr.detectChanges();
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
super.ngOnInit();
|
|
24
|
-
const element = this.untilInView.nativeElement;
|
|
25
|
-
const config = {
|
|
26
|
-
root: null,
|
|
27
|
-
rootMargin: '0px',
|
|
28
|
-
threshold: 0
|
|
29
|
-
};
|
|
30
|
-
fromIntersectionObserver(element, config, this.intersectionDebounce)
|
|
31
|
-
.pipe(takeUntil(this.viewed$), takeUntil(this._onDestroy$))
|
|
32
|
-
.subscribe(() => {
|
|
33
|
-
this.viewed();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnDestroy() {
|
|
37
|
-
this._onDestroy$.next();
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UntilInViewDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: UntilInViewDirective, selector: "[untilInView]", inputs: { untilInView: "untilInView", intersectionDebounce: "intersectionDebounce" }, usesInheritance: true, ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UntilInViewDirective, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: '[untilInView]',
|
|
46
|
-
standalone: false
|
|
47
|
-
}]
|
|
48
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { untilInView: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], intersectionDebounce: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50aWwtaW52aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy91bnRpbC1pbnZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxFQUtSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNekUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFJbkQsWUFDWSxZQUE4QixFQUM5QixJQUFzQixFQUN0QixJQUF1QixFQUNyQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBTnBCLHlCQUFvQixHQUFHLEdBQUcsQ0FBQztRQUM1QixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVF0QyxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRztZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLENBQUM7U0FDZixDQUFDO1FBQ0Ysd0JBQXdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBcENRLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsS0FBSztpQkFDcEI7d0tBRVksV0FBVztzQkFBbkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iYXNlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGZyb21JbnRlcnNlY3Rpb25PYnNlcnZlciB9IGZyb20gJy4uL2Zyb20taW50ZXJzZWN0aW9uLW9ic2VydmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdW50aWxJblZpZXddJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbnRpbEluVmlld0RpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSB1bnRpbEluVmlldzogRWxlbWVudFJlZjtcclxuICAgIEBJbnB1dCgpIGludGVyc2VjdGlvbkRlYm91bmNlID0gMTAwO1xyXG4gICAgcHJpdmF0ZSB2aWV3ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9lbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHZpZXdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpZXdlZCQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX3Zjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy51bnRpbEluVmlldy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcclxuICAgICAgICAgICAgcm9vdDogbnVsbCxcclxuICAgICAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXHJcbiAgICAgICAgICAgIHRocmVzaG9sZDogMFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgZnJvbUludGVyc2VjdGlvbk9ic2VydmVyKGVsZW1lbnQsIGNvbmZpZywgdGhpcy5pbnRlcnNlY3Rpb25EZWJvdW5jZSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudmlld2VkJCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlZCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class WebOtpDirective {
|
|
4
|
-
constructor(_el, _renderer2) {
|
|
5
|
-
this.otpRecieved = new EventEmitter();
|
|
6
|
-
const input = _el.nativeElement;
|
|
7
|
-
_renderer2.setAttribute(input, 'autocomplete', 'one-time-code');
|
|
8
|
-
if ('OTPCredential' in window) {
|
|
9
|
-
if (!input) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
this._ac = new AbortController();
|
|
13
|
-
const x = navigator.credentials;
|
|
14
|
-
x.get({
|
|
15
|
-
otp: { transport: ['sms'] },
|
|
16
|
-
signal: this._ac.signal
|
|
17
|
-
})
|
|
18
|
-
.then((otp) => {
|
|
19
|
-
console.log(otp);
|
|
20
|
-
if (otp) {
|
|
21
|
-
this.autoUpdate && (input.value = otp.code);
|
|
22
|
-
this.otpRecieved.emit(otp.code);
|
|
23
|
-
}
|
|
24
|
-
})
|
|
25
|
-
.catch((err) => {
|
|
26
|
-
console.error(err);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
if (this._ac) {
|
|
32
|
-
this._ac.abort();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebOtpDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: WebOtpDirective, selector: "[appWebotp]", inputs: { autoUpdate: "autoUpdate" }, outputs: { otpRecieved: "otpRecieved" }, ngImport: i0 }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebOtpDirective, decorators: [{
|
|
39
|
-
type: Directive,
|
|
40
|
-
args: [{
|
|
41
|
-
selector: '[appWebotp]',
|
|
42
|
-
standalone: false
|
|
43
|
-
}]
|
|
44
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { otpRecieved: [{
|
|
45
|
-
type: Output
|
|
46
|
-
}], autoUpdate: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vib3RwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy93ZWJvdHAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBTXpHLE1BQU0sT0FBTyxlQUFlO0lBSXhCLFlBQVksR0FBZSxFQUFFLFVBQXFCO1FBSHhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUkvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsYUFBaUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFaEUsSUFBSSxlQUFlLElBQUksTUFBTSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNULE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxXQUFrQixDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ0YsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07YUFDMUIsQ0FBQztpQkFDRyxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNOLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDOytHQWxDUSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjt1R0FFYSxXQUFXO3NCQUFwQixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXBwV2Vib3RwXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2ViT3RwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIEBPdXRwdXQoKSBvdHBSZWNpZXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgQElucHV0KCkgYXV0b1VwZGF0ZTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2FjITogQWJvcnRDb250cm9sbGVyO1xyXG4gICAgY29uc3RydWN0b3IoX2VsOiBFbGVtZW50UmVmLCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHtcclxuICAgICAgICBjb25zdCBpbnB1dCA9IF9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgX3JlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoaW5wdXQsICdhdXRvY29tcGxldGUnLCAnb25lLXRpbWUtY29kZScpO1xyXG5cclxuICAgICAgICBpZiAoJ09UUENyZWRlbnRpYWwnIGluIHdpbmRvdykge1xyXG4gICAgICAgICAgICBpZiAoIWlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fYWMgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHggPSBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgYXMgYW55O1xyXG4gICAgICAgICAgICB4LmdldCh7XHJcbiAgICAgICAgICAgICAgICBvdHA6IHsgdHJhbnNwb3J0OiBbJ3NtcyddIH0sXHJcbiAgICAgICAgICAgICAgICBzaWduYWw6IHRoaXMuX2FjLnNpZ25hbFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKG90cDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cob3RwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3RwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b1VwZGF0ZSAmJiAoaW5wdXQudmFsdWUgPSBvdHAuY29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3RwUmVjaWV2ZWQuZW1pdChvdHAuY29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fYWMpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWMuYWJvcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|