@eo-sdk/client 10.0.0-beta.2 → 10.0.0-beta.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/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +2 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +3 -1
- package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +2 -0
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts.map +1 -0
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +3 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/form-elements.module.d.ts +37 -39
- package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/index.d.ts +1 -3
- package/app/eo-framework/form-elements/index.d.ts.map +1 -1
- package/app/eo-framework/form-elements/reference/reference.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +3 -2
- package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +1 -5
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +4 -7
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.module.d.ts +4 -3
- package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts +2 -7
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/index.d.ts +0 -1
- package/app/eo-framework/index.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +2 -7
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +6 -59
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts +86 -2
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +3 -11
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/app/eo-framework/plugins/plugin.component.d.ts +0 -2
- package/app/eo-framework/plugins/plugin.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +2 -7
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +2 -7
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +2 -0
- package/assets/_default/i18n/en.json +4 -2
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +1 -1
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +3 -3
- package/esm2020/app/eo-client/login/login.component.mjs +1 -1
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +1 -1
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +1 -1
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +3 -3
- package/esm2020/app/eo-client/settings/settings.component.mjs +3 -3
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +1 -1
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +2 -2
- package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +32 -20
- package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +8 -4
- package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +1 -4
- package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +9 -3
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +9 -24
- package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +9 -3
- package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +3 -13
- package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +7 -7
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/index.mjs +2 -4
- package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +1 -1
- package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -5
- package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +7 -2
- package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +9 -17
- package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +9 -27
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/grid.module.mjs +5 -8
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +8 -15
- package/esm2020/app/eo-framework/index.mjs +1 -2
- package/esm2020/app/eo-framework/media/media.component.mjs +2 -2
- package/esm2020/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +10 -15
- package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +1 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +4 -4
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +18 -494
- package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +506 -7
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +19 -27
- package/esm2020/app/eo-framework/plugins/plugin.component.mjs +5 -7
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -4
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +10 -16
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +7 -16
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +1 -1
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +6 -3
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +6 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +3736 -4528
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +3739 -4531
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +4 -4
- package/projects/eo-sdk/core/lib/util/utils.d.ts +1 -0
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
- package/scss/_eo-variables.scss +68 -40
- package/scss/_form.scss +6 -0
- package/scss/_main.scss +1 -1
- package/scss/_theme-dark.scss +22 -0
- package/scss/_yuuvis-components.scss +12 -2
- package/styles.css +51 -24
- package/styles.scss +5 -10
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts +0 -67
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts +0 -21
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts +0 -33
- package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datetime.component.d.ts +0 -51
- package/app/eo-framework/form-elements/datetime/datetime.component.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/year-range/year-range.directive.d.ts.map +0 -1
- package/app/eo-framework/tab-container/index.d.ts +0 -6
- package/app/eo-framework/tab-container/index.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-container.component.d.ts +0 -62
- package/app/eo-framework/tab-container/tab-container.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-container.module.d.ts +0 -18
- package/app/eo-framework/tab-container/tab-container.module.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts +0 -13
- package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts +0 -19
- package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts +0 -11
- package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts.map +0 -1
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.mjs +0 -239
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.mjs +0 -2
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.mjs +0 -109
- package/esm2020/app/eo-framework/form-elements/datetime/datetime.component.mjs +0 -142
- package/esm2020/app/eo-framework/form-elements/datetime/year-range/year-range.directive.mjs +0 -44
- package/esm2020/app/eo-framework/tab-container/index.mjs +0 -6
- package/esm2020/app/eo-framework/tab-container/tab-container.component.mjs +0 -184
- package/esm2020/app/eo-framework/tab-container/tab-container.module.mjs +0 -47
- package/esm2020/app/eo-framework/tab-container/tab-panel/tab-panel.component.mjs +0 -26
- package/esm2020/app/eo-framework/tab-container/tab-view/tab-view.component.mjs +0 -61
- package/esm2020/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.mjs +0 -25
- package/scss/_eo-inverted.scss +0 -73
- package/scss/_eo-pink-theme.scss +0 -73
- package/scss/_eo-theme.scss +0 -81
- package/scss/_eo-vars.scss +0 -3
- /package/app/eo-framework/form-elements/{datetime → date}/year-range/year-range.directive.d.ts +0 -0
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { LayoutService } from './../../eo-framework-core/layout/layout.service';
|
|
2
|
-
import { AfterViewInit, EventEmitter, QueryList } from '@angular/core';
|
|
3
|
-
import { TabPanelComponent } from './tab-panel/tab-panel.component';
|
|
4
|
-
import { TabViewComponent } from './tab-view/tab-view.component';
|
|
5
|
-
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class TabContainerComponent implements AfterViewInit {
|
|
8
|
-
private layout;
|
|
9
|
-
flow: string;
|
|
10
|
-
dynamic: boolean;
|
|
11
|
-
masterSize: string;
|
|
12
|
-
masterSizeMin: string;
|
|
13
|
-
darkTheme: boolean;
|
|
14
|
-
dndEnabled: boolean;
|
|
15
|
-
dropZones: string[];
|
|
16
|
-
panelOrder: {
|
|
17
|
-
master: any[];
|
|
18
|
-
slave: any[];
|
|
19
|
-
};
|
|
20
|
-
defaultPanelOrder: {
|
|
21
|
-
master: any[];
|
|
22
|
-
slave: any[];
|
|
23
|
-
};
|
|
24
|
-
private _cacheLayout;
|
|
25
|
-
private _afterViewInit;
|
|
26
|
-
visibility: {
|
|
27
|
-
master: boolean;
|
|
28
|
-
slave: boolean;
|
|
29
|
-
};
|
|
30
|
-
version: {
|
|
31
|
-
master: string;
|
|
32
|
-
slave: string;
|
|
33
|
-
};
|
|
34
|
-
pluginPanels: QueryList<TabPanelComponent>;
|
|
35
|
-
tabPanels: QueryList<TabPanelComponent>;
|
|
36
|
-
mainTabView: TabViewComponent;
|
|
37
|
-
slaveTabView: TabViewComponent;
|
|
38
|
-
enableSlave: any;
|
|
39
|
-
enableSync: any;
|
|
40
|
-
onTabSwitch: EventEmitter<any>;
|
|
41
|
-
onChange: EventEmitter<any>;
|
|
42
|
-
set cacheLayout(val: any);
|
|
43
|
-
get cacheLayout(): any;
|
|
44
|
-
constructor(layout: LayoutService);
|
|
45
|
-
updateLayout(): void;
|
|
46
|
-
onChangeTab(evt: any, type: any): void;
|
|
47
|
-
onZoneDrop(event: CdkDragDrop<any>, type: 'master' | 'slave'): void;
|
|
48
|
-
getCurrentOrder(): {
|
|
49
|
-
master: void;
|
|
50
|
-
slave: void;
|
|
51
|
-
};
|
|
52
|
-
saveCacheOrder(tab?: any): void;
|
|
53
|
-
ngAfterViewInit(): void;
|
|
54
|
-
toggleSplitPane(): void;
|
|
55
|
-
init(panelOrder: any): void;
|
|
56
|
-
clearSelection(): void;
|
|
57
|
-
selectById(id: any): void;
|
|
58
|
-
isReady(): boolean;
|
|
59
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabContainerComponent, never>;
|
|
60
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabContainerComponent, "eo-tab-container", never, { "flow": "flow"; "dynamic": "dynamic"; "masterSize": "masterSize"; "masterSizeMin": "masterSizeMin"; "darkTheme": "darkTheme"; "dndEnabled": "dndEnabled"; "dropZones": "dropZones"; "defaultPanelOrder": "defaultPanelOrder"; "version": "version"; "pluginPanels": "pluginPanels"; "enableSlave": "enableSlave"; "enableSync": "enableSync"; "cacheLayout": "cacheLayout"; }, { "onTabSwitch": "onTabSwitch"; "onChange": "onChange"; }, ["tabPanels"], never, false, never>;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=tab-container.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-container.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/tab-container/tab-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAC,aAAa,EAA8B,YAAY,EAAiB,SAAS,EAAY,MAAM,eAAe,CAAC;AAG3H,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;;AAEnD,qBAKa,qBAAsB,YAAW,aAAa;IAwD7C,OAAO,CAAC,MAAM;IAvDjB,IAAI,SAAS;IACb,OAAO,UAAQ;IACf,UAAU,SAAS;IACnB,aAAa,SAAM;IACnB,SAAS,UAAS;IAClB,UAAU,UAAQ;IAClB,SAAS,WAAgC;IAElD,UAAU,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,CAAA;KACb,CAAC;IAEO,iBAAiB,EAAE;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,CAAA;KACb,CAAC;IAEF,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,cAAc,CAAM;IAE5B,UAAU;;;MAGR;IAEO,OAAO;;;MAGd;IAEO,YAAY,+BAAsC;IAEvB,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,gBAAgB,CAAC;IAE7B,YAAY,EAAE,gBAAgB,CAAC;IACjD,WAAW,EAAE,GAAG,CAAQ;IACxB,UAAU,EAAE,GAAG,CAAS;IACvB,WAAW,oBAAsB;IACjC,QAAQ,oBAAsB;IAExC,IACI,WAAW,CAAC,GAAG,EAAE,GAAG,EAMvB;IAED,IAAI,WAAW,IAAI,GAAG,CAErB;gBAEmB,MAAM,EAAE,aAAa;IAGzC,YAAY;IAMZ,WAAW,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA;IAarB,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAS5D,eAAe;;;;IAOf,cAAc,CAAC,GAAG,CAAC,KAAA;IAOnB,eAAe;IAKf,eAAe;IAoBf,IAAI,CAAC,UAAU,KAAA;IAqBf,cAAc;IAId,UAAU,CAAC,EAAE,KAAA;IAYb,OAAO;yCAnKI,qBAAqB;2CAArB,qBAAqB;CAsKjC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./tab-container.component";
|
|
3
|
-
import * as i2 from "./tab-view/tab-view.component";
|
|
4
|
-
import * as i3 from "./tab-panel/tab-panel.component";
|
|
5
|
-
import * as i4 from "./tab-view-nav/tab-view-nav.component";
|
|
6
|
-
import * as i5 from "@angular/common";
|
|
7
|
-
import * as i6 from "primeng/tabview";
|
|
8
|
-
import * as i7 from "../split/split.module";
|
|
9
|
-
import * as i8 from "@eo-sdk/core";
|
|
10
|
-
import * as i9 from "../util/util.module";
|
|
11
|
-
import * as i10 from "@angular/cdk/drag-drop";
|
|
12
|
-
import * as i11 from "../ui/ui.module";
|
|
13
|
-
export declare class TabContainerModule {
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabContainerModule, never>;
|
|
15
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TabContainerModule, [typeof i1.TabContainerComponent, typeof i2.TabViewComponent, typeof i3.TabPanelComponent, typeof i4.TabViewNavComponent], [typeof i5.CommonModule, typeof i6.TabViewModule, typeof i7.SplitModule, typeof i8.EoSharedModule, typeof i9.UtilModule, typeof i10.DragDropModule, typeof i11.UiModule], [typeof i6.TabViewModule, typeof i1.TabContainerComponent, typeof i2.TabViewComponent, typeof i3.TabPanelComponent, typeof i4.TabViewNavComponent]>;
|
|
16
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<TabContainerModule>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=tab-container.module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-container.module.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/tab-container/tab-container.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAcA,qBAaa,kBAAkB;yCAAlB,kBAAkB;0CAAlB,kBAAkB;0CAAlB,kBAAkB;CAC9B"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ElementRef, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TabPanelComponent {
|
|
4
|
-
viewContainer: ViewContainerRef;
|
|
5
|
-
el: ElementRef;
|
|
6
|
-
id: string;
|
|
7
|
-
isSlave: boolean;
|
|
8
|
-
_classSelected: string;
|
|
9
|
-
constructor(viewContainer: ViewContainerRef, el: ElementRef);
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabPanelComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabPanelComponent, "eo-tab-panel", never, { "id": "id"; "isSlave": "isSlave"; }, {}, never, never, false, never>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=tab-panel.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-panel.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/tab-container/tab-panel/tab-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAsB,gBAAgB,EAAC,MAAM,eAAe,CAAC;;AAG1F,qBAKa,iBAAiB;IAOT,aAAa,EAAE,gBAAgB;IAAS,EAAE,EAAE,UAAU;IALhE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,UAAS;IAEM,cAAc,SAAc;gBAExC,aAAa,EAAE,gBAAgB,EAAS,EAAE,EAAE,UAAU;yCAP9D,iBAAiB;2CAAjB,iBAAiB;CAW7B"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter, QueryList } from '@angular/core';
|
|
2
|
-
import { TabView } from 'primeng/tabview';
|
|
3
|
-
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TabViewComponent extends TabView {
|
|
6
|
-
viewTabPanels: QueryList<any>;
|
|
7
|
-
onSort: EventEmitter<any>;
|
|
8
|
-
onTabSwitch: EventEmitter<any>;
|
|
9
|
-
dndEnabled: boolean;
|
|
10
|
-
panels: ElementRef;
|
|
11
|
-
getCurrentOrder(): void;
|
|
12
|
-
initTabs(): void;
|
|
13
|
-
onHeaderDrop(event: CdkDragDrop<any>): void;
|
|
14
|
-
onDragDataIndexChange(tab: any): void;
|
|
15
|
-
onDragDataChange(tab: any, emit?: boolean): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabViewComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabViewComponent, "eo-tab-view", never, { "viewTabPanels": "viewTabPanels"; "dndEnabled": "dndEnabled"; }, { "onSort": "onSort"; "onTabSwitch": "onTabSwitch"; }, never, never, false, never>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=tab-view.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-view.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/tab-container/tab-view/tab-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,YAAY,EAAiB,SAAS,EAAY,MAAM,eAAe,CAAC;AACvG,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAqB,MAAM,wBAAwB,CAAC;;AAExE,qBAKa,gBAAiB,SAAQ,OAAO;IAElC,aAAa,iBAAwB;IACpC,MAAM,oBAAsB;IAC5B,WAAW,oBAAsB;IAClC,UAAU,UAAQ;IAEN,MAAM,EAAE,UAAU,CAAC;IAExC,eAAe;IAIf,QAAQ;IAKR,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAUpC,qBAAqB,CAAC,GAAG,KAAA;IAKzB,gBAAgB,CAAC,GAAG,KAAA,EAAE,IAAI,UAAO;yCAjCtB,gBAAgB;2CAAhB,gBAAgB;CA4C5B"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TabViewNavComponent {
|
|
4
|
-
classes: string;
|
|
5
|
-
dndEnabled: boolean;
|
|
6
|
-
onHeaderDrop: EventEmitter<any>;
|
|
7
|
-
tabs: any[];
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabViewNavComponent, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabViewNavComponent, "eo-tab-view-nav", never, { "dndEnabled": "dndEnabled"; }, { "onHeaderDrop": "onHeaderDrop"; }, never, never, false, never>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=tab-view-nav.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-view-nav.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAA6B,MAAM,eAAe,CAAC;;AAElF,qBAKa,mBAAmB;IAER,OAAO,SAAsF;IAE1G,UAAU,UAAQ;IAEjB,YAAY,oBAAsB;IAE5C,IAAI,QAAK;yCARE,mBAAmB;2CAAnB,mBAAmB;CAS/B"}
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { Component, Input, EventEmitter, Output, HostListener } from '@angular/core';
|
|
2
|
-
import * as moment_ from 'moment';
|
|
3
|
-
import 'moment/min/locales';
|
|
4
|
-
import { DatepickerService } from './service/datepicker.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@eo-sdk/core";
|
|
7
|
-
import * as i2 from "./service/datepicker.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@angular/forms";
|
|
10
|
-
import * as i5 from "@ngx-translate/core";
|
|
11
|
-
import * as i6 from "../../../ui/eo-icon/eo-icon.component";
|
|
12
|
-
import * as i7 from "../year-range/year-range.directive";
|
|
13
|
-
const moment = moment_;
|
|
14
|
-
export class DatepickerComponent {
|
|
15
|
-
// current month shown in the picker
|
|
16
|
-
set month(month) {
|
|
17
|
-
this.datepickerService.month = month;
|
|
18
|
-
}
|
|
19
|
-
;
|
|
20
|
-
get month() {
|
|
21
|
-
return this.datepickerService.month;
|
|
22
|
-
}
|
|
23
|
-
set weeks(weeks) {
|
|
24
|
-
this.datepickerService.weeks = weeks;
|
|
25
|
-
}
|
|
26
|
-
;
|
|
27
|
-
get weeks() {
|
|
28
|
-
return this.datepickerService.weeks;
|
|
29
|
-
}
|
|
30
|
-
// ngModel for the year input
|
|
31
|
-
set year(year) {
|
|
32
|
-
this.datepickerService.year = year;
|
|
33
|
-
}
|
|
34
|
-
;
|
|
35
|
-
get year() {
|
|
36
|
-
return this.datepickerService.year;
|
|
37
|
-
}
|
|
38
|
-
set onlyFutureDates(enabled) {
|
|
39
|
-
this.datepickerService.futureOnly = enabled ? enabled : false;
|
|
40
|
-
}
|
|
41
|
-
get futureOnly() {
|
|
42
|
-
return this.datepickerService.futureOnly;
|
|
43
|
-
}
|
|
44
|
-
set date(date) {
|
|
45
|
-
let mIso = moment(date).toISOString();
|
|
46
|
-
if (this._date !== mIso) {
|
|
47
|
-
this._date = mIso;
|
|
48
|
-
if (this.initialized) {
|
|
49
|
-
this.setCalenderDate(date, true);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
set useDatabaseMinimumTime(enabled) {
|
|
54
|
-
this.minYear = enabled ? 1753 : 0;
|
|
55
|
-
}
|
|
56
|
-
onKeydownHandler(event) {
|
|
57
|
-
let newDate;
|
|
58
|
-
if (event.keyCode === 13) {
|
|
59
|
-
this.selectValue();
|
|
60
|
-
}
|
|
61
|
-
else if (event.keyCode === 27) {
|
|
62
|
-
this.cancel();
|
|
63
|
-
}
|
|
64
|
-
else if (event.keyCode === 37) {
|
|
65
|
-
newDate = moment(this.selected).add(-1, 'd');
|
|
66
|
-
}
|
|
67
|
-
else if (event.keyCode === 38) {
|
|
68
|
-
newDate = moment(this.selected).add(-7, 'd');
|
|
69
|
-
}
|
|
70
|
-
else if (event.keyCode === 39) {
|
|
71
|
-
newDate = moment(this.selected).add(1, 'd');
|
|
72
|
-
}
|
|
73
|
-
else if (event.keyCode === 40) {
|
|
74
|
-
newDate = moment(this.selected).add(7, 'd');
|
|
75
|
-
}
|
|
76
|
-
if (newDate && !this.datepickerService.isDisabledDate(newDate)) {
|
|
77
|
-
this.select(newDate);
|
|
78
|
-
}
|
|
79
|
-
if (event.keyCode === 13 || event.keyCode === 27) {
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
event.stopPropagation();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
onInputKeydown(event) {
|
|
85
|
-
if (event.keyCode !== 27 && event.keyCode !== 13) {
|
|
86
|
-
event.stopPropagation();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
constructor(translate, datepickerService) {
|
|
90
|
-
this.datepickerService = datepickerService;
|
|
91
|
-
this.maxYear = 9999;
|
|
92
|
-
this.minYear = 0;
|
|
93
|
-
// ngModel for the year input
|
|
94
|
-
// ngModel for the time inputs
|
|
95
|
-
this.time = {
|
|
96
|
-
h: 0,
|
|
97
|
-
m: 0
|
|
98
|
-
};
|
|
99
|
-
// weeks of the current month
|
|
100
|
-
this.monthInfo = {
|
|
101
|
-
month: null,
|
|
102
|
-
year: null
|
|
103
|
-
};
|
|
104
|
-
// emitted when a new value is set by the picker
|
|
105
|
-
this.onDateChanged = new EventEmitter();
|
|
106
|
-
this.onCanceled = new EventEmitter();
|
|
107
|
-
const locale = (translate.currentLang || translate.defaultLang).replace('zh', 'zh-cn'); // BUG: moment does not support 'zh'
|
|
108
|
-
moment.locale(locale);
|
|
109
|
-
let startDay = moment().startOf('week').day();
|
|
110
|
-
this.monthsShort = moment.monthsShort();
|
|
111
|
-
this.weekdaysShort = moment.weekdaysShort().slice(startDay).concat(moment.weekdaysShort().slice(0, startDay));
|
|
112
|
-
}
|
|
113
|
-
selectValue() {
|
|
114
|
-
this.onDateChanged.emit({
|
|
115
|
-
date: this.selected.toDate()
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
cancel() {
|
|
119
|
-
this.onCanceled.emit({});
|
|
120
|
-
}
|
|
121
|
-
select(date) {
|
|
122
|
-
this.selected = date;
|
|
123
|
-
if (this.withTime) {
|
|
124
|
-
this.selected.hour(this.time.h);
|
|
125
|
-
this.selected.minute(this.time.m);
|
|
126
|
-
}
|
|
127
|
-
if (this.selected.month() !== this.month.month()) {
|
|
128
|
-
this.setMonth(this.selected.month());
|
|
129
|
-
}
|
|
130
|
-
if (this.selected.year() !== this.year) {
|
|
131
|
-
this.setYear(this.selected.year());
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
focusSelection() {
|
|
135
|
-
this.month.month(this.selected.month());
|
|
136
|
-
this.month.year(this.selected.year());
|
|
137
|
-
this.datepickerService.buildMonth();
|
|
138
|
-
this.createInfo();
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Set the pickers selected date
|
|
142
|
-
*
|
|
143
|
-
* @param Date | string date
|
|
144
|
-
* @param boolean select - if set to true the given day will be set selected
|
|
145
|
-
*/
|
|
146
|
-
setCalenderDate(date, select) {
|
|
147
|
-
let m = moment(date);
|
|
148
|
-
if (m.isValid()) {
|
|
149
|
-
this.month = m;
|
|
150
|
-
// let start = moment;
|
|
151
|
-
// start.date(1);
|
|
152
|
-
// this.removeTime(start.day(0));
|
|
153
|
-
if (select) {
|
|
154
|
-
this.selected = moment(date);
|
|
155
|
-
}
|
|
156
|
-
if (this.withTime) {
|
|
157
|
-
this.time = {
|
|
158
|
-
h: m.hour(),
|
|
159
|
-
m: m.minute()
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
this.datepickerService.buildMonth();
|
|
163
|
-
this.createInfo();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
increment(year) {
|
|
167
|
-
this.setYear(year + 1);
|
|
168
|
-
}
|
|
169
|
-
decrement(year) {
|
|
170
|
-
this.setYear(year - 1);
|
|
171
|
-
}
|
|
172
|
-
setYear(year) {
|
|
173
|
-
this.year = this.datepickerService.setYear(year, this.minYear, this.maxYear);
|
|
174
|
-
this.month.year(this.year);
|
|
175
|
-
this.datepickerService.buildMonth();
|
|
176
|
-
this.createInfo();
|
|
177
|
-
this.selected.year(this.year);
|
|
178
|
-
}
|
|
179
|
-
;
|
|
180
|
-
timeToString(time) {
|
|
181
|
-
return ('0' + Math.abs(time)).slice(-2);
|
|
182
|
-
}
|
|
183
|
-
setTime(time) {
|
|
184
|
-
this.time = this.datepickerService.setTime(time);
|
|
185
|
-
this.selected.hour(this.time.h);
|
|
186
|
-
this.selected.minute(this.time.m);
|
|
187
|
-
}
|
|
188
|
-
;
|
|
189
|
-
setMonth(index) {
|
|
190
|
-
this.month.month(index);
|
|
191
|
-
this.datepickerService.buildMonth();
|
|
192
|
-
this.createInfo();
|
|
193
|
-
}
|
|
194
|
-
;
|
|
195
|
-
isSelectedDay(day) {
|
|
196
|
-
return day.isSame(this.selected, 'day');
|
|
197
|
-
}
|
|
198
|
-
inRange(x, min = 0, max = 11) {
|
|
199
|
-
return ((x - min) * (x - max) <= 0);
|
|
200
|
-
}
|
|
201
|
-
createInfo() {
|
|
202
|
-
this.monthInfo = this.datepickerService.createInfo();
|
|
203
|
-
}
|
|
204
|
-
ngOnInit() {
|
|
205
|
-
if (!this._date) {
|
|
206
|
-
this._date = this.withTime ? moment().toISOString() : moment().startOf('day').toISOString();
|
|
207
|
-
}
|
|
208
|
-
this.setCalenderDate(this._date, true);
|
|
209
|
-
this.initialized = true;
|
|
210
|
-
}
|
|
211
|
-
trackByFn(index, item) {
|
|
212
|
-
return index;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatepickerComponent, deps: [{ token: i1.TranslateService }, { token: i2.DatepickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
-
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatepickerComponent, selector: "eo-datepicker", inputs: { withTime: "withTime", withAmPm: "withAmPm", onlyFutureDates: "onlyFutureDates", date: "date", useDatabaseMinimumTime: "useDatabaseMinimumTime" }, outputs: { onDateChanged: "onDateChanged", onCanceled: "onCanceled" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, providers: [DatepickerService], ngImport: i0, template: "<div class=\"date-picker\">\n\n <div class=\"select\">\n\n <div class=\"year\">\n <div class=\"back\">\n <div class=\"current\" (click)=\"focusSelection()\">\n <div class=\"d\">{{selected.date()}}</div>\n <div>\n <div class=\"m\">{{monthsShort[selected.month()]}}</div>\n <div class=\"y\">{{selected.year()}}</div>\n </div>\n </div>\n </div>\n <input (keydown)=\"onInputKeydown($event)\" type=\"number\" eoYearRange [(ngModel)]=\"year\" [max]=\"maxYear\" (ngModelChange)=\"setYear($event)\" [ngModelOptions]=\"{standalone: true}\"/>\n <div class=\"controls\">\n <button class=\"icon white year-up\" (click)=\"increment(year)\" [disabled]=\"year >= maxYear\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon white year-down\" (click)=\"decrement(year)\" [disabled]=\"year <= minYear\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n </div>\n\n <div class=\"month\">\n <span *ngFor=\"let _month of monthsShort; let _i = index\" (click)=\"setMonth(_i)\" [ngClass]=\"{current: monthInfo.month == _i}\" >{{_month}}</span>\n </div>\n </div>\n\n <div class=\"calendar\">\n <div class=\"week names\">\n <div *ngFor=\"let _day of weekdaysShort\"><span class=\"day\">{{_day}}</span></div>\n </div>\n\n <div class=\"week\" *ngFor=\"let week of weeks; trackBy: trackByFn\">\n <div *ngFor=\"let day of week.days; trackBy: trackByFn\">\n <span class=\"day\" *ngIf=\"!day.disabled\" [ngClass]=\"{ today: day.isToday,\n 'different-month': !day.isCurrentMonth, selected: isSelectedDay(day.date) }\"\n (click)=\"select(day.date)\" (dblclick)=\"select(day.date)\">{{day.number}}</span>\n <span class=\"day disabled\" *ngIf=\"day.disabled\" [ngClass]=\"{ today: day.isToday,\n 'different-month': !day.isCurrentMonth, selected: isSelectedDay(day.date) }\">{{day.number}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"time\" *ngIf=\"withTime\">\n\n <div class=\"value val-h\">{{timeToString(withAmPm && !inRange(time.h, 1, 12) ? time.h - 12 : time.h)}}</div>\n <div class=\"controls ctrl-h\">\n <button class=\"icon btn-up\" (click)=\"setTime({h: time.h + 1, m: time.m})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon btn-down\" (click)=\"setTime({h: time.h - 1, m: time.m})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"value val-sep\">:</div>\n <div class=\"value val-min\">{{timeToString(time.m)}}</div>\n <div class=\"controls ctrl-min\">\n <button class=\"icon btn-up\" (click)=\"setTime({h: time.h, m: time.m + 1})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon btn-down\" (click)=\"setTime({h: time.h, m: time.m - 1})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"controls ctrl-am-pm\" *ngIf=\"withAmPm\">\n <button class=\"\" [ngClass]=\"{primary: inRange(time.h)}\" (click)=\"setTime({h: inRange(time.h) ? time.h : time.h - 12, m: time.m})\">AM</button>\n <button class=\"\" [ngClass]=\"{primary: !inRange(time.h)}\" (click)=\"setTime({h: inRange(time.h) ? time.h + 12 : time.h, m: time.m})\">PM</button>\n </div>\n\n </div>\n\n <div class=\"actions\">\n <button class=\"primary\" (click)=\"selectValue()\" translate>eo.datepicker.calendar.select</button>\n </div>\n\n</div>\n", styles: [".date-picker{background:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;box-sizing:border-box}.date-picker .controls{display:flex;flex:none;flex-direction:column;min-height:0;min-width:0}.date-picker .controls button{padding:4px;margin:4px;border-radius:2px}.date-picker .controls button.icon{background:rgba(var(--color-black-rgb),0);color:var(--color-white);padding:0}.date-picker .controls button.icon:focus{border-color:rgba(var(--color-black-rgb),0)}.date-picker .controls button.icon eo-icon{border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.1)}.date-picker .controls button.icon eo-icon svg{fill:var(--text-color-hint)}.date-picker .controls button.icon:first-child{transform:rotate(180deg)}.date-picker .select{flex:0 0 auto;background:var(--color-accent);color:var(--color-white)}.date-picker .select .year{padding:0 var(--app-pane-padding);margin-bottom:var(--app-pane-padding);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.date-picker .select .year .back{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:flex-start}.date-picker .select .year .back .d{font-size:40px;line-height:1em;margin:0 4px}.date-picker .select .year .back .current{border-radius:2px;padding:0 4px 0 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.date-picker .select .year .back .current:hover{background:rgba(var(--color-white-rgb),.1)}.date-picker .select .year .back .current>div{display:flex;flex:none;flex-direction:column;min-height:0;min-width:0;align-items:flex-start}.date-picker .select .year input{font-size:50px;font-family:eoRoboto,sans-serif;font-weight:var(--font-weight-light);color:var(--color-white);border:0;background:rgba(var(--color-black-rgb),0);width:3em;text-align:right;line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),0)}.date-picker .select .year input::-moz-selection{background:rgba(var(--color-white-rgb),.3)}.date-picker .select .year input::selection{background:rgba(var(--color-white-rgb),.3)}.date-picker .select .year input:focus{border-bottom:1px solid rgba(var(--color-white-rgb),.5)}.date-picker .select .month{padding:0 var(--app-pane-padding)}.date-picker .select .month span{font-size:var(--font-hint);color:rgba(var(--color-white-rgb),.5);font-weight:var(--font-weight-bold);display:inline-block;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;width:3em;box-sizing:border-box;text-align:center;padding:4px 0;margin-bottom:1px;cursor:pointer;border-bottom:2px solid rgba(var(--color-black-rgb),0)}.date-picker .select .month span:hover{color:var(--color-white);border-color:rgba(var(--color-white-rgb),.5)}.date-picker .select .month span.current{color:var(--color-white);border-color:var(--color-white)}.date-picker .calendar{flex:1 1 auto;padding:var(--app-pane-padding);box-sizing:content-box}.date-picker .time{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;justify-content:flex-start;align-items:center;padding:var(--app-pane-padding)}.date-picker .time .value{font-size:64px;font-weight:var(--font-weight-light);color:var(--text-color-caption);line-height:1em;cursor:default}.date-picker .time .value.val-h,.date-picker .time .value.val-min{min-width:1.2em}.date-picker .time .controls button.icon:focus{border:1px solid var(--color-primary-3)}.date-picker .time .controls button.icon eo-icon{background:rgba(var(--color-black-rgb),.05);color:var(--text-color-hint)}.date-picker .time .controls button.icon eo-icon:hover{background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption)}.date-picker .actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding:var(--app-pane-padding)}.week.names span:hover{background:rgba(var(--color-black-rgb),0);border-color:rgba(var(--color-black-rgb),0);cursor:default}.week{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:nowrap;justify-content:space-around;margin-bottom:3px}.week>div{text-align:center;width:2.5em}.week span{color:var(--text-color-body);display:inline-block;box-sizing:border-box;border-bottom:1px solid rgba(var(--color-black-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;width:2em;text-align:center;padding:.25em 0;cursor:pointer}.week .day.disabled{color:#fff;cursor:default;background-color:#0000001a;border-radius:2px}.week .day.disabled:hover{border-bottom:0}.week span:hover{color:var(--color-accent);border-bottom:1px solid var(--color-accent)}.week span.today{color:var(--color-accent);font-weight:var(--font-weight-bold);border-bottom:1px solid var(--color-accent)}.week span.selected,.week span.selected:hover{background:var(--color-accent);color:var(--color-white)!important;border-radius:2px;-webkit-border-radius:2px}.week span.different-month{color:var(--text-color-hint)}.week.names span{color:var(--color-accent)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i7.YearRangeDirective, selector: "[eoYearRange]", inputs: ["rangeMin", "rangeMax"] }] });
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
218
|
-
type: Component,
|
|
219
|
-
args: [{ selector: 'eo-datepicker', providers: [DatepickerService], template: "<div class=\"date-picker\">\n\n <div class=\"select\">\n\n <div class=\"year\">\n <div class=\"back\">\n <div class=\"current\" (click)=\"focusSelection()\">\n <div class=\"d\">{{selected.date()}}</div>\n <div>\n <div class=\"m\">{{monthsShort[selected.month()]}}</div>\n <div class=\"y\">{{selected.year()}}</div>\n </div>\n </div>\n </div>\n <input (keydown)=\"onInputKeydown($event)\" type=\"number\" eoYearRange [(ngModel)]=\"year\" [max]=\"maxYear\" (ngModelChange)=\"setYear($event)\" [ngModelOptions]=\"{standalone: true}\"/>\n <div class=\"controls\">\n <button class=\"icon white year-up\" (click)=\"increment(year)\" [disabled]=\"year >= maxYear\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon white year-down\" (click)=\"decrement(year)\" [disabled]=\"year <= minYear\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n </div>\n\n <div class=\"month\">\n <span *ngFor=\"let _month of monthsShort; let _i = index\" (click)=\"setMonth(_i)\" [ngClass]=\"{current: monthInfo.month == _i}\" >{{_month}}</span>\n </div>\n </div>\n\n <div class=\"calendar\">\n <div class=\"week names\">\n <div *ngFor=\"let _day of weekdaysShort\"><span class=\"day\">{{_day}}</span></div>\n </div>\n\n <div class=\"week\" *ngFor=\"let week of weeks; trackBy: trackByFn\">\n <div *ngFor=\"let day of week.days; trackBy: trackByFn\">\n <span class=\"day\" *ngIf=\"!day.disabled\" [ngClass]=\"{ today: day.isToday,\n 'different-month': !day.isCurrentMonth, selected: isSelectedDay(day.date) }\"\n (click)=\"select(day.date)\" (dblclick)=\"select(day.date)\">{{day.number}}</span>\n <span class=\"day disabled\" *ngIf=\"day.disabled\" [ngClass]=\"{ today: day.isToday,\n 'different-month': !day.isCurrentMonth, selected: isSelectedDay(day.date) }\">{{day.number}}</span>\n </div>\n </div>\n </div>\n\n <div class=\"time\" *ngIf=\"withTime\">\n\n <div class=\"value val-h\">{{timeToString(withAmPm && !inRange(time.h, 1, 12) ? time.h - 12 : time.h)}}</div>\n <div class=\"controls ctrl-h\">\n <button class=\"icon btn-up\" (click)=\"setTime({h: time.h + 1, m: time.m})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon btn-down\" (click)=\"setTime({h: time.h - 1, m: time.m})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"value val-sep\">:</div>\n <div class=\"value val-min\">{{timeToString(time.m)}}</div>\n <div class=\"controls ctrl-min\">\n <button class=\"icon btn-up\" (click)=\"setTime({h: time.h, m: time.m + 1})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n <button class=\"icon btn-down\" (click)=\"setTime({h: time.h, m: time.m - 1})\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"controls ctrl-am-pm\" *ngIf=\"withAmPm\">\n <button class=\"\" [ngClass]=\"{primary: inRange(time.h)}\" (click)=\"setTime({h: inRange(time.h) ? time.h : time.h - 12, m: time.m})\">AM</button>\n <button class=\"\" [ngClass]=\"{primary: !inRange(time.h)}\" (click)=\"setTime({h: inRange(time.h) ? time.h + 12 : time.h, m: time.m})\">PM</button>\n </div>\n\n </div>\n\n <div class=\"actions\">\n <button class=\"primary\" (click)=\"selectValue()\" translate>eo.datepicker.calendar.select</button>\n </div>\n\n</div>\n", styles: [".date-picker{background:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;box-sizing:border-box}.date-picker .controls{display:flex;flex:none;flex-direction:column;min-height:0;min-width:0}.date-picker .controls button{padding:4px;margin:4px;border-radius:2px}.date-picker .controls button.icon{background:rgba(var(--color-black-rgb),0);color:var(--color-white);padding:0}.date-picker .controls button.icon:focus{border-color:rgba(var(--color-black-rgb),0)}.date-picker .controls button.icon eo-icon{border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.1)}.date-picker .controls button.icon eo-icon svg{fill:var(--text-color-hint)}.date-picker .controls button.icon:first-child{transform:rotate(180deg)}.date-picker .select{flex:0 0 auto;background:var(--color-accent);color:var(--color-white)}.date-picker .select .year{padding:0 var(--app-pane-padding);margin-bottom:var(--app-pane-padding);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.date-picker .select .year .back{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:flex-start}.date-picker .select .year .back .d{font-size:40px;line-height:1em;margin:0 4px}.date-picker .select .year .back .current{border-radius:2px;padding:0 4px 0 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.date-picker .select .year .back .current:hover{background:rgba(var(--color-white-rgb),.1)}.date-picker .select .year .back .current>div{display:flex;flex:none;flex-direction:column;min-height:0;min-width:0;align-items:flex-start}.date-picker .select .year input{font-size:50px;font-family:eoRoboto,sans-serif;font-weight:var(--font-weight-light);color:var(--color-white);border:0;background:rgba(var(--color-black-rgb),0);width:3em;text-align:right;line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),0)}.date-picker .select .year input::-moz-selection{background:rgba(var(--color-white-rgb),.3)}.date-picker .select .year input::selection{background:rgba(var(--color-white-rgb),.3)}.date-picker .select .year input:focus{border-bottom:1px solid rgba(var(--color-white-rgb),.5)}.date-picker .select .month{padding:0 var(--app-pane-padding)}.date-picker .select .month span{font-size:var(--font-hint);color:rgba(var(--color-white-rgb),.5);font-weight:var(--font-weight-bold);display:inline-block;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;width:3em;box-sizing:border-box;text-align:center;padding:4px 0;margin-bottom:1px;cursor:pointer;border-bottom:2px solid rgba(var(--color-black-rgb),0)}.date-picker .select .month span:hover{color:var(--color-white);border-color:rgba(var(--color-white-rgb),.5)}.date-picker .select .month span.current{color:var(--color-white);border-color:var(--color-white)}.date-picker .calendar{flex:1 1 auto;padding:var(--app-pane-padding);box-sizing:content-box}.date-picker .time{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;justify-content:flex-start;align-items:center;padding:var(--app-pane-padding)}.date-picker .time .value{font-size:64px;font-weight:var(--font-weight-light);color:var(--text-color-caption);line-height:1em;cursor:default}.date-picker .time .value.val-h,.date-picker .time .value.val-min{min-width:1.2em}.date-picker .time .controls button.icon:focus{border:1px solid var(--color-primary-3)}.date-picker .time .controls button.icon eo-icon{background:rgba(var(--color-black-rgb),.05);color:var(--text-color-hint)}.date-picker .time .controls button.icon eo-icon:hover{background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption)}.date-picker .actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;justify-content:flex-end;padding:var(--app-pane-padding)}.week.names span:hover{background:rgba(var(--color-black-rgb),0);border-color:rgba(var(--color-black-rgb),0);cursor:default}.week{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:nowrap;justify-content:space-around;margin-bottom:3px}.week>div{text-align:center;width:2.5em}.week span{color:var(--text-color-body);display:inline-block;box-sizing:border-box;border-bottom:1px solid rgba(var(--color-black-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;width:2em;text-align:center;padding:.25em 0;cursor:pointer}.week .day.disabled{color:#fff;cursor:default;background-color:#0000001a;border-radius:2px}.week .day.disabled:hover{border-bottom:0}.week span:hover{color:var(--color-accent);border-bottom:1px solid var(--color-accent)}.week span.today{color:var(--color-accent);font-weight:var(--font-weight-bold);border-bottom:1px solid var(--color-accent)}.week span.selected,.week span.selected:hover{background:var(--color-accent);color:var(--color-white)!important;border-radius:2px;-webkit-border-radius:2px}.week span.different-month{color:var(--text-color-hint)}.week.names span{color:var(--color-accent)}\n"] }]
|
|
220
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.DatepickerService }]; }, propDecorators: { onDateChanged: [{
|
|
221
|
-
type: Output
|
|
222
|
-
}], onCanceled: [{
|
|
223
|
-
type: Output
|
|
224
|
-
}], withTime: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], withAmPm: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], onlyFutureDates: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], date: [{
|
|
231
|
-
type: Input,
|
|
232
|
-
args: ['date']
|
|
233
|
-
}], useDatabaseMinimumTime: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], onKeydownHandler: [{
|
|
236
|
-
type: HostListener,
|
|
237
|
-
args: ['document:keydown', ['$event']]
|
|
238
|
-
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFHL0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBU3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsb0NBQW9DO0lBQ3BDLElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJ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a0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCAnbW9tZW50L21pbi9sb2NhbGVzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRlcGlja2VyU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2RhdGVwaWNrZXIuc2VydmljZSc7XG5pbXBvcnQge1RpbWUsIFdlZWtzfSBmcm9tICcuL2RhdGVwaWNrZXIuaW50ZXJmYWNlJztcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RhdGVwaWNrZXJTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBtb250aHNTaG9ydDogc3RyaW5nW107XG4gIHdlZWtkYXlzU2hvcnQ6IHN0cmluZ1tdO1xuICBtYXhZZWFyID0gOTk5OTtcbiAgbWluWWVhciA9IDA7XG5cbiAgLy8gY3VycmVudCBtb250aCBzaG93biBpbiB0aGUgcGlja2VyXG4gIHNldCBtb250aChtb250aDogTW9tZW50KSB7XG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5tb250aCA9IG1vbnRoO1xuICB9O1xuXG4gIGdldCBtb250aCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlcGlja2VyU2VydmljZS5tb250aDtcbiAgfVxuXG4gIHNldCB3ZWVrcyh3ZWVrczogV2Vla3NbXSkge1xuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uud2Vla3MgPSB3ZWVrcztcbiAgfTtcblxuICBnZXQgd2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uud2Vla3M7XG4gIH1cblxuLy8gbmdNb2RlbCBmb3IgdGhlIHllYXIgaW5wdXRcbiAgc2V0IHllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS55ZWFyID0geWVhcjtcbiAgfTtcblxuICBnZXQgeWVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlcGlja2VyU2VydmljZS55ZWFyO1xuICB9XG5cbiAgLy8gc2VsZWN0ZWQgZGF0ZVxuICBzZWxlY3RlZDogTW9tZW50O1xuXG4gIC8vIG5nTW9kZWwgZm9yIHRoZSB5ZWFyIGlucHV0XG5cbiAgLy8gbmdNb2RlbCBmb3IgdGhlIHRpbWUgaW5wdXRzXG4gIHRpbWUgPSB7XG4gICAgaDogMCxcbiAgICBtOiAwXG4gIH07XG5cbiAgLy8gd2Vla3Mgb2YgdGhlIGN1cnJlbnQgbW9udGhcblxuICBtb250aEluZm8gPSB7XG4gICAgbW9udGg6IG51bGwsXG4gICAgeWVhcjogbnVsbFxuICB9O1xuXG4gIC8vIElTTyBzdHJpbmcgb2YgdGhlIGRhdGUgc2V0IGJ5IHRoZSBjb21wb25lbnRzIGRhdGUgcHJvcGVydHkgKHVzZWQgZm9yIGNvbXBhcmluZyBlcXVhbGl0eSlcbiAgcHJpdmF0ZSBfZGF0ZTogc3RyaW5nO1xuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuO1xuICAvLyBlbWl0dGVkIHdoZW4gYSBuZXcgdmFsdWUgaXMgc2V0IGJ5IHRoZSBwaWNrZXJcbiAgQE91dHB1dCgpIG9uRGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNhbmNlbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHdpdGhUaW1lOiBib29sZWFuO1xuICBASW5wdXQoKSB3aXRoQW1QbTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzZXQgb25seUZ1dHVyZURhdGVzKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmZ1dHVyZU9ubHkgPSBlbmFibGVkID8gZW5hYmxlZCA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGZ1dHVyZU9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuZnV0dXJlT25seTtcbiAgfVxuXG4gIEBJbnB1dCgnZGF0ZScpXG4gIHNldCBkYXRlKGRhdGU6IGFueSkge1xuICAgIGxldCBtSXNvID0gbW9tZW50KGRhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgaWYgKHRoaXMuX2RhdGUgIT09IG1Jc28pIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBtSXNvO1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRlckRhdGUoZGF0ZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHVzZURhdGFiYXNlTWluaW11bVRpbWUoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMubWluWWVhciA9IGVuYWJsZWQgPyAxNzUzIDogMDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgbGV0IG5ld0RhdGU7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEzKSB7XG4gICAgICB0aGlzLnNlbGVjdFZhbHVlKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXlDb2RlID09PSAyNykge1xuICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM3KSB7XG4gICAgICBuZXdEYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWQpLmFkZCgtMSwgJ2QnKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICBuZXdEYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWQpLmFkZCgtNywgJ2QnKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM5KSB7XG4gICAgICBuZXdEYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWQpLmFkZCgxLCAnZCcpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgIG5ld0RhdGUgPSBtb21lbnQodGhpcy5zZWxlY3RlZCkuYWRkKDcsICdkJyk7XG4gICAgfVxuICAgIGlmIChuZXdEYXRlICYmICF0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzRGlzYWJsZWREYXRlKG5ld0RhdGUpKSB7XG4gICAgICB0aGlzLnNlbGVjdChuZXdEYXRlKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEzIHx8IGV2ZW50LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSAhPT0gMjcgJiYgZXZlbnQua2V5Q29kZSAhPT0gMTMpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBkYXRlcGlja2VyU2VydmljZTogRGF0ZXBpY2tlclNlcnZpY2UpIHtcbiAgICBjb25zdCBsb2NhbGUgPSAodHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRyYW5zbGF0ZS5kZWZhdWx0TGFuZykucmVwbGFjZSgnemgnLCAnemgtY24nKTsgLy8gQlVHOiBtb21lbnQgZG9lcyBub3Qgc3VwcG9ydCAnemgnXG4gICAgbW9tZW50LmxvY2FsZShsb2NhbGUpO1xuICAgIGxldCBzdGFydERheSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3dlZWsnKS5kYXkoKTtcbiAgICB0aGlzLm1vbnRoc1Nob3J0ID0gbW9tZW50Lm1vbnRoc1Nob3J0KCk7XG4gICAgdGhpcy53ZWVrZGF5c1Nob3J0ID0gbW9tZW50LndlZWtkYXlzU2hvcnQoKS5zbGljZShzdGFydERheSkuY29uY2F0KG1vbWVudC53ZWVrZGF5c1Nob3J0KCkuc2xpY2UoMCwgc3RhcnREYXkpKTtcbiAgfVxuXG4gIHNlbGVjdFZhbHVlKCkge1xuICAgIHRoaXMub25EYXRlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIGRhdGU6IHRoaXMuc2VsZWN0ZWQudG9EYXRlKClcbiAgICB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLm9uQ2FuY2VsZWQuZW1pdCh7fSk7XG4gIH1cblxuICBzZWxlY3QoZGF0ZSkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBkYXRlO1xuICAgIGlmICh0aGlzLndpdGhUaW1lKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmhvdXIodGhpcy50aW1lLmgpO1xuICAgICAgdGhpcy5zZWxlY3RlZC5taW51dGUodGhpcy50aW1lLm0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5tb250aCgpICE9PSB0aGlzLm1vbnRoLm1vbnRoKCkpIHtcbiAgICAgIHRoaXMuc2V0TW9udGgodGhpcy5zZWxlY3RlZC5tb250aCgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQueWVhcigpICE9PSB0aGlzLnllYXIpIHtcbiAgICAgIHRoaXMuc2V0WWVhcih0aGlzLnNlbGVjdGVkLnllYXIoKSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5tb250aC5tb250aCh0aGlzLnNlbGVjdGVkLm1vbnRoKCkpO1xuICAgIHRoaXMubW9udGgueWVhcih0aGlzLnNlbGVjdGVkLnllYXIoKSk7XG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5idWlsZE1vbnRoKCk7XG4gICAgdGhpcy5jcmVhdGVJbmZvKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBwaWNrZXJzIHNlbGVjdGVkIGRhdGVcbiAgICpcbiAgICogQHBhcmFtIERhdGUgfCBzdHJpbmcgZGF0ZVxuICAgKiBAcGFyYW0gYm9vbGVhbiBzZWxlY3QgLSBpZiBzZXQgdG8gdHJ1ZSB0aGUgZ2l2ZW4gZGF5IHdpbGwgYmUgc2V0IHNlbGVjdGVkXG4gICAqL1xuICBzZXRDYWxlbmRlckRhdGUoZGF0ZTogRGF0ZSB8IHN0cmluZywgc2VsZWN0PzogYm9vbGVhbikge1xuXG4gICAgbGV0IG0gPSBtb21lbnQoZGF0ZSk7XG5cbiAgICBpZiAobS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMubW9udGggPSBtO1xuICAgICAgLy8gbGV0IHN0YXJ0ID0gbW9tZW50O1xuICAgICAgLy8gc3RhcnQuZGF0ZSgxKTtcbiAgICAgIC8vIHRoaXMucmVtb3ZlVGltZShzdGFydC5kYXkoMCkpO1xuICAgICAgaWYgKHNlbGVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gbW9tZW50KGRhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMud2l0aFRpbWUpIHtcbiAgICAgICAgdGhpcy50aW1lID0ge1xuICAgICAgICAgIGg6IG0uaG91cigpLFxuICAgICAgICAgIG06IG0ubWludXRlKClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuYnVpbGRNb250aCgpO1xuICAgICAgdGhpcy5jcmVhdGVJbmZvKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluY3JlbWVudCh5ZWFyOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFllYXIoeWVhciArIDEpO1xuICB9XG5cbiAgcHVibGljIGRlY3JlbWVudCh5ZWFyOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFllYXIoeWVhciAtIDEpO1xuICB9XG5cbiAgcHVibGljIHNldFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy55ZWFyID0gdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZXRZZWFyKHllYXIsIHRoaXMubWluWWVhciwgdGhpcy5tYXhZZWFyKTtcbiAgICB0aGlzLm1vbnRoLnllYXIodGhpcy55ZWFyKTtcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmJ1aWxkTW9udGgoKTtcbiAgICB0aGlzLmNyZWF0ZUluZm8oKTtcbiAgICB0aGlzLnNlbGVjdGVkLnllYXIodGhpcy55ZWFyKTtcbiAgfTtcblxuICBwdWJsaWMgdGltZVRvU3RyaW5nKHRpbWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuICgnMCcgKyBNYXRoLmFicyh0aW1lKSkuc2xpY2UoLTIpO1xuICB9XG5cbiAgcHVibGljIHNldFRpbWUodGltZTogVGltZSkge1xuICAgIHRoaXMudGltZSA9IHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uuc2V0VGltZSh0aW1lKTtcbiAgICB0aGlzLnNlbGVjdGVkLmhvdXIodGhpcy50aW1lLmgpO1xuICAgIHRoaXMuc2VsZWN0ZWQubWludXRlKHRoaXMudGltZS5tKTtcbiAgfTtcblxuICBwdWJsaWMgc2V0TW9udGgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMubW9udGgubW9udGgoaW5kZXgpO1xuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuYnVpbGRNb250aCgpO1xuICAgIHRoaXMuY3JlYXRlSW5mbygpO1xuICB9O1xuXG4gIHB1YmxpYyBpc1NlbGVjdGVkRGF5KGRheTogTW9tZW50KSB7XG4gICAgcmV0dXJuIGRheS5pc1NhbWUodGhpcy5zZWxlY3RlZCwgJ2RheScpO1xuICB9XG5cbiAgaW5SYW5nZSh4LCBtaW4gPSAwLCBtYXggPSAxMSkge1xuICAgIHJldHVybiAoKHggLSBtaW4pICogKHggLSBtYXgpIDw9IDApO1xuICB9XG5cbiAgY3JlYXRlSW5mbygpIHtcbiAgICB0aGlzLm1vbnRoSW5mbyA9IHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuY3JlYXRlSW5mbygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLl9kYXRlKSB7XG4gICAgICB0aGlzLl9kYXRlID0gdGhpcy53aXRoVGltZSA/IG1vbWVudCgpLnRvSVNPU3RyaW5nKCkgOiBtb21lbnQoKS5zdGFydE9mKCdkYXknKS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgICB0aGlzLnNldENhbGVuZGVyRGF0ZSh0aGlzLl9kYXRlLCB0cnVlKTtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJ5ZWFyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYmFja1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudFwiIChjbGljayk9XCJmb2N1c1NlbGVjdGlvbigpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRcIj57e3NlbGVjdGVkLmRhdGUoKX19PC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtXCI+e3ttb250aHNTaG9ydFtzZWxlY3RlZC5tb250aCgpXX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwieVwiPnt7c2VsZWN0ZWQueWVhcigpfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dCAoa2V5ZG93bik9XCJvbklucHV0S2V5ZG93bigkZXZlbnQpXCIgdHlwZT1cIm51bWJlclwiIGVvWWVhclJhbmdlIFsobmdNb2RlbCldPVwieWVhclwiIFttYXhdPVwibWF4WWVhclwiIChuZ01vZGVsQ2hhbmdlKT1cInNldFllYXIoJGV2ZW50KVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIi8+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24gd2hpdGUgeWVhci11cFwiIChjbGljayk9XCJpbmNyZW1lbnQoeWVhcilcIiBbZGlzYWJsZWRdPVwieWVhciA+PSBtYXhZZWFyXCI+XG4gICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24gd2hpdGUgeWVhci1kb3duXCIgKGNsaWNrKT1cImRlY3JlbWVudCh5ZWFyKVwiIFtkaXNhYmxlZF09XCJ5ZWFyIDw9IG1pblllYXJcIj5cbiAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGhcIj5cbiAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBfbW9udGggb2YgbW9udGhzU2hvcnQ7IGxldCBfaSA9IGluZGV4XCIgKGNsaWNrKT1cInNldE1vbnRoKF9pKVwiIFtuZ0NsYXNzXT1cIntjdXJyZW50OiBtb250aEluZm8ubW9udGggPT0gIF9pfVwiID57e19tb250aH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2VlayBuYW1lc1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgX2RheSBvZiB3ZWVrZGF5c1Nob3J0XCI+PHNwYW4gY2xhc3M9XCJkYXlcIj57e19kYXl9fTwvc3Bhbj48L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCIgKm5nRm9yPVwibGV0IHdlZWsgb2Ygd2Vla3M7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWsuZGF5czsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGF5XCIgKm5nSWY9XCIhZGF5LmRpc2FibGVkXCIgW25nQ2xhc3NdPVwieyB0b2RheTogZGF5LmlzVG9kYXksXG4gICAgICAgICdkaWZmZXJlbnQtbW9udGgnOiAhZGF5LmlzQ3VycmVudE1vbnRoLCBzZWxlY3RlZDogaXNTZWxlY3RlZERheShkYXkuZGF0ZSkgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoZGF5LmRhdGUpXCIgKGRibGNsaWNrKT1cInNlbGVjdChkYXkuZGF0ZSlcIj57e2RheS5udW1iZXJ9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXkgZGlzYWJsZWRcIiAqbmdJZj1cImRheS5kaXNhYmxlZFwiIFtuZ0NsYXNzXT1cInsgdG9kYXk6IGRheS5pc1RvZGF5LFxuICAgICAgICAnZGlmZmVyZW50LW1vbnRoJzogIWRheS5pc0N1cnJlbnRNb250aCwgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWREYXkoZGF5LmRhdGUpIH1cIj57e2RheS5udW1iZXJ9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwidGltZVwiICpuZ0lmPVwid2l0aFRpbWVcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2YWwtaFwiPnt7dGltZVRvU3RyaW5nKHdpdGhBbVBtICYmICFpblJhbmdlKHRpbWUuaCwgMSwgMTIpID8gdGltZS5oIC0gMTIgOiB0aW1lLmgpfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHMgY3RybC1oXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaWNvbiBidG4tdXBcIiAoY2xpY2spPVwic2V0VGltZSh7aDogdGltZS5oICsgMSwgbTogdGltZS5tfSlcIj5cbiAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaWNvbiBidG4tZG93blwiIChjbGljayk9XCJzZXRUaW1lKHtoOiB0aW1lLmggLSAxLCBtOiB0aW1lLm19KVwiPlxuICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2YWwtc2VwXCI+OjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2YWwtbWluXCI+e3t0aW1lVG9TdHJpbmcodGltZS5tKX19PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRyb2xzIGN0cmwtbWluXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaWNvbiBidG4tdXBcIiAoY2xpY2spPVwic2V0VGltZSh7aDogdGltZS5oLCBtOiB0aW1lLm0gKyAxfSlcIj5cbiAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiaWNvbiBidG4tZG93blwiIChjbGljayk9XCJzZXRUaW1lKHtoOiB0aW1lLmgsIG06IHRpbWUubSAtIDF9KVwiPlxuICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9scyBjdHJsLWFtLXBtXCIgKm5nSWY9XCJ3aXRoQW1QbVwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cIlwiIFtuZ0NsYXNzXT1cIntwcmltYXJ5OiBpblJhbmdlKHRpbWUuaCl9XCIgKGNsaWNrKT1cInNldFRpbWUoe2g6IGluUmFuZ2UodGltZS5oKSA/IHRpbWUuaCA6IHRpbWUuaCAtIDEyLCBtOiB0aW1lLm19KVwiPkFNPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiXCIgW25nQ2xhc3NdPVwie3ByaW1hcnk6ICFpblJhbmdlKHRpbWUuaCl9XCIgKGNsaWNrKT1cInNldFRpbWUoe2g6IGluUmFuZ2UodGltZS5oKSA/IHRpbWUuaCArIDEyIDogdGltZS5oLCBtOiB0aW1lLm19KVwiPlBNPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzZWxlY3RWYWx1ZSgpXCIgdHJhbnNsYXRlPmVvLmRhdGVwaWNrZXIuY2FsZW5kYXIuc2VsZWN0PC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuXG5cbmV4cG9ydCB0eXBlIFdlZWtzID0gRGF5c1tdO1xuXG5leHBvcnQgaW50ZXJmYWNlIERheXMge1xuICBkYXRlOiBNb21lbnQ7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBpc0N1cnJlbnRNb250aDogYm9vbGVhbjtcbiAgaXNUb2RheTogYm9vbGVhbjtcbiAgbnVtYmVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyRGF5IHtcbiAgbnVtYmVyOiBudW1iZXI7ICAgICAgICAgICAvLyBkYXRlIG9mIG1vbnRoXG4gIGlzQ3VycmVudE1vbnRoOiBib29sZWFuOyAgLy8gZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIGRheSBiZWxvbmdzIHRvIHRoZSBzZWxlY3RlZCBtb250aFxuICBpc1RvZGF5OiBib29sZWFuOyAgICAgICAgIC8vIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBkYXkgaXMgdG9kYXlcbiAgZGF0ZTogYW55OyAgICAgICAgICAgICAgICAvLyB0aGUgZGF5IGFjdHVhbCBtb21lbnQgcmVwcmVzZW50YXRpb25cbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZSB7XG4gIGg6IG51bWJlcjtcbiAgbTogbnVtYmVyO1xufVxuIl19
|
package/esm2020/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.mjs
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as moment_ from 'moment';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
const moment = moment_;
|
|
5
|
-
export class DatepickerService {
|
|
6
|
-
set month(month) {
|
|
7
|
-
this._month = month;
|
|
8
|
-
}
|
|
9
|
-
get month() {
|
|
10
|
-
return this._month;
|
|
11
|
-
}
|
|
12
|
-
set weeks(weeks) {
|
|
13
|
-
this._weeks = weeks;
|
|
14
|
-
}
|
|
15
|
-
get weeks() {
|
|
16
|
-
return this._weeks;
|
|
17
|
-
}
|
|
18
|
-
set year(year) {
|
|
19
|
-
this._year = year;
|
|
20
|
-
}
|
|
21
|
-
get year() {
|
|
22
|
-
return this._year;
|
|
23
|
-
}
|
|
24
|
-
constructor() {
|
|
25
|
-
this.futureOnly = false;
|
|
26
|
-
}
|
|
27
|
-
isDisabledDate(date) {
|
|
28
|
-
if (this.futureOnly) {
|
|
29
|
-
let now = moment();
|
|
30
|
-
const format = 'YYYY-MM-DD HH:mm:ss';
|
|
31
|
-
let start = moment.utc(date.format('YYYY-MM-DD' + ' ' + moment().format('HH:mm:ss.')), format);
|
|
32
|
-
return start.toDate() <= now.toDate();
|
|
33
|
-
}
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
createInfo() {
|
|
37
|
-
this.year = this.month.year();
|
|
38
|
-
return {
|
|
39
|
-
year: this.month.format('YYYY'),
|
|
40
|
-
month: this.month.month()
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Build a date pickers week.
|
|
45
|
-
* @param firstDayOfWeek - start of the week
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
buildWeek(firstDayOfWeek) {
|
|
49
|
-
let days = [];
|
|
50
|
-
let date = moment(firstDayOfWeek);
|
|
51
|
-
for (let i = 0; i < 7; i++) {
|
|
52
|
-
let day = {
|
|
53
|
-
number: date.date(),
|
|
54
|
-
isCurrentMonth: date.month() === this.month.month(),
|
|
55
|
-
isToday: date.isSame(new Date(), 'day'),
|
|
56
|
-
date: date,
|
|
57
|
-
disabled: this.isDisabledDate(date)
|
|
58
|
-
};
|
|
59
|
-
days.push(day);
|
|
60
|
-
date = moment(date.toDate()).add(1, 'd');
|
|
61
|
-
}
|
|
62
|
-
return days;
|
|
63
|
-
}
|
|
64
|
-
buildMonth() {
|
|
65
|
-
let weeks = [];
|
|
66
|
-
// set current month to first day
|
|
67
|
-
let dayOfMonth = moment(this.month).date(1).startOf('week');
|
|
68
|
-
let done = false;
|
|
69
|
-
//let date = start;
|
|
70
|
-
let monthIndex = dayOfMonth.month();
|
|
71
|
-
let count = 0;
|
|
72
|
-
// split month into weeks
|
|
73
|
-
while (!done) {
|
|
74
|
-
weeks.push({ days: this.buildWeek(dayOfMonth.toDate()) });
|
|
75
|
-
dayOfMonth.add(1, 'w');
|
|
76
|
-
done = count++ > 2 && monthIndex !== dayOfMonth.month();
|
|
77
|
-
monthIndex = dayOfMonth.month();
|
|
78
|
-
}
|
|
79
|
-
this.weeks = weeks;
|
|
80
|
-
}
|
|
81
|
-
setTime(time) {
|
|
82
|
-
time.h = time.h < 0 ? time.h = 23 : time.h;
|
|
83
|
-
time.h = time.h > 23 ? time.h = 0 : time.h;
|
|
84
|
-
time.m = time.m < 0 ? time.m = 59 : time.m;
|
|
85
|
-
time.m = time.m > 59 ? time.m = 0 : time.m;
|
|
86
|
-
return time;
|
|
87
|
-
}
|
|
88
|
-
setYear(year, min, max) {
|
|
89
|
-
if (year === undefined || year === null) {
|
|
90
|
-
year = 0;
|
|
91
|
-
}
|
|
92
|
-
else if (year < min) {
|
|
93
|
-
year = Math.abs(year);
|
|
94
|
-
}
|
|
95
|
-
else if (year > max) {
|
|
96
|
-
year = +('' + year).slice(0, -1);
|
|
97
|
-
}
|
|
98
|
-
return year;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
DatepickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
102
|
-
DatepickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatepickerService, providedIn: 'root' });
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatepickerService, decorators: [{
|
|
104
|
-
type: Injectable,
|
|
105
|
-
args: [{
|
|
106
|
-
providedIn: 'root'
|
|
107
|
-
}]
|
|
108
|
-
}], ctorParameters: function () { return []; } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS9kYXRlcGlja2VyL3NlcnZpY2UvZGF0ZXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7O0FBQ2xDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQU92QixNQUFNLE9BQU8saUJBQWlCO0lBSTVCLElBQUksS0FBSyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxJQUFJLEtBQUssQ0FBQyxLQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELElBQUksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBSUQ7UUFGQSxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLENBQUM7SUFHRCxjQUFjLENBQUMsSUFBSTtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUM7WUFDckMsSUFBSSxL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O2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1BpY2tlckRheSwgVGltZSwgV2Vla3N9IGZyb20gJy4uL2RhdGVwaWNrZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlclNlcnZpY2Uge1xuXG5cbiAgcHJpdmF0ZSBfbW9udGg6IE1vbWVudDtcbiAgc2V0IG1vbnRoKG1vbnRoKSB7XG4gICAgdGhpcy5fbW9udGggPSBtb250aDtcbiAgfVxuXG4gIGdldCBtb250aCgpOiBNb21lbnQge1xuICAgIHJldHVybiB0aGlzLl9tb250aDtcbiAgfVxuXG4gIHByaXZhdGUgX3dlZWtzOiBXZWVrc1tdO1xuICBzZXQgd2Vla3Mod2Vla3M6IFdlZWtzW10pIHtcbiAgICB0aGlzLl93ZWVrcyA9IHdlZWtzO1xuICB9XG5cbiAgZ2V0IHdlZWtzKCk6IFdlZWtzW10ge1xuICAgIHJldHVybiB0aGlzLl93ZWVrcztcbiAgfVxuXG4gIHByaXZhdGUgX3llYXI6IG51bWJlcjtcbiAgc2V0IHllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5feWVhciA9IHllYXI7XG4gIH1cblxuICBnZXQgeWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl95ZWFyO1xuICB9XG5cbiAgZnV0dXJlT25seSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cblxuICBpc0Rpc2FibGVkRGF0ZShkYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZnV0dXJlT25seSkge1xuICAgICAgbGV0IG5vdyA9IG1vbWVudCgpO1xuICAgICAgY29uc3QgZm9ybWF0ID0gJ1lZWVktTU0tREQgSEg6bW06c3MnO1xuICAgICAgbGV0IHN0YXJ0ID0gbW9tZW50LnV0YyhkYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcgKyAnICcgKyBtb21lbnQoKS5mb3JtYXQoJ0hIOm1tOnNzLicpKSwgZm9ybWF0KTtcbiAgICAgIHJldHVybiBzdGFydC50b0RhdGUoKSA8PSBub3cudG9EYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY3JlYXRlSW5mbygpIHtcbiAgICB0aGlzLnllYXIgPSB0aGlzLm1vbnRoLnllYXIoKTtcbiAgICByZXR1cm4ge1xuICAgICAgeWVhcjogdGhpcy5tb250aC5mb3JtYXQoJ1lZWVknKSxcbiAgICAgIG1vbnRoOiB0aGlzLm1vbnRoLm1vbnRoKClcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgZGF0ZSBwaWNrZXJzIHdlZWsuXG4gICAqIEBwYXJhbSBmaXJzdERheU9mV2VlayAtIHN0YXJ0IG9mIHRoZSB3ZWVrXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBidWlsZFdlZWsoZmlyc3REYXlPZldlZWspIHtcbiAgICBsZXQgZGF5cyA9IFtdO1xuICAgIGxldCBkYXRlID0gbW9tZW50KGZpcnN0RGF5T2ZXZWVrKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDc7IGkrKykge1xuICAgICAgbGV0IGRheTogUGlja2VyRGF5ID0ge1xuICAgICAgICBudW1iZXI6IGRhdGUuZGF0ZSgpLFxuICAgICAgICBpc0N1cnJlbnRNb250aDogZGF0ZS5tb250aCgpID09PSB0aGlzLm1vbnRoLm1vbnRoKCksXG4gICAgICAgIGlzVG9kYXk6IGRhdGUuaXNTYW1lKG5ldyBEYXRlKCksICdkYXknKSxcbiAgICAgICAgZGF0ZTogZGF0ZSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZERhdGUoZGF0ZSlcbiAgICAgIH07XG4gICAgICBkYXlzLnB1c2goZGF5KTtcbiAgICAgIGRhdGUgPSBtb21lbnQoZGF0ZS50b0RhdGUoKSkuYWRkKDEsICdkJyk7XG4gICAgfVxuICAgIHJldHVybiBkYXlzO1xuICB9XG5cbiAgYnVpbGRNb250aCgpIHtcbiAgICBsZXQgd2Vla3MgPSBbXTtcbiAgICAvLyBzZXQgY3VycmVudCBtb250aCB0byBmaXJzdCBkYXlcbiAgICBsZXQgZGF5T2ZNb250aCA9IG1vbWVudCh0aGlzLm1vbnRoKS5kYXRlKDEpLnN0YXJ0T2YoJ3dlZWsnKTtcblxuICAgIGxldCBkb25lID0gZmFsc2U7XG4gICAgLy9sZXQgZGF0ZSA9IHN0YXJ0O1xuICAgIGxldCBtb250aEluZGV4ID0gZGF5T2ZNb250aC5tb250aCgpO1xuICAgIGxldCBjb3VudCA9IDA7XG5cbiAgICAvLyBzcGxpdCBtb250aCBpbnRvIHdlZWtzXG4gICAgd2hpbGUgKCFkb25lKSB7XG4gICAgICB3ZWVrcy5wdXNoKHtkYXlzOiB0aGlzLmJ1aWxkV2VlayhkYXlPZk1vbnRoLnRvRGF0ZSgpKX0pO1xuICAgICAgZGF5T2ZNb250aC5hZGQoMSwgJ3cnKTtcbiAgICAgIGRvbmUgPSBjb3VudCsrID4gMiAmJiBtb250aEluZGV4ICE9PSBkYXlPZk1vbnRoLm1vbnRoKCk7XG4gICAgICBtb250aEluZGV4ID0gZGF5T2ZNb250aC5tb250aCgpO1xuICAgIH1cbiAgICB0aGlzLndlZWtzID0gd2Vla3M7XG4gIH1cblxuICBzZXRUaW1lKHRpbWU6IFRpbWUpOiBUaW1lIHtcbiAgICB0aW1lLmggPSB0aW1lLmggPCAwID8gdGltZS5oID0gMjMgOiB0aW1lLmg7XG4gICAgdGltZS5oID0gdGltZS5oID4gMjMgPyB0aW1lLmggPSAwIDogdGltZS5oO1xuICAgIHRpbWUubSA9IHRpbWUubSA8IDAgPyB0aW1lLm0gPSA1OSA6IHRpbWUubTtcbiAgICB0aW1lLm0gPSB0aW1lLm0gPiA1OSA/IHRpbWUubSA9IDAgOiB0aW1lLm07XG5cbiAgICByZXR1cm4gdGltZTtcbiAgfVxuXG4gIHNldFllYXIoeWVhcjogbnVtYmVyLCBtaW4sIG1heCk6IG51bWJlciB7XG4gICAgaWYgKHllYXIgPT09IHVuZGVmaW5lZCB8fCB5ZWFyID09PSBudWxsKSB7XG4gICAgICB5ZWFyID0gMDtcbiAgICB9IGVsc2UgaWYgKHllYXIgPCBtaW4pIHtcbiAgICAgIHllYXIgPSBNYXRoLmFicyh5ZWFyKTtcbiAgICB9IGVsc2UgaWYgKHllYXIgPiBtYXgpIHtcbiAgICAgIHllYXIgPSArKCcnICsgeWVhcikuc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgICByZXR1cm4geWVhcjtcbiAgfVxufVxuIl19
|