Usuwanie polskich znaków — Value Converter w Aurelii

W AmazingCMS często zdarza się potrzeba stworzenia ciągu znaku pozbawionego nie tylko znaków specjalnych, ale i wszystkich polskich znaków.

Aurelia na szczęście jest wyposażona w narzędzie zwane ValueConverter służące do konwersji wartości pomiędzy View a ViewModelem “w locie”.

Klasa konwertera wartości oferuje dwie metody do nadpisania — fromView oraz toView .

Jak same nazwy wskazują będziemy w nich decydować w jaki sposób wartość jest przekształcana podczas dostarczania do oraz z widoku do ViewModelu.

// do-nothing.js
export class DoNothingValueConverter {
toView(value) {
return value;
}
fromView(value) {
return value;
}
}

Powyższy przykład nie robi nic — zwraca te same wartości :)

By użyć ValueConverter’a w kodzie wystarczy dołączyć go za pomocą require i użyć wraz ze zmienną, którą chcemy konwertować:

<template>
<require from="./do-nothing"></require>
${someValue | doNothing}
</template>

Do rozwiązania tytułowego problemu możemy użyć właśnie ValueConverter’a oraz znalezionej na Stack Overflow funkcji do mapowania znaków:

// remove-diacritics.js
export class RemoveD
iacriticsValueConverter {
fromView(value) {
return this.removeD
iacritics(value);
}
  removeDiacritics(str){
<function form stackoverflow.com>
}
}
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.