@progressive-development/pd-spa-helper 0.9.0 → 0.9.2
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/dist/auth/AuthController.d.ts +37 -0
- package/dist/auth/AuthController.d.ts.map +1 -0
- package/dist/auth/AuthController.js +65 -0
- package/dist/auth/auth-directives.d.ts +59 -0
- package/dist/auth/auth-directives.d.ts.map +1 -0
- package/dist/auth/auth-directives.js +81 -0
- package/dist/auth/auth-utils.d.ts +45 -0
- package/dist/auth/auth-utils.d.ts.map +1 -0
- package/dist/auth/auth-utils.js +42 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/components/default-login/DefaultLogin.d.ts +15 -0
- package/dist/components/default-login/DefaultLogin.d.ts.map +1 -0
- package/dist/components/default-login/DefaultLogin.js +120 -0
- package/dist/components/default-not-found/DefaultNotFound.d.ts +6 -0
- package/dist/components/default-not-found/DefaultNotFound.d.ts.map +1 -0
- package/dist/{defaultpage/default-not-found.js → components/default-not-found/DefaultNotFound.js} +10 -3
- package/dist/components/pd-section-page/PdSectionPage.d.ts +55 -0
- package/dist/components/pd-section-page/PdSectionPage.d.ts.map +1 -0
- package/dist/components/pd-section-page/PdSectionPage.js +37 -0
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +196 -0
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +1 -0
- package/dist/components/pd-spa-helper/PdSpaHelper.js +603 -0
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts +77 -0
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts.map +1 -0
- package/dist/components/pd-spa-helper/controllers/ScrollController.js +102 -0
- package/dist/components/pd-spa-helper/spa-config.d.ts +95 -0
- package/dist/components/pd-spa-helper/spa-config.d.ts.map +1 -0
- package/dist/components/pd-spa-helper/spa-config.js +175 -0
- package/dist/components/pd-spa-helper/spa-events.d.ts +132 -0
- package/dist/components/pd-spa-helper/spa-events.d.ts.map +1 -0
- package/dist/components/pd-spa-helper/spa-events.js +18 -0
- package/dist/db/index.d.ts +3 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/{store → db}/indexDB.d.ts +9 -9
- package/dist/db/indexDB.d.ts.map +1 -0
- package/dist/{store → db}/indexDB.js +14 -12
- package/dist/generated/locale-wrapper/be-wrapper.d.ts +49 -14
- package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -1
- package/dist/generated/locale-wrapper/de-wrapper.d.ts +49 -14
- package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -1
- package/dist/generated/locale-wrapper/en-wrapper.d.ts +49 -14
- package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -1
- package/dist/generated/locales/be.d.ts +1 -15
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/be.js +1 -15
- package/dist/generated/locales/de.d.ts +1 -15
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/de.js +1 -15
- package/dist/generated/locales/en.d.ts +1 -15
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/generated/locales/en.js +1 -15
- package/dist/helper/logger.d.ts +11 -12
- package/dist/helper/logger.d.ts.map +1 -1
- package/dist/helper/logger.js +10 -49
- package/dist/helper/refresh-id-token.d.ts.map +1 -1
- package/dist/helper/refresh-id-token.js +6 -4
- package/dist/index.d.ts +31 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -50
- package/dist/model/index.d.ts +4 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/spa-model.d.ts +14 -15
- package/dist/model/spa-model.d.ts.map +1 -1
- package/dist/router/PdRouterService.d.ts +4 -1
- package/dist/router/PdRouterService.d.ts.map +1 -1
- package/dist/router/PdRouterService.js +40 -16
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/screen-size/ScreenSizeController.d.ts +34 -0
- package/dist/screen-size/ScreenSizeController.d.ts.map +1 -0
- package/dist/screen-size/ScreenSizeController.js +58 -0
- package/dist/screen-size/ScreenSizeService.d.ts +49 -0
- package/dist/screen-size/ScreenSizeService.d.ts.map +1 -0
- package/dist/screen-size/ScreenSizeService.js +107 -0
- package/dist/screen-size/index.d.ts +13 -0
- package/dist/screen-size/index.d.ts.map +1 -0
- package/dist/screen-size/responsive-directives.d.ts +59 -0
- package/dist/screen-size/responsive-directives.d.ts.map +1 -0
- package/dist/screen-size/responsive-directives.js +71 -0
- package/dist/screen-size/types.d.ts +44 -0
- package/dist/screen-size/types.d.ts.map +1 -0
- package/dist/service-provider/ServiceRegistry.d.ts +67 -0
- package/dist/service-provider/ServiceRegistry.d.ts.map +1 -0
- package/dist/service-provider/ServiceRegistry.js +76 -0
- package/dist/service-provider/function-utils.d.ts +55 -0
- package/dist/service-provider/function-utils.d.ts.map +1 -0
- package/dist/service-provider/function-utils.js +30 -0
- package/dist/service-provider/index.d.ts +10 -0
- package/dist/service-provider/index.d.ts.map +1 -0
- package/dist/service-provider/interfaces/IAuthProvider.d.ts +68 -0
- package/dist/service-provider/interfaces/IAuthProvider.d.ts.map +1 -0
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts +75 -0
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts.map +1 -0
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts +49 -0
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts.map +1 -0
- package/dist/service-provider/interfaces/IStorageProvider.d.ts +118 -0
- package/dist/service-provider/interfaces/IStorageProvider.d.ts.map +1 -0
- package/dist/service-provider/interfaces/ServiceProvider.d.ts +24 -0
- package/dist/service-provider/interfaces/ServiceProvider.d.ts.map +1 -0
- package/dist/service-provider/interfaces/common.d.ts +5 -0
- package/dist/service-provider/interfaces/common.d.ts.map +1 -0
- package/dist/service-provider/service-provider-model.d.ts +55 -10
- package/dist/service-provider/service-provider-model.d.ts.map +1 -1
- package/dist/services/fire-once-service.d.ts +35 -0
- package/dist/services/fire-once-service.d.ts.map +1 -0
- package/dist/services/fire-once-service.js +61 -0
- package/dist/store/async-action-effects.d.ts +179 -0
- package/dist/store/async-action-effects.d.ts.map +1 -0
- package/dist/store/async-action-effects.js +98 -0
- package/dist/store/async-action-utils.d.ts +154 -0
- package/dist/store/async-action-utils.d.ts.map +1 -0
- package/dist/store/async-action-utils.js +42 -0
- package/dist/store/index.d.ts +9 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/mini-rx.store.d.ts.map +1 -1
- package/dist/store/mini-rx.store.js +1 -3
- package/dist/store/spa-app-actions.d.ts +5 -22
- package/dist/store/spa-app-actions.d.ts.map +1 -1
- package/dist/store/spa-app-actions.js +4 -8
- package/dist/store/spa-app-effects.d.ts +0 -17
- package/dist/store/spa-app-effects.d.ts.map +1 -1
- package/dist/store/spa-app-effects.js +2 -40
- package/dist/store/spa-app-reducer.d.ts +5 -10
- package/dist/store/spa-app-reducer.d.ts.map +1 -1
- package/dist/store/spa-app-reducer.js +13 -8
- package/dist/store/spa-app-selector.d.ts +2 -2
- package/dist/store/spa-app-selector.d.ts.map +1 -1
- package/dist/store/spa-app-selector.js +1 -1
- package/dist/stories/introduction.stories.d.ts +11 -0
- package/dist/stories/introduction.stories.d.ts.map +1 -0
- package/package.json +14 -9
- package/dist/PdSpaHelper.d.ts +0 -83
- package/dist/PdSpaHelper.d.ts.map +0 -1
- package/dist/PdSpaHelper.js +0 -492
- package/dist/defaultpage/default-confirm-popup.d.ts +0 -19
- package/dist/defaultpage/default-confirm-popup.d.ts.map +0 -1
- package/dist/defaultpage/default-confirm-popup.js +0 -70
- package/dist/defaultpage/default-dialog-popup.d.ts +0 -19
- package/dist/defaultpage/default-dialog-popup.d.ts.map +0 -1
- package/dist/defaultpage/default-dialog-popup.js +0 -103
- package/dist/defaultpage/default-login.d.ts +0 -6
- package/dist/defaultpage/default-login.d.ts.map +0 -1
- package/dist/defaultpage/default-login.js +0 -33
- package/dist/defaultpage/default-not-found.d.ts +0 -6
- package/dist/defaultpage/default-not-found.d.ts.map +0 -1
- package/dist/defaultpage/default-popup.d.ts +0 -7
- package/dist/defaultpage/default-popup.d.ts.map +0 -1
- package/dist/defaultpage/default-popup.js +0 -24
- package/dist/defaultpage/default-step-address.d.ts +0 -14
- package/dist/defaultpage/default-step-address.d.ts.map +0 -1
- package/dist/defaultpage/default-step-address.js +0 -77
- package/dist/defaultpage/default-step-summary.d.ts +0 -28
- package/dist/defaultpage/default-step-summary.d.ts.map +0 -1
- package/dist/defaultpage/default-step-summary.js +0 -67
- package/dist/defaultpage/default-view-page.d.ts +0 -10
- package/dist/defaultpage/default-view-page.d.ts.map +0 -1
- package/dist/defaultpage/default-view-page.js +0 -70
- package/dist/defaultpage/default-wizard.d.ts +0 -37
- package/dist/defaultpage/default-wizard.d.ts.map +0 -1
- package/dist/defaultpage/default-wizard.js +0 -255
- package/dist/defaultpage/pd-default-wizard-step.d.ts +0 -60
- package/dist/defaultpage/pd-default-wizard-step.d.ts.map +0 -1
- package/dist/defaultpage/pd-default-wizard-step.js +0 -144
- package/dist/helper/blob-helper.d.ts +0 -3
- package/dist/helper/blob-helper.d.ts.map +0 -1
- package/dist/helper/blob-helper.js +0 -35
- package/dist/helper/date-helper.d.ts +0 -27
- package/dist/helper/date-helper.d.ts.map +0 -1
- package/dist/helper/date-helper.js +0 -129
- package/dist/helper/locale-format.d.ts +0 -4
- package/dist/helper/locale-format.d.ts.map +0 -1
- package/dist/helper/locale-format.js +0 -16
- package/dist/helper/number-helper.d.ts +0 -2
- package/dist/helper/number-helper.d.ts.map +0 -1
- package/dist/helper/number-helper.js +0 -13
- package/dist/helper/price-helper.d.ts +0 -5
- package/dist/helper/price-helper.d.ts.map +0 -1
- package/dist/helper/price-helper.js +0 -22
- package/dist/helper/text-helper.d.ts +0 -3
- package/dist/helper/text-helper.d.ts.map +0 -1
- package/dist/helper/text-helper.js +0 -4
- package/dist/popup/wizard-close-popup.d.ts +0 -11
- package/dist/popup/wizard-close-popup.d.ts.map +0 -1
- package/dist/popup/wizard-close-popup.js +0 -63
- package/dist/popup/wizard-reload-popup.d.ts +0 -14
- package/dist/popup/wizard-reload-popup.d.ts.map +0 -1
- package/dist/popup/wizard-reload-popup.js +0 -76
- package/dist/service-provider/firebase/auth.d.ts +0 -19
- package/dist/service-provider/firebase/auth.d.ts.map +0 -1
- package/dist/service-provider/firebase/auth.js +0 -62
- package/dist/service-provider/firebase/firestorage-client.d.ts +0 -22
- package/dist/service-provider/firebase/firestorage-client.d.ts.map +0 -1
- package/dist/service-provider/firebase/firestorage-client.js +0 -226
- package/dist/service-provider/firebase/firestore-client.d.ts +0 -12
- package/dist/service-provider/firebase/firestore-client.d.ts.map +0 -1
- package/dist/service-provider/firebase/firestore-client.js +0 -25
- package/dist/service-provider/firebase/functions-client.d.ts +0 -10
- package/dist/service-provider/firebase/functions-client.d.ts.map +0 -1
- package/dist/service-provider/firebase/functions-client.js +0 -63
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts +0 -9
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +0 -1
- package/dist/service-provider/firebase/messagingFirebaseClient.js +0 -69
- package/dist/service-provider/mock/auth.d.ts +0 -6
- package/dist/service-provider/mock/auth.d.ts.map +0 -1
- package/dist/service-provider/mock/auth.js +0 -60
- package/dist/service-provider/mock/function-client.d.ts +0 -7
- package/dist/service-provider/mock/function-client.d.ts.map +0 -1
- package/dist/service-provider/mock/function-client.js +0 -30
- package/dist/service-provider/mock/storage-client.d.ts +0 -11
- package/dist/service-provider/mock/storage-client.d.ts.map +0 -1
- package/dist/service-provider/mock/storage-client.js +0 -106
- package/dist/service-provider/service-provider-impl.d.ts +0 -27
- package/dist/service-provider/service-provider-impl.d.ts.map +0 -1
- package/dist/service-provider/service-provider-impl.js +0 -222
- package/dist/store/indexDB.d.ts.map +0 -1
- package/dist/stories/address-edit.stories.d.ts +0 -27
- package/dist/stories/address-edit.stories.d.ts.map +0 -1
- package/dist/stories/address-new.stories.d.ts +0 -33
- package/dist/stories/address-new.stories.d.ts.map +0 -1
- package/dist/stories/default-confirm-popup.stories.d.ts +0 -24
- package/dist/stories/default-confirm-popup.stories.d.ts.map +0 -1
- package/dist/stories/default-dialog-popup.stories.d.ts +0 -23
- package/dist/stories/default-dialog-popup.stories.d.ts.map +0 -1
- package/dist/stories/default-login.stories.d.ts +0 -10
- package/dist/stories/default-login.stories.d.ts.map +0 -1
- package/dist/stories/default-popup.stories.d.ts +0 -9
- package/dist/stories/default-popup.stories.d.ts.map +0 -1
- package/dist/stories/pd-loading-state.stories.d.ts +0 -30
- package/dist/stories/pd-loading-state.stories.d.ts.map +0 -1
- package/dist/stories/pd-toast.stories.d.ts +0 -27
- package/dist/stories/pd-toast.stories.d.ts.map +0 -1
- package/dist/stories/routing.stories.d.ts +0 -24
- package/dist/stories/routing.stories.d.ts.map +0 -1
- package/dist/stories/test-impls/address-test.d.ts +0 -6
- package/dist/stories/test-impls/address-test.d.ts.map +0 -1
- package/dist/stories/test-impls/test-mock-app.d.ts +0 -15
- package/dist/stories/test-impls/test-mock-app.d.ts.map +0 -1
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts +0 -7
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +0 -1
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +0 -5
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +0 -1
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts +0 -17
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts.map +0 -1
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts +0 -16
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts.map +0 -1
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts +0 -8
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts.map +0 -1
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts +0 -8
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts.map +0 -1
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts +0 -8
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts.map +0 -1
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts +0 -13
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts.map +0 -1
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts +0 -5
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts.map +0 -1
- package/dist/stories/test-wizard-step.stories.d.ts +0 -11
- package/dist/stories/test-wizard-step.stories.d.ts.map +0 -1
- package/dist/stories/test-wizard.stories.d.ts +0 -9
- package/dist/stories/test-wizard.stories.d.ts.map +0 -1
- package/dist/tmpown/pd-loading-state.d.ts +0 -9
- package/dist/tmpown/pd-loading-state.d.ts.map +0 -1
- package/dist/tmpown/pd-loading-state.js +0 -196
- package/dist/tmpown/pd-login.d.ts +0 -13
- package/dist/tmpown/pd-login.d.ts.map +0 -1
- package/dist/tmpown/pd-login.js +0 -165
- package/dist/tmpown/pd-toast.d.ts +0 -13
- package/dist/tmpown/pd-toast.d.ts.map +0 -1
- package/dist/tmpown/pd-toast.js +0 -127
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import { html } from 'lit';
|
|
2
|
-
import { state } from 'lit/decorators.js';
|
|
3
|
-
import { msg } from '@lit/localize';
|
|
4
|
-
import '@progressive-development/pd-dialog/pd-popup-dialog';
|
|
5
|
-
import '@progressive-development/pd-wizard/pd-wizard';
|
|
6
|
-
import { DefaultViewPage } from './default-view-page.js';
|
|
7
|
-
import { WizardReloadPopup } from '../popup/wizard-reload-popup.js';
|
|
8
|
-
import { WizardClosePopup } from '../popup/wizard-close-popup.js';
|
|
9
|
-
import { ABORT_EVENT_NAME, STORE_EVENT_NAME } from './default-confirm-popup.js';
|
|
10
|
-
import { createLogger } from '../helper/logger.js';
|
|
11
|
-
|
|
12
|
-
var __defProp = Object.defineProperty;
|
|
13
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
14
|
-
var result = void 0 ;
|
|
15
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
16
|
-
if (decorator = decorators[i])
|
|
17
|
-
result = (decorator(target, key, result) ) || result;
|
|
18
|
-
if (result) __defProp(target, key, result);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
const RUNNING_WIZARD_STORAGE_ELEMENTS = "pd.spa.local.wizard.storage";
|
|
22
|
-
const wizzardLogger = createLogger("PdDefaultWizard");
|
|
23
|
-
const _DefaultWizard = class _DefaultWizard extends DefaultViewPage {
|
|
24
|
-
constructor() {
|
|
25
|
-
super(...arguments);
|
|
26
|
-
this.panelWizard = false;
|
|
27
|
-
this._roundedBorder = false;
|
|
28
|
-
this._currentOrderStep = 1;
|
|
29
|
-
}
|
|
30
|
-
update(changedProps) {
|
|
31
|
-
if (changedProps.has("_withLocalStorageId") && this._withLocalStorageId) {
|
|
32
|
-
this._reloadFromStorage(this._withLocalStorageId);
|
|
33
|
-
}
|
|
34
|
-
super.update(changedProps);
|
|
35
|
-
}
|
|
36
|
-
render() {
|
|
37
|
-
return html`
|
|
38
|
-
<pd-wizard
|
|
39
|
-
id="wizardId"
|
|
40
|
-
class="${this._roundedBorder ? "top-rounded bottom-rounded" : ""}"
|
|
41
|
-
?panelWizard="${this.panelWizard}"
|
|
42
|
-
currentNumber="${this._currentOrderStep}"
|
|
43
|
-
.wizardSteps="${this._wizardSteps}"
|
|
44
|
-
@next-step="${this._nextStep}"
|
|
45
|
-
@previous-step="${this._previousStep}"
|
|
46
|
-
@submit-wizard="${this._nextStep}"
|
|
47
|
-
@go-to="${this._goToStep}"
|
|
48
|
-
@close-wizard="${this._closeWizardRequest}"
|
|
49
|
-
@wizard-step-update="${this._doStorageEventUpdate}"
|
|
50
|
-
>
|
|
51
|
-
${this._renderLogo()} ${this._renderSteps()}
|
|
52
|
-
</pd-wizard>
|
|
53
|
-
`;
|
|
54
|
-
}
|
|
55
|
-
_nextStep(e) {
|
|
56
|
-
const setNextStep = () => {
|
|
57
|
-
if (this._currentOrderStep < this._wizardSteps.length) {
|
|
58
|
-
this._currentOrderStep += 1;
|
|
59
|
-
if (this._withLocalStorageId) {
|
|
60
|
-
this._doStorageUpdate();
|
|
61
|
-
}
|
|
62
|
-
if (!this.panelWizard) {
|
|
63
|
-
_DefaultWizard._timeOutScroll();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const curentStepEl = this.shadowRoot?.getElementById(
|
|
68
|
-
`wiz${this._currentOrderStep}Id`
|
|
69
|
-
);
|
|
70
|
-
if (curentStepEl?.valid) {
|
|
71
|
-
this._orderFormData = curentStepEl.setFormData(this._orderFormData);
|
|
72
|
-
if (this._wizardSteps.length === this._currentOrderStep) {
|
|
73
|
-
this._submitWizard();
|
|
74
|
-
} else {
|
|
75
|
-
setNextStep();
|
|
76
|
-
}
|
|
77
|
-
} else {
|
|
78
|
-
curentStepEl?.triggerValidate();
|
|
79
|
-
}
|
|
80
|
-
e.stopPropagation();
|
|
81
|
-
}
|
|
82
|
-
_previousStep(e) {
|
|
83
|
-
if (this._currentOrderStep > 1) {
|
|
84
|
-
this._currentOrderStep -= 1;
|
|
85
|
-
if (!this.panelWizard) {
|
|
86
|
-
_DefaultWizard._timeOutScroll();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
e.stopPropagation();
|
|
90
|
-
}
|
|
91
|
-
_goToStep(e) {
|
|
92
|
-
const stepNr = e.detail.step;
|
|
93
|
-
if (stepNr > 0 && stepNr <= this._wizardSteps.length) {
|
|
94
|
-
this._currentOrderStep = Number(stepNr);
|
|
95
|
-
if (!this.panelWizard) {
|
|
96
|
-
_DefaultWizard._timeOutScroll();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
e.stopPropagation();
|
|
100
|
-
}
|
|
101
|
-
_closeWizardRequest() {
|
|
102
|
-
if (this._withLocalStorageId) {
|
|
103
|
-
const popup = new WizardClosePopup();
|
|
104
|
-
popup.withStorage = true;
|
|
105
|
-
popup.okButtonText = msg("Speichern", {
|
|
106
|
-
id: "spaH.wizard.storage.close.popup.ok"
|
|
107
|
-
});
|
|
108
|
-
popup.cancelButtonText = msg("Verwerfen", {
|
|
109
|
-
id: "spaH.wizard.storage.close.popup.cancel"
|
|
110
|
-
});
|
|
111
|
-
popup.addEventListener(ABORT_EVENT_NAME, () => {
|
|
112
|
-
this._removeFromStorage();
|
|
113
|
-
this.shadowRoot?.removeChild(popup);
|
|
114
|
-
this._closeWizard();
|
|
115
|
-
});
|
|
116
|
-
popup.addEventListener(STORE_EVENT_NAME, () => {
|
|
117
|
-
this.shadowRoot?.removeChild(popup);
|
|
118
|
-
this._closeWizard();
|
|
119
|
-
});
|
|
120
|
-
this.shadowRoot?.appendChild(popup);
|
|
121
|
-
} else {
|
|
122
|
-
const popup = new WizardClosePopup();
|
|
123
|
-
popup.withStorage = false;
|
|
124
|
-
popup.okButtonText = msg("Schließen", {
|
|
125
|
-
id: "spaH.wizard.close.popup.ok"
|
|
126
|
-
});
|
|
127
|
-
popup.cancelButtonText = msg("Abbrechen", {
|
|
128
|
-
id: "spaH.wizard.close.popup.cancel"
|
|
129
|
-
});
|
|
130
|
-
popup.addEventListener(ABORT_EVENT_NAME, () => {
|
|
131
|
-
this.shadowRoot?.removeChild(popup);
|
|
132
|
-
});
|
|
133
|
-
popup.addEventListener(STORE_EVENT_NAME, () => {
|
|
134
|
-
this.shadowRoot?.removeChild(popup);
|
|
135
|
-
this._closeWizard();
|
|
136
|
-
});
|
|
137
|
-
this.shadowRoot?.appendChild(popup);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
_reloadFromStorage(storageKey) {
|
|
141
|
-
wizzardLogger.debug(`call _reloadFromStorage ${storageKey}`);
|
|
142
|
-
if (storageKey) {
|
|
143
|
-
const storageEl = this.getWizardStorage()[storageKey];
|
|
144
|
-
wizzardLogger.debug("reload storageEl", storageEl);
|
|
145
|
-
if (storageEl && storageEl.orderFormData !== void 0) {
|
|
146
|
-
const popup = new WizardReloadPopup();
|
|
147
|
-
popup.reloadItem = storageEl;
|
|
148
|
-
popup.okButtonText = msg("Fortsetzen", {
|
|
149
|
-
id: "spaH.wizard.reload.popup.ok"
|
|
150
|
-
});
|
|
151
|
-
popup.cancelButtonText = msg("Verwerfen", {
|
|
152
|
-
id: "spaH.wizard.reload.popup.cancel"
|
|
153
|
-
});
|
|
154
|
-
popup.addEventListener(ABORT_EVENT_NAME, () => {
|
|
155
|
-
this._removeFromStorage();
|
|
156
|
-
this.shadowRoot?.removeChild(popup);
|
|
157
|
-
});
|
|
158
|
-
popup.addEventListener(STORE_EVENT_NAME, () => {
|
|
159
|
-
wizzardLogger.debug(
|
|
160
|
-
`Reload storage element from ${storageEl.timestamp}`
|
|
161
|
-
);
|
|
162
|
-
this._orderFormData = storageEl.orderFormData;
|
|
163
|
-
this._currentOrderStep = storageEl.wizardStep;
|
|
164
|
-
this.shadowRoot?.removeChild(popup);
|
|
165
|
-
for (let stepNr = 1; stepNr <= this._wizardSteps.length; stepNr += 1) {
|
|
166
|
-
const stepId = `wiz${stepNr}Id`;
|
|
167
|
-
const stepElement = this.shadowRoot?.getElementById(stepId);
|
|
168
|
-
if (stepElement && typeof stepElement.reloadFromOrder === "function") {
|
|
169
|
-
stepElement.reloadFromOrder(this._orderFormData);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
this.shadowRoot?.appendChild(popup);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
_doStorageUpdate(preparedOrderForm) {
|
|
178
|
-
if (this._withLocalStorageId) {
|
|
179
|
-
const storageWizard = this.getWizardStorage();
|
|
180
|
-
storageWizard[this._withLocalStorageId] = {
|
|
181
|
-
orderFormData: preparedOrderForm || this._orderFormData,
|
|
182
|
-
wizardStep: this._currentOrderStep,
|
|
183
|
-
timestamp: (/* @__PURE__ */ new Date()).toUTCString()
|
|
184
|
-
};
|
|
185
|
-
localStorage.setItem(
|
|
186
|
-
RUNNING_WIZARD_STORAGE_ELEMENTS,
|
|
187
|
-
JSON.stringify(storageWizard)
|
|
188
|
-
);
|
|
189
|
-
wizzardLogger.debug(
|
|
190
|
-
`Update wizard local storage for key ${this._withLocalStorageId}`
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
_removeFromStorage() {
|
|
195
|
-
if (this._withLocalStorageId) {
|
|
196
|
-
const storageWizard = this.getWizardStorage();
|
|
197
|
-
delete storageWizard[this._withLocalStorageId];
|
|
198
|
-
localStorage.setItem(
|
|
199
|
-
RUNNING_WIZARD_STORAGE_ELEMENTS,
|
|
200
|
-
JSON.stringify(storageWizard)
|
|
201
|
-
);
|
|
202
|
-
wizzardLogger.debug(
|
|
203
|
-
`Remove wizard local storage for key ${this._withLocalStorageId}`
|
|
204
|
-
);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
getWizardStorage() {
|
|
208
|
-
const storageEl = localStorage.getItem(RUNNING_WIZARD_STORAGE_ELEMENTS);
|
|
209
|
-
return storageEl ? JSON.parse(storageEl) : {};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Updates internal storage on storage update events.
|
|
213
|
-
*/
|
|
214
|
-
_doStorageEventUpdate(event) {
|
|
215
|
-
if (!this._withLocalStorageId) {
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (event.detail) {
|
|
219
|
-
wizzardLogger.debug(
|
|
220
|
-
"event detail set, store prepared data: ",
|
|
221
|
-
event.detail
|
|
222
|
-
);
|
|
223
|
-
const preparedOrder = {
|
|
224
|
-
...this._orderFormData || {},
|
|
225
|
-
...event.detail
|
|
226
|
-
};
|
|
227
|
-
this._doStorageUpdate(preparedOrder);
|
|
228
|
-
}
|
|
229
|
-
event.stopPropagation();
|
|
230
|
-
}
|
|
231
|
-
static _timeOutScroll() {
|
|
232
|
-
window.setTimeout(() => {
|
|
233
|
-
window.scrollTo({
|
|
234
|
-
top: 0,
|
|
235
|
-
left: 0,
|
|
236
|
-
behavior: "smooth"
|
|
237
|
-
});
|
|
238
|
-
}, 100);
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
__decorateClass([
|
|
242
|
-
state()
|
|
243
|
-
], _DefaultWizard.prototype, "_wizardSteps");
|
|
244
|
-
__decorateClass([
|
|
245
|
-
state()
|
|
246
|
-
], _DefaultWizard.prototype, "_currentOrderStep");
|
|
247
|
-
__decorateClass([
|
|
248
|
-
state()
|
|
249
|
-
], _DefaultWizard.prototype, "_orderFormData");
|
|
250
|
-
__decorateClass([
|
|
251
|
-
state()
|
|
252
|
-
], _DefaultWizard.prototype, "_withLocalStorageId");
|
|
253
|
-
let DefaultWizard = _DefaultWizard;
|
|
254
|
-
|
|
255
|
-
export { DefaultWizard };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* Could use as abstract class for own (default) steps for pd-wizard.
|
|
4
|
-
*
|
|
5
|
-
* Contains generics for the OrderFormData (T) and the specific FormData (F) for this Step.
|
|
6
|
-
*/
|
|
7
|
-
export declare abstract class PdDefaultWizardStep<T, F> extends LitElement {
|
|
8
|
-
stepTitle: string;
|
|
9
|
-
stepNumber: number;
|
|
10
|
-
withRequiredInfo: boolean;
|
|
11
|
-
withAutoTrim: boolean;
|
|
12
|
-
protected _errorMsg: string;
|
|
13
|
-
protected _validForm: boolean;
|
|
14
|
-
protected _formElement: {
|
|
15
|
-
triggerValidate: () => Promise<boolean>;
|
|
16
|
-
valid: boolean;
|
|
17
|
-
getValues: () => {
|
|
18
|
-
parsed: F;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
render(): TemplateResult<1>;
|
|
22
|
-
get valid(): boolean;
|
|
23
|
-
triggerValidate(): Promise<boolean>;
|
|
24
|
-
setFormData(currentOrder: T): T;
|
|
25
|
-
protected _getTitle(): TemplateResult | string;
|
|
26
|
-
protected abstract _renderFormContent(): TemplateResult;
|
|
27
|
-
/**
|
|
28
|
-
* Prepare the order (trigger side-effets) after update from order step.
|
|
29
|
-
* Used to reset the tax after heating (house age) oder contact (business), but could use for anything else.
|
|
30
|
-
*
|
|
31
|
-
* The default implementation just returns the updated order to prevent all clients from implementing the method.
|
|
32
|
-
*
|
|
33
|
-
* @param updatedOrder order with updates from step.
|
|
34
|
-
* @returns preparedOrder - with (e.g. prices) changes triggered by step update.
|
|
35
|
-
*/
|
|
36
|
-
protected _prepareOrderAfterStepUpdate(updatedOrder: T): T;
|
|
37
|
-
/**
|
|
38
|
-
* Returns the prepared data from the form inputs.
|
|
39
|
-
*
|
|
40
|
-
* Is called by setFormData, so the implementing client also haave to override
|
|
41
|
-
* _prepareDataFromForm.
|
|
42
|
-
*
|
|
43
|
-
* @returns preparaed data object from Form
|
|
44
|
-
*/
|
|
45
|
-
protected _prepareDataFromForm(): F;
|
|
46
|
-
protected _isValidFormData(): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Call from wizard.
|
|
49
|
-
*
|
|
50
|
-
* @param reloadedOrder
|
|
51
|
-
*/
|
|
52
|
-
reloadFromOrder(reloadedOrder: T): void;
|
|
53
|
-
/**
|
|
54
|
-
* Called to hold the current value from form (for aborting order processes).
|
|
55
|
-
* Do not fit perfect in the new form tyle, rethink about it....
|
|
56
|
-
*/
|
|
57
|
-
protected _doInputChange(): void;
|
|
58
|
-
_validateForm(e: any): void;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=pd-default-wizard-step.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pd-default-wizard-step.d.ts","sourceRoot":"","sources":["../../src/defaultpage/pd-default-wizard-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAMvD;;;;GAIG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,UAAU;IAEhE,SAAS,EAAE,MAAM,CAAY;IAG7B,UAAU,EAAE,MAAM,CAAK;IAGvB,gBAAgB,EAAE,OAAO,CAAS;IAGlC,YAAY,EAAE,OAAO,CAAQ;IAG7B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAM;IAGjC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAGtC,SAAS,CAAC,YAAY,EAAG;QACvB,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM;YACf,MAAM,EAAE,CAAC,CAAC;SACX,CAAC;KACH,CAAC;IAEO,MAAM;IAgBf,IAAW,KAAK,YAEf;IAEY,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC;IAetC,SAAS,CAAC,SAAS,IAAI,cAAc,GAAG,MAAM;IAI9C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,cAAc;IAEvD;;;;;;;;OAQG;IAEH,SAAS,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC;IAI1D;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,IAAI,CAAC;IAQnC,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAKrC;;;;OAIG;IAEH,eAAe,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;IAIvC;;;OAGG;IACH,SAAS,CAAC,cAAc;IAgBxB,aAAa,CAAC,CAAC,EAAE,GAAG;CAwCrB"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { LitElement, html } from 'lit';
|
|
2
|
-
import { property, state, query } from 'lit/decorators.js';
|
|
3
|
-
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
6
|
-
var result = void 0 ;
|
|
7
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8
|
-
if (decorator = decorators[i])
|
|
9
|
-
result = (decorator(target, key, result) ) || result;
|
|
10
|
-
if (result) __defProp(target, key, result);
|
|
11
|
-
return result;
|
|
12
|
-
};
|
|
13
|
-
const DELAY_TIME = 3e3;
|
|
14
|
-
let timeoutInputRef;
|
|
15
|
-
class PdDefaultWizardStep extends LitElement {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
this.stepTitle = "Step 1";
|
|
19
|
-
this.stepNumber = 0;
|
|
20
|
-
this.withRequiredInfo = false;
|
|
21
|
-
this.withAutoTrim = true;
|
|
22
|
-
this._errorMsg = "";
|
|
23
|
-
this._validForm = false;
|
|
24
|
-
}
|
|
25
|
-
render() {
|
|
26
|
-
return html`
|
|
27
|
-
<h3 class="wizard-h">${this._getTitle()}</h3>
|
|
28
|
-
|
|
29
|
-
<pd-form-container
|
|
30
|
-
id="stepFormContainerId"
|
|
31
|
-
class="form-container"
|
|
32
|
-
commonError="${this._errorMsg}"
|
|
33
|
-
?autoTrimm="${this.withAutoTrim}"
|
|
34
|
-
?requiredFieldInfo="${this.withRequiredInfo}"
|
|
35
|
-
>
|
|
36
|
-
${this._renderFormContent()}
|
|
37
|
-
</pd-form-container>
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
get valid() {
|
|
41
|
-
return this._formElement?.valid && this._isValidFormData();
|
|
42
|
-
}
|
|
43
|
-
async triggerValidate() {
|
|
44
|
-
return this._formElement?.triggerValidate();
|
|
45
|
-
}
|
|
46
|
-
setFormData(currentOrder) {
|
|
47
|
-
this._errorMsg = "";
|
|
48
|
-
try {
|
|
49
|
-
const preparedOrder = {
|
|
50
|
-
...currentOrder,
|
|
51
|
-
...this._prepareDataFromForm()
|
|
52
|
-
};
|
|
53
|
-
return preparedOrder;
|
|
54
|
-
} catch (error) {
|
|
55
|
-
this._errorMsg = error.message;
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// could be overwritten in implementing classes (to avoid property set)
|
|
60
|
-
_getTitle() {
|
|
61
|
-
return this.stepTitle;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Prepare the order (trigger side-effets) after update from order step.
|
|
65
|
-
* Used to reset the tax after heating (house age) oder contact (business), but could use for anything else.
|
|
66
|
-
*
|
|
67
|
-
* The default implementation just returns the updated order to prevent all clients from implementing the method.
|
|
68
|
-
*
|
|
69
|
-
* @param updatedOrder order with updates from step.
|
|
70
|
-
* @returns preparedOrder - with (e.g. prices) changes triggered by step update.
|
|
71
|
-
*/
|
|
72
|
-
// eslint-disable-next-line class-methods-use-this
|
|
73
|
-
_prepareOrderAfterStepUpdate(updatedOrder) {
|
|
74
|
-
return updatedOrder;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Returns the prepared data from the form inputs.
|
|
78
|
-
*
|
|
79
|
-
* Is called by setFormData, so the implementing client also haave to override
|
|
80
|
-
* _prepareDataFromForm.
|
|
81
|
-
*
|
|
82
|
-
* @returns preparaed data object from Form
|
|
83
|
-
*/
|
|
84
|
-
_prepareDataFromForm() {
|
|
85
|
-
if (!this._formElement?.valid) {
|
|
86
|
-
throw new Error("Invalid form, prepare not possible");
|
|
87
|
-
}
|
|
88
|
-
return this._formElement?.getValues().parsed;
|
|
89
|
-
}
|
|
90
|
-
_isValidFormData() {
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Call from wizard.
|
|
95
|
-
*
|
|
96
|
-
* @param reloadedOrder
|
|
97
|
-
*/
|
|
98
|
-
// eslint-disable-next-line class-methods-use-this
|
|
99
|
-
reloadFromOrder(reloadedOrder) {
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Called to hold the current value from form (for aborting order processes).
|
|
103
|
-
* Do not fit perfect in the new form tyle, rethink about it....
|
|
104
|
-
*/
|
|
105
|
-
_doInputChange() {
|
|
106
|
-
if (timeoutInputRef) {
|
|
107
|
-
window.clearTimeout(timeoutInputRef);
|
|
108
|
-
}
|
|
109
|
-
timeoutInputRef = window.setTimeout(() => {
|
|
110
|
-
this.dispatchEvent(
|
|
111
|
-
new CustomEvent("wizard-step-update", {
|
|
112
|
-
detail: this._prepareDataFromForm(),
|
|
113
|
-
bubbles: true,
|
|
114
|
-
composed: true
|
|
115
|
-
})
|
|
116
|
-
);
|
|
117
|
-
}, DELAY_TIME);
|
|
118
|
-
}
|
|
119
|
-
_validateForm(e) {
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
__decorateClass([
|
|
123
|
-
property({ type: String })
|
|
124
|
-
], PdDefaultWizardStep.prototype, "stepTitle");
|
|
125
|
-
__decorateClass([
|
|
126
|
-
property({ type: Number })
|
|
127
|
-
], PdDefaultWizardStep.prototype, "stepNumber");
|
|
128
|
-
__decorateClass([
|
|
129
|
-
property({ type: Boolean })
|
|
130
|
-
], PdDefaultWizardStep.prototype, "withRequiredInfo");
|
|
131
|
-
__decorateClass([
|
|
132
|
-
property({ type: Boolean })
|
|
133
|
-
], PdDefaultWizardStep.prototype, "withAutoTrim");
|
|
134
|
-
__decorateClass([
|
|
135
|
-
state()
|
|
136
|
-
], PdDefaultWizardStep.prototype, "_errorMsg");
|
|
137
|
-
__decorateClass([
|
|
138
|
-
state()
|
|
139
|
-
], PdDefaultWizardStep.prototype, "_validForm");
|
|
140
|
-
__decorateClass([
|
|
141
|
-
query("#stepFormContainerId")
|
|
142
|
-
], PdDefaultWizardStep.prototype, "_formElement");
|
|
143
|
-
|
|
144
|
-
export { PdDefaultWizardStep };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blob-helper.d.ts","sourceRoot":"","sources":["../../src/helper/blob-helper.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,GACvB,MAAM,IAAI,EACV,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,EAC7B,YAAY,MAAM,oBAYnB,CAAC;AASF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,2BAQhD"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
function arrayBufferToBase64(buffer) {
|
|
2
|
-
let binary = "";
|
|
3
|
-
const bytes = [].slice.call(new Uint8Array(buffer));
|
|
4
|
-
bytes.forEach((b) => binary += String.fromCharCode(b));
|
|
5
|
-
return window.btoa(binary);
|
|
6
|
-
}
|
|
7
|
-
const blobToBase64 = async (blob, type, otherType) => {
|
|
8
|
-
let base64Flag = "";
|
|
9
|
-
if (type === "png") {
|
|
10
|
-
base64Flag = "data:image/png;base64,";
|
|
11
|
-
} else if (type === "pdf") {
|
|
12
|
-
base64Flag = "data:application/pdf;base64,";
|
|
13
|
-
} else if (type === "image") {
|
|
14
|
-
base64Flag = `data:${otherType};base64,`;
|
|
15
|
-
}
|
|
16
|
-
const imageStr = arrayBufferToBase64(await blob.arrayBuffer());
|
|
17
|
-
return base64Flag + imageStr;
|
|
18
|
-
};
|
|
19
|
-
function cleanBase64(fileContent) {
|
|
20
|
-
if (fileContent.startsWith("data:")) {
|
|
21
|
-
return fileContent.replace(/^data:.*;base64,/, "");
|
|
22
|
-
}
|
|
23
|
-
return fileContent;
|
|
24
|
-
}
|
|
25
|
-
function base64ToUint8Array(base64) {
|
|
26
|
-
const binaryString = atob(cleanBase64(base64));
|
|
27
|
-
const len = binaryString.length;
|
|
28
|
-
const bytes = new Uint8Array(len);
|
|
29
|
-
for (let i = 0; i < len; i += 1) {
|
|
30
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
31
|
-
}
|
|
32
|
-
return bytes;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { base64ToUint8Array, blobToBase64 };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hilfsfunktion, um die Anzahl der Wochen zwischen dem billingDate und dem dueDate zu berechnen.
|
|
3
|
-
* Akzeptiert sowohl Date- als auch string-Werte.
|
|
4
|
-
*
|
|
5
|
-
* @param {Date | string} billingDate - Das Rechnungsdatum, entweder als Date oder string.
|
|
6
|
-
* @param {Date | string} dueDate - Das Fälligkeitsdatum, entweder als Date oder string.
|
|
7
|
-
* @return {string} - Die Anzahl der Wochen als string ('1', '2', '3', '4'), oder '1' als Standardwert.
|
|
8
|
-
*/
|
|
9
|
-
export declare const calculateDueWeeks: (billingDate: Date | string, dueDate: Date | string) => string;
|
|
10
|
-
export declare const minutesToIndustrialHours: (minutes: number) => number;
|
|
11
|
-
export declare const industrialHoursToMinutes: (hours: number) => number;
|
|
12
|
-
/**
|
|
13
|
-
* Berechnet die Dauer in Minuten zwischen zwei Zeitpunkten.
|
|
14
|
-
* Akzeptiert sowohl `Date`- als auch ISO-String-Werte.
|
|
15
|
-
*
|
|
16
|
-
* @param {Date | string | undefined} start - Startzeitpunkt
|
|
17
|
-
* @param {Date | string | undefined} end - Endzeitpunkt
|
|
18
|
-
* @returns {number} - Dauer in Minuten, oder 0 wenn ungültig
|
|
19
|
-
*/
|
|
20
|
-
export declare const calculateDurationInMinutes: (start?: Date | string, end?: Date | string) => number;
|
|
21
|
-
export declare const formatToTime: (date?: Date | string | number, emptyResult?: string) => string;
|
|
22
|
-
export declare const formatShortDate: (date: Date | string | number | undefined, withTime: boolean) => string;
|
|
23
|
-
export declare function toISODateTime(dateObj: Date, timeStr: string): string;
|
|
24
|
-
export declare function formatDateTime(date: Date | string | number | undefined, withTime: boolean): string;
|
|
25
|
-
export declare const formatMonth: (date: Date | string | number | undefined, withYear?: boolean) => string;
|
|
26
|
-
export declare const getUTCFromDatepickerString: (dateString: string) => string;
|
|
27
|
-
//# sourceMappingURL=date-helper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-helper.d.ts","sourceRoot":"","sources":["../../src/helper/date-helper.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAa,IAAI,GAAG,MAAM,EAC1B,SAAS,IAAI,GAAG,MAAM,KACrB,MAsBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,MAK1D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MAKxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,IAAI,GAAG,MAAM,EACrB,MAAM,IAAI,GAAG,MAAM,KAClB,MAKF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,IAAI,GAAG,MAAM,GAAG,MAAM,EAC7B,cAAc,MAAM,WAmBrB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,UAAU,OAAO,WA4BlB,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUpE;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,QAAQ,EAAE,OAAO,GAChB,MAAM,CA6BR;AAED,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,WAAW,OAAO,WAuBnB,CAAC;AAGF,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,MAI/D,CAAC"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { parse } from 'date-fns';
|
|
2
|
-
import { UNDEF } from '../model/spa-model.js';
|
|
3
|
-
import { getCurrentFormatLocale, getCurrentTimeZone } from './locale-format.js';
|
|
4
|
-
import { defaultLogger } from './logger.js';
|
|
5
|
-
|
|
6
|
-
const calculateDueWeeks = (billingDate, dueDate) => {
|
|
7
|
-
const billingDateObj = typeof billingDate === "string" ? new Date(billingDate) : billingDate;
|
|
8
|
-
const dueDateObj = typeof dueDate === "string" ? new Date(dueDate) : dueDate;
|
|
9
|
-
const MS_PER_WEEK = 1e3 * 60 * 60 * 24 * 7;
|
|
10
|
-
const diffInMs = dueDateObj.getTime() - billingDateObj.getTime();
|
|
11
|
-
const weeks = Math.round(diffInMs / MS_PER_WEEK);
|
|
12
|
-
if (weeks >= 1 && weeks <= 4) {
|
|
13
|
-
return weeks.toString();
|
|
14
|
-
}
|
|
15
|
-
return UNDEF;
|
|
16
|
-
};
|
|
17
|
-
const minutesToIndustrialHours = (minutes) => {
|
|
18
|
-
if (typeof minutes !== "number" || isNaN(minutes) || minutes <= 0) {
|
|
19
|
-
return 0;
|
|
20
|
-
}
|
|
21
|
-
return Math.round(minutes / 60 * 100) / 100;
|
|
22
|
-
};
|
|
23
|
-
const industrialHoursToMinutes = (hours) => {
|
|
24
|
-
if (typeof hours !== "number" || isNaN(hours) || hours <= 0) {
|
|
25
|
-
return 0;
|
|
26
|
-
}
|
|
27
|
-
return Math.round(hours * 60);
|
|
28
|
-
};
|
|
29
|
-
const calculateDurationInMinutes = (start, end) => {
|
|
30
|
-
if (!start || !end) return 0;
|
|
31
|
-
const startDate = typeof start === "string" ? new Date(start) : start;
|
|
32
|
-
const endDate = typeof end === "string" ? new Date(end) : end;
|
|
33
|
-
return (endDate.getTime() - startDate.getTime()) / (1e3 * 60);
|
|
34
|
-
};
|
|
35
|
-
const formatToTime = (date, emptyResult) => {
|
|
36
|
-
let resultStr = emptyResult !== void 0 ? emptyResult : "--";
|
|
37
|
-
try {
|
|
38
|
-
if (date !== void 0 && date !== null) {
|
|
39
|
-
const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
|
|
40
|
-
resultStr = usedDate.toLocaleTimeString(getCurrentFormatLocale(), {
|
|
41
|
-
hour: "2-digit",
|
|
42
|
-
minute: "2-digit",
|
|
43
|
-
timeZone: getCurrentTimeZone()
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
} catch (error) {
|
|
47
|
-
defaultLogger.warn("Failed formatToTime calll", date, error);
|
|
48
|
-
}
|
|
49
|
-
return resultStr;
|
|
50
|
-
};
|
|
51
|
-
const formatShortDate = (date, withTime) => {
|
|
52
|
-
let resultStr = "--";
|
|
53
|
-
if (date) {
|
|
54
|
-
const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
|
|
55
|
-
resultStr = usedDate.toLocaleDateString(
|
|
56
|
-
getCurrentFormatLocale(),
|
|
57
|
-
withTime ? {
|
|
58
|
-
day: "2-digit",
|
|
59
|
-
month: "2-digit",
|
|
60
|
-
year: "numeric",
|
|
61
|
-
hour: "2-digit",
|
|
62
|
-
minute: "2-digit",
|
|
63
|
-
timeZone: getCurrentTimeZone()
|
|
64
|
-
} : {
|
|
65
|
-
day: "2-digit",
|
|
66
|
-
month: "2-digit",
|
|
67
|
-
year: "numeric",
|
|
68
|
-
timeZone: getCurrentTimeZone()
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
return resultStr;
|
|
73
|
-
};
|
|
74
|
-
function toISODateTime(dateObj, timeStr) {
|
|
75
|
-
const [hours, minutes] = timeStr.split(":").map(Number);
|
|
76
|
-
const newDate = new Date(dateObj);
|
|
77
|
-
newDate.setHours(hours, minutes, 0, 0);
|
|
78
|
-
return newDate.toISOString();
|
|
79
|
-
}
|
|
80
|
-
function formatDateTime(date, withTime) {
|
|
81
|
-
let resultStr = "--";
|
|
82
|
-
if (date) {
|
|
83
|
-
const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
|
|
84
|
-
resultStr = usedDate.toLocaleDateString(
|
|
85
|
-
getCurrentFormatLocale(),
|
|
86
|
-
withTime ? {
|
|
87
|
-
weekday: "long",
|
|
88
|
-
year: "numeric",
|
|
89
|
-
month: "long",
|
|
90
|
-
day: "numeric",
|
|
91
|
-
hour: "2-digit",
|
|
92
|
-
minute: "2-digit",
|
|
93
|
-
timeZone: getCurrentTimeZone()
|
|
94
|
-
} : {
|
|
95
|
-
weekday: "long",
|
|
96
|
-
year: "numeric",
|
|
97
|
-
month: "long",
|
|
98
|
-
day: "numeric",
|
|
99
|
-
timeZone: getCurrentTimeZone()
|
|
100
|
-
}
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
return resultStr;
|
|
104
|
-
}
|
|
105
|
-
const formatMonth = (date, withYear) => {
|
|
106
|
-
let resultStr = "--";
|
|
107
|
-
if (date) {
|
|
108
|
-
const usedDate = typeof date === "string" || typeof date === "number" ? new Date(date) : date;
|
|
109
|
-
resultStr = usedDate.toLocaleDateString(
|
|
110
|
-
getCurrentFormatLocale(),
|
|
111
|
-
withYear ? {
|
|
112
|
-
month: "long",
|
|
113
|
-
year: "numeric",
|
|
114
|
-
timeZone: getCurrentTimeZone()
|
|
115
|
-
} : {
|
|
116
|
-
month: "long",
|
|
117
|
-
timeZone: getCurrentTimeZone()
|
|
118
|
-
}
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
return resultStr;
|
|
122
|
-
};
|
|
123
|
-
const dateFormatWithoutTime = "dd/MM/yyyy";
|
|
124
|
-
const getUTCFromDatepickerString = (dateString) => {
|
|
125
|
-
const parsedDate = parse(dateString, dateFormatWithoutTime, /* @__PURE__ */ new Date());
|
|
126
|
-
return parsedDate.toUTCString();
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
export { calculateDueWeeks, calculateDurationInMinutes, formatDateTime, formatMonth, formatShortDate, formatToTime, getUTCFromDatepickerString, industrialHoursToMinutes, minutesToIndustrialHours, toISODateTime };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locale-format.d.ts","sourceRoot":"","sources":["../../src/helper/locale-format.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,sBAAsB,QAAO,MAAuB,CAAC;AAClE,eAAO,MAAM,kBAAkB,QAAO,MAAyB,CAAC;AAEhE,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,KAAG,IAI1D,CAAC"}
|