{"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';\r\n\r\nimport { DomHandler } from 'primeng/dom';\r\n\r\n// TODO: O que é esta diretiva?\r\n\r\n/**\r\n * @description Diretiva aplicada a um `p-table` do PrimeNG para corrigir o comportamento\r\n * de clique fora da célula editável, evitando que cliques em overlays (como dropdowns e modais)\r\n * fechem indevidamente o modo de edição da célula.\r\n *\r\n * @example\r\n * ```html\r\n * <p-table sEditableOverlay [table]=\"dt\" #dt>...</p-table>\r\n * ```\r\n *\r\n * @category Overlay\r\n */\r\n@Directive({\r\n    selector: 'p-table[sEditableOverlay]',\r\n    standalone: true,\r\n})\r\nexport class EditableOverlayDirective implements AfterViewInit {\r\n    /**\r\n     * @description Referência direta à instância do `p-table` ao qual a diretiva está aplicada.\r\n     * Utilizada para sobrescrever o comportamento padrão de `bindDocumentEditListener`.\r\n     */\r\n    @Input()\r\n    public table: any;\r\n\r\n    public ngAfterViewInit(): void {\r\n        this.table.bindDocumentEditListener = this._bindDocument.bind(this);\r\n    }\r\n\r\n    public isFromOverlayTrigger(event: any) {\r\n        return event.path.some((path: any) => path.className && path.className.includes('ng-trigger-overlayAnimation'));\r\n    }\r\n\r\n    public isFromModal(event: any) {\r\n        return event.path.some((path: any) => path.className && path.className.includes('s-lookup'));\r\n    }\r\n\r\n    private _bindDocument() {\r\n        if (!this.table.documentEditListener) {\r\n            this.table.documentEditListener = (event: any) => {\r\n                if (\r\n                    !this.isFromOverlayTrigger(event) &&\r\n                    !this.isFromModal(event) &&\r\n                    this.table.editingCell &&\r\n                    !this.table.editingCellClick &&\r\n                    this.table.isEditingCellValid()\r\n                ) {\r\n                    DomHandler.removeClass(this.table.editingCell, 'ui-editing-cell');\r\n                    this.table.editingCell = null;\r\n                    this.table.unbindDocumentEditListener();\r\n                }\r\n\r\n                this.table.editingCellClick = false;\r\n            };\r\n\r\n            document.addEventListener('click', this.table.documentEditListener);\r\n        }\r\n    }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { EditableOverlayDirective } from './editable-overlay.directive';\r\n\r\n@NgModule({\r\n    imports: [EditableOverlayDirective],\r\n    exports: [EditableOverlayDirective],\r\n})\r\nexport class EditableOverlayModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAIA;AAEA;;;;;;;;;;;AAWG;MAKU,wBAAwB,CAAA;AACjC;;;AAGG;AAEI,IAAA,KAAK,CAAM;IAEX,eAAe,GAAA;AAClB,QAAA,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvE;AAEM,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;KACnH;AAEM,IAAA,WAAW,CAAC,KAAU,EAAA;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;KAChG;IAEO,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,KAAU,KAAI;AAC7C,gBAAA,IACI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;AACjC,oBAAA,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,WAAW;AACtB,oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB;AAC5B,oBAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EACjC;oBACE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAClE,oBAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;AAC9B,oBAAA,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;iBAC3C;AAED,gBAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;AACxC,aAAC,CAAC;YAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvE;KACJ;wGAxCQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAOU,KAAK,EAAA,CAAA;sBADX,KAAK;;;MCnBG,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAArB,qBAAqB,EAAA,OAAA,EAAA,CAHpB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;yGAEzB,qBAAqB,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}