From fee8498a7edf9b74f173cf9f784e78bff1baf7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bahad=C4=B1r=20Sofuo=C4=9Flu?= Date: Wed, 24 May 2023 17:56:02 +0300 Subject: [PATCH] Refactor #3965 - For BlockUI --- components/lib/blockui/BaseBlockUI.vue | 66 ++++++++++++++++++++++++++ components/lib/blockui/BlockUI.d.ts | 5 ++ components/lib/blockui/BlockUI.vue | 56 ++++------------------ 3 files changed, 80 insertions(+), 47 deletions(-) create mode 100644 components/lib/blockui/BaseBlockUI.vue diff --git a/components/lib/blockui/BaseBlockUI.vue b/components/lib/blockui/BaseBlockUI.vue new file mode 100644 index 000000000..f4aba47a3 --- /dev/null +++ b/components/lib/blockui/BaseBlockUI.vue @@ -0,0 +1,66 @@ + diff --git a/components/lib/blockui/BlockUI.d.ts b/components/lib/blockui/BlockUI.d.ts index a9d5f8c5d..b90473ef5 100755 --- a/components/lib/blockui/BlockUI.d.ts +++ b/components/lib/blockui/BlockUI.d.ts @@ -78,6 +78,11 @@ export interface BlockUIProps { * @type {BlockUIPassThroughOptions} */ pt?: BlockUIPassThroughOptions; + /** + * When enabled, it removes component related styles in the core. + * @defaultValue false + */ + unstyled?: boolean; } /** diff --git a/components/lib/blockui/BlockUI.vue b/components/lib/blockui/BlockUI.vue index 1d34bd7f1..540bf7d7a 100755 --- a/components/lib/blockui/BlockUI.vue +++ b/components/lib/blockui/BlockUI.vue @@ -1,5 +1,5 @@ @@ -12,24 +12,6 @@ export default { name: 'BlockUI', extends: BaseComponent, emits: ['block', 'unblock'], - props: { - blocked: { - type: Boolean, - default: false - }, - fullScreen: { - type: Boolean, - default: false - }, - baseZIndex: { - type: Number, - default: 0 - }, - autoZIndex: { - type: Boolean, - default: true - } - }, mask: null, data() { return { @@ -54,13 +36,13 @@ export default { if (this.fullScreen) { styleClass += ' p-blockui-document'; this.mask = document.createElement('div'); - this.mask.setAttribute('class', styleClass); + !this.isUnstyled && this.mask.setAttribute('class', styleClass); document.body.appendChild(this.mask); - DomHandler.addClass(document.body, 'p-overflow-hidden'); + !this.isUnstyled && DomHandler.addClass(document.body, 'p-overflow-hidden'); document.activeElement.blur(); } else { this.mask = document.createElement('div'); - this.mask.setAttribute('class', styleClass); + !this.isUnstyled && this.mask.setAttribute('class', styleClass); this.$refs.container.appendChild(this.mask); } @@ -72,7 +54,7 @@ export default { this.$emit('block'); }, unblock() { - DomHandler.addClass(this.mask, 'p-component-overlay-leave'); + !this.isUnstyled && DomHandler.addClass(this.mask, 'p-component-overlay-leave'); this.mask.addEventListener('animationend', () => { this.removeMask(); }); @@ -81,8 +63,10 @@ export default { ZIndexUtils.clear(this.mask); if (this.fullScreen) { - document.body.removeChild(this.mask); - DomHandler.removeClass(document.body, 'p-overflow-hidden'); + if (!this.isUnstyled) { + document.body.removeChild(this.mask); + DomHandler.removeClass(document.body, 'p-overflow-hidden'); + } } else { this.$refs.container.removeChild(this.mask); } @@ -93,25 +77,3 @@ export default { } }; - -