Switching Angular Services at Runtime
A while ago I've already written a blogpost on how to inject a different Angular service implementation based on a runtime value. With that approach, the selected service was initialized at startup and...
View ArticleMock Fetch in TypeScript Jest Tests for Vue.js
When creating my first Vue.js project I configured it for TypeScript support and Jest based unit testing. This might not be the most common setup but it does express my tooling preferences. To no...
View ArticleSlides and Code from NT Conference 2019
Yesterday the NT Conference 2019 concluded in Portorož. This year I had three sessions there. On Tuesday, I talked about the new language features in C# 8 which is already in preview and is planned for...
View ArticleFolder Picker in a Hippo CMS Component
Hippo CMS has built-in support for configuring components through auto-generated dialogs in the Channel Editor. These can easily be defined by using annotations in the component's ParametersInfo...
View ArticleGenerate URLs for Internal Links in Hippo
Hippo CMS treats internal links differently from external ones. Even when they are a part of an HTML field in a content document, they are stored as a reference to the referred content document and not...
View ArticleUsing a War Dependency in Maven
To take full advantage of TypeScript in the Vue.js-based Hippo CMS-hosted SPA I'm working on, I configured the typescript-generator-maven-plugin to generate TypeScript interfaces for Java classes used...
View ArticleInstalling Large Microsoft Store Apps for All Users
Even if you're not a fan of Microsoft Store, you might still be forced to use it for games which are exclusively available from there. Some of these games are rather large. This can be a problem...
View ArticleReturning Results from Alerts in Ionic 4
Last year I wrote a blog post about making code for displaying alerts reusable and testable by wrapping it into a function which returns the user's response as a promise. The sample was written in...
View ArticleAngular Directive for a Specific Component
Some Angular directives only make sense when they are applied to a specific Angular component. For example, the host component might be injected in the directive constructor so that directive code can...
View ArticleChange Method Signature in TypeScript Subclass
JavaScript prototype inheritance offers much greater flexibility than regular inheritance in object-oriented programming. For example, when extending a class, it allows you to change the method...
View ArticleInspecting Angular Apps from Browser Console
Many JavaScript developers are used to inspecting the web page and the state of JavaScript variables using the browser developer tools. The browser console window can even be used for executing...
View ArticleCamel Humps Navigation in VS Code
If you've ever used a JetBrains IDE like IntelliJ IDEA, WebStorm or Rider you might have noticed the CamelHumps option for keyboard navigation which allows you to jump by word in a camel-cased...
View ArticleCompiling and Executing Code in a C# App
Since the release of Roslyn, the complete C# compiler pipeline is available as a NuGet package and we can include it in our own application. I was wondering how difficult it would be to use it to...
View ArticleDismiss Loader on Page Change in Ionic 4
In Ionic 3, there was an easy way to automatically dismiss a loading overlay when the navigation to a new page completed - you only had to set the dismissOnPageChange flag when creating the overlay:...
View ArticleDismissing All Loading Overlays in Ionic 4
In Ionic 4, the dismissAll method for closing all currently open loading overlays has been removed. This might not be such a bad idea since it could cause problems when used carelessly. Still, when...
View ArticleSwipeback Gesture Configuration in Ionic 4
Ionic has built-in support for navigating back using the swipe gesture. If you want to disable it for the whole application, you can pass a configuration option to IonicModule. The option has kept the...
View ArticleView Encapsulation After the Ionic 4 Upgrade
Angular supports several different modes of encapsulating styles in components so that styles from one component don't affect elements in other components. By default, Angular uses...
View ArticleMaking a Menu Work in Ionic 4
Creating a menu in Ionic 4 should be simple and the process seems to be well documented but I struggled with it longer than I should have. Therefore, I decided to share my findings for my future self...
View ArticleSlides and Code from My SLODUG Session
This Tuesday, the Slovenian Developers User Group organized the annual meetup with the highest-voted sessions from the NT conference. Unfortunately, the second speaker couldn't make it back to Slovenia...
View ArticleHyperlinks in Ionic Checkbox Labels
Including a hyperlink in a checkbox label is a common way to provide more information about the choice the user is making. Unfortunately, in Ionic such a hyperlink doesn't work out of the box because...
View Article