{"version":3,"file":"seniorsistemas-angular-components-editable-overlay.mjs","sources":["../../projects/angular-components/editable-overlay/src/lib/editable-overlay/editable-overlay.directive.ts","../../projects/angular-components/editable-overlay/src/lib/editable-overlay/editable-overlay.module.ts","../../projects/angular-components/editable-overlay/src/seniorsistemas-angular-components-editable-overlay.ts"],"sourcesContent":["import { AfterViewInit, Directive, Input } from '@angular/core';\n\nimport { DomHandler } from 'primeng/dom';\n\n// TODO: O que é esta diretiva?\n\n/**\n * @description Diretiva aplicada a um `p-table` do PrimeNG para corrigir o comportamento\n * de clique fora da célula editável, evitando que cliques em overlays (como dropdowns e modais)\n * fechem indevidamente o modo de edição da célula.\n *\n * @example\n * ```html\n * <p-table sEditableOverlay [table]=\"dt\" #dt>...</p-table>\n * ```\n *\n * @category Overlay\n */\n@Directive({\n    selector: 'p-table[sEditableOverlay]',\n})\nexport class EditableOverlayDirective implements AfterViewInit {\n    /**\n     * @description Referência direta à instância do `p-table` ao qual a diretiva está aplicada.\n     * Utilizada para sobrescrever o comportamento padrão de `bindDocumentEditListener`.\n     */\n    @Input()\n    public table: any;\n\n    public ngAfterViewInit(): void {\n        this.table.bindDocumentEditListener = this._bindDocument.bind(this);\n    }\n\n    public isFromOverlayTrigger(event: any) {\n        return event.path.some((path: any) => path.className && path.className.includes('ng-trigger-overlayAnimation'));\n    }\n\n    public isFromModal(event: any) {\n        return event.path.some((path: any) => path.className && path.className.includes('s-lookup'));\n    }\n\n    private _bindDocument() {\n        if (!this.table.documentEditListener) {\n            this.table.documentEditListener = (event: any) => {\n                if (\n                    !this.isFromOverlayTrigger(event) &&\n                    !this.isFromModal(event) &&\n                    this.table.editingCell &&\n                    !this.table.editingCellClick &&\n                    this.table.isEditingCellValid()\n                ) {\n                    DomHandler.removeClass(this.table.editingCell, 'ui-editing-cell');\n                    this.table.editingCell = null;\n                    this.table.unbindDocumentEditListener();\n                }\n\n                this.table.editingCellClick = false;\n            };\n\n            document.addEventListener('click', this.table.documentEditListener);\n        }\n    }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { EditableOverlayDirective } from './editable-overlay.directive';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [EditableOverlayDirective],\n    exports: [EditableOverlayDirective],\n})\nexport class EditableOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}