cancel
Showing results for 
Search instead for 
Did you mean: 

How to use web components in WebIQ

How to use web components in WebIQ

IAN_
New Poster

Hello everyone, I apologize in advance since I am not a web developer and I am struggling with this.

I want to use the Open Bridge web components, I tried the ones already provided by SmartHMI but I want to use the new ones from Open Bridge 5.0 . I followed the instructions on the Open Bridge github but when applying that to WebIQ it gives me errors with the Import

Uncaught SyntaxError: Cannot use import statement outside a module

How am I supposed to use this kind of web components in WebIQ? Is it just not possible or do I have to manually adapt the components as it is shown in the "lib-openbridge" and other examples given by SmartHMI?

Thank you for your help.

 

4 REPLIES 4

webiq-sk
Frequent Contributor

 

This explains the error and possible solution: https://stackoverflow.com/a/78176180

If I were you I'd check if there is a non-module version of OpenBridge and use that - the one we used is not a module: https://demo.smart-hmi.com/openbridge/js/custom-libs/openbridge.js

 

How can I add the type="module" to a local script?

webiq-sk
Frequent Contributor

If I were you I'd check if there is a non-module version of OpenBridge and use that - the one we used is not a module: https://demo.smart-hmi.com/openbridge/js/custom-libs/openbridge.js

Did you check that such a version does *not* exist? If it is, it's very easy.

Otherwise it's currently more complicated.

AndreasL
New Contributor

You can transform the original module based javascript to plain javascript using a bundler.

For instance using rollup and rollup.config.js

export default {
	input: 'src/main.js',
	output: {
		file: 'dist/bundle.js',
		format: 'iife'
	}
};

The resulting bundle.js will be a vanilla javascript file without any external dependencies. 

 

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist