summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Eipert <leipert@gitlab.com>2019-01-22 00:10:30 +0100
committerLukas Eipert <leipert@gitlab.com>2019-01-22 00:14:12 +0100
commitbd91bf1ea8cba1bc3aaaf10bf7bbc92ff64597d6 (patch)
treebf6ff3fc3015ffca10f27f6b007d5912cd69d1e4
parent636c36bbbfa2c0691d46c7d5fb1315a9c9ae869a (diff)
downloadgitlab-ce-bd91bf1ea8cba1bc3aaaf10bf7bbc92ff64597d6.tar.gz
Remove reference to unused js-timeago-render class
Apparently the `.js-timeago-render` class serves no real purpose. All functions that used it, directly pass a list of elements. Only one Vue component had an (unnecessary) reference to the class. No styles are applied.
-rw-r--r--app/assets/javascripts/diffs/components/compare_versions_dropdown.vue2
-rw-r--r--app/assets/javascripts/lib/utils/datetime_utility.js46
2 files changed, 16 insertions, 32 deletions
diff --git a/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue b/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
index 561188c1e8f..80aec84f574 100644
--- a/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
+++ b/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
@@ -141,7 +141,7 @@ export default {
<time-ago
v-if="version.created_at"
:time="version.created_at"
- class="js-timeago js-timeago-render"
+ class="js-timeago"
/>
</small>
</div>
diff --git a/app/assets/javascripts/lib/utils/datetime_utility.js b/app/assets/javascripts/lib/utils/datetime_utility.js
index 5bb2efdb18d..4b8f11ba7a6 100644
--- a/app/assets/javascripts/lib/utils/datetime_utility.js
+++ b/app/assets/javascripts/lib/utils/datetime_utility.js
@@ -133,44 +133,28 @@ export const getTimeago = () => {
};
/**
- * For the given element, renders a timeago instance.
- * @param {jQuery} $els
- */
-export const renderTimeago = $els => {
- const timeagoEls = $els || document.querySelectorAll('.js-timeago-render');
-
- // timeago.js sets timeouts internally for each timeago value to be updated in real time
- getTimeago().render(timeagoEls, timeagoLanguageCode);
-};
-
-/**
- * For the given elements, will add timeago tooltips
- */
-export const addTimeAgoTooltip = () => {
- const timeagoEls = document.querySelectorAll('.js-timeago-render');
- timeagoEls.forEach(element => {
- $(element).tooltip({
- template:
- '<div class="tooltip local-timeago" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
- });
- });
-};
-
-/**
* For the given elements, sets a tooltip with a formatted date.
- * @param {jQuery}
+ * @param {JQuery} $timeagoEls
* @param {Boolean} setTimeago
*/
export const localTimeAgo = ($timeagoEls, setTimeago = true) => {
- $timeagoEls.each((i, el) => {
- el.classList.add('js-timeago-render');
- });
+ getTimeago().render($timeagoEls, timeagoLanguageCode);
- renderTimeago($timeagoEls);
+ if (!setTimeago) {
+ return;
+ }
- if (setTimeago) {
- requestIdleCallback(addTimeAgoTooltip);
+ function addTimeAgoTooltip() {
+ $timeagoEls.each((i, el) => {
+ // Recreate with custom template
+ $(el).tooltip({
+ template:
+ '<div class="tooltip local-timeago" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
+ });
+ });
}
+
+ requestIdleCallback(addTimeAgoTooltip);
};
/**