@gloww/gloww 0.9.0-beta.10
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/README.md +24 -0
- package/compute-version.js +117 -0
- package/esm2020/gloww-gloww.mjs +5 -0
- package/esm2020/lib/Components/code-editor/code-editor.component.mjs +59 -0
- package/esm2020/lib/Components/confirmation/confirmation.component.mjs +43 -0
- package/esm2020/lib/Components/display-objects/display-objects.component.mjs +499 -0
- package/esm2020/lib/Components/display-objects-configuration.mjs +2 -0
- package/esm2020/lib/Components/download-progress/download-progress.component.mjs +119 -0
- package/esm2020/lib/Components/folders/file-edit/file-edit.component.mjs +71 -0
- package/esm2020/lib/Components/folders/folders/folders.component.mjs +180 -0
- package/esm2020/lib/Components/header/header.component.mjs +14 -0
- package/esm2020/lib/Components/html-editor/html-editor.component.mjs +175 -0
- package/esm2020/lib/Components/menu-list-item/menu-list-item.component.mjs +101 -0
- package/esm2020/lib/Components/prompt/prompt.component.mjs +52 -0
- package/esm2020/lib/Components/result-table/result-table.component.mjs +21 -0
- package/esm2020/lib/Components/search-form/search-form.component.mjs +14 -0
- package/esm2020/lib/Components/secure-a/secure-a.component.mjs +31 -0
- package/esm2020/lib/Components/secure-img/secure-img.component.mjs +45 -0
- package/esm2020/lib/Components/upload-doc/upload-doc.component.mjs +95 -0
- package/esm2020/lib/Components/upload-file/upload-file.component.mjs +138 -0
- package/esm2020/lib/Directives/file-sink.directive.mjs +52 -0
- package/esm2020/lib/Models/nav-item.mjs +2 -0
- package/esm2020/lib/Pipes/html-format.pipe.mjs +23 -0
- package/esm2020/lib/Pipes/retry-with-delay.mjs +12 -0
- package/esm2020/lib/Pipes/safe-html.pipe.mjs +22 -0
- package/esm2020/lib/Pipes/secure.pipe.mjs +34 -0
- package/esm2020/lib/Services/dialog.service.mjs +29 -0
- package/esm2020/lib/Services/folder-service-config.mjs +21 -0
- package/esm2020/lib/Services/folder.service.mjs +50 -0
- package/esm2020/lib/Services/gloww.service.mjs +66 -0
- package/esm2020/lib/Services/nav.service.mjs +28 -0
- package/esm2020/lib/Services/version-check.service.mjs +81 -0
- package/esm2020/lib/Services/voice-recognition.service.mjs +55 -0
- package/esm2020/lib/gloww-security/Components/change-password-dlg/change-password-dlg.component.mjs +67 -0
- package/esm2020/lib/gloww-security/Components/login/login.component.mjs +173 -0
- package/esm2020/lib/gloww-security/Components/social-network/social-network.component.mjs +46 -0
- package/esm2020/lib/gloww-security/Components/social-network-dlg/social-network-dlg.component.mjs +52 -0
- package/esm2020/lib/gloww-security/Components/user-menu/user-menu.component.mjs +73 -0
- package/esm2020/lib/gloww-security/Helpers/administrator.guard.mjs +27 -0
- package/esm2020/lib/gloww-security/Helpers/auth.guard.mjs +57 -0
- package/esm2020/lib/gloww-security/Helpers/error.interceptor.mjs +29 -0
- package/esm2020/lib/gloww-security/Helpers/index.mjs +5 -0
- package/esm2020/lib/gloww-security/Helpers/jwt.interceptor.mjs +31 -0
- package/esm2020/lib/gloww-security/Helpers/staging.interceptor.mjs +24 -0
- package/esm2020/lib/gloww-security/Models/oauthassociation.mjs +6 -0
- package/esm2020/lib/gloww-security/Models/user.mjs +3 -0
- package/esm2020/lib/gloww-security/Services/authentication-service-config.mjs +25 -0
- package/esm2020/lib/gloww-security/Services/authentication.service.mjs +205 -0
- package/esm2020/lib/gloww-security/Services/gloww-security.service.mjs +14 -0
- package/esm2020/lib/gloww-security/gloww-security.module.mjs +171 -0
- package/esm2020/lib/gloww.module.mjs +220 -0
- package/esm2020/lib/injection-token.mjs +3 -0
- package/esm2020/public-api.mjs +32 -0
- package/fesm2015/gloww-gloww.mjs +3104 -0
- package/fesm2015/gloww-gloww.mjs.map +1 -0
- package/fesm2020/gloww-gloww.mjs +3065 -0
- package/fesm2020/gloww-gloww.mjs.map +1 -0
- package/gloww-assets/.gitkeep +0 -0
- package/gloww-assets/7SS_logo.svg +1 -0
- package/gloww-assets/7SS_wobl.svg +1 -0
- package/gloww-assets/7stars.png +0 -0
- package/gloww-assets/gloww.svg +316 -0
- package/gloww-assets/images/google_signin_buttons/Google_signin_button.sketch +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_dark_disabled_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_dark_focus_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_dark_normal_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_dark_pressed_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_light_disabled_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_light_focus_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_light_normal_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_light_pressed_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_dark_disabled_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_dark_focus_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_dark_normal_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_dark_pressed_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_light_disabled_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_light_focus_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_light_normal_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/hdpi/btn_google_signin_light_pressed_hdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_dark_disabled_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_dark_focus_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_dark_normal_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_dark_pressed_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_light_disabled_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_light_focus_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_light_normal_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_light_pressed_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_dark_disabled_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_dark_focus_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_dark_normal_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_dark_pressed_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_light_disabled_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_light_focus_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_light_normal_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/ldpi/btn_google_signin_light_pressed_ldpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_dark_disabled_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_dark_focus_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_dark_normal_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_dark_pressed_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_light_disabled_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_light_focus_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_light_normal_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_light_pressed_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_dark_disabled_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_dark_focus_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_dark_normal_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_dark_pressed_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_light_disabled_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_light_focus_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_light_normal_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/mdpi/btn_google_signin_light_pressed_mdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_dark_disabled_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_dark_focus_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_dark_normal_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_dark_pressed_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_light_disabled_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_light_focus_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_light_normal_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_light_pressed_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_dark_disabled_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_dark_focus_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_dark_normal_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_dark_pressed_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_light_disabled_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_light_focus_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_light_normal_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/tvdpi/btn_google_signin_light_pressed_tvdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_dark_disabled_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_dark_focus_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_dark_normal_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_dark_pressed_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_light_disabled_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_light_focus_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_light_normal_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_light_pressed_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_dark_disabled_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_dark_focus_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_dark_normal_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_dark_pressed_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_light_disabled_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_light_focus_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_light_normal_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xhdpi/btn_google_signin_light_pressed_xhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_dark_disabled_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_dark_focus_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_dark_normal_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_dark_pressed_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_light_disabled_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_light_focus_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_light_normal_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_light_pressed_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_dark_disabled_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_dark_focus_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_dark_normal_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_dark_pressed_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_light_disabled_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_light_focus_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_light_normal_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxhdpi/btn_google_signin_light_pressed_xxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_dark_disabled_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_dark_focus_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_dark_normal_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_dark_pressed_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_light_disabled_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_light_focus_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_light_normal_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_light_pressed_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_dark_disabled_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_dark_focus_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_dark_normal_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_dark_pressed_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_light_disabled_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_light_focus_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_light_normal_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/android/xxxhdpi/btn_google_signin_light_pressed_xxxhdpi.9.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_dark_disabled_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_dark_focus_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_dark_normal_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_dark_pressed_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_light_disabled_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_light_focus_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_light_normal_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_light_pressed_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_dark_disabled_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_dark_focus_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_dark_normal_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_dark_pressed_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_light_disabled_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_light_focus_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_light_normal_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/1x/btn_google_signin_light_pressed_ios.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_dark_disabled_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_dark_focus_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_dark_normal_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_dark_pressed_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_light_disabled_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_light_focus_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_light_normal_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_light_pressed_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_dark_disabled_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_dark_focus_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_dark_normal_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_dark_pressed_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_light_disabled_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_light_focus_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_light_normal_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/2x/btn_google_signin_light_pressed_ios@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_dark_disabled_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_dark_focus_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_dark_normal_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_dark_pressed_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_light_disabled_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_light_focus_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_light_normal_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_light_pressed_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_dark_disabled_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_dark_focus_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_dark_normal_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_dark_pressed_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_light_disabled_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_light_focus_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_light_normal_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/ios/3x/btn_google_signin_light_pressed_ios@3x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_dark_disabled_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_dark_focus_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_dark_normal_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_dark_pressed_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_light_disabled_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_light_focus_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_light_normal_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/1x/btn_google_signin_light_pressed_web.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_dark_disabled_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_dark_focus_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_dark_normal_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_dark_pressed_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_light_disabled_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_light_focus_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_light_normal_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/2x/btn_google_signin_light_pressed_web@2x.png +0 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_disabled_ios.eps +814 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_disabled_ios.svg +24 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_focus_ios.eps +1866 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_focus_ios.svg +51 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_normal_ios.eps +1031 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_normal_ios.svg +50 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_pressed_ios.eps +1031 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_dark_pressed_ios.svg +50 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_disabled_ios.eps +814 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_disabled_ios.svg +24 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_focus_ios.eps +1837 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_focus_ios.svg +44 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_normal_ios.eps +1002 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_normal_ios.svg +43 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_pressed_ios.eps +1002 -0
- package/gloww-assets/images/google_signin_buttons/web/vector/btn_google_light_pressed_ios.svg +43 -0
- package/gloww-assets/swagger.svg +1 -0
- package/gloww-gloww.d.ts +5 -0
- package/lib/Components/code-editor/code-editor.component.d.ts +16 -0
- package/lib/Components/confirmation/confirmation.component.d.ts +20 -0
- package/lib/Components/display-objects/display-objects.component.d.ts +93 -0
- package/lib/Components/display-objects-configuration.d.ts +5 -0
- package/lib/Components/download-progress/download-progress.component.d.ts +30 -0
- package/lib/Components/folders/file-edit/file-edit.component.d.ts +31 -0
- package/lib/Components/folders/folders/folders.component.d.ts +33 -0
- package/lib/Components/header/header.component.d.ts +8 -0
- package/lib/Components/html-editor/html-editor.component.d.ts +36 -0
- package/lib/Components/menu-list-item/menu-list-item.component.d.ts +22 -0
- package/lib/Components/prompt/prompt.component.d.ts +25 -0
- package/lib/Components/result-table/result-table.component.d.ts +11 -0
- package/lib/Components/search-form/search-form.component.d.ts +8 -0
- package/lib/Components/secure-a/secure-a.component.d.ts +13 -0
- package/lib/Components/secure-img/secure-img.component.d.ts +17 -0
- package/lib/Components/upload-doc/upload-doc.component.d.ts +19 -0
- package/lib/Components/upload-file/upload-file.component.d.ts +34 -0
- package/lib/Directives/file-sink.directive.d.ts +11 -0
- package/lib/Models/nav-item.d.ts +8 -0
- package/lib/Pipes/html-format.pipe.d.ts +10 -0
- package/lib/Pipes/retry-with-delay.d.ts +2 -0
- package/lib/Pipes/safe-html.pipe.d.ts +10 -0
- package/lib/Pipes/secure.pipe.d.ts +13 -0
- package/lib/Services/dialog.service.d.ts +11 -0
- package/lib/Services/folder-service-config.d.ts +7 -0
- package/lib/Services/folder.service.d.ts +19 -0
- package/lib/Services/gloww.service.d.ts +23 -0
- package/lib/Services/nav.service.d.ts +13 -0
- package/lib/Services/version-check.service.d.ts +30 -0
- package/lib/Services/voice-recognition.service.d.ts +14 -0
- package/lib/gloww-security/Components/change-password-dlg/change-password-dlg.component.d.ts +19 -0
- package/lib/gloww-security/Components/login/login.component.d.ts +43 -0
- package/lib/gloww-security/Components/social-network/social-network.component.d.ts +25 -0
- package/lib/gloww-security/Components/social-network-dlg/social-network-dlg.component.d.ts +21 -0
- package/lib/gloww-security/Components/user-menu/user-menu.component.d.ts +24 -0
- package/lib/gloww-security/Helpers/administrator.guard.d.ts +14 -0
- package/lib/gloww-security/Helpers/auth.guard.d.ts +14 -0
- package/lib/gloww-security/Helpers/error.interceptor.d.ts +11 -0
- package/lib/gloww-security/Helpers/index.d.ts +4 -0
- package/lib/gloww-security/Helpers/jwt.interceptor.d.ts +11 -0
- package/lib/gloww-security/Helpers/staging.interceptor.d.ts +9 -0
- package/lib/gloww-security/Models/oauthassociation.d.ts +7 -0
- package/lib/gloww-security/Models/user.d.ts +9 -0
- package/lib/gloww-security/Services/authentication-service-config.d.ts +17 -0
- package/lib/gloww-security/Services/authentication.service.d.ts +40 -0
- package/lib/gloww-security/Services/gloww-security.service.d.ts +6 -0
- package/lib/gloww-security/gloww-security.module.d.ts +35 -0
- package/lib/gloww.module.d.ts +59 -0
- package/lib/injection-token.d.ts +2 -0
- package/package.json +40 -0
- package/public-api.d.ts +28 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "../upload-file/upload-file.component";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
export class UploadDocComponent {
|
|
9
|
+
constructor(dialogRef, data, formBuilder) {
|
|
10
|
+
this.dialogRef = dialogRef;
|
|
11
|
+
this.data = data;
|
|
12
|
+
this.formBuilder = formBuilder;
|
|
13
|
+
this.multiple = false;
|
|
14
|
+
this.allowAltFileName = false;
|
|
15
|
+
this.acceptMime = '*/*';
|
|
16
|
+
this.files = [];
|
|
17
|
+
if (data && data.acceptMime) {
|
|
18
|
+
this.acceptMime = data.acceptMime;
|
|
19
|
+
}
|
|
20
|
+
if (data && data.multiple) {
|
|
21
|
+
this.multiple = data.multiple;
|
|
22
|
+
}
|
|
23
|
+
if (data && data.allowAltFileName) {
|
|
24
|
+
this.allowAltFileName = data.allowAltFileName;
|
|
25
|
+
}
|
|
26
|
+
if (data && data.callback) {
|
|
27
|
+
this.callback = data.callback;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/*
|
|
31
|
+
get fileNames(): FormArray {
|
|
32
|
+
return this.form.get("fileNames") as FormArray
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
FileName(fn: string): FormGroup {
|
|
36
|
+
return this.formBuilder.group({
|
|
37
|
+
fileName: fn
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
onClick() {
|
|
45
|
+
const fileUpload = this.fileUpload.nativeElement; fileUpload.onchange = () => {
|
|
46
|
+
if (this.multiple) {
|
|
47
|
+
this.files = [];
|
|
48
|
+
if (this.allowAltFileName) { this.fileNames.clear(); }
|
|
49
|
+
}
|
|
50
|
+
for (const file of fileUpload.files) {
|
|
51
|
+
this.files.push({ data: file, inProgress: false, progress: 0, fileName: file.name });
|
|
52
|
+
if (this.allowAltFileName) { this.fileNames.push(this.FileName(file.name)); }
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
fileUpload.click();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private uploadFiles() {
|
|
59
|
+
this.fileUpload.nativeElement.value = '';
|
|
60
|
+
this.files.forEach(file => {
|
|
61
|
+
alert('upload file');
|
|
62
|
+
// this.uploadFile(file);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
*/
|
|
66
|
+
cancel() {
|
|
67
|
+
this.dialogRef.close();
|
|
68
|
+
}
|
|
69
|
+
save() {
|
|
70
|
+
console.log("save UploadDoc");
|
|
71
|
+
console.log(`this.files.length ${this.files.length}`);
|
|
72
|
+
/*if (this.allowAltFileName) {
|
|
73
|
+
for (let i = 0; i < this.files.length; i++) {
|
|
74
|
+
// Comment to be sure new version
|
|
75
|
+
this.files[i].name = this.fileNames.value[i].fileName;
|
|
76
|
+
}
|
|
77
|
+
}*/
|
|
78
|
+
if (this.callback) {
|
|
79
|
+
this.callback(this.files).subscribe(res => this.dialogRef.close(this.files));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.dialogRef.close(this.files);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
UploadDocComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: UploadDocComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
UploadDocComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: UploadDocComponent, selector: "gloww-upload-doc", ngImport: i0, template: "<h2 mat-dialog-title>\r\n Association d'un nouveau document</h2>\r\n\r\n<mat-dialog-content>\r\n\r\n <gloww-upload-file [(ngModel)]=\"files\" [acceptMime]=\"acceptMime\" [multiple]=\"multiple\" [allowAltFileName]=\"allowAltFileName\"></gloww-upload-file>\r\n\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancel()\">Close</button>\r\n <button mat-raised-button color=\"primary\" (click)=\"save()\">Save</button>\r\n</mat-dialog-actions>\r\n", styles: ["ul{list-style:none;padding-left:0}ul li{padding-bottom:10px}\n"], components: [{ type: i3.UploadFileComponent, selector: "gloww-upload-file", inputs: ["multiple", "allowAltFileName", "acceptMime"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: UploadDocComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'gloww-upload-doc', template: "<h2 mat-dialog-title>\r\n Association d'un nouveau document</h2>\r\n\r\n<mat-dialog-content>\r\n\r\n <gloww-upload-file [(ngModel)]=\"files\" [acceptMime]=\"acceptMime\" [multiple]=\"multiple\" [allowAltFileName]=\"allowAltFileName\"></gloww-upload-file>\r\n\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancel()\">Close</button>\r\n <button mat-raised-button color=\"primary\" (click)=\"save()\">Save</button>\r\n</mat-dialog-actions>\r\n", styles: ["ul{list-style:none;padding-left:0}ul li{padding-bottom:10px}\n"] }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
92
|
+
type: Inject,
|
|
93
|
+
args: [MAT_DIALOG_DATA]
|
|
94
|
+
}] }, { type: i2.FormBuilder }]; } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRvYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL0NvbXBvbmVudHMvdXBsb2FkLWRvYy91cGxvYWQtZG9jLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy91cGxvYWQtZG9jL3VwbG9hZC1kb2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQVF6RSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLFNBQTJDLEVBQWtDLElBQVMsRUFBVSxXQUF3QjtRQUF4SCxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUFrQyxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFONUksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFbEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1QsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDbkM7UUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMvQjtRQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQy9DO1FBQ0QsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUNFO0lBRUYsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3REOzs7OztXQUtHO1FBQ0gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzlFO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDOzsrR0E5RVUsa0JBQWtCLDhDQVE0QyxlQUFlO21HQVI3RSxrQkFBa0Isd0RDVi9CLGlmQVlBOzJGREZhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVlzQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dsb3d3LXVwbG9hZC1kb2MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZG9jLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQtZG9jLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBsb2FkRG9jQ29tcG9uZW50IHtcclxuXHJcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbGxvd0FsdEZpbGVOYW1lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGFjY2VwdE1pbWUgPSAnKi8qJztcclxuICBmaWxlcyA9IFtdO1xyXG4gIGNhbGxiYWNrOiAoZmlsZXM6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXBsb2FkRG9jQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmFjY2VwdE1pbWUpIHtcclxuICAgICAgdGhpcy5hY2NlcHRNaW1lID0gZGF0YS5hY2NlcHRNaW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGEgJiYgZGF0YS5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLm11bHRpcGxlID0gZGF0YS5tdWx0aXBsZTtcclxuICAgIH1cclxuICAgIGlmIChkYXRhICYmIGRhdGEuYWxsb3dBbHRGaWxlTmFtZSkge1xyXG4gICAgICB0aGlzLmFsbG93QWx0RmlsZU5hbWUgPSBkYXRhLmFsbG93QWx0RmlsZU5hbWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmNhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMuY2FsbGJhY2sgPSBkYXRhLmNhbGxiYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBnZXQgZmlsZU5hbWVzKCk6IEZvcm1BcnJheSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldChcImZpbGVOYW1lc1wiKSBhcyBGb3JtQXJyYXlcclxuICB9XHJcblxyXG4gIEZpbGVOYW1lKGZuOiBzdHJpbmcpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBmaWxlTmFtZTogZm5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICBjb25zdCBmaWxlVXBsb2FkID0gdGhpcy5maWxlVXBsb2FkLm5hdGl2ZUVsZW1lbnQ7IGZpbGVVcGxvYWQub25jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmFsbG93QWx0RmlsZU5hbWUpIHsgdGhpcy5maWxlTmFtZXMuY2xlYXIoKTsgfVxyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlVXBsb2FkLmZpbGVzKSB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5wdXNoKHsgZGF0YTogZmlsZSwgaW5Qcm9ncmVzczogZmFsc2UsIHByb2dyZXNzOiAwLCBmaWxlTmFtZTogZmlsZS5uYW1lIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLmFsbG93QWx0RmlsZU5hbWUpIHsgdGhpcy5maWxlTmFtZXMucHVzaCh0aGlzLkZpbGVOYW1lKGZpbGUubmFtZSkpOyB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBmaWxlVXBsb2FkLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwbG9hZEZpbGVzKCkge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcclxuICAgICAgYWxlcnQoJ3VwbG9hZCBmaWxlJyk7XHJcbiAgICAgIC8vIHRoaXMudXBsb2FkRmlsZShmaWxlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAqL1xyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwic2F2ZSBVcGxvYWREb2NcIik7XHJcbiAgICBjb25zb2xlLmxvZyhgdGhpcy5maWxlcy5sZW5ndGggJHt0aGlzLmZpbGVzLmxlbmd0aH1gKTtcclxuICAgIC8qaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAvLyBDb21tZW50IHRvIGJlIHN1cmUgbmV3IHZlcnNpb25cclxuICAgICAgICB0aGlzLmZpbGVzW2ldLm5hbWUgPSB0aGlzLmZpbGVOYW1lcy52YWx1ZVtpXS5maWxlTmFtZTtcclxuICAgICAgfVxyXG4gICAgfSovXHJcbiAgICBpZiAodGhpcy5jYWxsYmFjaykge1xyXG4gICAgICB0aGlzLmNhbGxiYWNrKHRoaXMuZmlsZXMpLnN1YnNjcmliZShyZXMgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5maWxlcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5maWxlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gICAgQXNzb2NpYXRpb24gZCd1biBub3V2ZWF1IGRvY3VtZW50PC9oMj5cclxuXHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG4gICAgPGdsb3d3LXVwbG9hZC1maWxlIFsobmdNb2RlbCldPVwiZmlsZXNcIiBbYWNjZXB0TWltZV09XCJhY2NlcHRNaW1lXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2FsbG93QWx0RmlsZU5hbWVdPVwiYWxsb3dBbHRGaWxlTmFtZVwiPjwvZ2xvd3ctdXBsb2FkLWZpbGU+XHJcblxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2xvc2U8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Component, ViewChild, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/card";
|
|
5
|
+
import * as i2 from "@angular/material/progress-bar";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
import * as i4 from "../../Directives/file-sink.directive";
|
|
8
|
+
import * as i5 from "@angular/common";
|
|
9
|
+
export class UploadFileComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.multiple = false;
|
|
12
|
+
this.allowAltFileName = false;
|
|
13
|
+
this.acceptMime = '*/*';
|
|
14
|
+
this.onChange = () => { };
|
|
15
|
+
this.onTouched = () => { };
|
|
16
|
+
this.files = [];
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
const fileUpload = this.fileUpload.nativeElement;
|
|
20
|
+
fileUpload.onchange = () => {
|
|
21
|
+
if (!this.multiple) {
|
|
22
|
+
this.files = [];
|
|
23
|
+
//if (this.allowAltFileName) { this.fileNames.clear(); }
|
|
24
|
+
}
|
|
25
|
+
for (const file of fileUpload.files) {
|
|
26
|
+
this.files.push({ data: file, inProgress: false, progress: 0, fileName: file.name, size: file.size, altFileName: '', status: '' });
|
|
27
|
+
//if (this.allowAltFileName) { this.fileNames.push(this.FileName(file.name)); }
|
|
28
|
+
}
|
|
29
|
+
this.onChange(this.files);
|
|
30
|
+
this.onTouched();
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
get value() {
|
|
34
|
+
return this.files;
|
|
35
|
+
//return this._value;
|
|
36
|
+
}
|
|
37
|
+
set value(val) {
|
|
38
|
+
this.files = val;
|
|
39
|
+
this.onChange(val);
|
|
40
|
+
this.onTouched();
|
|
41
|
+
}
|
|
42
|
+
writeValue(obj) {
|
|
43
|
+
this.value = obj;
|
|
44
|
+
}
|
|
45
|
+
registerOnChange(fn) {
|
|
46
|
+
this.onChange = fn;
|
|
47
|
+
}
|
|
48
|
+
registerOnTouched(fn) {
|
|
49
|
+
this.onTouched = fn;
|
|
50
|
+
}
|
|
51
|
+
setDisabledState(isDisabled) {
|
|
52
|
+
//throw new Error('Method not implemented.');
|
|
53
|
+
}
|
|
54
|
+
SelectFiles() {
|
|
55
|
+
this.fileUpload.nativeElement.click();
|
|
56
|
+
}
|
|
57
|
+
ChangeAltName(i, $event) {
|
|
58
|
+
this.files[i].altFileName = $event.target.value;
|
|
59
|
+
this.onChange(this.files);
|
|
60
|
+
this.onTouched();
|
|
61
|
+
}
|
|
62
|
+
onFileDropped($event) {
|
|
63
|
+
this.prepareFilesList($event);
|
|
64
|
+
}
|
|
65
|
+
prepareFilesList(files) {
|
|
66
|
+
if (files.length > 1 && !this.multiple) {
|
|
67
|
+
alert("You can only drop an only file at once");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (this.files && this.files.length > 0 && !this.multiple) {
|
|
71
|
+
if (confirm("Do you want to replace current file ?")) {
|
|
72
|
+
this.files = [];
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (!this.files)
|
|
79
|
+
this.files = [];
|
|
80
|
+
for (const file of files) {
|
|
81
|
+
this.files.push({ data: file, inProgress: false, progress: 0, fileName: file.name, size: file.size, altFileName: '', status: '' });
|
|
82
|
+
}
|
|
83
|
+
this.onChange(this.files);
|
|
84
|
+
this.onTouched();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* format bytes
|
|
88
|
+
* @param bytes (File size in bytes)
|
|
89
|
+
* @param decimals (Decimals point)
|
|
90
|
+
*/
|
|
91
|
+
formatBytes(bytes, decimals = 2) {
|
|
92
|
+
if (bytes === 0) {
|
|
93
|
+
return "0 Bytes";
|
|
94
|
+
}
|
|
95
|
+
const k = 1024;
|
|
96
|
+
const dm = decimals <= 0 ? 0 : decimals;
|
|
97
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
98
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
99
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
100
|
+
}
|
|
101
|
+
deleteFile(index) {
|
|
102
|
+
if (this.files[index].progress && this.files[index].progress < 100) {
|
|
103
|
+
console.log("Upload in progress.");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this.files.splice(index, 1);
|
|
107
|
+
this.onChange(this.files);
|
|
108
|
+
this.onTouched();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
UploadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: UploadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
UploadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: UploadFileComponent, selector: "gloww-upload-file", inputs: { multiple: "multiple", allowAltFileName: "allowAltFileName", acceptMime: "acceptMime" }, providers: [
|
|
113
|
+
{
|
|
114
|
+
provide: NG_VALUE_ACCESSOR,
|
|
115
|
+
multi: true,
|
|
116
|
+
useExisting: UploadFileComponent
|
|
117
|
+
}
|
|
118
|
+
], viewQueries: [{ propertyName: "fileUpload", first: true, predicate: ["fileUpload"], descendants: true }], ngImport: i0, template: "<mat-card glowwFileSink (fileDropped)=\"onFileDropped($event)\" style=\"height:calc(100% - 40px)\">\r\n <mat-card-content style=\"min-height:100px;height:calc(100% - 60px)\">\r\n <div class=\"files-list\" *ngIf=\"files && files.length\" style=\"height:calc(100% - 60px)\">\r\n <div class=\"single-file\" *ngFor=\"let file of files; let i = index\" [ngClass]=\"file.status\">\r\n <i class=\"fa-thin fa-file fa-lg\"></i>\r\n <div class=\"info\">\r\n <h4 class=\"name\">\r\n {{ file?.fileName }}\r\n </h4>\r\n <p class=\"size\">\r\n {{ formatBytes(file?.size) }}\r\n </p>\r\n <mat-progress-bar [value]=\"file.progress\"></mat-progress-bar>\r\n </div>\r\n <i class=\"fa-thin fa-trash fa-lg\" (click)=\"deleteFile(i)\"></i>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!files || !files.length\" style=\"height:calc(100% - 60px)\">No file(s) selected</div>\r\n <input type=\"file\" #fileUpload id=\"fileUpload\" name=\"fileUpload\" [accept]=\"acceptMime\" style=\"display:none;\" [multiple]=\"multiple\" />\r\n </mat-card-content>\r\n <mat-card-actions style=\"text-align:center\">\r\n <button mat-raised-button color=\"accent\" (click)=\"SelectFiles()\">\r\n <i class=\"fal fa-file-upload\"></i> <span *ngIf=\"!multiple\">Select file or Drop a file</span>\r\n <span *ngIf=\"multiple\">Select file(s) or drop file(s)</span>\r\n </button>\r\n </mat-card-actions>\r\n</mat-card>", styles: ["ul{list-style:none;padding-left:0}ul li{padding-bottom:10px}.fileover{-webkit-animation:shake 1s;animation:shake 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.files-list{margin-top:1.5rem}.files-list .single-file{padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #979797;margin-bottom:1rem;display:flex;flex-grow:1}.files-list .single-file img.delete{margin-left:.5rem;cursor:pointer;align-self:flex-end}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0;margin-bottom:.25rem}.files-list .single-file .info{width:100%}.Done{background-color:green}.Error{background-color:red}@-webkit-keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.FileSinkDirective, selector: "[glowwFileSink]", outputs: ["fileDropped"] }, { type: i1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: UploadFileComponent, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{ selector: 'gloww-upload-file', providers: [
|
|
122
|
+
{
|
|
123
|
+
provide: NG_VALUE_ACCESSOR,
|
|
124
|
+
multi: true,
|
|
125
|
+
useExisting: UploadFileComponent
|
|
126
|
+
}
|
|
127
|
+
], template: "<mat-card glowwFileSink (fileDropped)=\"onFileDropped($event)\" style=\"height:calc(100% - 40px)\">\r\n <mat-card-content style=\"min-height:100px;height:calc(100% - 60px)\">\r\n <div class=\"files-list\" *ngIf=\"files && files.length\" style=\"height:calc(100% - 60px)\">\r\n <div class=\"single-file\" *ngFor=\"let file of files; let i = index\" [ngClass]=\"file.status\">\r\n <i class=\"fa-thin fa-file fa-lg\"></i>\r\n <div class=\"info\">\r\n <h4 class=\"name\">\r\n {{ file?.fileName }}\r\n </h4>\r\n <p class=\"size\">\r\n {{ formatBytes(file?.size) }}\r\n </p>\r\n <mat-progress-bar [value]=\"file.progress\"></mat-progress-bar>\r\n </div>\r\n <i class=\"fa-thin fa-trash fa-lg\" (click)=\"deleteFile(i)\"></i>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!files || !files.length\" style=\"height:calc(100% - 60px)\">No file(s) selected</div>\r\n <input type=\"file\" #fileUpload id=\"fileUpload\" name=\"fileUpload\" [accept]=\"acceptMime\" style=\"display:none;\" [multiple]=\"multiple\" />\r\n </mat-card-content>\r\n <mat-card-actions style=\"text-align:center\">\r\n <button mat-raised-button color=\"accent\" (click)=\"SelectFiles()\">\r\n <i class=\"fal fa-file-upload\"></i> <span *ngIf=\"!multiple\">Select file or Drop a file</span>\r\n <span *ngIf=\"multiple\">Select file(s) or drop file(s)</span>\r\n </button>\r\n </mat-card-actions>\r\n</mat-card>", styles: ["ul{list-style:none;padding-left:0}ul li{padding-bottom:10px}.fileover{-webkit-animation:shake 1s;animation:shake 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.files-list{margin-top:1.5rem}.files-list .single-file{padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #979797;margin-bottom:1rem;display:flex;flex-grow:1}.files-list .single-file img.delete{margin-left:.5rem;cursor:pointer;align-self:flex-end}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0;margin-bottom:.25rem}.files-list .single-file .info{width:100%}.Done{background-color:green}.Error{background-color:red}@-webkit-keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"] }]
|
|
128
|
+
}], ctorParameters: function () { return []; }, propDecorators: { fileUpload: [{
|
|
129
|
+
type: ViewChild,
|
|
130
|
+
args: ['fileUpload']
|
|
131
|
+
}], multiple: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], allowAltFileName: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], acceptMime: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9Db21wb25lbnRzL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBc0IsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXFDLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBZ0I1RyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCO1FBVFMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUNwQyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHM0IsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUlYLENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDakQsVUFBVSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNoQix3REFBd0Q7YUFDekQ7WUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkksK0VBQStFO2FBQ2hGO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEIscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUdELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQU07UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUNoRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6RCxJQUFJLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxPQUFPO2FBQ1I7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNwSTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7S0FJQztJQUNELFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxHQUFHLENBQUM7UUFDN0IsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dIQWhIVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw4SUFSbkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsbUJBQW1CO1NBQ2pDO0tBQ0Ysb0lDZkgsaW5EQTBCVzsyRkRURSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjswRUFHd0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSwgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2xvd3ctdXBsb2FkLWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWZpbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogVXBsb2FkRmlsZUNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZVVwbG9hZCcpIGZpbGVVcGxvYWQ6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd0FsdEZpbGVOYW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWNjZXB0TWltZTogc3RyaW5nID0gJyovKic7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGZpbGVzID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZCA9IHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50O1xyXG4gICAgZmlsZVVwbG9hZC5vbmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5jbGVhcigpOyB9XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVVcGxvYWQuZmlsZXMpIHtcclxuICAgICAgICB0aGlzLmZpbGVzLnB1c2goeyBkYXRhOiBmaWxlLCBpblByb2dyZXNzOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGZpbGVOYW1lOiBmaWxlLm5hbWUsIHNpemU6IGZpbGUuc2l6ZSwgYWx0RmlsZU5hbWU6ICcnLCBzdGF0dXM6ICcnIH0pO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5wdXNoKHRoaXMuRmlsZU5hbWUoZmlsZS5uYW1lKSk7IH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVzO1xyXG4gICAgLy9yZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICB0aGlzLmZpbGVzID0gdmFsO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy90aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG5cclxuICBTZWxlY3RGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VBbHROYW1lKGksICRldmVudCkge1xyXG4gICAgdGhpcy5maWxlc1tpXS5hbHRGaWxlTmFtZSA9ICRldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZURyb3BwZWQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnByZXBhcmVGaWxlc0xpc3QoJGV2ZW50KTtcclxuICB9XHJcbiAgcHJlcGFyZUZpbGVzTGlzdChmaWxlczogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEgJiYgIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgYWxlcnQoXCJZb3UgY2FuIG9ubHkgZHJvcCBhbiBvbmx5IGZpbGUgYXQgb25jZVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGggPiAwICYmICF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmIChjb25maXJtKFwiRG8geW91IHdhbnQgdG8gcmVwbGFjZSBjdXJyZW50IGZpbGUgP1wiKSkge1xyXG4gICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5maWxlcykgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMucHVzaCh7IGRhdGE6IGZpbGUsIGluUHJvZ3Jlc3M6IGZhbHNlLCBwcm9ncmVzczogMCwgZmlsZU5hbWU6IGZpbGUubmFtZSwgc2l6ZTogZmlsZS5zaXplLCBhbHRGaWxlTmFtZTogJycsIHN0YXR1czogJycgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBmb3JtYXQgYnl0ZXNcclxuICogQHBhcmFtIGJ5dGVzIChGaWxlIHNpemUgaW4gYnl0ZXMpXHJcbiAqIEBwYXJhbSBkZWNpbWFscyAoRGVjaW1hbHMgcG9pbnQpXHJcbiAqL1xyXG4gIGZvcm1hdEJ5dGVzKGJ5dGVzLCBkZWNpbWFscyA9IDIpIHtcclxuICAgIGlmIChieXRlcyA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gXCIwIEJ5dGVzXCI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrID0gMTAyNDtcclxuICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscztcclxuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIiwgXCJUQlwiLCBcIlBCXCIsIFwiRUJcIiwgXCJaQlwiLCBcIllCXCJdO1xyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoZG0pKSArIFwiIFwiICsgc2l6ZXNbaV07XHJcbiAgfVxyXG5cclxuICBkZWxldGVGaWxlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmZpbGVzW2luZGV4XS5wcm9ncmVzcyAmJiB0aGlzLmZpbGVzW2luZGV4XS5wcm9ncmVzcyA8IDEwMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIlVwbG9hZCBpbiBwcm9ncmVzcy5cIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5maWxlcyk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPG1hdC1jYXJkIGdsb3d3RmlsZVNpbmsgKGZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiIHN0eWxlPVwiaGVpZ2h0OmNhbGMoMTAwJSAtIDQwcHgpXCI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudCBzdHlsZT1cIm1pbi1oZWlnaHQ6MTAwcHg7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzLWxpc3RcIiAqbmdJZj1cImZpbGVzICYmIGZpbGVzLmxlbmd0aFwiIHN0eWxlPVwiaGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmlsZVwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBsZXQgaSA9IGluZGV4XCIgW25nQ2xhc3NdPVwiZmlsZS5zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtdGhpbiBmYS1maWxlIGZhLWxnXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbGU/LmZpbGVOYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0Qnl0ZXMoZmlsZT8uc2l6ZSkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cImZpbGUucHJvZ3Jlc3NcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtdGhpbiBmYS10cmFzaCBmYS1sZ1wiIChjbGljayk9XCJkZWxldGVGaWxlKGkpXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWZpbGVzIHx8ICFmaWxlcy5sZW5ndGhcIiBzdHlsZT1cImhlaWdodDpjYWxjKDEwMCUgLSA2MHB4KVwiPk5vIGZpbGUocykgc2VsZWN0ZWQ8L2Rpdj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZVVwbG9hZCBpZD1cImZpbGVVcGxvYWRcIiBuYW1lPVwiZmlsZVVwbG9hZFwiIFthY2NlcHRdPVwiYWNjZXB0TWltZVwiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIC8+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWNhcmQtYWN0aW9ucyBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJTZWxlY3RGaWxlcygpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGUtdXBsb2FkXCI+PC9pPiA8c3BhbiAqbmdJZj1cIiFtdWx0aXBsZVwiPlNlbGVjdCBmaWxlIG9yIERyb3AgYSBmaWxlPC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm11bHRpcGxlXCI+U2VsZWN0IGZpbGUocykgb3IgZHJvcCBmaWxlKHMpPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbjwvbWF0LWNhcmQ+Il19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FileSinkDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.fileDropped = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
// Dragover listener
|
|
8
|
+
onDragOver(evt) {
|
|
9
|
+
evt.preventDefault();
|
|
10
|
+
evt.stopPropagation();
|
|
11
|
+
this.fileOver = true;
|
|
12
|
+
}
|
|
13
|
+
// Dragleave listener
|
|
14
|
+
onDragLeave(evt) {
|
|
15
|
+
evt.preventDefault();
|
|
16
|
+
evt.stopPropagation();
|
|
17
|
+
this.fileOver = false;
|
|
18
|
+
}
|
|
19
|
+
// Drop listener
|
|
20
|
+
ondrop(evt) {
|
|
21
|
+
evt.preventDefault();
|
|
22
|
+
evt.stopPropagation();
|
|
23
|
+
this.fileOver = false;
|
|
24
|
+
let files = evt.dataTransfer.files;
|
|
25
|
+
if (files.length > 0) {
|
|
26
|
+
this.fileDropped.emit(files);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
FileSinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FileSinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
+
FileSinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: FileSinkDirective, selector: "[glowwFileSink]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FileSinkDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[glowwFileSink]'
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { fileOver: [{
|
|
38
|
+
type: HostBinding,
|
|
39
|
+
args: ['class.fileover']
|
|
40
|
+
}], fileDropped: [{
|
|
41
|
+
type: Output
|
|
42
|
+
}], onDragOver: [{
|
|
43
|
+
type: HostListener,
|
|
44
|
+
args: ['dragover', ['$event']]
|
|
45
|
+
}], onDragLeave: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['dragleave', ['$event']]
|
|
48
|
+
}], ondrop: [{
|
|
49
|
+
type: HostListener,
|
|
50
|
+
args: ['drop', ['$event']]
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvRGlyZWN0aXZlcy9maWxlLXNpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRixNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBTVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBMEJqRDtJQXhCQyxvQkFBb0I7SUFDa0IsVUFBVSxDQUFDLEdBQUc7UUFDbEQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO0lBQ3lCLFdBQVcsQ0FBQyxHQUFHO1FBQzNELEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtJQUN5QixNQUFNLENBQUMsR0FBRztRQUNqRCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs4R0E1QlUsaUJBQWlCO2tHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs4QkFHZ0MsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ25CLFdBQVc7c0JBQXBCLE1BQU07Z0JBRytCLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9VLFdBQVc7c0JBQXhELFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9JLE1BQU07c0JBQTlDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZ2xvd3dGaWxlU2lua10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlU2lua0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZW92ZXInKSBmaWxlT3ZlcjogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgZmlsZURyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLy8gRHJhZ292ZXIgbGlzdGVuZXJcclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIG9uRHJhZ092ZXIoZXZ0KSB7XHJcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gRHJhZ2xlYXZlIGxpc3RlbmVyXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgcHVibGljIG9uRHJhZ0xlYXZlKGV2dCkge1xyXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBEcm9wIGxpc3RlbmVyXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pIHB1YmxpYyBvbmRyb3AoZXZ0KSB7XHJcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcclxuICAgIGxldCBmaWxlcyA9IGV2dC5kYXRhVHJhbnNmZXIuZmlsZXM7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbGVEcm9wcGVkLmVtaXQoZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL01vZGVscy9uYXYtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOYXZJdGVtIHtcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBpY29uU3R5bGU/OiBvYmplY3RcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgcm91dGU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8ICgoKSA9PiBzdHJpbmcgfCBzdHJpbmdbXSk7XHJcbiAgY2hpbGRyZW4/OiBOYXZJdGVtW107XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class HtmlFormatPipe {
|
|
5
|
+
constructor(_sanitizer) {
|
|
6
|
+
this._sanitizer = _sanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(value, ...args) {
|
|
9
|
+
const newval = value.replace(/(^\s*\w|\.\s\w)/g, m => m.toUpperCase()).replace(/\s\./ig, '').replace(/\s*Nouvelle ligne\s*.\s*/ig, '<br/>').trim();
|
|
10
|
+
if (!this._sanitizer)
|
|
11
|
+
return newval;
|
|
12
|
+
return this._sanitizer.bypassSecurityTrustHtml(newval);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
HtmlFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HtmlFormatPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
HtmlFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HtmlFormatPipe, name: "htmlFormat" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HtmlFormatPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'htmlFormat'
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvUGlwZXMvaHRtbC1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7SUFBSSxDQUFDO0lBRWxELFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFlO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuSixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFXLENBQUM7SUFDbkUsQ0FBQzs7MkdBUlUsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnaHRtbEZvcm1hdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0bWxGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nhbml0aXplcj86IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbmV3dmFsID0gdmFsdWUucmVwbGFjZSgvKF5cXHMqXFx3fFxcLlxcc1xcdykvZywgbSA9PiBtLnRvVXBwZXJDYXNlKCkpLnJlcGxhY2UoL1xcc1xcLi9pZywgJycpLnJlcGxhY2UoL1xccypOb3V2ZWxsZSBsaWduZVxccyouXFxzKi9pZywgJzxici8+JykudHJpbSgpO1xyXG4gICAgaWYgKCF0aGlzLl9zYW5pdGl6ZXIpIHJldHVybiBuZXd2YWw7XHJcbiAgICByZXR1cm4gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5ld3ZhbCkgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { delay as delayOperator, retryWhen, scan, tap } from 'rxjs/operators';
|
|
2
|
+
export function retryWithDelay(delay, count = 1) {
|
|
3
|
+
return (input) => input.pipe(retryWhen((errors) => errors.pipe(scan((acc, error) => ({ count: acc.count + 1, error }), {
|
|
4
|
+
count: 0,
|
|
5
|
+
error: undefined,
|
|
6
|
+
}), tap((current) => {
|
|
7
|
+
if (current.count > count) {
|
|
8
|
+
throw current.error;
|
|
9
|
+
}
|
|
10
|
+
}), delayOperator(delay))));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnktd2l0aC1kZWxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvUGlwZXMvcmV0cnktd2l0aC1kZWxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLE1BQU0sVUFBVSxjQUFjLENBQzVCLEtBQWEsRUFDYixLQUFLLEdBQUcsQ0FBQztJQUVULE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNmLEtBQUssQ0FBQyxJQUFJLENBQ1IsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FDVCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLEVBQUUsU0FBZ0I7S0FDeEIsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2QsSUFBSSxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRTtZQUN6QixNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDckI7SUFDSCxDQUFDLENBQUMsRUFDRixhQUFhLENBQUMsS0FBSyxDQUFDLENBQ3JCLENBQ0YsQ0FDRixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWxheSBhcyBkZWxheU9wZXJhdG9yLCByZXRyeVdoZW4sIHNjYW4sIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXRyeVdpdGhEZWxheTxUPihcclxuICBkZWxheTogbnVtYmVyLFxyXG4gIGNvdW50ID0gMVxyXG4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xyXG4gIHJldHVybiAoaW5wdXQpID0+XHJcbiAgICBpbnB1dC5waXBlKFxyXG4gICAgICByZXRyeVdoZW4oKGVycm9ycykgPT5cclxuICAgICAgICBlcnJvcnMucGlwZShcclxuICAgICAgICAgIHNjYW4oKGFjYywgZXJyb3IpID0+ICh7IGNvdW50OiBhY2MuY291bnQgKyAxLCBlcnJvciB9KSwge1xyXG4gICAgICAgICAgICBjb3VudDogMCxcclxuICAgICAgICAgICAgZXJyb3I6IHVuZGVmaW5lZCBhcyBhbnksXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIHRhcCgoY3VycmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudC5jb3VudCA+IGNvdW50KSB7XHJcbiAgICAgICAgICAgICAgdGhyb3cgY3VycmVudC5lcnJvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBkZWxheU9wZXJhdG9yKGRlbGF5KVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class SafeHtmlPipe {
|
|
5
|
+
constructor(sanitizer) {
|
|
6
|
+
this.sanitizer = sanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(style) {
|
|
9
|
+
return this.sanitizer.bypassSecurityTrustHtml(style);
|
|
10
|
+
// return this.sanitizer.bypassSecurityTrustStyle(style);
|
|
11
|
+
// return this.sanitizer.bypassSecurityTrustXxx(style); - see docs
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: 'safeHtml'
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL1BpcGVzL3NhZmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFlBQVk7SUFFeEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFFaEQsU0FBUyxDQUFDLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQseURBQXlEO1FBQ3pELGtFQUFrRTtJQUNuRSxDQUFDOzt5R0FSVyxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsVUFBVTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFBpcGUoe1xyXG5cdG5hbWU6ICdzYWZlSHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhZmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcblx0dHJhbnNmb3JtKHN0eWxlKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3R5bGUpO1xyXG5cdFx0Ly8gcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShzdHlsZSk7XHJcblx0XHQvLyByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFh4eChzdHlsZSk7IC0gc2VlIGRvY3NcclxuXHR9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { retryWithDelay } from './retry-with-delay';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "@angular/platform-browser";
|
|
7
|
+
export class SecurePipe {
|
|
8
|
+
constructor(http, domSanitizer) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.domSanitizer = domSanitizer;
|
|
11
|
+
}
|
|
12
|
+
transform(url, delayVal, retryVal) {
|
|
13
|
+
if (!delayVal) {
|
|
14
|
+
delayVal = 5000;
|
|
15
|
+
}
|
|
16
|
+
if (!retryVal) {
|
|
17
|
+
retryVal = 0;
|
|
18
|
+
}
|
|
19
|
+
return this.http
|
|
20
|
+
// load the image as a blob
|
|
21
|
+
.get(url, { responseType: 'blob' })
|
|
22
|
+
// create an object url of that blob that we can use in the src attribute
|
|
23
|
+
.pipe(map(e => this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(e))), retryWithDelay(delayVal, retryVal));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
SecurePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SecurePipe, deps: [{ token: i1.HttpClient }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
SecurePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SecurePipe, name: "secure" });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SecurePipe, decorators: [{
|
|
29
|
+
type: Pipe,
|
|
30
|
+
args: [{
|
|
31
|
+
name: 'secure'
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.DomSanitizer }]; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL1BpcGVzL3NlY3VyZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXBELE9BQU8sRUFBYSxHQUFHLEVBQTRCLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBS3BELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFlBQW9CLElBQWdCLEVBQVUsWUFBMEI7UUFBcEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUksQ0FBQztJQUU3RSxTQUFTLENBQUMsR0FBUSxFQUFFLFFBQWMsRUFBRSxRQUFjO1FBQ2hELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQUU7UUFDbkMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FBRTtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJO1lBQ2QsMkJBQTJCO2FBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbkMseUVBQXlFO2FBQ3hFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxRSxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUNuQyxDQUFDO0lBQ04sQ0FBQzs7dUdBZlUsVUFBVTtxR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIHJldHJ5LCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgcmV0cnlXaXRoRGVsYXkgfSBmcm9tICcuL3JldHJ5LXdpdGgtZGVsYXknO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZWN1cmUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gIHRyYW5zZm9ybSh1cmw6IGFueSwgZGVsYXlWYWw/OiBhbnksIHJldHJ5VmFsPzogYW55KSB7XHJcbiAgICBpZiAoIWRlbGF5VmFsKSB7IGRlbGF5VmFsID0gNTAwMDsgfVxyXG4gICAgaWYgKCFyZXRyeVZhbCkgeyByZXRyeVZhbCA9IDA7IH1cclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLy8gbG9hZCB0aGUgaW1hZ2UgYXMgYSBibG9iXHJcbiAgICAgIC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXHJcbiAgICAgIC8vIGNyZWF0ZSBhbiBvYmplY3QgdXJsIG9mIHRoYXQgYmxvYiB0aGF0IHdlIGNhbiB1c2UgaW4gdGhlIHNyYyBhdHRyaWJ1dGVcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKGUgPT4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGUpKSksXHJcbiAgICAgICAgcmV0cnlXaXRoRGVsYXkoZGVsYXlWYWwsIHJldHJ5VmFsKVxyXG4gICAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfirmationComponent, ConfirmationModel } from '../Components/confirmation/confirmation.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
export class DialogService {
|
|
6
|
+
constructor(dialog) {
|
|
7
|
+
this.dialog = dialog;
|
|
8
|
+
}
|
|
9
|
+
createConfirmationDialog(title, message, mode) {
|
|
10
|
+
const dialogData = new ConfirmationModel(title, message, mode);
|
|
11
|
+
return this.dialog.open(ConfirmationComponent, {
|
|
12
|
+
maxWidth: '80%',
|
|
13
|
+
data: dialogData,
|
|
14
|
+
disableClose: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
openConfirmationDialog(title, message, mode) {
|
|
18
|
+
return this.createConfirmationDialog(title, message, mode).afterClosed();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DialogService, providedIn: 'root' });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DialogService, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL1NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUs3RyxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFzQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUksQ0FBQztJQUU1Qyx3QkFBd0IsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLElBQWE7UUFDcEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDN0MsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsVUFBVTtZQUNoQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0Qsc0JBQXNCLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxJQUFhO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0UsQ0FBQzs7MEdBaEJVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCwgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi9Db21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxyXG5cclxuICBjcmVhdGVDb25maXJtYXRpb25EaWFsb2codGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBtb2RlPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaWFsb2dEYXRhID0gbmV3IENvbmZpcm1hdGlvbk1vZGVsKHRpdGxlLCBtZXNzYWdlLCBtb2RlKTtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBtYXhXaWR0aDogJzgwJScsXHJcbiAgICAgIGRhdGE6IGRpYWxvZ0RhdGEsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIG1vZGU/OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbmZpcm1hdGlvbkRpYWxvZyh0aXRsZSwgbWVzc2FnZSwgbW9kZSkuYWZ0ZXJDbG9zZWQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FolderServiceConfig {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.apiPath = '/';
|
|
6
|
+
}
|
|
7
|
+
static Create(t) {
|
|
8
|
+
const res = new FolderServiceConfig();
|
|
9
|
+
if (t) {
|
|
10
|
+
Object.assign(res, t);
|
|
11
|
+
}
|
|
12
|
+
return res;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
FolderServiceConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderServiceConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
FolderServiceConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderServiceConfig, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderServiceConfig, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{ providedIn: 'root' }]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXNlcnZpY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9TZXJ2aWNlcy9mb2xkZXItc2VydmljZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVFLFlBQU8sR0FBRyxHQUFHLENBQUM7S0FRZjtJQVBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBTztRQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7Z0hBUlUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FETixNQUFNOzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEZvbGRlclNlcnZpY2VDb25maWcge1xyXG4gIGFwaVBhdGg/PSAnLyc7XHJcbiAgc3RhdGljIENyZWF0ZSh0PzogYW55KTogRm9sZGVyU2VydmljZUNvbmZpZyB7XHJcbiAgICBjb25zdCByZXMgPSBuZXcgRm9sZGVyU2VydmljZUNvbmZpZygpO1xyXG4gICAgaWYgKHQpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihyZXMsIHQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { API_SERVER_URL } from './gloww.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
import * as i2 from "./folder-service-config";
|
|
6
|
+
export class FolderService {
|
|
7
|
+
constructor(http, folderServiceConfig, apiServerUrl) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
this.folderServiceConfig = folderServiceConfig;
|
|
10
|
+
console.log(`folderServiceConfig ${folderServiceConfig.apiPath}`);
|
|
11
|
+
console.log(`apiServierUrl ${apiServerUrl}`);
|
|
12
|
+
}
|
|
13
|
+
getDirectoryContent(path) {
|
|
14
|
+
return this.http.get(`${this.folderServiceConfig.apiPath}Directories/${path ?? ""}`);
|
|
15
|
+
}
|
|
16
|
+
postDirectoryContent(path) {
|
|
17
|
+
const formData = new FormData();
|
|
18
|
+
return this.http.post(`${this.folderServiceConfig.apiPath}Directories/${path}`, formData, {});
|
|
19
|
+
}
|
|
20
|
+
getFileContent(path) {
|
|
21
|
+
return this.http.get(`${this.folderServiceConfig.apiPath}Files/${(path ?? "").replace(/[\/\\]/g, '%2F')}`, {
|
|
22
|
+
responseType: 'text'
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
getFileContentBlob(path) {
|
|
26
|
+
return this.http.get(`${this.folderServiceConfig.apiPath}Files/${(path ?? "").replace(/[\/\\]/g, '%2F')}`, {
|
|
27
|
+
responseType: 'blob'
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
postFileContent(path, formData) {
|
|
31
|
+
return this.http.post(`${this.folderServiceConfig.apiPath}Files/${(path ?? "").replace(/[\/\\]/g, '%2F')}`, formData, {
|
|
32
|
+
reportProgress: true,
|
|
33
|
+
observe: 'events'
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
FolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderService, deps: [{ token: i1.HttpClient }, { token: i2.FolderServiceConfig }, { token: API_SERVER_URL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
FolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderService, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FolderService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root'
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.FolderServiceConfig }, { type: undefined, decorators: [{
|
|
45
|
+
type: Optional
|
|
46
|
+
}, {
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [API_SERVER_URL]
|
|
49
|
+
}] }]; } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nbG93dy9zcmMvbGliL1NlcnZpY2VzL2ZvbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFXakQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBb0IsSUFBZ0IsRUFBVSxtQkFBd0MsRUFBc0MsWUFBb0I7UUFBNUgsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDcEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sZUFBZSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsSUFBWTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sZUFBZSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUdELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6RyxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDekcsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsUUFBa0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRTtZQUN6SCxjQUFjLEVBQUUsSUFBSTtZQUNwQixPQUFPLEVBQUUsUUFBUTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzswR0FoQ1UsYUFBYSwrRUFFb0YsY0FBYzs4R0FGL0csYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUcwRixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2xkZXJTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi9mb2xkZXItc2VydmljZS1jb25maWcnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQSV9QQVRIIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2VuJztcclxuaW1wb3J0IHsgQVBJX1NFUlZFUl9VUkwgfSBmcm9tICcuL2dsb3d3LnNlcnZpY2UnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0b3J5Q29udGVudCB7XHJcbiAgZmlsZXM6IHN0cmluZ1tdO1xyXG4gIGRpcmVjdG9yaWVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9sZGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBmb2xkZXJTZXJ2aWNlQ29uZmlnOiBGb2xkZXJTZXJ2aWNlQ29uZmlnLCBAT3B0aW9uYWwoKSBASW5qZWN0KEFQSV9TRVJWRVJfVVJMKSBhcGlTZXJ2ZXJVcmw6IHN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coYGZvbGRlclNlcnZpY2VDb25maWcgJHtmb2xkZXJTZXJ2aWNlQ29uZmlnLmFwaVBhdGh9YCk7XHJcbiAgICBjb25zb2xlLmxvZyhgYXBpU2VydmllclVybCAke2FwaVNlcnZlclVybH1gKTtcclxuICB9XHJcblxyXG4gIGdldERpcmVjdG9yeUNvbnRlbnQocGF0aDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxEaXJlY3RvcnlDb250ZW50PihgJHt0aGlzLmZvbGRlclNlcnZpY2VDb25maWcuYXBpUGF0aH1EaXJlY3Rvcmllcy8ke3BhdGggPz8gXCJcIn1gKTtcclxuICB9XHJcbiAgcG9zdERpcmVjdG9yeUNvbnRlbnQocGF0aDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERpcmVjdG9yeUNvbnRlbnQ+KGAke3RoaXMuZm9sZGVyU2VydmljZUNvbmZpZy5hcGlQYXRofURpcmVjdG9yaWVzLyR7cGF0aH1gLCBmb3JtRGF0YSwge30pO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldEZpbGVDb250ZW50KHBhdGg6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb2xkZXJTZXJ2aWNlQ29uZmlnLmFwaVBhdGh9RmlsZXMvJHsocGF0aCA/PyBcIlwiKS5yZXBsYWNlKC9bXFwvXFxcXF0vZywgJyUyRicpfWAsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRGaWxlQ29udGVudEJsb2IocGF0aDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvbGRlclNlcnZpY2VDb25maWcuYXBpUGF0aH1GaWxlcy8keyhwYXRoID8/IFwiXCIpLnJlcGxhY2UoL1tcXC9cXFxcXS9nLCAnJTJGJyl9YCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwb3N0RmlsZUNvbnRlbnQocGF0aDogc3RyaW5nLCBmb3JtRGF0YTogRm9ybURhdGEpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZm9sZGVyU2VydmljZUNvbmZpZy5hcGlQYXRofUZpbGVzLyR7KHBhdGggPz8gXCJcIikucmVwbGFjZSgvW1xcL1xcXFxdL2csICclMkYnKX1gLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgb2JzZXJ2ZTogJ2V2ZW50cydcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|