{"id":57,"date":"2025-01-15T09:11:40","date_gmt":"2025-01-15T09:11:40","guid":{"rendered":"https:\/\/imencogroup.com\/imenco-topside-hydraulics\/slug_solution\/magpro-products\/"},"modified":"2025-01-21T13:53:04","modified_gmt":"2025-01-21T13:53:04","slug":"magpro-products","status":"publish","type":"solution","link":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/","title":{"rendered":"Magpro Products"},"content":{"rendered":"\n<div class=\"imenco-block block-products-list has-background has-grey-background-color\">\n    <section id=\"block_df41aa3b7251ae11f956c551a1eb55cb\" class=\"products-list  products-list--move-up\">\n                <div v-scope @vue:mounted=\"mounted\" class=\"products-list__inner\">\n\n                        <div class=\"imenco-filters\">\n                <div class=\"imenco-filters__container\">\n                    <!-- Solutions -->\n                                        <!-- Product categories -->\n                                        <div>\n                        <label class=\"\" for=\"productCategory\">Product types<\/label>\n                        <select @change=\"fadeInOut(); getProductCategoryId($event.target.value); updateResultsHeadingProductCategory($event.target.value);\" class=\"\" v-model=\"filterByProductCategoryId\" name=\"productCategory\">\n                            <option :value=\"null\">Select product category<\/option>\n                            <option v-for=\"productCategory in productCategoriesList\" :value=\"productCategory.id\" v-html=\"productCategory.title\"><\/option>\n                            <\/select>\n                        <\/div>\n                                        <!-- Product markets -->\n                                        <!-- Search -->\n                    <div>\n                        <label class=\"\" for=\"name\">Search<\/label>\n                        <input placeholder=\"Search here\" class=\"\" type=\"text\" v-model=\"filterBySearchText\" name=\"name\">\n                    <\/div>\n                    \n                <\/div>\n            <\/div>\n            \n            \n                        \n            <div class=\"products-list__container\" :class=\"listClasses\">\n                                <div class=\"products-list__title\">\n                    <h2 v-html=\"resultsHeading\"><\/h2>\n                <\/div>\n                                \n                                <div class=\"products-list__notification\" v-if=\"!filteredList.length\">\n                    No products found. Try a different search.                <\/div>\n                <div class=\"product\" itemscope itemtype=\"https:\/\/schema.org\/Person\" v-for=\"item in filteredList\">\n                    <div class=\"product__image cover\" itemprop=\"image\" v-html=\"item.image\"><\/div>\n                    <div class=\"product__content\">\n                        <div class=\"product__content__name\">\n                            <a :href=\"item.permalink\">\n                                <h3 itemprop=\"name\" v-html=\"item.name\"><\/h3>\n                                <span class=\"link-inset\"><\/span>\n                            <\/a>\n                        <\/div>\n                        <div class=\"product__content__excerpt\">\n                            <p v-html=\"item.excerpt\"><\/p>\n                        <\/div>\n\n                        <div class=\"product__content__buttons\">\n                            <div class=\"imenco-buttons size-normal\">\n                                <a :href=\"item.permalink\" class=\"imenco-buttons__button imenco-buttons__button--primary animate-icon\">\n                                    <span class=\"title\">Read more<\/span>\n                                    <span class=\"icon\"><svg width=\"22\" height=\"17\" viewBox=\"0 0 22 17\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M12.9517 1.51611L20.4189 8.71661M20.4189 8.71661L12.9517 15.9171M20.4189 8.71661L1.21753 8.71661\" stroke=\"#F2F2F2\" stroke-width=\"1.35797\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n<\/span>\n                                <\/a>\n                                                                    <a href=\"#\" class=\"imenco-buttons__button imenco-buttons__button--ghost add-to-list\" :data-id=\"item.id\">\n                                        <span class=\"title\">Add to list<\/span>\n                                        <span class=\"icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n    <g id=\"plus-circle-primary\">\n        <path id=\"Icon\"\n            d=\"M13.9629 10.3035V13.6658M13.9629 13.6658V17.0281M13.9629 13.6658H17.3252M13.9629 13.6658H10.6006M24.0498 13.6658C24.0498 19.2366 19.5337 23.7527 13.9629 23.7527C8.39203 23.7527 3.87598 19.2366 3.87598 13.6658C3.87598 8.09491 8.39203 3.57886 13.9629 3.57886C19.5337 3.57886 24.0498 8.09491 24.0498 13.6658Z\"\n            stroke=\"#032B3A\" stroke-width=\"1.68115\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n    <\/g>\n<\/svg><\/span>\n                                    <\/a>\n                                                            <\/div>\n                        <\/div>\n                        \n                    \n                    <\/div>\n                <\/div>     \n\n            <\/div>\n\n            <!-- Load more button -->\n            <div class=\"products-list__load-more-button\" v-if=\"remainingProducts.length\">\n                <div class=\"imenco-buttons size-normal\">\n                    <a @click=\"loadMoreProducts($event);\" href=\"\" class=\"imenco-buttons__button imenco-buttons__button--primary-outline load-more-products\">\n                        Load more                    <\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n            <\/section>\n<\/div>\n\n<script type=\"module\">\nimport { createApp } from 'https:\/\/unpkg.com\/petite-vue@0.4.1\/dist\/petite-vue.es.js';\n\ncreateApp({\n\tcount: 0,\n    maxAmount: \"9\",\n    loadAmount: \"9\",\n    resultsHeading: \"All products\",\n    cameraCategoryId: 743,\n    lightCategoryId: 747,\n\tfilterBySolutionId: null,\n    filterByProductCategoryId: null,\n    filterByProductMarketId: null,\n\tfilterBySearchText: null,\n    filterByCameraOutput: null,\n    filterByCameraResolution: null,\n    filterByCameraOpticalZoom: null,\n    filterByCameraDepth: null,\n    filterByCameraFovDiag: null,\n    filterByCameraDiaWidth: null,\n    filterByCameraLength: null,\n    filterByCameraPower: null,\n    filterByLightPower: null,\n    loadingMore: false,\n    selectedSolutionId: null,\n    selectedProductCategoryId: null,\n    selectedProductMarketId: null,\n    selectedSolutionTitle: null,\n    selectedProductCategoryTitle: null,\n    selectedProductMarketTitle: null,\n\tproductsList: [],\n\tresultList: null,\n    filteredProducts: [],\n    remainingProducts: [],\n\tsolutionsList: [],\n    productCategoriesList: [],\n    productMarketsList: [],\n    cameraOutputNamesList: [],\n    cameraResolutionNamesList: [],\n    cameraOpticalZoomNamesList: [],\n    cameraDepthNamesList: [],\n    cameraFovDiagNamesList: [],\n    cameraDiaWidthNamesList: [],\n    cameraLengthNamesList: [],\n    cameraPowerNamesList: [],\n    lightPowerNamesList: [],\n\tlistClasses: '',\n    methods: {\n        uniqueResults(results) {\n            let a = results.concat();\n            for(let i=0; i<a.length; ++i) {\n                for(let j=i+1; j<a.length; ++j) {\n                    if(a[i] === a[j])\n                        a.splice(j--, 1);\n                }\n            }\n\n            return a;\n        }\n    },\n\t\n\tget filteredList() {\n\t\tlet products = this.productsList;\n        let productNameResults = [];\n        let productExcerptResults = [];\n        let productContentResults = [];\n\n\t\tif (this.filterBySolutionId) {\n\t\t\tproducts = products.filter(product => {\n\t\t\t\treturn product.solutions.includes(this.filterBySolutionId);\n\t\t\t});\n\t\t}\n\n        if (this.filterByProductCategoryId) {\n            products = products.filter(product => {\n                return product.productCategories.includes(parseInt(this.filterByProductCategoryId));\n            });\n        }\n\n        if (this.filterByProductMarketId) {\n            products = products.filter(product => {\n                return product.productMarkets.includes(parseInt(this.filterByProductMarketId));\n            });\n        }\n\n\t\tif (this.filterBySearchText) {\n\t\t\tproductNameResults = products.filter(product => {\n\t\t\t\treturn product.name.toLowerCase().includes(this.filterBySearchText.toLowerCase())\n\t\t\t});\n            productExcerptResults = products.filter(product => {\n                return product.excerpt.toLowerCase().includes(this.filterBySearchText.toLowerCase())\n            });\n            productContentResults = products.filter(product => {\n                return product.search_content.toLowerCase().includes(this.filterBySearchText.toLowerCase())\n            });\n\n            products = this.methods.uniqueResults([...productNameResults, ...productExcerptResults, ...productContentResults]);\n\t\t}\n\n        if (this.filterByCameraOutput && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraOutput === this.filterByCameraOutput;\n            });\n        }\n\n        if (this.filterByCameraResolution && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraResolution === this.filterByCameraResolution;\n            });\n        }\n\n        if (this.filterByCameraOpticalZoom && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraOpticalZoom === this.filterByCameraOpticalZoom;\n            });\n        }\n\n        if (this.filterByCameraDepth && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraDepth === this.filterByCameraDepth;\n            });\n        }\n\n        if (this.filterByCameraFovDiag && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraFovDiag === this.filterByCameraFovDiag;\n            });\n        }\n\n        if (this.filterByCameraDiaWidth && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraDiaWidth === this.filterByCameraDiaWidth;\n            });\n        }\n\n        if (this.filterByCameraLength && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraLength === this.filterByCameraLength;\n            });\n        }\n\n        if (this.filterByCameraPower && (this.selectedProductCategoryId == this.cameraCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.cameraPower === this.filterByCameraPower;\n            });\n        }\n\n        if (this.filterByLightPower && (this.selectedProductCategoryId == this.lightCategoryId || this.selectedProductCategoryId == 'null' || !this.selectedProductCategoryId)) {\n            products = products.filter(product => {\n                return product.lightPower === this.filterByLightPower;\n            });\n        }\n\n\t\tthis.resultList = products;\n\n        this.filteredProducts = [...products];\n        this.remainingProducts = this.filteredProducts.splice(this.maxAmount);       \n\n\t\treturn this.filteredProducts;\n\t},\n\n    loadMoreProducts(e) {\n        e.preventDefault();\n\n        const loadedArticlesAmount = this.filteredProducts.length;\n\n        this.maxAmount = parseInt(loadedArticlesAmount) + parseInt(this.loadAmount);\n    },\n\n\tmounted() {\n\n\t},\n\n\tfadeInOut() {\n\t\tthis.listClasses = 'fadeOut';\n\n\t\tsetTimeout(() => {\n\t\t\tthis.listClasses = '';\n\t\t}, 200);\n\t},\n\n\tgetSolutionId(selectedSolutionId) {\n\t\tthis.selectedSolutionId = selectedSolutionId;\n\t},\n\n    updateResultsHeading() {\n        if (this.selectedSolutionTitle && this.selectedProductCategoryTitle) {\n            this.resultsHeading = this.selectedSolutionTitle + ', ' + this.selectedProductCategoryTitle;\n        } else if (this.selectedSolutionTitle && !this.selectedProductCategoryTitle) {\n            this.resultsHeading = this.selectedSolutionTitle;\n        } else if (this.selectedProductCategoryTitle) {\n            this.resultsHeading = this.selectedProductCategoryTitle;\n        } else if (this.selectedProductMarketTitle) {\n            this.resultsHeading = this.selectedProductMarketTitle;\n        } else {\n            this.resultsHeading = \"All products\";\n        }\n\n        if ((this.selectedProductMarketTitle && this.selectedSolutionTitle) || (this.selectedProductMarketTitle && this.selectedProductCategoryTitle)) {\n            this.resultsHeading += ', ' + this.selectedProductMarketTitle;\n        }\n\n    },\n\n    updateResultsHeadingSolution(selectedId) {\n       const selectedSolution = this.solutionsList.filter(solution => solution.id == selectedId);\n       if (selectedSolution.length > 0) {\n            this.selectedSolutionTitle = selectedSolution[0].title;\n       } else {\n            this.selectedSolutionTitle = null;\n       }\n\n         this.updateResultsHeading();\n    },\n\n    updateResultsHeadingProductCategory(selectedId) {\n        const selectedProductCategory = this.productCategoriesList.filter(productCategory => productCategory.id == selectedId);\n        if (selectedProductCategory.length > 0) {\n            this.selectedProductCategoryTitle = selectedProductCategory[0].title;\n        } else {\n            this.selectedProductCategoryTitle = null;\n        }\n\n        this.updateResultsHeading();\n    },\n\n    updateResultsHeadingProductMarket(selectedId) {\n        const selectedProductMarket = this.productMarketsList.filter(productMarket => productMarket.id == selectedId);\n        if (selectedProductMarket.length > 0) {\n            this.selectedProductMarketTitle = selectedProductMarket[0].title;\n        } else {\n            this.selectedProductMarketTitle = null;\n        }\n\n        this.updateResultsHeading();\n    },\n\n    getProductCategoryId(selectedProductCategoryId) {\n        this.selectedProductCategoryId = selectedProductCategoryId;\n    },\n\n    getProductMarketId(selectedProductMarketId) {\n        this.selectedProductMarketId = selectedProductMarketId;\n    },\n\n\tproductVisible(id) {\n\t\treturn this.filteredList.find(product => product.id === id);\n\t}\n}).mount('#block_df41aa3b7251ae11f956c551a1eb55cb');\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Product types Select product category Search . No products found. Try a different search. . Read more Add to list Load more<\/p>\n","protected":false},"featured_media":0,"parent":0,"menu_order":1,"template":"","meta":{"_acf_changed":true,"footnotes":""},"class_list":["post-57","solution","type-solution","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Magpro Products - Imenco Topside &amp; Hydraulics<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Magpro Products - Imenco Topside &amp; Hydraulics\" \/>\n<meta property=\"og:description\" content=\"Product types Select product category Search . No products found. Try a different search. . Read more Add to list Load more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/\" \/>\n<meta property=\"og:site_name\" content=\"Imenco Topside &amp; Hydraulics\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-21T13:53:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imenco.com\/topside-hydraulics\/wp-content\/uploads\/sites\/10\/2025\/01\/platform-scaled.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1706\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/solution\\\/magpro-products\\\/\",\"url\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/solution\\\/magpro-products\\\/\",\"name\":\"Magpro Products - Imenco Topside &amp; Hydraulics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/#website\"},\"datePublished\":\"2025-01-15T09:11:40+00:00\",\"dateModified\":\"2025-01-21T13:53:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/solution\\\/magpro-products\\\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/solution\\\/magpro-products\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/solution\\\/magpro-products\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Magpro Products\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/#website\",\"url\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/\",\"name\":\"Imenco Topside &amp; Hydraulics\",\"description\":\"Topside and Hydraulic systems\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imenco.com\\\/topside-hydraulics\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nb-NO\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Magpro Products - Imenco Topside &amp; Hydraulics","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/","og_locale":"nb_NO","og_type":"article","og_title":"Magpro Products - Imenco Topside &amp; Hydraulics","og_description":"Product types Select product category Search . No products found. Try a different search. . Read more Add to list Load more","og_url":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/","og_site_name":"Imenco Topside &amp; Hydraulics","article_modified_time":"2025-01-21T13:53:04+00:00","og_image":[{"width":2560,"height":1706,"url":"https:\/\/imenco.com\/topside-hydraulics\/wp-content\/uploads\/sites\/10\/2025\/01\/platform-scaled.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/","url":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/","name":"Magpro Products - Imenco Topside &amp; Hydraulics","isPartOf":{"@id":"https:\/\/imenco.com\/topside-hydraulics\/#website"},"datePublished":"2025-01-15T09:11:40+00:00","dateModified":"2025-01-21T13:53:04+00:00","breadcrumb":{"@id":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/imenco.com\/topside-hydraulics\/solution\/magpro-products\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/imenco.com\/topside-hydraulics\/"},{"@type":"ListItem","position":2,"name":"Magpro Products"}]},{"@type":"WebSite","@id":"https:\/\/imenco.com\/topside-hydraulics\/#website","url":"https:\/\/imenco.com\/topside-hydraulics\/","name":"Imenco Topside &amp; Hydraulics","description":"Topside and Hydraulic systems","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imenco.com\/topside-hydraulics\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nb-NO"}]}},"lang":"en","translations":{"en":57},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/imenco.com\/topside-hydraulics\/wp-json\/wp\/v2\/solution\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imenco.com\/topside-hydraulics\/wp-json\/wp\/v2\/solution"}],"about":[{"href":"https:\/\/imenco.com\/topside-hydraulics\/wp-json\/wp\/v2\/types\/solution"}],"version-history":[{"count":0,"href":"https:\/\/imenco.com\/topside-hydraulics\/wp-json\/wp\/v2\/solution\/57\/revisions"}],"wp:attachment":[{"href":"https:\/\/imenco.com\/topside-hydraulics\/wp-json\/wp\/v2\/media?parent=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}