/******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "@reduxjs/toolkit": /*!****************************************************!*\ !*** external ["elementorVendors","reduxToolkit"] ***! \****************************************************/ /***/ (function(module) { module.exports = window["elementorVendors"]["reduxToolkit"]; /***/ }), /***/ "react-redux": /*!**************************************************!*\ !*** external ["elementorVendors","reactRedux"] ***! \**************************************************/ /***/ (function(module) { module.exports = window["elementorVendors"]["reactRedux"]; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. !function() { /*!***************************************************!*\ !*** ./packages/packages/libs/store/src/index.ts ***! \***************************************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __StoreProvider: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.Provider; }, /* harmony export */ __addMiddleware: function() { return /* binding */ addMiddleware; }, /* harmony export */ __createAction: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAction; }, /* harmony export */ __createAsyncThunk: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk; }, /* harmony export */ __createSelector: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector; }, /* harmony export */ __createSlice: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice; }, /* harmony export */ __createStore: function() { return /* binding */ createStore; }, /* harmony export */ __deleteStore: function() { return /* binding */ deleteStore; }, /* harmony export */ __dispatch: function() { return /* binding */ dispatch; }, /* harmony export */ __getState: function() { return /* binding */ getState; }, /* harmony export */ __getStore: function() { return /* binding */ getStore; }, /* harmony export */ __registerSlice: function() { return /* binding */ registerSlice; }, /* harmony export */ __subscribe: function() { return /* binding */ subscribe; }, /* harmony export */ __subscribeWithSelector: function() { return /* binding */ subscribeWithSelector; }, /* harmony export */ __useDispatch: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch; }, /* harmony export */ __useSelector: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector; } /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "@reduxjs/toolkit"); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__); /** * Usage: * * const mySlice = addSlice( ... ); * * type MySliceState = SliceState; * * const value = useSelector( ( state: MySliceState ) => state.mySlice.value ); */ // The `configureStore` function from Redux Toolkit infers its actions from the `reducers` // key of the initialization object. This is fine when creating the store statically, but // breaks in our case since we create the store dynamically, which means that TypeScript // can't infer the types. Therefore, we force the store to accept any actions using a // generic store type. // eslint-disable-next-line @typescript-eslint/no-explicit-any let instance = null; let slices = {}; const pendingActions = []; const middlewares = new Set(); const getReducers = () => { const reducers = Object.entries(slices).reduce((reducersData, [name, slice]) => { reducersData[name] = slice.reducer; return reducersData; }, {}); return (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducers); }; function registerSlice(slice) { if (slices[slice.name]) { throw new Error(`Slice with name "${slice.name}" already exists.`); } slices[slice.name] = slice; } const addMiddleware = middleware => { middlewares.add(middleware); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore` const dispatch = action => { if (!instance) { pendingActions.push(action); return; } return instance.dispatch(action); }; const getState = () => { if (!instance) { throw new Error('The store instance does not exist.'); } return instance.getState(); }; const subscribe = listener => { if (!instance) { throw new Error('The store instance does not exist.'); } return instance.subscribe(listener); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any const subscribeWithSelector = (selector, listener) => { let prevState = selector(getState()); return subscribe(() => { const nextState = selector(getState()); if (prevState === nextState) { return; } prevState = nextState; listener(nextState); }); }; const createStore = () => { if (instance) { throw new Error('The store instance already exists.'); } instance = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.configureStore)({ reducer: getReducers(), middleware: getDefaultMiddleware => { return [...getDefaultMiddleware(), ...Array.from(middlewares)]; } }); if (pendingActions.length) { pendingActions.forEach(action => dispatch(action)); pendingActions.length = 0; } return instance; }; const getStore = () => { return instance; }; const deleteStore = () => { instance = null; slices = {}; pendingActions.length = 0; middlewares.clear(); }; }(); (window.elementorV2 = window.elementorV2 || {}).store = __webpack_exports__; /******/ })() ; window.elementorV2.store?.init?.(); //# sourceMappingURL=store.js.mapPremium How to Remove Parquet Flooring? A Detailed Guide -
No Comments

How to Remove Parquet Flooring? A Detailed Guide

Remove Parquet Flooring

Parquet flooring is a luxury wooden flooring that creates an element of prestige and coziness in any place. While replacing or removing the tiles, you will need to take extreme care to Remove Parquet Flooring, as this process can cause damage to the subfloor. The removal often requires special applications and tools in case of plywood and concrete subfloors. In the guide below, you are going to learn about the steps and methods for removing the parquet floors safely.

Why remove parquet flooring?

Parquet flooring comes in small wood pieces; however, it may need removal or replacement because of the following possible reasons.

  • Water damage or warping
  • Loose or lifting tiles
  • Outdated style
  • Subfloor repairs or replacements
  • Installation of new flooring

Tools and Materials Needed

While parquet removal process, you will need some tools and gadgets. With these tools and safety equipment, you can handle the removal safely and efficiently. To start this removal process, get the following tools:

  • An adhesive remover to loosen the flooring from the subfloor.
  • Use gloves, knee pads, and safety glasses for your safety.
  • Keep a variety of scrapers and heat fun to adhere plywood and concrete subfloors.
  • Use a floor buffer with a scraper to remove tougher adhesives effectively.

Step-by-Step Guide for Removing Parquet Flooring

  • Prepare the Site or Work Area

Before removing your flooring, make sure you have removed all your furniture and obstacles from the floor. Make a clean and open working space to execute a seamless parquet removal.

Put on your safety gear, like gloves, goggles, and a dust mask. This process of parquet removal may create a lot of splinters, dust, and sometimes fumes.

  • Identify the Type of Installation

Remove Parquet flooring is usually done in three ways

  • Gluedown: Wood tiles are glued directly to subfloors.
  • Nail down: Tiles are nailed to a wooden subfloor.
  • Floating: Tiles are attached, not the floor beneath.
  • Start at a Corner

Start the removal process from a corner or a loose tile. Use a pry bar or a chisel under a tile edge and tap in gently with a hammer. Try to lift it without breaking it. If these tiles are glued down, you will need more force and heat.

On the other hand, floating tiles may come up easily. At the same time, glued floors offer much resistance to removal.

  • Use Heat for Glued-Down Floors

Glued-down floors make parquet removal difficult because of strong bonding. To loosen the adhesive, you should use a heat gun or a hair dryer to warm up the tile for one minute. After giving heat to the flooring, try prying it again. Try again and again until the heat softens the glue and makes removal easier.

  • Scrape off Residue

Once you have removed the tiles, you will see adhesive stuck to the floor. This needs to be removed, especially if you want to install new flooring.

Use a floor scraper or oscillating multi-tool with a scraping blade. For stubborn glue, apply a floor adhesive remover and scrape the floor again.

  • Clean and smooth the Subfloor

After the glue removal, use a sander or hand sandpaper to smooth the surface. Check for any nails or damage to the subfloor, and repair them as per requirements. 

Vacuum and wipe down all the mess and debris from the subfloor. A clean subfloor is crucial before installing new floors.

Tips to Ensure Easier Parquet Removal

Work in sections

Divide the flooring into sections to make the task feel easier and manageable.

Label tiles

If you are going to use tiles again, mark them in a specific order or pattern.

Use leverage wisely

Don’t yank tiles too forcefully, because this can damage the subfloor and may hurt you.

Watch for Asbestos

Older parquet floor adhesive may contain asbestos. If you suspect your floors contain asbestos, stop DIY removal and seek professional help.

What to Do After Removing Parquet Flooring?

Once you have removed the parquet from your subfloors, you are now ready to install new flooring.

You can consider these types of flooring after parquet flooring removal:

Ensure the floor levelness and moisture before proceeding to new flooring.

When to Seek Professional Help?

  • Remove Parquet Flooring is a DIY project, but you can hire a professional if,
  • The area is more than one room
  • The floor is glued with industrial adhesive
  • If tiles are nailed and difficult to remove.
  • You discover mould, asbestos, and subfloor damage.

Professionals have the related tools and experience that help them execute the removal process more seamlessly.

Conclusion

Remove Parquet Flooring is a time and effort-taking project. Although it is a DIY project but sometimes you may need professional help while removing parquet floors. This task is doable if you have the right tools and approach. The above-discussed steps can help you remove these floors using heat and scraping. You can even remove stubborn glued-down tiles and prepare your floor for a new installation.

Consider Parquet Flooring Dubai’s services and expertise for styling and installing new floors. Our team provides expert old flooring removal without damaging your old floors.

You might also like