Chore: move function to serverUtil
- capitalizeAndInsertSpacesBeforeCapsWithAPrefix() defined in two places, unified and moved to endorserServer.ts - Use capitalizeAndInsertSpacesBeforeCaps() that's already defined in endorserServer.ts
This commit is contained in:
@@ -1140,6 +1140,28 @@ export const capitalizeAndInsertSpacesBeforeCaps = (text: string) => {
|
|||||||
: text[0].toUpperCase() + text.substr(1).replace(/([A-Z])/g, " $1");
|
: text[0].toUpperCase() + text.substr(1).replace(/([A-Z])/g, " $1");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats type string for display by adding spaces before capitals
|
||||||
|
* and optionally adds an appropriate article prefix (a/an)
|
||||||
|
*
|
||||||
|
* @param text - Text to format
|
||||||
|
* @returns Formatted string with article prefix
|
||||||
|
*/
|
||||||
|
export const capitalizeAndInsertSpacesBeforeCapsWithAPrefix = (
|
||||||
|
text: string,
|
||||||
|
): string => {
|
||||||
|
const word = capitalizeAndInsertSpacesBeforeCaps(text);
|
||||||
|
if (word) {
|
||||||
|
// if the word starts with a vowel, use "an" instead of "a"
|
||||||
|
const firstLetter = word[0].toLowerCase();
|
||||||
|
const vowels = ["a", "e", "i", "o", "u"];
|
||||||
|
const particle = vowels.includes(firstLetter) ? "an" : "a";
|
||||||
|
return particle + " " + word;
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
return readable summary of claim, or something generic
|
return readable summary of claim, or something generic
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
<div class="flex columns-3">
|
<div class="flex columns-3">
|
||||||
<h2 class="text-md font-bold w-full">
|
<h2 class="text-md font-bold w-full">
|
||||||
{{
|
{{
|
||||||
capitalizeAndInsertSpacesBeforeCaps(veriClaim.claimType || "")
|
serverUtil.capitalizeAndInsertSpacesBeforeCaps(
|
||||||
|
veriClaim.claimType || "",
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
<button
|
<button
|
||||||
v-if="canEditClaim"
|
v-if="canEditClaim"
|
||||||
@@ -137,7 +139,7 @@
|
|||||||
>
|
>
|
||||||
This fulfills
|
This fulfills
|
||||||
{{
|
{{
|
||||||
capitalizeAndInsertSpacesBeforeCapsWithAPrefix(
|
serverUtil.capitalizeAndInsertSpacesBeforeCapsWithAPrefix(
|
||||||
detailsForGiveOfferFulfillment.offerType || "Offer",
|
detailsForGiveOfferFulfillment.offerType || "Offer",
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
@@ -811,34 +813,6 @@ export default class ClaimView extends Vue {
|
|||||||
this.canShare = !!navigator.share;
|
this.canShare = !!navigator.share;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats type string for display by adding spaces before capitals
|
|
||||||
* Optionally adds a prefix
|
|
||||||
*
|
|
||||||
* @param text - Text to format
|
|
||||||
* @param prefix - Optional prefix to add
|
|
||||||
* @returns Formatted string
|
|
||||||
*/
|
|
||||||
capitalizeAndInsertSpacesBeforeCapsWithAPrefix(text: string): string {
|
|
||||||
const word = this.capitalizeAndInsertSpacesBeforeCaps(text);
|
|
||||||
if (word) {
|
|
||||||
// if the word starts with a vowel, use "an" instead of "a"
|
|
||||||
const firstLetter = word[0].toLowerCase();
|
|
||||||
const vowels = ["a", "e", "i", "o", "u"];
|
|
||||||
const particle = vowels.includes(firstLetter) ? "an" : "a";
|
|
||||||
return particle + " " + word;
|
|
||||||
} else {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// insert a space before any capital letters except the initial letter
|
|
||||||
// (and capitalize initial letter, just in case)
|
|
||||||
capitalizeAndInsertSpacesBeforeCaps(text: string): string {
|
|
||||||
if (!text) return "";
|
|
||||||
return text[0].toUpperCase() + text.substr(1).replace(/([A-Z])/g, " $1");
|
|
||||||
}
|
|
||||||
|
|
||||||
totalConfirmers() {
|
totalConfirmers() {
|
||||||
return (
|
return (
|
||||||
this.numConfsNotVisible +
|
this.numConfsNotVisible +
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
>
|
>
|
||||||
This fulfills
|
This fulfills
|
||||||
{{
|
{{
|
||||||
capitalizeAndInsertSpacesBeforeCapsWithAPrefix(
|
serverUtil.capitalizeAndInsertSpacesBeforeCapsWithAPrefix(
|
||||||
giveDetailsOfferFulfillment.offerType || "Offer",
|
giveDetailsOfferFulfillment.offerType || "Offer",
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
@@ -883,27 +883,6 @@ export default class ConfirmGiftView extends Vue {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats type string for display by adding spaces before capitals
|
|
||||||
* Optionally adds a prefix
|
|
||||||
*
|
|
||||||
* @param text - Text to format
|
|
||||||
* @param prefix - Optional prefix to add
|
|
||||||
* @returns Formatted string
|
|
||||||
*/
|
|
||||||
capitalizeAndInsertSpacesBeforeCapsWithAPrefix(text: string): string {
|
|
||||||
const word = this.capitalizeAndInsertSpacesBeforeCaps(text);
|
|
||||||
if (word) {
|
|
||||||
// if the word starts with a vowel, use "an" instead of "a"
|
|
||||||
const firstLetter = word[0].toLowerCase();
|
|
||||||
const vowels = ["a", "e", "i", "o", "u"];
|
|
||||||
const particle = vowels.includes(firstLetter) ? "an" : "a";
|
|
||||||
return particle + " " + word;
|
|
||||||
} else {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initiates sharing of claim information
|
* Initiates sharing of claim information
|
||||||
* Handles share functionality based on platform capabilities
|
* Handles share functionality based on platform capabilities
|
||||||
@@ -928,11 +907,5 @@ export default class ConfirmGiftView extends Vue {
|
|||||||
this.veriClaim = serverUtil.BLANK_GENERIC_SERVER_RECORD;
|
this.veriClaim = serverUtil.BLANK_GENERIC_SERVER_RECORD;
|
||||||
this.veriClaimDump = "";
|
this.veriClaimDump = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
capitalizeAndInsertSpacesBeforeCaps(text: string) {
|
|
||||||
return !text
|
|
||||||
? ""
|
|
||||||
: text[0].toUpperCase() + text.substr(1).replace(/([A-Z])/g, " $1");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user