ngx-bimplus-components 0.0.148 → 0.0.149-28792-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/images/default/Attachment_18_gray.svg +1 -0
- package/assets/images/default/Attachment_18_maincolor.svg +3 -0
- package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
- package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
- package/assets/images/default/Comments_18_gray.svg +1 -0
- package/assets/images/default/Comments_18_maincolor.svg +4 -0
- package/assets/images/default/Links_18_gray.svg +1 -0
- package/assets/images/default/Links_18_maincolor.svg +4 -0
- package/assets/images/default/ic_models.svg +3 -0
- package/assets/images/default/ic_models_maincolor.svg +3 -0
- package/assets/images/default/icn_grid_attachments.png +0 -0
- package/assets/images/default/icn_grid_hyperlinks.png +0 -0
- package/assets/languages/strings_cs.json +24 -72
- package/assets/languages/strings_de.json +4 -15
- package/assets/languages/strings_en.json +5 -5
- package/assets/languages/strings_es.json +6 -54
- package/assets/languages/strings_fr.json +6 -50
- package/assets/languages/strings_it.json +2 -50
- package/assets/languages/strings_nl.json +796 -796
- package/assets/languages/strings_ro.json +7 -55
- package/assets/languages/strings_ru.json +45 -93
- package/assets/languages/strings_tr.json +2 -50
- package/assets/languages/strings_us.json +8 -44
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +69 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +34 -0
- package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +82 -0
- package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +49 -0
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +20 -7
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
- package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +68 -0
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +7 -7
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.service.mjs +4 -4
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-contact/bimplus-contact.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar-body/bimplus-floating-bar-body.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service.mjs +3 -3
- package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +58 -0
- package/esm2022/lib/components/bimplus-language-menu/bimplus-language-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +242 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
- package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-object-navigator/filter-criterium/filter-criterium.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +73 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +75 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +10 -7
- package/esm2022/lib/components/bimplus-panel-toolbar/bimplus-panel-toolbar.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-storage-info/bimplus-storage-info.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
- package/esm2022/lib/components/bimplus-text-message/bimplus-text-message.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
- package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +122 -0
- package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tool-hub/svgGenerator.mjs +1 -1
- package/esm2022/lib/components/bimplus-tool-hub/tool-hub-item/tool-hub-item.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tool-hub/tool-hub-sub-item/tool-hub-sub-item.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-zoom/bimplus-zoom.component.mjs +5 -5
- package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +3 -3
- package/esm2022/lib/components/expansion-panel-header/expansion-panel-header.component.mjs +3 -3
- package/esm2022/lib/components/expansion-panel-header-actions/expansion-panel-header-actions.component.mjs +3 -3
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.interface.mjs +2 -0
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +337 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
- package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +141 -0
- package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
- package/esm2022/lib/components/object-properties/object-properties.component.mjs +261 -0
- package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +40 -0
- package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
- package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +21 -6
- package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
- package/esm2022/lib/components/project-models/project-models.component.mjs +3 -3
- package/esm2022/lib/components/project-models/project-models.interface.mjs +1 -1
- package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +5 -5
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +4 -4
- package/esm2022/lib/directives/component-draggable/componentsDraggable.directive.mjs +3 -3
- package/esm2022/lib/directives/draggable.directive.mjs +3 -3
- package/esm2022/lib/directives/resizable.directive.mjs +4 -4
- package/esm2022/lib/directives/x-draggable.directive.mjs +3 -3
- package/esm2022/lib/interfaces/bimplus-opacity-properties.interface.mjs +1 -1
- package/esm2022/lib/interfaces/bimplus-visibility-properties.interface.mjs +1 -1
- package/esm2022/lib/ngx-bimplus-components.component.mjs +3 -3
- package/esm2022/lib/ngx-bimplus-components.service.mjs +3 -3
- package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
- package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +110 -0
- package/esm2022/lib/pipes/pxsuffix.pipe.mjs +3 -3
- package/esm2022/lib/pipes/round.pipe.mjs +20 -0
- package/esm2022/lib/services/cursors.service.mjs +3 -3
- package/esm2022/lib/services/language-strings.service.mjs +3 -3
- package/esm2022/lib/services/layout-manager.service.mjs +3 -3
- package/esm2022/lib/services/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/resize-observer.service.mjs +4 -4
- package/esm2022/lib/types/types.mjs +1 -1
- package/esm2022/lib/utils/filterString.mjs +1 -1
- package/esm2022/lib/utils/filterStructureFetcher.mjs +1 -1
- package/esm2022/lib/utils/objectProperties.mjs +9 -0
- package/esm2022/lib/utils/utils.mjs +1 -1
- package/esm2022/public-api.mjs +17 -1
- package/fesm2022/ngx-bimplus-components.mjs +2317 -249
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +25 -0
- package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +19 -0
- package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +26 -0
- package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +12 -0
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +9 -3
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +5 -0
- package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +34 -0
- package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
- package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +17 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +51 -0
- package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
- package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +28 -0
- package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +23 -0
- package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +3 -0
- package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
- package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
- package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
- package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
- package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
- package/lib/components/links-to-documents/links-to-documents.component.d.ts +55 -0
- package/lib/components/links-to-documents/links-to-documents.component.interface.d.ts +11 -0
- package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
- package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
- package/lib/components/object-properties/object-properties.component.d.ts +45 -0
- package/lib/components/object-properties/object-properties.interface.d.ts +21 -0
- package/lib/components/object-properties-group/object-properties-group.component.d.ts +11 -0
- package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
- package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
- package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
- package/lib/pipes/bit-converter.pipe.d.ts +17 -0
- package/lib/pipes/get-attribute-value.pipe.d.ts +23 -0
- package/lib/pipes/round.pipe.d.ts +7 -0
- package/lib/utils/objectProperties.d.ts +2 -0
- package/package.json +12 -5
- package/public-api.d.ts +16 -0
|
@@ -571,7 +571,7 @@
|
|
|
571
571
|
"_Change_Email_descripion": "By change of e-mail address in Bimplus, you will also update the e-mail address of your Allplan Connect account",
|
|
572
572
|
"_Email_already_exists": "The e-mail address you have entered is already registered",
|
|
573
573
|
"_Email_Updated": "E-mail address updated",
|
|
574
|
-
"_Unfinished_editing_by_changing_tablerow": "By changing issue in table, you will
|
|
574
|
+
"_Unfinished_editing_by_changing_tablerow": "By changing issue in table, you will loose unfinished editing. Are you sure you want to continue?",
|
|
575
575
|
"_Delete issue disabled": "You are not authorized to delete this issue",
|
|
576
576
|
"hyperlinks": "Hyperlinks",
|
|
577
577
|
"_Task_elements": "Assigned objects",
|
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
"_Project_Name": "Project name",
|
|
603
603
|
"_Author": "Author",
|
|
604
604
|
"_Date_Created": "Date created",
|
|
605
|
-
"_Unfinished_editing_by_changing_row_in_table": "By changing your selection you will
|
|
605
|
+
"_Unfinished_editing_by_changing_row_in_table": "By changing your selection you will loose unfinished editing. Are you sure you want to continue?",
|
|
606
606
|
"_UpdateDocument": "Update document",
|
|
607
607
|
"_Uploading": "Uploading...",
|
|
608
608
|
"_Remove": "Remove",
|
|
@@ -1132,7 +1132,7 @@
|
|
|
1132
1132
|
"_Color": "Color",
|
|
1133
1133
|
"_Structures": "Structures",
|
|
1134
1134
|
"_Project slideshows": "Project slideshows",
|
|
1135
|
-
"_Object navigator": "Object
|
|
1135
|
+
"_Object navigator": "Object navigator",
|
|
1136
1136
|
"_Show project slideshows": "Show project slideshows",
|
|
1137
1137
|
"_Show object navigator": "Show object navigator",
|
|
1138
1138
|
"_Select model": "-- Disciplines --",
|
|
@@ -1736,7 +1736,7 @@
|
|
|
1736
1736
|
"_Reload_project": "Reload",
|
|
1737
1737
|
"_Project_modified_title": "Project has been modified",
|
|
1738
1738
|
"_Project_modified_message": "Project has been modified. Do you want to reload project.",
|
|
1739
|
-
"_Unfinished_editing_by_changing_whatever": "By continuing, you will
|
|
1739
|
+
"_Unfinished_editing_by_changing_whatever": "By continuing, you will loose unfinished editing. Are you sure?",
|
|
1740
1740
|
"_Node_Type": "Node Type",
|
|
1741
1741
|
"_Issue_Custom_Attributes": "Custom issue properties",
|
|
1742
1742
|
"_MyColor": "Custom color",
|
|
@@ -2316,44 +2316,8 @@
|
|
|
2316
2316
|
"_Alert": "Alert",
|
|
2317
2317
|
"_Issue": "Issue",
|
|
2318
2318
|
"_Slide": "Slide",
|
|
2319
|
-
"_Models_access_rights_info": "Model unavailable",
|
|
2320
|
-
"_Error_report_header": "Following
|
|
2321
|
-
"_Overlays_deleted_error_report": "Overlay/ Overlay document deleted",
|
|
2322
|
-
"_Overlays_no_access_error_report": "Overlay with no access"
|
|
2323
|
-
"_Add_from_Bluebeam": "Add from Bluebeam",
|
|
2324
|
-
"_Connection_designer": "Connection Designer",
|
|
2325
|
-
"_Connexis": "Connexis",
|
|
2326
|
-
"_Add_bluebeam_documents": "Add bluebeam documents",
|
|
2327
|
-
"_Bluebeam_Transfer_note": " NOTE: The import has started and may take several minutes depending on the file size. You will be notified whe the import is complete.",
|
|
2328
|
-
"_Click_here_to_see_documents": "Click here to see the files",
|
|
2329
|
-
"_External_files_import_is_finished": "External files import is finished",
|
|
2330
|
-
"_Succesfully_imported_files_count": "Succesfully imported: %@ files",
|
|
2331
|
-
"_Failed_imported_files_count": "Failed to import: %@ files",
|
|
2332
|
-
"_Ready_for_import": "Ready for import",
|
|
2333
|
-
"_Import_in_progress": "Import in progress",
|
|
2334
|
-
"_Choose_a_design_code": "Choose a code",
|
|
2335
|
-
"_No_design_codes_defined": "No design codes defined",
|
|
2336
|
-
"_Select_the_code": "Select the code",
|
|
2337
|
-
"_Activate_all_objects_to_make_a_connection": "Activate all objects to make a connection between them and choose a connection design code from the drop-down list.",
|
|
2338
|
-
"_Activate_all_objects_note": "Note: Use Ctrl key to activate multiple objects.",
|
|
2339
|
-
"_Connection_Designer_results_title": "Connection Designer results",
|
|
2340
|
-
"_Connection_Designer_results_description": "Single-click on the results to activate the connection and double-click for zoomed in view. Click on Connection cube in viewport to display the details of connection.",
|
|
2341
|
-
"_Allplan_Autoconverter": "Allplan Autoconverter",
|
|
2342
|
-
"_Autoconverter": "Autoconverter",
|
|
2343
|
-
"_Autoconverter_data_confirmation_message": "By confirmation you agree your personal data to be shared with Allplan for multiple purposes. This may include for example invoicing, delivery of your purchases, providing services including customer service, managing and analysing consumer data, credit checks and managing product marketing related information.",
|
|
2344
|
-
"_No valid models available": "No valid models available.",
|
|
2345
|
-
"_Select_an_object_using_Object_Picker": "Select an object using Object Picker and choose one or more properties to add the filter criteria then click APPLY.",
|
|
2346
|
-
"_Object_Picker": "Object Picker",
|
|
2347
|
-
"_Connection_Designer": "Connection Designer",
|
|
2348
|
-
"_Don_t_refresh_or_close_this_page": "Don't refresh or close this page.",
|
|
2349
|
-
"_you_are_being_directed_to_bluebeam": "The feature you are accessing is developed and provided by one of our external partners, Bluebeam, Inc.",
|
|
2350
|
-
"_Data_privacy_consent_bluebeam_description": "If you click on \"Confirm\", Allplan will transfer your data contained in Allplan Bimplus, including personal data, via an interface to Bluebeam, Inc. (\"third-party company\"). The purpose of the transfer is to enable you to use your data across different solutions, allowing seamless integration between Allplan GmbH's solutions and the third-party company's products. Once the data has been transferred to the third-party company, the data processing of the transferred data is carried out directly by the third-party company as your processor. With regard to the data transferred to the third-party company, Allplan GmbH acts neither as a controller nor as a processor vis-à-vis you or the third-party company. We, therefore, recommend that you familiarise yourself with the data protection provisions of the third-party company before clicking on \"Confirm\". For more information, see the Bluebeam Legal and Compliance.",
|
|
2351
|
-
"_No_visible_models_found": "No visible models found.",
|
|
2352
|
-
"_Export_Model": "Export Model",
|
|
2353
|
-
"_Ifc": "Ifc",
|
|
2354
|
-
"_Glb": "Glb",
|
|
2355
|
-
"_Export_to": "Export to",
|
|
2356
|
-
"_AddIns": "Add-Ins",
|
|
2357
|
-
"_UserRole": "User Role",
|
|
2358
|
-
"_dashboard_tooltip": "Go to dashboard"
|
|
2319
|
+
"_Models_access_rights_info": "Model(s) unavailable",
|
|
2320
|
+
"_Error_report_header": "Following error(s) found:",
|
|
2321
|
+
"_Overlays_deleted_error_report": "Overlay(s)/ Overlay document(s) deleted",
|
|
2322
|
+
"_Overlays_no_access_error_report": "Overlay(s) with no access"
|
|
2359
2323
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { BimplusLocalizedWidgetComponent } from '../bimplus-localized-widget/bimplus-localized-widget.component';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { BimplusButtonsRowComponent } from '../bimplus-buttons-row/bimplus-buttons-row.component';
|
|
5
|
+
import { BimplusAttachmentsService } from './services/bimplus-attachments.service';
|
|
6
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
7
|
+
import { BimplusAttachmentItemComponent } from './components/bimplus-attachment-item/bimplus-attachment-item.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ngx-translate/core";
|
|
10
|
+
export class BimplusAttachmentsComponent extends BimplusLocalizedWidgetComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.deleteAttachment = new EventEmitter();
|
|
14
|
+
this.addAttachment = new EventEmitter();
|
|
15
|
+
this.getAttachment = new EventEmitter();
|
|
16
|
+
this.bimplusAttachmentsService = inject(BimplusAttachmentsService);
|
|
17
|
+
/** Attribute for attachments which were saved to server. */
|
|
18
|
+
this.attachments = toSignal(this.bimplusAttachmentsService.attachments$);
|
|
19
|
+
/** Attachments buttons. */
|
|
20
|
+
this.items = [
|
|
21
|
+
{
|
|
22
|
+
id: 'add-attachment',
|
|
23
|
+
title: this.translateService.instant('_Add attachment'),
|
|
24
|
+
tooltip: this.translateService.instant('_Add attachment'),
|
|
25
|
+
disabled: false,
|
|
26
|
+
buttonStyle: 'primary',
|
|
27
|
+
type: 'file',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
/** Width size of file name line. */
|
|
31
|
+
this.attachmentListWidth = signal(undefined);
|
|
32
|
+
}
|
|
33
|
+
ngAfterViewInit() {
|
|
34
|
+
this.createResizeObserver();
|
|
35
|
+
this.resizeObserver.observe(this.attachmentListRef.nativeElement);
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this.resizeObserver.unobserve(this.attachmentListRef.nativeElement);
|
|
39
|
+
}
|
|
40
|
+
onFileChanged(file) {
|
|
41
|
+
this.addAttachment.emit(file);
|
|
42
|
+
}
|
|
43
|
+
createResizeObserver() {
|
|
44
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
45
|
+
const { width } = entries[0].contentRect;
|
|
46
|
+
this.attachmentListWidth.set(width);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusAttachmentsComponent, isStandalone: true, selector: "lib-bimplus-attachments", outputs: { deleteAttachment: "deleteAttachment", addAttachment: "addAttachment", getAttachment: "getAttachment" }, viewQueries: [{ propertyName: "attachmentListRef", first: true, predicate: ["attachmentListRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-bimplus-buttons-row [items]=\"items\" (fileChanged)=\"onFileChanged($event)\"/>\r\n\r\n<section #attachmentListRef class=\"bim-attachments-list\">\r\n @if (!attachments()?.length) {\r\n <p data-test=\"no-attachments\" class=\"bim-attachments-list-empty\">{{ '_No attachments found' | translate }}</p>\r\n } @else {\r\n @for (attachment of attachments(); track attachment) {\r\n <lib-bimplus-attachment-item\r\n [attr.data-test]=\"attachment.id\"\r\n (deleteAttachment)=\"deleteAttachment.emit($event)\"\r\n (getAttachment)=\"getAttachment.emit($event)\"\r\n [parentWidth]=\"attachmentListWidth()\"\r\n [attachment]=\"attachment\"\r\n />\r\n }\r\n }\r\n</section>\r\n", styles: ["lib-bimplus-buttons-row{--button-row-margin-right: .8rem}.bim-attachments-list{color:#84888c;cursor:pointer}.bim-attachments-list-empty{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusButtonsRowComponent, selector: "lib-bimplus-buttons-row", inputs: ["items"], outputs: ["fileChanged", "buttonClicked"] }, { kind: "component", type: BimplusAttachmentItemComponent, selector: "lib-bimplus-attachment-item", inputs: ["attachment", "parentWidth"], outputs: ["deleteAttachment", "getAttachment"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'lib-bimplus-attachments', standalone: true, imports: [
|
|
55
|
+
TranslateModule,
|
|
56
|
+
BimplusButtonsRowComponent,
|
|
57
|
+
BimplusAttachmentItemComponent,
|
|
58
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "<lib-bimplus-buttons-row [items]=\"items\" (fileChanged)=\"onFileChanged($event)\"/>\r\n\r\n<section #attachmentListRef class=\"bim-attachments-list\">\r\n @if (!attachments()?.length) {\r\n <p data-test=\"no-attachments\" class=\"bim-attachments-list-empty\">{{ '_No attachments found' | translate }}</p>\r\n } @else {\r\n @for (attachment of attachments(); track attachment) {\r\n <lib-bimplus-attachment-item\r\n [attr.data-test]=\"attachment.id\"\r\n (deleteAttachment)=\"deleteAttachment.emit($event)\"\r\n (getAttachment)=\"getAttachment.emit($event)\"\r\n [parentWidth]=\"attachmentListWidth()\"\r\n [attachment]=\"attachment\"\r\n />\r\n }\r\n }\r\n</section>\r\n", styles: ["lib-bimplus-buttons-row{--button-row-margin-right: .8rem}.bim-attachments-list{color:#84888c;cursor:pointer}.bim-attachments-list-empty{text-align:center}\n"] }]
|
|
59
|
+
}], propDecorators: { attachmentListRef: [{
|
|
60
|
+
type: ViewChild,
|
|
61
|
+
args: ['attachmentListRef']
|
|
62
|
+
}], deleteAttachment: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}], addAttachment: [{
|
|
65
|
+
type: Output
|
|
66
|
+
}], getAttachment: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVsRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7OztBQWdCeEgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsK0JBQStCO0lBZHpDOztRQWtCWSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFHeEMsOEJBQXlCLEdBQUcsTUFBTSxDQUNqRCx5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLDREQUE0RDtRQUN6QyxnQkFBVyxHQUFHLFFBQVEsQ0FDdkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FDNUMsQ0FBQztRQUNGLDJCQUEyQjtRQUNSLFVBQUssR0FBMkI7WUFDakQ7Z0JBQ0UsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3ZELE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUN6RCxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsU0FBUztnQkFDdEIsSUFBSSxFQUFFLE1BQU07YUFDYjtTQUNGLENBQUM7UUFDRixvQ0FBb0M7UUFDakIsd0JBQW1CLEdBQUcsTUFBTSxDQUM3QyxTQUFTLENBQ1YsQ0FBQztLQXFCSDtJQW5CUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVTLGFBQWEsQ0FBQyxJQUFVO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBb0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FuRFUsMkJBQTJCO21HQUEzQiwyQkFBMkIscVZDbkN4QyxneUJBaUJBLHFORFNJLGVBQWUsNEZBQ2YsMEJBQTBCLGtJQUMxQiw4QkFBOEI7OzRGQU9yQiwyQkFBMkI7a0JBYnZDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLDBCQUEwQjt3QkFDMUIsOEJBQThCO3FCQUMvQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsU0FBUzs4QkFNVixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNwQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvbnNSb3dDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvblJvd0l0ZW0gfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c0F0dGFjaG1lbnRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmltcGx1cy1hdHRhY2htZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IEJpbXBsdXNBdHRhY2htZW50SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnLi9iaW1wbHVzLWF0dGFjaG1lbnRzLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWF0dGFjaG1lbnRzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50LFxyXG4gICAgQmltcGx1c0F0dGFjaG1lbnRJdGVtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtYXR0YWNobWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzQXR0YWNobWVudHNDb21wb25lbnRcclxuICBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgQFZpZXdDaGlsZCgnYXR0YWNobWVudExpc3RSZWYnKSBhdHRhY2htZW50TGlzdFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBPdXRwdXQoKSBkZWxldGVBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG4gIEBPdXRwdXQoKSBhZGRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpO1xyXG4gIEBPdXRwdXQoKSBnZXRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG5cclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBiaW1wbHVzQXR0YWNobWVudHNTZXJ2aWNlID0gaW5qZWN0KFxyXG4gICAgQmltcGx1c0F0dGFjaG1lbnRzU2VydmljZVxyXG4gICk7XHJcbiAgLyoqIEF0dHJpYnV0ZSBmb3IgYXR0YWNobWVudHMgd2hpY2ggd2VyZSBzYXZlZCB0byBzZXJ2ZXIuICovXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF0dGFjaG1lbnRzID0gdG9TaWduYWwoXHJcbiAgICB0aGlzLmJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2UuYXR0YWNobWVudHMkXHJcbiAgKTtcclxuICAvKiogQXR0YWNobWVudHMgYnV0dG9ucy4gKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXM6IEJpbXBsdXNCdXR0b25Sb3dJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnYWRkLWF0dGFjaG1lbnQnLFxyXG4gICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ19BZGQgYXR0YWNobWVudCcpLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0FkZCBhdHRhY2htZW50JyksXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgYnV0dG9uU3R5bGU6ICdwcmltYXJ5JyxcclxuICAgICAgdHlwZTogJ2ZpbGUnLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIC8qKiBXaWR0aCBzaXplIG9mIGZpbGUgbmFtZSBsaW5lLiAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBhdHRhY2htZW50TGlzdFdpZHRoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVSZXNpemVPYnNlcnZlcigpO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuYXR0YWNobWVudExpc3RSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmF0dGFjaG1lbnRMaXN0UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uRmlsZUNoYW5nZWQoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRBdHRhY2htZW50LmVtaXQoZmlsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICBjb25zdCB7IHdpZHRoIH06IERPTVJlY3RSZWFkT25seSA9IGVudHJpZXNbMF0uY29udGVudFJlY3Q7XHJcbiAgICAgIHRoaXMuYXR0YWNobWVudExpc3RXaWR0aC5zZXQod2lkdGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxsaWItYmltcGx1cy1idXR0b25zLXJvdyBbaXRlbXNdPVwiaXRlbXNcIiAoZmlsZUNoYW5nZWQpPVwib25GaWxlQ2hhbmdlZCgkZXZlbnQpXCIvPlxyXG5cclxuPHNlY3Rpb24gI2F0dGFjaG1lbnRMaXN0UmVmIGNsYXNzPVwiYmltLWF0dGFjaG1lbnRzLWxpc3RcIj5cclxuICAgIEBpZiAoIWF0dGFjaG1lbnRzKCk/Lmxlbmd0aCkge1xyXG4gICAgICAgIDxwIGRhdGEtdGVzdD1cIm5vLWF0dGFjaG1lbnRzXCIgY2xhc3M9XCJiaW0tYXR0YWNobWVudHMtbGlzdC1lbXB0eVwiPnt7ICdfTm8gYXR0YWNobWVudHMgZm91bmQnIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGZvciAoYXR0YWNobWVudCBvZiBhdHRhY2htZW50cygpOyB0cmFjayBhdHRhY2htZW50KSB7XHJcbiAgICAgICAgICAgIDxsaWItYmltcGx1cy1hdHRhY2htZW50LWl0ZW1cclxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJhdHRhY2htZW50LmlkXCJcclxuICAgICAgICAgICAgICAgIChkZWxldGVBdHRhY2htZW50KT1cImRlbGV0ZUF0dGFjaG1lbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChnZXRBdHRhY2htZW50KT1cImdldEF0dGFjaG1lbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtwYXJlbnRXaWR0aF09XCJhdHRhY2htZW50TGlzdFdpZHRoKClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRdPVwiYXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export class Attachment {
|
|
2
|
+
constructor(data) {
|
|
3
|
+
this.id = data.id ?? '';
|
|
4
|
+
this.fileName = data.fileName ?? '';
|
|
5
|
+
this.size = data.size ?? 0;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class AttachmentBuilder {
|
|
9
|
+
static { this.attachment = new Attachment({}); }
|
|
10
|
+
static create(value) {
|
|
11
|
+
this.attachment = new Attachment(value);
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
static setId(id) {
|
|
15
|
+
this.attachment.id = id;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
static setFileName(name) {
|
|
19
|
+
this.attachment.fileName = name;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
static setSize(size) {
|
|
23
|
+
this.attachment.size = size;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
static setFile(file) {
|
|
27
|
+
this.attachment.file = file;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
static build() {
|
|
31
|
+
return this.attachment;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxVQUFVO0lBTXJCLFlBQVksSUFBMEI7UUFDcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBSUQsTUFBTSxPQUFnQixpQkFBaUI7YUFDdEIsZUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQVU7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWTtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVU7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudCBhcyBJQXR0YWNobWVudCB9IGZyb20gJ2JpbXBsdXMtd2Vic2RrJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50IGltcGxlbWVudHMgUGFydGlhbDxJQXR0YWNobWVudD4ge1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaXplOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGZpbGU/OiBGaWxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPElBdHRhY2htZW50Pikge1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQgPz8gJyc7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gZGF0YS5maWxlTmFtZSA/PyAnJztcclxuICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZSA/PyAwO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBCdWlsZGVyID0gdHlwZW9mIEF0dGFjaG1lbnRCdWlsZGVyO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0dGFjaG1lbnRCdWlsZGVyIHtcclxuICBwcml2YXRlIHN0YXRpYyBhdHRhY2htZW50ID0gbmV3IEF0dGFjaG1lbnQoe30pO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZSh2YWx1ZTogQXR0YWNobWVudCk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50ID0gbmV3IEF0dGFjaG1lbnQodmFsdWUpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldElkKGlkOiBzdHJpbmcpOiBCdWlsZGVyIHtcclxuICAgIHRoaXMuYXR0YWNobWVudC5pZCA9IGlkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldEZpbGVOYW1lKG5hbWU6IHN0cmluZyk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LmZpbGVOYW1lID0gbmFtZTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBzZXRTaXplKHNpemU6IG51bWJlcik6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LnNpemUgPSBzaXplO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldEZpbGUoZmlsZTogRmlsZSk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LmZpbGUgPSBmaWxlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGJ1aWxkKCk6IEF0dGFjaG1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component, computed, EventEmitter, Input, Output, signal, ViewChild, } from '@angular/core';
|
|
2
|
+
import { BitConverterPipe } from '../../../../pipes/bit-converter.pipe';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
const BIM_ATTACHMENT_DELETE_BUTTON_WIDTH = 30;
|
|
7
|
+
const BIM_ATTACHMENT_ITEM_PADDING_LEFT = 28;
|
|
8
|
+
export class BimplusAttachmentItemComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.deleteAttachment = new EventEmitter();
|
|
11
|
+
this.getAttachment = new EventEmitter();
|
|
12
|
+
/** Parent element width. */
|
|
13
|
+
this.parentWidthSignal = signal(undefined);
|
|
14
|
+
/** Attachment size text width. */
|
|
15
|
+
this.attachmentSizeWidth = signal(0);
|
|
16
|
+
/** Wheter name is fully visible or not based on parent width. */
|
|
17
|
+
this.nameIsfullyVisible = signal(false);
|
|
18
|
+
/** Width size of file name line. */
|
|
19
|
+
this.nameInfoLineWidth = computed(() => {
|
|
20
|
+
const parentWidth = this.parentWidthSignal();
|
|
21
|
+
const attachmentSizeWidth = this.attachmentSizeWidth();
|
|
22
|
+
const nameIsfullyVisible = this.nameIsfullyVisible();
|
|
23
|
+
if (!parentWidth) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
if (nameIsfullyVisible) {
|
|
27
|
+
return parentWidth - BIM_ATTACHMENT_DELETE_BUTTON_WIDTH;
|
|
28
|
+
}
|
|
29
|
+
return (parentWidth -
|
|
30
|
+
attachmentSizeWidth -
|
|
31
|
+
(BIM_ATTACHMENT_DELETE_BUTTON_WIDTH + BIM_ATTACHMENT_ITEM_PADDING_LEFT));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
set parentWidth(value) {
|
|
35
|
+
if (!value) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.parentWidthSignal.set(value);
|
|
39
|
+
}
|
|
40
|
+
get type() {
|
|
41
|
+
return `.${this.attachment.fileName.split('.').at(-1)}`;
|
|
42
|
+
}
|
|
43
|
+
ngAfterViewInit() {
|
|
44
|
+
this.attachmentSizeWidth.set(+this.attachmentSizeRef.nativeElement.clientWidth);
|
|
45
|
+
this.createIntersectionObserver();
|
|
46
|
+
this.intersectionObserver.observe(this.attachmentNameRef.nativeElement);
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
this.intersectionObserver.unobserve(this.attachmentNameRef.nativeElement);
|
|
50
|
+
}
|
|
51
|
+
createIntersectionObserver() {
|
|
52
|
+
const options = {
|
|
53
|
+
root: null,
|
|
54
|
+
rootMargin: '0px',
|
|
55
|
+
threshold: 1.0,
|
|
56
|
+
};
|
|
57
|
+
const callback = (entries) => entries.forEach(({ intersectionRatio }) => this.nameIsfullyVisible.set(intersectionRatio === 1));
|
|
58
|
+
this.intersectionObserver = new IntersectionObserver(callback, options);
|
|
59
|
+
}
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusAttachmentItemComponent, isStandalone: true, selector: "lib-bimplus-attachment-item", inputs: { attachment: "attachment", parentWidth: "parentWidth" }, outputs: { deleteAttachment: "deleteAttachment", getAttachment: "getAttachment" }, viewQueries: [{ propertyName: "attachmentSizeRef", first: true, predicate: ["attachmentSizeRef"], descendants: true }, { propertyName: "attachmentNameRef", first: true, predicate: ["attachmentNameRef"], descendants: true }], ngImport: i0, template: "<div class=\"bim-attachment-item\">\r\n <div\r\n data-test=\"bim-attachment\"\r\n (click)=\"getAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n title=\"{{ attachment.fileName }}\"\r\n class=\"bim-attachment-name\"\r\n [style.width.px]=\"nameInfoLineWidth()\"\r\n >\r\n <span #attachmentNameRef>{{ attachment.fileName }}</span>\r\n @if (nameIsfullyVisible()) {\r\n <span class=\"bim-attachment-size\">{{\r\n attachment.size | bitConverter\r\n }}</span>\r\n }\r\n </div>\r\n @if(!nameIsfullyVisible()) {\r\n <span>{{ type }} </span>\r\n <div #attachmentSizeRef class=\"bim-attachment-size\">\r\n {{ attachment.size | bitConverter }}\r\n </div>\r\n }\r\n <span\r\n data-test=\"delete-attachment-btn\"\r\n class=\"bim-attachment-delete-button\"\r\n title=\"{{ '_Delete attachment' | translate }}\"\r\n (click)=\"deleteAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n >\r\n \u2715\uFE0E\r\n </span>\r\n</div>\r\n", styles: [".bim-attachment-item{border-bottom:.1rem solid #B8BBBF;line-height:2.5rem;display:flex;align-items:center;justify-content:space-between;color:#46494d;padding-left:2.6rem;background-repeat:no-repeat;background-position:.8rem center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAATCAYAAACZZ43PAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAaRJREFUeNqM002IjXEUBvDfvXORlcRK8rEgEYlYKCZSYjGkWcyGQmwmRT5KzUY2JqakTO5OoykxNYloJCUrC181LEZkkhIjH4tbitg8t163meue1fue03nOc57/c0rValWLsRm9WIc3OIHhcovNXbiPH+jGKIbQXmmheQsGUE3zH/RjEL3/Y7AKw3iO3VhdqA1gfTOA+biD9/kew6tCfRG+TwUwC3fxEzPxDTvzD2vQh8uTAUwP7bmoBWA7vqa+OMweoacRoIQrWBvqC7ED46nPCbNPeIm2RoCz6MSzCNYZAYXJTczAZxzEvCJAN06GXjsO4V5qbbiKZXiBjejAuzrALlyMu5bjQlapR19WGYmYe/EQykEdxCWcxxLcLjQfw+E4ryssr9WLZZzGUxxNbhQHsuu+gF6PHv04VxStgm3Z93dyx3Er00qZvDXqH2l880pMM17IjWBFrm8iE8ewpzDkH4CPWInHhfxrfIhQvyJcbTLLlnEDpzC7wY1DWBAXTkx1MJWI2IEneYka9mNpTvlts3Ot4As2ZNczmIYH2BTTNI2/AwAogV/IJljQBwAAAABJRU5ErkJggg==)}.bim-attachment-item .bim-attachment-name{padding-left:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bim-attachment-item .bim-attachment-size{padding-left:.5rem;white-space:nowrap;margin-right:.4rem}.bim-attachment-item span.bim-attachment-delete-button{width:30px;color:#b8bbbf;cursor:pointer;margin-left:auto}.bim-attachment-item span.bim-attachment-delete-button:hover{color:#46494d}\n"], dependencies: [{ kind: "pipe", type: BitConverterPipe, name: "bitConverter" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentItemComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'lib-bimplus-attachment-item', standalone: true, imports: [BitConverterPipe, TranslateModule], template: "<div class=\"bim-attachment-item\">\r\n <div\r\n data-test=\"bim-attachment\"\r\n (click)=\"getAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n title=\"{{ attachment.fileName }}\"\r\n class=\"bim-attachment-name\"\r\n [style.width.px]=\"nameInfoLineWidth()\"\r\n >\r\n <span #attachmentNameRef>{{ attachment.fileName }}</span>\r\n @if (nameIsfullyVisible()) {\r\n <span class=\"bim-attachment-size\">{{\r\n attachment.size | bitConverter\r\n }}</span>\r\n }\r\n </div>\r\n @if(!nameIsfullyVisible()) {\r\n <span>{{ type }} </span>\r\n <div #attachmentSizeRef class=\"bim-attachment-size\">\r\n {{ attachment.size | bitConverter }}\r\n </div>\r\n }\r\n <span\r\n data-test=\"delete-attachment-btn\"\r\n class=\"bim-attachment-delete-button\"\r\n title=\"{{ '_Delete attachment' | translate }}\"\r\n (click)=\"deleteAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n >\r\n \u2715\uFE0E\r\n </span>\r\n</div>\r\n", styles: [".bim-attachment-item{border-bottom:.1rem solid #B8BBBF;line-height:2.5rem;display:flex;align-items:center;justify-content:space-between;color:#46494d;padding-left:2.6rem;background-repeat:no-repeat;background-position:.8rem center;background-image:url(data:image/png;base64,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)}.bim-attachment-item .bim-attachment-name{padding-left:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bim-attachment-item .bim-attachment-size{padding-left:.5rem;white-space:nowrap;margin-right:.4rem}.bim-attachment-item span.bim-attachment-delete-button{width:30px;color:#b8bbbf;cursor:pointer;margin-left:auto}.bim-attachment-item span.bim-attachment-delete-button:hover{color:#46494d}\n"] }]
|
|
66
|
+
}], propDecorators: { attachmentSizeRef: [{
|
|
67
|
+
type: ViewChild,
|
|
68
|
+
args: ['attachmentSizeRef']
|
|
69
|
+
}], attachmentNameRef: [{
|
|
70
|
+
type: ViewChild,
|
|
71
|
+
args: ['attachmentNameRef']
|
|
72
|
+
}], attachment: [{
|
|
73
|
+
type: Input,
|
|
74
|
+
args: [{ required: true }]
|
|
75
|
+
}], parentWidth: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], deleteAttachment: [{
|
|
78
|
+
type: Output
|
|
79
|
+
}], getAttachment: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9jb21wb25lbnRzL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFFUixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR3RELE1BQU0sa0NBQWtDLEdBQUcsRUFBRSxDQUFDO0FBQzlDLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO0FBUzVDLE1BQU0sT0FBTyw4QkFBOEI7SUFQM0M7UUFvQlkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFPekQsNEJBQTRCO1FBQ1gsc0JBQWlCLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUMzRSxrQ0FBa0M7UUFDakIsd0JBQW1CLEdBQUcsTUFB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QUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBjb21wdXRlZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpdENvbnZlcnRlclBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9iaXQtY29udmVydGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtYXR0YWNobWVudHMuaW50ZXJmYWNlJztcclxuXHJcbmNvbnN0IEJJTV9BVFRBQ0hNRU5UX0RFTEVURV9CVVRUT05fV0lEVEggPSAzMDtcclxuY29uc3QgQklNX0FUVEFDSE1FTlRfSVRFTV9QQURESU5HX0xFRlQgPSAyODtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtYXR0YWNobWVudC1pdGVtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtCaXRDb252ZXJ0ZXJQaXBlLCBUcmFuc2xhdGVNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtLmNvbXBvbmVudC5sZXNzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNBdHRhY2htZW50SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuICBAVmlld0NoaWxkKCdhdHRhY2htZW50U2l6ZVJlZicpIGF0dGFjaG1lbnRTaXplUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnYXR0YWNobWVudE5hbWVSZWYnKSBhdHRhY2htZW50TmFtZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGF0dGFjaG1lbnQhOiBBdHRhY2htZW50O1xyXG4gIEBJbnB1dCgpIHNldCBwYXJlbnRXaWR0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBhcmVudFdpZHRoU2lnbmFsLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBkZWxldGVBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG5cclxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAuJHt0aGlzLmF0dGFjaG1lbnQuZmlsZU5hbWUuc3BsaXQoJy4nKS5hdCgtMSl9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIhOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcclxuICAvKiogUGFyZW50IGVsZW1lbnQgd2lkdGguICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRXaWR0aFNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgLyoqIEF0dGFjaG1lbnQgc2l6ZSB0ZXh0IHdpZHRoLiAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0YWNobWVudFNpemVXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG4gIC8qKiBXaGV0ZXIgbmFtZSBpcyBmdWxseSB2aXNpYmxlIG9yIG5vdCBiYXNlZCBvbiBwYXJlbnQgd2lkdGguICovXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWVJc2Z1bGx5VmlzaWJsZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKiBXaWR0aCBzaXplIG9mIGZpbGUgbmFtZSBsaW5lLiAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBuYW1lSW5mb0xpbmVXaWR0aCA9IGNvbXB1dGVkPG51bWJlcj4oKCkgPT4ge1xyXG4gICAgY29uc3QgcGFyZW50V2lkdGggPSB0aGlzLnBhcmVudFdpZHRoU2lnbmFsKCk7XHJcbiAgICBjb25zdCBhdHRhY2htZW50U2l6ZVdpZHRoID0gdGhpcy5hdHRhY2htZW50U2l6ZVdpZHRoKCk7XHJcbiAgICBjb25zdCBuYW1lSXNmdWxseVZpc2libGUgPSB0aGlzLm5hbWVJc2Z1bGx5VmlzaWJsZSgpO1xyXG5cclxuICAgIGlmICghcGFyZW50V2lkdGgpIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5hbWVJc2Z1bGx5VmlzaWJsZSkge1xyXG4gICAgICByZXR1cm4gcGFyZW50V2lkdGggLSBCSU1fQVRUQUNITUVOVF9ERUxFVEVfQlVUVE9OX1dJRFRIO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHBhcmVudFdpZHRoIC1cclxuICAgICAgYXR0YWNobWVudFNpemVXaWR0aCAtXHJcbiAgICAgIChCSU1fQVRUQUNITUVOVF9ERUxFVEVfQlVUVE9OX1dJRFRIICsgQklNX0FUVEFDSE1FTlRfSVRFTV9QQURESU5HX0xFRlQpXHJcbiAgICApO1xyXG4gIH0pO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRhY2htZW50U2l6ZVdpZHRoLnNldChcclxuICAgICAgK3RoaXMuYXR0YWNobWVudFNpemVSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgKTtcclxuICAgIHRoaXMuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTtcclxuICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmF0dGFjaG1lbnROYW1lUmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci51bm9ic2VydmUodGhpcy5hdHRhY2htZW50TmFtZVJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXQgPSB7XHJcbiAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgIHJvb3RNYXJnaW46ICcwcHgnLFxyXG4gICAgICB0aHJlc2hvbGQ6IDEuMCxcclxuICAgIH07XHJcbiAgICBjb25zdCBjYWxsYmFjazogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IChlbnRyaWVzKSA9PlxyXG4gICAgICBlbnRyaWVzLmZvckVhY2goKHsgaW50ZXJzZWN0aW9uUmF0aW8gfSkgPT5cclxuICAgICAgICB0aGlzLm5hbWVJc2Z1bGx5VmlzaWJsZS5zZXQoaW50ZXJzZWN0aW9uUmF0aW8gPT09IDEpXHJcbiAgICAgICk7XHJcblxyXG4gICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihjYWxsYmFjaywgb3B0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJiaW0tYXR0YWNobWVudC1pdGVtXCI+XHJcbiAgPGRpdlxyXG4gICAgZGF0YS10ZXN0PVwiYmltLWF0dGFjaG1lbnRcIlxyXG4gICAgKGNsaWNrKT1cImdldEF0dGFjaG1lbnQuZW1pdChhdHRhY2htZW50KVwiXHJcbiAgICAoa2V5cHJlc3MpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxyXG4gICAgdGl0bGU9XCJ7eyBhdHRhY2htZW50LmZpbGVOYW1lIH19XCJcclxuICAgIGNsYXNzPVwiYmltLWF0dGFjaG1lbnQtbmFtZVwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwibmFtZUluZm9MaW5lV2lkdGgoKVwiXHJcbiAgPlxyXG4gICAgPHNwYW4gI2F0dGFjaG1lbnROYW1lUmVmPnt7IGF0dGFjaG1lbnQuZmlsZU5hbWUgfX08L3NwYW4+XHJcbiAgICBAaWYgKG5hbWVJc2Z1bGx5VmlzaWJsZSgpKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImJpbS1hdHRhY2htZW50LXNpemVcIj57e1xyXG4gICAgICBhdHRhY2htZW50LnNpemUgfCBiaXRDb252ZXJ0ZXJcclxuICAgIH19PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZighbmFtZUlzZnVsbHlWaXNpYmxlKCkpIHtcclxuICA8c3Bhbj57eyB0eXBlIH19IDwvc3Bhbj5cclxuICA8ZGl2ICNhdHRhY2htZW50U2l6ZVJlZiBjbGFzcz1cImJpbS1hdHRhY2htZW50LXNpemVcIj5cclxuICAgIHt7IGF0dGFjaG1lbnQuc2l6ZSB8IGJpdENvbnZlcnRlciB9fVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuICA8c3BhblxyXG4gICAgZGF0YS10ZXN0PVwiZGVsZXRlLWF0dGFjaG1lbnQtYnRuXCJcclxuICAgIGNsYXNzPVwiYmltLWF0dGFjaG1lbnQtZGVsZXRlLWJ1dHRvblwiXHJcbiAgICB0aXRsZT1cInt7ICdfRGVsZXRlIGF0dGFjaG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50LmVtaXQoYXR0YWNobWVudClcIlxyXG4gICAgKGtleXByZXNzKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICA+XHJcbiAgICDinJXvuI5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { AttachmentBuilder, } from '../bimplus-attachments.interface';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BimplusAttachmentsService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.attachments = new BehaviorSubject(null);
|
|
8
|
+
this.attachments$ = this.attachments.asObservable();
|
|
9
|
+
}
|
|
10
|
+
setAttachment(value) {
|
|
11
|
+
let payload;
|
|
12
|
+
if (value instanceof File) {
|
|
13
|
+
payload = AttachmentBuilder.setFile(value)
|
|
14
|
+
.setFileName(value.name)
|
|
15
|
+
.build();
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
payload = AttachmentBuilder.create(value).build();
|
|
19
|
+
}
|
|
20
|
+
const toUpdate = this.attachments.value
|
|
21
|
+
? [...this.attachments.value, payload]
|
|
22
|
+
: [payload];
|
|
23
|
+
this.attachments.next(toUpdate);
|
|
24
|
+
}
|
|
25
|
+
deleteAttachment(fileToDelete) {
|
|
26
|
+
const toUpdate = this.attachments.value?.filter((file) => file !== fileToDelete) ?? null;
|
|
27
|
+
this.attachments.next(toUpdate);
|
|
28
|
+
}
|
|
29
|
+
addAttachments(attachments) {
|
|
30
|
+
this.attachments.next(attachments);
|
|
31
|
+
}
|
|
32
|
+
download(href, fileName) {
|
|
33
|
+
const anchor = document.createElement('a');
|
|
34
|
+
anchor.rel = 'noopener noreferrer';
|
|
35
|
+
anchor.target = '_blank';
|
|
36
|
+
anchor.href = href;
|
|
37
|
+
anchor.download = fileName;
|
|
38
|
+
anchor.click();
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, providedIn: 'root' }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{
|
|
46
|
+
providedIn: 'root',
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9zZXJ2aWNlcy9iaW1wbHVzLWF0dGFjaG1lbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUltQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUM5RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FvQ2hFO0lBbENRLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxJQUFJLE9BQW1CLENBQUM7UUFDeEIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ3ZDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUN2QixLQUFLLEVBQUUsQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFlBQXdCO1FBQzlDLE1BQU0sUUFBUSxHQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQXlCO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQzVDLE1BQU0sTUFBTSxHQUFzQixRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxHQUFHLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBckNVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEF0dGFjaG1lbnQsXHJcbiAgQXR0YWNobWVudEJ1aWxkZXIsXHJcbn0gZnJvbSAnLi4vYmltcGx1cy1hdHRhY2htZW50cy5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0YWNobWVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF0dGFjaG1lbnRbXSB8IG51bGw+KG51bGwpO1xyXG4gIHB1YmxpYyByZWFkb25seSBhdHRhY2htZW50cyQgPSB0aGlzLmF0dGFjaG1lbnRzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgc2V0QXR0YWNobWVudCh2YWx1ZTogQXR0YWNobWVudCB8IEZpbGUpOiB2b2lkIHtcclxuICAgIGxldCBwYXlsb2FkOiBBdHRhY2htZW50O1xyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICBwYXlsb2FkID0gQXR0YWNobWVudEJ1aWxkZXIuc2V0RmlsZSh2YWx1ZSlcclxuICAgICAgICAuc2V0RmlsZU5hbWUodmFsdWUubmFtZSlcclxuICAgICAgICAuYnVpbGQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBheWxvYWQgPSBBdHRhY2htZW50QnVpbGRlci5jcmVhdGUodmFsdWUpLmJ1aWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdG9VcGRhdGUgPSB0aGlzLmF0dGFjaG1lbnRzLnZhbHVlXHJcbiAgICAgID8gWy4uLnRoaXMuYXR0YWNobWVudHMudmFsdWUsIHBheWxvYWRdXHJcbiAgICAgIDogW3BheWxvYWRdO1xyXG4gICAgdGhpcy5hdHRhY2htZW50cy5uZXh0KHRvVXBkYXRlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVBdHRhY2htZW50KGZpbGVUb0RlbGV0ZTogQXR0YWNobWVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdG9VcGRhdGUgPVxyXG4gICAgICB0aGlzLmF0dGFjaG1lbnRzLnZhbHVlPy5maWx0ZXIoKGZpbGUpID0+IGZpbGUgIT09IGZpbGVUb0RlbGV0ZSkgPz8gbnVsbDtcclxuICAgIHRoaXMuYXR0YWNobWVudHMubmV4dCh0b1VwZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkQXR0YWNobWVudHMoYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRhY2htZW50cy5uZXh0KGF0dGFjaG1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZChocmVmOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhbmNob3IucmVsID0gJ25vb3BlbmVyIG5vcmVmZXJyZXInO1xyXG4gICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnO1xyXG4gICAgYW5jaG9yLmhyZWYgPSBocmVmO1xyXG4gICAgYW5jaG9yLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICBhbmNob3IuY2xpY2soKTtcclxuICB9XHJcbn1cclxuIl19
|