@atlaskit/util-data-test 17.6.7 → 17.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/emoji/emoji-from-upload.js +4 -10
  3. package/dist/cjs/emoji/emoji-repository-usage-clear.js +0 -16
  4. package/dist/cjs/emoji/emoji-resource-usage-clear.js +0 -15
  5. package/dist/cjs/emoji/get-atlassian-emoji-data.js +0 -2
  6. package/dist/cjs/emoji/get-atlassian-emojis.js +0 -6
  7. package/dist/cjs/emoji/get-emoji-provider.js +5 -28
  8. package/dist/cjs/emoji/get-emoji-repository.js +0 -4
  9. package/dist/cjs/emoji/get-emoji-resource-standard-atlassian.js +0 -8
  10. package/dist/cjs/emoji/get-emoji-resource-usage-clear.js +0 -4
  11. package/dist/cjs/emoji/get-emoji-resource.js +0 -4
  12. package/dist/cjs/emoji/get-emojis.js +0 -12
  13. package/dist/cjs/emoji/get-site-emoji-data.js +0 -3
  14. package/dist/cjs/emoji/get-site-emojis.js +0 -5
  15. package/dist/cjs/emoji/get-standard-emoji-data.js +0 -2
  16. package/dist/cjs/emoji/get-standard-emojis.js +0 -6
  17. package/dist/cjs/emoji/mock-emoji-resource-factory.js +0 -5
  18. package/dist/cjs/emoji/mock-emoji-resource.js +2 -37
  19. package/dist/cjs/emoji/mock-non-uploading-emoji-resource-factory.js +0 -5
  20. package/dist/cjs/emoji/mock-non-uploading-emoji-resource.js +4 -46
  21. package/dist/cjs/emoji-test/emoji-samples.js +0 -24
  22. package/dist/cjs/emoji-test/expires-at.js +0 -2
  23. package/dist/cjs/emoji-test/filter-to-searchable.js +0 -2
  24. package/dist/cjs/emoji-test/get-non-uploading-emoji-resource.js +0 -4
  25. package/dist/cjs/emoji-test/get-test-atlassian-emojis.js +0 -3
  26. package/dist/cjs/emoji-test/get-test-atlassian-service-emojis.js +0 -3
  27. package/dist/cjs/emoji-test/get-test-emoji-repository.js +0 -4
  28. package/dist/cjs/emoji-test/get-test-emoji-resource-from-repository.js +0 -3
  29. package/dist/cjs/emoji-test/get-test-emoji-resource-non-uploading.js +0 -4
  30. package/dist/cjs/emoji-test/get-test-emoji-resource.js +0 -4
  31. package/dist/cjs/emoji-test/get-test-emojis.js +0 -8
  32. package/dist/cjs/emoji-test/get-test-image-emoji.js +0 -2
  33. package/dist/cjs/emoji-test/get-test-media-api-token.js +0 -5
  34. package/dist/cjs/emoji-test/get-test-searchable-emojis.js +0 -4
  35. package/dist/cjs/emoji-test/get-test-site-emoji-foo.js +0 -2
  36. package/dist/cjs/emoji-test/get-test-site-emoji-repository.js +0 -4
  37. package/dist/cjs/emoji-test/get-test-site-emoji-wtf.js +0 -2
  38. package/dist/cjs/emoji-test/get-test-site-emojis.js +0 -4
  39. package/dist/cjs/emoji-test/get-test-site-service-emojis.js +0 -4
  40. package/dist/cjs/emoji-test/get-test-sprite-emoji.js +0 -2
  41. package/dist/cjs/emoji-test/get-test-standard-emojis.js +0 -3
  42. package/dist/cjs/emoji-test/get-test-standard-service-emojis.js +0 -3
  43. package/dist/cjs/emoji-test/media-emoji.js +0 -8
  44. package/dist/cjs/emoji-test/media-service-emoji.js +0 -2
  45. package/dist/cjs/emoji-test/test-emoji-repository.js +0 -16
  46. package/dist/cjs/logger.js +1 -6
  47. package/dist/cjs/mention/create-mock-mention-name-resolver.js +2 -6
  48. package/dist/cjs/mention/mention-story-data.js +0 -5
  49. package/dist/cjs/mention/mention-test-data.js +0 -3
  50. package/dist/cjs/mention/mock-mention-name-client.js +0 -10
  51. package/dist/cjs/mention/mock-mention-resource-with-info-hints.js +2 -35
  52. package/dist/cjs/mention/mock-mention-resource.js +2 -39
  53. package/dist/cjs/mention/mock-presence-resource.js +2 -22
  54. package/dist/cjs/mention/presence-data.js +0 -4
  55. package/dist/cjs/mention/utils.js +0 -4
  56. package/dist/cjs/profilecard/get-mock-profilecard-client.js +4 -40
  57. package/dist/cjs/profilecard/profilecard-data.js +0 -5
  58. package/dist/cjs/profilecard/util.js +0 -7
  59. package/dist/cjs/slack-data/index.js +0 -3
  60. package/dist/cjs/slack-data/slack-conversations-data.js +0 -2
  61. package/dist/cjs/slack-data/slack-workspaces-data.js +0 -2
  62. package/dist/cjs/task-decision/mock-task-decision-resource.js +3 -34
  63. package/dist/cjs/task-decision/task-decision-story-data.js +0 -7
  64. package/dist/cjs/task-decision/utils.js +1 -8
  65. package/dist/cjs/user-picker/ChevronRight.js +4 -13
  66. package/dist/cjs/user-picker/index.js +0 -3
  67. package/dist/cjs/user-picker/user-picker-custom-data.js +0 -4
  68. package/dist/cjs/user-picker/user-picker-data.js +0 -3
  69. package/dist/cjs/user-picker/user-picker-team-data.js +0 -4
  70. package/dist/cjs/version.json +1 -1
  71. package/dist/es2019/emoji/emoji-repository-usage-clear.js +0 -2
  72. package/dist/es2019/emoji/emoji-resource-usage-clear.js +0 -2
  73. package/dist/es2019/emoji/get-atlassian-emojis.js +0 -1
  74. package/dist/es2019/emoji/get-emoji-provider.js +0 -2
  75. package/dist/es2019/emoji/get-emojis.js +2 -2
  76. package/dist/es2019/emoji/get-standard-emojis.js +0 -1
  77. package/dist/es2019/emoji/mock-emoji-resource-factory.js +0 -2
  78. package/dist/es2019/emoji/mock-emoji-resource.js +2 -18
  79. package/dist/es2019/emoji/mock-non-uploading-emoji-resource-factory.js +0 -2
  80. package/dist/es2019/emoji/mock-non-uploading-emoji-resource.js +0 -34
  81. package/dist/es2019/emoji-test/get-test-media-api-token.js +0 -1
  82. package/dist/es2019/emoji-test/media-emoji.js +2 -1
  83. package/dist/es2019/emoji-test/test-emoji-repository.js +0 -1
  84. package/dist/es2019/logger.js +1 -0
  85. package/dist/es2019/mention/create-mock-mention-name-resolver.js +2 -1
  86. package/dist/es2019/mention/mock-mention-name-client.js +0 -5
  87. package/dist/es2019/mention/mock-mention-resource-with-info-hints.js +2 -14
  88. package/dist/es2019/mention/mock-mention-resource.js +2 -23
  89. package/dist/es2019/mention/mock-presence-resource.js +2 -11
  90. package/dist/es2019/mention/utils.js +0 -1
  91. package/dist/es2019/profilecard/get-mock-profilecard-client.js +6 -13
  92. package/dist/es2019/profilecard/profilecard-data.js +0 -1
  93. package/dist/es2019/profilecard/util.js +0 -1
  94. package/dist/es2019/slack-data/slack-conversations-data.js +0 -1
  95. package/dist/es2019/slack-data/slack-workspaces-data.js +0 -1
  96. package/dist/es2019/task-decision/mock-task-decision-resource.js +4 -29
  97. package/dist/es2019/task-decision/task-decision-story-data.js +2 -1
  98. package/dist/es2019/task-decision/utils.js +0 -1
  99. package/dist/es2019/version.json +1 -1
  100. package/dist/esm/emoji/emoji-from-upload.js +4 -4
  101. package/dist/esm/emoji/emoji-repository-usage-clear.js +0 -8
  102. package/dist/esm/emoji/emoji-resource-usage-clear.js +0 -8
  103. package/dist/esm/emoji/get-atlassian-emojis.js +0 -1
  104. package/dist/esm/emoji/get-emoji-provider.js +5 -16
  105. package/dist/esm/emoji/get-emojis.js +0 -4
  106. package/dist/esm/emoji/get-standard-emojis.js +0 -1
  107. package/dist/esm/emoji/mock-emoji-resource-factory.js +0 -2
  108. package/dist/esm/emoji/mock-emoji-resource.js +2 -27
  109. package/dist/esm/emoji/mock-non-uploading-emoji-resource-factory.js +0 -2
  110. package/dist/esm/emoji/mock-non-uploading-emoji-resource.js +4 -38
  111. package/dist/esm/emoji-test/get-test-media-api-token.js +0 -1
  112. package/dist/esm/emoji-test/media-emoji.js +0 -3
  113. package/dist/esm/emoji-test/test-emoji-repository.js +0 -8
  114. package/dist/esm/logger.js +1 -2
  115. package/dist/esm/mention/create-mock-mention-name-resolver.js +2 -1
  116. package/dist/esm/mention/mock-mention-name-client.js +0 -4
  117. package/dist/esm/mention/mock-mention-resource-with-info-hints.js +2 -25
  118. package/dist/esm/mention/mock-mention-resource.js +2 -30
  119. package/dist/esm/mention/mock-presence-resource.js +2 -16
  120. package/dist/esm/mention/utils.js +0 -1
  121. package/dist/esm/profilecard/get-mock-profilecard-client.js +4 -29
  122. package/dist/esm/profilecard/profilecard-data.js +0 -1
  123. package/dist/esm/profilecard/util.js +0 -1
  124. package/dist/esm/slack-data/slack-conversations-data.js +0 -1
  125. package/dist/esm/slack-data/slack-workspaces-data.js +0 -1
  126. package/dist/esm/task-decision/mock-task-decision-resource.js +3 -32
  127. package/dist/esm/task-decision/task-decision-story-data.js +2 -1
  128. package/dist/esm/task-decision/utils.js +1 -2
  129. package/dist/esm/user-picker/ChevronRight.js +3 -5
  130. package/dist/esm/version.json +1 -1
  131. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/util-data-test",
3
- "version": "17.6.7"
3
+ "version": "17.6.9"
4
4
  }
@@ -6,9 +6,7 @@ export class EmojiRepositoryUsageClear extends EmojiRepository {
6
6
  constructor(emojis) {
7
7
  super(emojis);
8
8
  }
9
-
10
9
  clear() {
11
10
  this.usageTracker.clear();
12
11
  }
13
-
14
12
  }
@@ -4,11 +4,9 @@ export class EmojiResourceUsageClear extends MockNonUploadingEmojiResource {
4
4
  constructor(emojis) {
5
5
  super(new EmojiRepositoryUsageClear(emojis));
6
6
  }
7
-
8
7
  clearFrequentlyUsed() {
9
8
  if (isUsageClearEmojiRepository(this.emojiRepository)) {
10
9
  this.emojiRepository.clear();
11
10
  }
12
11
  }
13
-
14
12
  }
@@ -3,7 +3,6 @@ import { denormaliseEmojiServiceResponse } from '@atlaskit/emoji/utils';
3
3
  import { getAtlassianEmojiData } from './get-atlassian-emoji-data';
4
4
  export const getAtlassianEmojis = memoizeOne(() => {
5
5
  var _atlassianEmojis$meta, _atlassianEmojis$meta2;
6
-
7
6
  const atlassianEmojis = getAtlassianEmojiData();
8
7
  const atlassianSprites = (_atlassianEmojis$meta = atlassianEmojis === null || atlassianEmojis === void 0 ? void 0 : (_atlassianEmojis$meta2 = atlassianEmojis.meta) === null || _atlassianEmojis$meta2 === void 0 ? void 0 : _atlassianEmojis$meta2.spriteSheets) !== null && _atlassianEmojis$meta !== void 0 ? _atlassianEmojis$meta : {};
9
8
  return denormaliseEmojiServiceResponse({
@@ -7,11 +7,9 @@ export const currentUser = {
7
7
  };
8
8
  export const defaultFetch = async () => {
9
9
  const response = await fetch('./emoji/emoji-all.json');
10
-
11
10
  if (!response.ok) {
12
11
  throw new Error(`Could not fetch emoji data: ${response.status} ${response.statusText}`);
13
12
  }
14
-
15
13
  return response.json();
16
14
  };
17
15
  export const getEmojiProvider = async function getEmojiProvider(config, fn = defaultFetch) {
@@ -4,7 +4,6 @@ import { getSiteEmojiData } from './get-site-emoji-data';
4
4
  import { getStandardEmojiData } from './get-standard-emoji-data';
5
5
  export const getEmojis = () => {
6
6
  var _standardEmojis$meta$, _standardEmojis$meta, _atlassianEmojis$meta, _atlassianEmojis$meta2;
7
-
8
7
  const standardEmojis = getStandardEmojiData();
9
8
  const atlassianEmojis = getAtlassianEmojiData();
10
9
  const siteEmojis = getSiteEmojiData();
@@ -13,7 +12,8 @@ export const getEmojis = () => {
13
12
  return denormaliseEmojiServiceResponse({
14
13
  emojis: [...standardEmojis.emojis, ...atlassianEmojis.emojis, ...siteEmojis.emojis],
15
14
  meta: {
16
- spriteSheets: { ...standardSprites,
15
+ spriteSheets: {
16
+ ...standardSprites,
17
17
  ...atlassianSprites
18
18
  }
19
19
  }
@@ -3,7 +3,6 @@ import { denormaliseEmojiServiceResponse } from '@atlaskit/emoji/utils';
3
3
  import { getStandardEmojiData } from './get-standard-emoji-data';
4
4
  export const getStandardEmojis = memoizeOne(() => {
5
5
  var _standardEmojis$meta$, _standardEmojis$meta;
6
-
7
6
  const standardEmojis = getStandardEmojiData();
8
7
  const standardSprites = (_standardEmojis$meta$ = standardEmojis === null || standardEmojis === void 0 ? void 0 : (_standardEmojis$meta = standardEmojis.meta) === null || _standardEmojis$meta === void 0 ? void 0 : _standardEmojis$meta.spriteSheets) !== null && _standardEmojis$meta$ !== void 0 ? _standardEmojis$meta$ : {};
9
8
  return denormaliseEmojiServiceResponse({
@@ -1,10 +1,8 @@
1
1
  import { MockEmojiResource } from './mock-emoji-resource';
2
2
  export const mockEmojiResourceFactory = (emojiRepository, config, promiseBuilder) => {
3
3
  const mockEmojiResource = new MockEmojiResource(emojiRepository, config);
4
-
5
4
  if (promiseBuilder) {
6
5
  return promiseBuilder(mockEmojiResource, 'mockEmojiResourceFactory');
7
6
  }
8
-
9
7
  return Promise.resolve(mockEmojiResource);
10
8
  };
@@ -4,46 +4,35 @@ import { MockNonUploadingEmojiResource } from './mock-non-uploading-emoji-resour
4
4
  export class MockEmojiResource extends MockNonUploadingEmojiResource {
5
5
  constructor(emojiService, config) {
6
6
  super(emojiService, config);
7
-
8
7
  _defineProperty(this, "uploads", []);
9
-
10
8
  this.uploadSupported = false;
11
-
12
9
  if (config) {
13
10
  this.uploadSupported = !!config.uploadSupported;
14
11
  this.uploadError = config.uploadError;
15
12
  }
16
13
  }
17
-
18
14
  async getMediaEmojiDescriptionURLWithInlineToken(emoji) {
19
15
  if (this.promiseBuilder) {
20
16
  return this.promiseBuilder(emoji, 'getMediaEmojiDescriptionURLWithInlineToken');
21
17
  }
22
-
23
18
  return emoji;
24
19
  }
25
-
26
20
  async fetchEmojiProvider(force) {
27
21
  return Promise.resolve(this.emojiRepository);
28
22
  }
29
-
30
23
  async fetchByEmojiId(emojiId, optimistic) {
31
24
  return this.findByEmojiId(emojiId);
32
25
  }
33
-
34
26
  getOptimisticImageURL(emojiId) {
35
27
  return undefined;
36
28
  }
37
-
38
29
  isUploadSupported() {
39
30
  return this.promiseBuilder(this.uploadSupported, 'isUploadSupported');
40
31
  }
41
-
42
32
  uploadCustomEmoji(upload) {
43
33
  if (this.uploadError) {
44
34
  return Promise.reject(this.uploadError);
45
35
  }
46
-
47
36
  const emoji = emojiFromUpload(upload);
48
37
  this.uploads.push({
49
38
  upload,
@@ -53,26 +42,21 @@ export class MockEmojiResource extends MockNonUploadingEmojiResource {
53
42
  this.filter(this.lastQuery);
54
43
  return this.promiseBuilder(emoji, 'uploadCustomEmoji');
55
44
  }
56
-
57
45
  getUploads() {
58
46
  return this.uploads;
59
47
  }
60
-
61
48
  prepareForUpload() {
62
49
  return Promise.resolve();
63
- } // Make public for testing
64
-
50
+ }
65
51
 
52
+ // Make public for testing
66
53
  notifyNotReady() {
67
54
  super.notifyNotReady();
68
55
  }
69
-
70
56
  loadMediaEmoji(emoji) {
71
57
  if (this.promiseBuilder) {
72
58
  return this.promiseBuilder(emoji, 'loadMediaEmoji');
73
59
  }
74
-
75
60
  return emoji;
76
61
  }
77
-
78
62
  }
@@ -1,10 +1,8 @@
1
1
  import { MockNonUploadingEmojiResource } from './mock-non-uploading-emoji-resource';
2
2
  export const mockNonUploadingEmojiResourceFactory = (emojiRepository, config, promiseBuilder) => {
3
3
  const mockEmojiResource = new MockNonUploadingEmojiResource(emojiRepository, config);
4
-
5
4
  if (promiseBuilder) {
6
5
  return promiseBuilder(mockEmojiResource, 'mockNonUploadingEmojiResourceFactory');
7
6
  }
8
-
9
7
  return Promise.resolve(mockEmojiResource);
10
8
  };
@@ -4,136 +4,105 @@ import { selectedToneStorageKey } from '../emoji-constants';
4
4
  export class MockNonUploadingEmojiResource extends AbstractResource {
5
5
  constructor(emojiService, config) {
6
6
  super();
7
-
8
7
  _defineProperty(this, "lastQuery", '');
9
-
10
8
  _defineProperty(this, "recordedSelections", []);
11
-
12
9
  this.currentUser = config && config.currentUser || undefined;
13
10
  this.emojiRepository = emojiService;
14
-
15
11
  this.promiseBuilder = result => Promise.resolve(result);
16
-
17
12
  if (config) {
18
13
  if (config.promiseBuilder) {
19
14
  this.promiseBuilder = config.promiseBuilder;
20
15
  }
21
-
22
16
  this.optimisticRendering = config.optimisticRendering;
23
17
  }
24
-
25
18
  if (typeof window !== 'undefined' && window.localStorage) {
26
19
  const storedTone = window.localStorage.getItem(selectedToneStorageKey);
27
20
  this.selectedTone = storedTone ? parseInt(storedTone, 10) : undefined;
28
21
  }
29
22
  }
30
-
31
23
  async fetchEmojiProvider(force) {
32
24
  return Promise.resolve(this.emojiRepository);
33
25
  }
34
-
35
26
  getOptimisticImageURL(emojiId) {
36
27
  return undefined;
37
28
  }
38
-
39
29
  getCurrentUser() {
40
30
  return this.currentUser;
41
31
  }
42
-
43
32
  filter(query, options) {
44
33
  if (query) {
45
34
  this.lastQuery = query;
46
35
  } else {
47
36
  this.lastQuery = '';
48
37
  }
49
-
50
38
  this.promiseBuilder(this.emojiRepository.search(query, options), 'filter').then(result => {
51
39
  this.notifyResult(result);
52
40
  });
53
41
  }
54
-
55
42
  findByShortName(shortName) {
56
43
  const emoji = this.emojiRepository.findByShortName(shortName);
57
44
  return this.promiseBuilder(emoji, 'findByShortName');
58
45
  }
59
-
60
46
  fetchByEmojiId(emojiId, optimistic) {
61
47
  const {
62
48
  id,
63
49
  shortName
64
50
  } = emojiId;
65
-
66
51
  if (id) {
67
52
  const emoji = this.emojiRepository.findById(id);
68
53
  return this.promiseBuilder(emoji, 'fetchByEmojiId');
69
54
  }
70
-
71
55
  return this.emojiRepository.findByShortName(shortName);
72
56
  }
73
-
74
57
  findByEmojiId(emojiId) {
75
58
  const {
76
59
  id,
77
60
  shortName
78
61
  } = emojiId;
79
-
80
62
  if (id) {
81
63
  const emoji = this.emojiRepository.findById(id);
82
64
  return this.promiseBuilder(emoji, 'findByEmojiId');
83
65
  }
84
-
85
66
  return this.emojiRepository.findByShortName(shortName);
86
67
  }
87
-
88
68
  findById(id) {
89
69
  const emoji = this.emojiRepository.findById(id);
90
70
  return this.promiseBuilder(emoji, 'findById');
91
71
  }
92
-
93
72
  findInCategory(categoryId) {
94
73
  const emojis = this.emojiRepository.findInCategory(categoryId);
95
74
  return this.promiseBuilder(emojis, 'findInCategory');
96
75
  }
97
-
98
76
  getAsciiMap() {
99
77
  return this.promiseBuilder(this.emojiRepository.getAsciiMap(), 'getAsciiMap');
100
78
  }
101
-
102
79
  async getFrequentlyUsed(options) {
103
80
  return this.promiseBuilder(this.emojiRepository.getFrequentlyUsed(options), 'getFrequentlyUsed');
104
81
  }
105
-
106
82
  async getMediaEmojiDescriptionURLWithInlineToken(emoji) {
107
83
  return emoji;
108
84
  }
109
-
110
85
  recordSelection(emoji) {
111
86
  this.recordedSelections.push(emoji);
112
87
  this.emojiRepository.used(emoji);
113
88
  return this.promiseBuilder(undefined, 'recordSelection');
114
89
  }
115
-
116
90
  deleteSiteEmoji(emoji) {
117
91
  this.emojiRepository.delete(emoji);
118
92
  this.filter(this.lastQuery);
119
93
  return this.promiseBuilder(true, 'deleteSiteEmoji');
120
94
  }
121
-
122
95
  loadMediaEmoji(emoji) {
123
96
  return emoji;
124
97
  }
125
-
126
98
  optimisticMediaRendering(emoji) {
127
99
  return emoji && !!this.optimisticRendering;
128
100
  }
129
-
130
101
  getSelectedTone() {
131
102
  return this.selectedTone;
132
103
  }
133
-
134
104
  setSelectedTone(tone) {
135
105
  this.selectedTone = tone;
136
-
137
106
  if (window.localStorage) {
138
107
  try {
139
108
  window.localStorage.setItem(selectedToneStorageKey, tone ? tone.toString() : '');
@@ -143,13 +112,10 @@ export class MockNonUploadingEmojiResource extends AbstractResource {
143
112
  }
144
113
  }
145
114
  }
146
-
147
115
  calculateDynamicCategories() {
148
116
  if (!this.emojiRepository) {
149
117
  return Promise.resolve([]);
150
118
  }
151
-
152
119
  return Promise.resolve(this.emojiRepository.getDynamicCategoryList());
153
120
  }
154
-
155
121
  }
@@ -6,5 +6,4 @@ export const getTestMediaApiToken = () => ({
6
6
  jwt: 'abcd',
7
7
  collectionName: 'emoji-collection',
8
8
  expiresAt: expiresAt(60) // seconds since Epoch UTC
9
-
10
9
  });
@@ -4,7 +4,8 @@ export const mediaEmojiId = {
4
4
  shortName: ':media:',
5
5
  fallback: ':media:'
6
6
  };
7
- export const mediaEmoji = { ...mediaEmojiId,
7
+ export const mediaEmoji = {
8
+ ...mediaEmojiId,
8
9
  name: 'Media example',
9
10
  type: customType,
10
11
  category: customCategory,
@@ -5,5 +5,4 @@ export class TestEmojiRepository extends EmojiRepository {
5
5
  super(emojis);
6
6
  this.usageTracker = new UsageFrequencyTracker(false);
7
7
  }
8
-
9
8
  }
@@ -1,4 +1,5 @@
1
1
  // Duplicate or utils/logger.ts from elements packages
2
+
2
3
  let debugEnabled = false;
3
4
  let stacktracesEnabled = false;
4
5
  export function enableLogger(enable) {
@@ -3,7 +3,8 @@ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
3
  import { MockMentionNameClient } from './mock-mention-name-client';
4
4
  export const createMockMentionNameResolver = () => {
5
5
  const analyticsProps = {
6
- createAnalyticsEvent: ( // error TS7006: Parameter 'payload' implicitly has an 'any' type.
6
+ createAnalyticsEvent: (
7
+ // error TS7006: Parameter 'payload' implicitly has an 'any' type.
7
8
  // @ts-ignore @fixme TypeScript 4.2.4 upgrade
8
9
  payload) => {
9
10
  // eslint-disable-next-line no-console
@@ -2,11 +2,9 @@ import { MentionNameStatus } from '@atlaskit/mention/resource';
2
2
  import debug from '../logger';
3
3
  export class MockMentionNameClient {
4
4
  constructor() {}
5
-
6
5
  getLookupLimit() {
7
6
  return 10;
8
7
  }
9
-
10
8
  lookupMentionNames(ids) {
11
9
  debug('lookupMentionNames', ids);
12
10
  return new Promise(resolve => {
@@ -18,14 +16,12 @@ export class MockMentionNameClient {
18
16
  status: MentionNameStatus.UNKNOWN
19
17
  };
20
18
  }
21
-
22
19
  if (id === 'service_error') {
23
20
  return {
24
21
  id,
25
22
  status: MentionNameStatus.SERVICE_ERROR
26
23
  };
27
24
  }
28
-
29
25
  return {
30
26
  id,
31
27
  name: `Hydrated ${id} name`,
@@ -35,5 +31,4 @@ export class MockMentionNameClient {
35
31
  }, 1500);
36
32
  });
37
33
  }
38
-
39
34
  }
@@ -6,9 +6,7 @@ import { mentionTestResult } from './mention-test-data';
6
6
  export class MockMentionResourceWithInfoHints extends AbstractMentionResource {
7
7
  constructor(config) {
8
8
  super();
9
-
10
9
  _defineProperty(this, "search", new Search('id'));
11
-
12
10
  this.search.addIndex('name');
13
11
  this.search.addIndex('mentionName');
14
12
  this.search.addIndex('nickname');
@@ -16,14 +14,11 @@ export class MockMentionResourceWithInfoHints extends AbstractMentionResource {
16
14
  this.config = config;
17
15
  this.lastReturnedSearch = 0;
18
16
  }
19
-
20
17
  filter(query) {
21
18
  const searchTime = Date.now();
22
-
23
19
  const notify = mentions => {
24
20
  if (searchTime >= this.lastReturnedSearch) {
25
21
  this.lastReturnedSearch = searchTime;
26
-
27
22
  this._notifyListeners(mentions);
28
23
  } else {
29
24
  const date = new Date(searchTime).toISOString().substr(17, 6);
@@ -32,44 +27,37 @@ export class MockMentionResourceWithInfoHints extends AbstractMentionResource {
32
27
 
33
28
  this._notifyAllResultsListeners(mentions);
34
29
  };
35
-
36
30
  const notifyInfo = info => {
37
31
  this._notifyInfoListeners(info);
38
32
  };
39
-
40
33
  const notifyErrors = error => {
41
34
  this._notifyErrorListeners(error);
42
35
  };
43
-
44
36
  const minWait = this.config.minWait || 0;
45
37
  const randomTime = (this.config.maxWait || 0) - minWait;
46
38
  const waitTime = Math.random() * randomTime + minWait;
47
39
  window.setTimeout(() => {
48
40
  let mentions = [];
49
-
50
41
  if (query === 'error') {
51
42
  notifyErrors(new Error('mock-error'));
52
43
  return;
53
44
  } else if (query && query.length >= 3) {
54
45
  mentions = this.search.search(query);
55
-
56
46
  if (!mentions.length) {
57
47
  notifyInfo(`Found no matches for ${query}`);
58
48
  }
59
49
  } else {
60
50
  notifyInfo('Continue typing to search for a user');
61
51
  }
62
-
63
52
  notify({
64
53
  mentions,
65
54
  query
66
55
  });
67
56
  }, waitTime + 1);
68
- } // eslint-disable-next-line class-methods-use-this
69
-
57
+ }
70
58
 
59
+ // eslint-disable-next-line class-methods-use-this
71
60
  recordMentionSelection(mention) {
72
61
  debug(`Record mention selection ${mention.id}`);
73
62
  }
74
-
75
63
  }
@@ -7,13 +7,9 @@ import { HttpError } from './utils';
7
7
  export class MockMentionResource extends AbstractMentionResource {
8
8
  constructor(config) {
9
9
  super();
10
-
11
10
  _defineProperty(this, "search", new Search('id'));
12
-
13
11
  _defineProperty(this, "mentionTypeaheadHighlightEnabled", () => this.config.enableTeamMentionHighlight || false);
14
-
15
12
  _defineProperty(this, "mentionTypeaheadCreateTeamPath", () => '/people/search#createTeam');
16
-
17
13
  this.search.addIndex('name');
18
14
  this.search.addIndex('mentionName');
19
15
  this.search.addIndex('nickname');
@@ -26,21 +22,17 @@ export class MockMentionResource extends AbstractMentionResource {
26
22
  this.onInviteItemClick = config.onInviteItemClick;
27
23
  this.userRole = config.userRole || 'basic';
28
24
  }
29
-
30
25
  filter(query) {
31
26
  const searchTime = Date.now();
32
-
33
27
  const notify = mentions => {
34
28
  if (searchTime >= this.lastReturnedSearch) {
35
29
  this.lastReturnedSearch = searchTime;
36
30
  let stats = {};
37
-
38
31
  if (query === 'team') {
39
32
  stats.teamMentionDuration = 200;
40
33
  } else {
41
34
  stats.duration = 100;
42
35
  }
43
-
44
36
  this._notifyListeners(mentions, stats);
45
37
  } else {
46
38
  const date = new Date(searchTime).toISOString().substr(17, 6);
@@ -49,21 +41,17 @@ export class MockMentionResource extends AbstractMentionResource {
49
41
 
50
42
  this._notifyAllResultsListeners(mentions);
51
43
  };
52
-
53
44
  const notifyErrors = error => {
54
45
  this._notifyErrorListeners(error);
55
46
  };
56
-
57
47
  const notifyAnalytics = (eventType, sliName, action) => {
58
48
  this._notifyAnalyticsListeners(eventType, sliName, action);
59
49
  };
60
-
61
50
  const minWait = this.config.minWait || 0;
62
51
  const randomTime = (this.config.maxWait || 0) - minWait;
63
52
  const waitTime = Math.random() * randomTime + minWait;
64
53
  setTimeout(() => {
65
54
  let mentions;
66
-
67
55
  if (query === 'error') {
68
56
  notifyErrors(new Error('mock-error'));
69
57
  notifyAnalytics(SLI_EVENT_TYPE, 'searchUser', 'failed');
@@ -77,7 +65,6 @@ export class MockMentionResource extends AbstractMentionResource {
77
65
  } else {
78
66
  mentions = mentionTestResult;
79
67
  }
80
-
81
68
  notify({
82
69
  mentions,
83
70
  query
@@ -85,16 +72,14 @@ export class MockMentionResource extends AbstractMentionResource {
85
72
  notifyAnalytics(SLI_EVENT_TYPE, 'searchUser', 'succeeded');
86
73
  }, waitTime + 1);
87
74
  return Promise.resolve();
88
- } // eslint-disable-next-line class-methods-use-this
89
-
75
+ }
90
76
 
77
+ // eslint-disable-next-line class-methods-use-this
91
78
  recordMentionSelection(mention) {
92
79
  debug(`Record mention selection ${mention.id}`);
93
80
  }
94
-
95
81
  resolveMentionName(id) {
96
82
  debug('(mock)resolveMentionName', id);
97
-
98
83
  if (!this.config.mentionNameResolver) {
99
84
  return {
100
85
  id,
@@ -102,26 +87,20 @@ export class MockMentionResource extends AbstractMentionResource {
102
87
  status: MentionNameStatus.UNKNOWN
103
88
  };
104
89
  }
105
-
106
90
  return this.config.mentionNameResolver.lookupName(id);
107
91
  }
108
-
109
92
  cacheMentionName(id, name) {
110
93
  debug('(mock)cacheMentionName', id, name);
111
-
112
94
  if (this.config.mentionNameResolver) {
113
95
  this.config.mentionNameResolver.cacheName(id, name);
114
96
  }
115
97
  }
116
-
117
98
  supportsMentionNameResolving() {
118
99
  const supported = !!this.config.mentionNameResolver;
119
100
  debug('supportsMentionNameResolving', supported);
120
101
  return supported;
121
102
  }
122
-
123
103
  shouldHighlightMention(mention) {
124
104
  return mention.id === 'oscar';
125
105
  }
126
-
127
106
  }
@@ -6,40 +6,33 @@ export class MockPresenceResource extends AbstractPresenceResource {
6
6
  this.maxTimeout = maxTimeout || 0;
7
7
  this.statuses = ['online', 'offline', 'busy', 'focus', undefined];
8
8
  }
9
-
10
9
  getTimeout() {
11
10
  return this.minTimeout + (this.maxTimeout - this.minTimeout) * Math.random();
12
11
  }
13
-
14
12
  getStatus() {
15
13
  return this.statuses[Math.floor(Math.random() * this.statuses.length)];
16
- } // eslint-disable-next-line class-methods-use-this
17
-
14
+ }
18
15
 
16
+ // eslint-disable-next-line class-methods-use-this
19
17
  getTime() {
20
18
  const minFormat = new Intl.NumberFormat('us-EN', {
21
19
  minimumIntegerDigits: 2
22
20
  });
23
21
  let time;
24
-
25
22
  if (Math.random() > 0.5) {
26
23
  const hour = Math.floor(Math.random() * 12) + 1;
27
24
  const min = minFormat.format(new Date().getMinutes());
28
25
  const ampm = ['am', 'pm'][Math.floor(Math.random() * 2)];
29
26
  time = `${hour}:${min}${ampm}`;
30
27
  }
31
-
32
28
  return time;
33
29
  }
34
-
35
30
  refreshPresence(ids) {
36
31
  const presences = {};
37
-
38
32
  for (let i = 0; i < ids.length; i++) {
39
33
  const id = ids[i];
40
34
  const status = this.getStatus();
41
35
  const time = this.getTime();
42
-
43
36
  if (status || time) {
44
37
  presences[id] = {
45
38
  status,
@@ -47,10 +40,8 @@ export class MockPresenceResource extends AbstractPresenceResource {
47
40
  };
48
41
  }
49
42
  }
50
-
51
43
  window.setTimeout(() => {
52
44
  this.notifyListeners(presences);
53
45
  }, this.getTimeout());
54
46
  }
55
-
56
47
  }
@@ -7,5 +7,4 @@ export class HttpError {
7
7
  this.name = 'HttpError';
8
8
  this.stack = new Error().stack;
9
9
  }
10
-
11
10
  }