abstractTempoExpression.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import {PlacementEnum} from "./abstractExpression";
  2. import {MultiTempoExpression} from "./multiTempoExpression";
  3. export class AbstractTempoExpression {
  4. protected label: string;
  5. protected placement: PlacementEnum;
  6. protected staffNumber: number;
  7. protected parentMultiTempoExpression: MultiTempoExpression;
  8. public get Label(): string {
  9. return this.label;
  10. }
  11. public set Label(value: string) {
  12. this.label = value;
  13. }
  14. public get Placement(): PlacementEnum {
  15. return this.placement;
  16. }
  17. public set Placement(value: PlacementEnum) {
  18. this.placement = value;
  19. }
  20. public get StaffNumber(): number {
  21. return this.staffNumber;
  22. }
  23. public set StaffNumber(value: number) {
  24. this.staffNumber = value;
  25. }
  26. public get ParentMultiTempoExpression(): MultiTempoExpression {
  27. return this.parentMultiTempoExpression;
  28. }
  29. protected static isStringInStringList(wordsToFind: Array<string>, inputString: string): boolean {
  30. for (var idx: number = 0, len = wordsToFind.length; idx < len; ++idx) {
  31. var wordToFind: string = wordsToFind[idx];
  32. if (AbstractTempoExpression.stringContainsSeparatedWord(inputString.toLowerCase().Trim(), wordToFind.toLowerCase().Trim()))
  33. return true;
  34. }
  35. return false;
  36. }
  37. private static stringContainsSeparatedWord(str: string, word: string): boolean {
  38. if (str == word || str.Contains(" " + word) || str.Contains(word + " "))
  39. return true;
  40. return false;
  41. }
  42. }