Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
1be54d9e
Commit
1be54d9e
authored
Mar 31, 2022
by
Coung Ngo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Shorten JS `~/lib` import paths
Shorten paths for better readability
parent
d204f91d
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
49 additions
and
49 deletions
+49
-49
app/assets/javascripts/behaviors/shortcuts/shortcuts_navigation.js
...s/javascripts/behaviors/shortcuts/shortcuts_navigation.js
+1
-1
app/assets/javascripts/behaviors/shortcuts/shortcuts_wiki.js
app/assets/javascripts/behaviors/shortcuts/shortcuts_wiki.js
+1
-1
app/assets/javascripts/blob/viewer/index.js
app/assets/javascripts/blob/viewer/index.js
+3
-3
app/assets/javascripts/boards/components/board_list_header.vue
...ssets/javascripts/boards/components/board_list_header.vue
+1
-1
app/assets/javascripts/clusters/forms/stores/state.js
app/assets/javascripts/clusters/forms/stores/state.js
+1
-1
app/assets/javascripts/clusters/services/clusters_service.js
app/assets/javascripts/clusters/services/clusters_service.js
+1
-1
app/assets/javascripts/clusters/stores/clusters_store.js
app/assets/javascripts/clusters/stores/clusters_store.js
+1
-1
app/assets/javascripts/diffs/components/compare_versions.vue
app/assets/javascripts/diffs/components/compare_versions.vue
+1
-1
app/assets/javascripts/emoji/support/unicode_support_map.js
app/assets/javascripts/emoji/support/unicode_support_map.js
+1
-1
app/assets/javascripts/environments/mixins/environments_pagination_api_mixin.js
.../environments/mixins/environments_pagination_api_mixin.js
+1
-1
app/assets/javascripts/filtered_search/services/recent_searches_service.js
...ripts/filtered_search/services/recent_searches_service.js
+1
-1
app/assets/javascripts/groups/components/groups.vue
app/assets/javascripts/groups/components/groups.vue
+1
-1
app/assets/javascripts/jobs/store/utils.js
app/assets/javascripts/jobs/store/utils.js
+1
-1
app/assets/javascripts/notes/components/discussion_filter.vue
...assets/javascripts/notes/components/discussion_filter.vue
+1
-1
app/assets/javascripts/notes/components/note_actions.vue
app/assets/javascripts/notes/components/note_actions.vue
+1
-1
app/assets/javascripts/notes/components/notes_app.vue
app/assets/javascripts/notes/components/notes_app.vue
+6
-6
app/assets/javascripts/notes/mixins/autosave.js
app/assets/javascripts/notes/mixins/autosave.js
+2
-2
app/assets/javascripts/notes/mixins/discussion_navigation.js
app/assets/javascripts/notes/mixins/discussion_navigation.js
+1
-1
app/assets/javascripts/notes/stores/actions.js
app/assets/javascripts/notes/stores/actions.js
+8
-8
app/assets/javascripts/notes/stores/mutations.js
app/assets/javascripts/notes/stores/mutations.js
+1
-1
app/assets/javascripts/pages/admin/abuse_reports/abuse_reports.js
...ts/javascripts/pages/admin/abuse_reports/abuse_reports.js
+1
-1
app/assets/javascripts/pages/admin/admin.js
app/assets/javascripts/pages/admin/admin.js
+1
-1
app/assets/javascripts/performance_bar/services/performance_bar_service.js
...ripts/performance_bar/services/performance_bar_service.js
+1
-1
app/assets/javascripts/pipelines/services/pipelines_service.js
...ssets/javascripts/pipelines/services/pipelines_service.js
+1
-1
app/assets/javascripts/pipelines/stores/pipelines_store.js
app/assets/javascripts/pipelines/stores/pipelines_store.js
+1
-1
app/assets/javascripts/reports/grouped_test_report/store/actions.js
.../javascripts/reports/grouped_test_report/store/actions.js
+3
-3
app/assets/javascripts/search/store/utils.js
app/assets/javascripts/search/store/utils.js
+1
-1
app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue
...rge_request_widget/components/states/mr_widget_rebase.vue
+1
-1
app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
...ts/vue_merge_request_widget/services/mr_widget_service.js
+1
-1
app/assets/javascripts/vue_shared/components/notes/system_note.vue
...s/javascripts/vue_shared/components/notes/system_note.vue
+1
-1
app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue
...ts/javascripts/vue_shared/components/time_ago_tooltip.vue
+1
-1
app/assets/javascripts/vue_shared/mixins/timeago.js
app/assets/javascripts/vue_shared/mixins/timeago.js
+1
-1
No files found.
app/assets/javascripts/behaviors/shortcuts/shortcuts_navigation.js
View file @
1be54d9e
import
Mousetrap
from
'
mousetrap
'
;
import
{
visitUrl
,
constructWebIDEPath
}
from
'
~/lib/utils/url_utility
'
;
import
findAndFollowLink
from
'
../..
/lib/utils/navigation_utility
'
;
import
findAndFollowLink
from
'
~
/lib/utils/navigation_utility
'
;
import
{
keysFor
,
GO_TO_PROJECT_OVERVIEW
,
...
...
app/assets/javascripts/behaviors/shortcuts/shortcuts_wiki.js
View file @
1be54d9e
import
Mousetrap
from
'
mousetrap
'
;
import
findAndFollowLink
from
'
../..
/lib/utils/navigation_utility
'
;
import
findAndFollowLink
from
'
~
/lib/utils/navigation_utility
'
;
import
{
keysFor
,
EDIT_WIKI_PAGE
}
from
'
./keybindings
'
;
import
ShortcutsNavigation
from
'
./shortcuts_navigation
'
;
...
...
app/assets/javascripts/blob/viewer/index.js
View file @
1be54d9e
...
...
@@ -11,9 +11,9 @@ import {
}
from
'
~/performance/constants
'
;
import
{
performanceMarkAndMeasure
}
from
'
~/performance/utils
'
;
import
{
fixTitle
}
from
'
~/tooltips
'
;
import
axios
from
'
../..
/lib/utils/axios_utils
'
;
import
{
handleLocationHash
}
from
'
../..
/lib/utils/common_utils
'
;
import
eventHub
from
'
../..
/notes/event_hub
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
import
{
handleLocationHash
}
from
'
~
/lib/utils/common_utils
'
;
import
eventHub
from
'
~
/notes/event_hub
'
;
const
loadRichBlobViewer
=
(
type
)
=>
{
switch
(
type
)
{
...
...
app/assets/javascripts/boards/components/board_list_header.vue
View file @
1be54d9e
...
...
@@ -18,7 +18,7 @@ import Tracking from '~/tracking';
import
{
formatDate
}
from
'
~/lib/utils/datetime_utility
'
;
import
glFeatureFlagMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
listQuery
from
'
ee_else_ce/boards/graphql/board_lists_deferred.query.graphql
'
;
import
AccessorUtilities
from
'
../..
/lib/utils/accessor
'
;
import
AccessorUtilities
from
'
~
/lib/utils/accessor
'
;
import
{
inactiveId
,
LIST
,
ListType
,
toggleFormEventPrefix
}
from
'
../constants
'
;
import
eventHub
from
'
../eventhub
'
;
import
ItemCount
from
'
./item_count.vue
'
;
...
...
app/assets/javascripts/clusters/forms/stores/state.js
View file @
1be54d9e
import
{
parseBoolean
}
from
'
../../..
/lib/utils/common_utils
'
;
import
{
parseBoolean
}
from
'
~
/lib/utils/common_utils
'
;
export
default
(
initialState
=
{})
=>
{
return
{
...
...
app/assets/javascripts/clusters/services/clusters_service.js
View file @
1be54d9e
import
axios
from
'
../..
/lib/utils/axios_utils
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
export
default
class
ClusterService
{
constructor
(
options
=
{})
{
...
...
app/assets/javascripts/clusters/stores/clusters_store.js
View file @
1be54d9e
import
{
parseBoolean
}
from
'
../..
/lib/utils/common_utils
'
;
import
{
parseBoolean
}
from
'
~
/lib/utils/common_utils
'
;
export
default
class
ClusterStore
{
constructor
()
{
...
...
app/assets/javascripts/diffs/components/compare_versions.vue
View file @
1be54d9e
...
...
@@ -2,7 +2,7 @@
import
{
GlTooltipDirective
,
GlIcon
,
GlLink
,
GlButtonGroup
,
GlButton
,
GlSprintf
}
from
'
@gitlab/ui
'
;
import
{
mapActions
,
mapGetters
,
mapState
}
from
'
vuex
'
;
import
{
__
}
from
'
~/locale
'
;
import
{
setUrlParams
}
from
'
../..
/lib/utils/url_utility
'
;
import
{
setUrlParams
}
from
'
~
/lib/utils/url_utility
'
;
import
{
EVT_EXPAND_ALL_FILES
}
from
'
../constants
'
;
import
eventHub
from
'
../event_hub
'
;
import
CompareDropdownLayout
from
'
./compare_dropdown_layout.vue
'
;
...
...
app/assets/javascripts/emoji/support/unicode_support_map.js
View file @
1be54d9e
import
AccessorUtilities
from
'
../..
/lib/utils/accessor
'
;
import
AccessorUtilities
from
'
~
/lib/utils/accessor
'
;
const
GL_EMOJI_VERSION
=
'
0.2.0
'
;
...
...
app/assets/javascripts/environments/mixins/environments_pagination_api_mixin.js
View file @
1be54d9e
...
...
@@ -4,7 +4,7 @@
* Components need to have `scope`, `page` and `requestData`
*/
import
{
validateParams
}
from
'
~/pipelines/utils
'
;
import
{
historyPushState
,
buildUrlWithCurrentLocation
}
from
'
../..
/lib/utils/common_utils
'
;
import
{
historyPushState
,
buildUrlWithCurrentLocation
}
from
'
~
/lib/utils/common_utils
'
;
export
default
{
methods
:
{
...
...
app/assets/javascripts/filtered_search/services/recent_searches_service.js
View file @
1be54d9e
import
AccessorUtilities
from
'
../..
/lib/utils/accessor
'
;
import
AccessorUtilities
from
'
~
/lib/utils/accessor
'
;
import
RecentSearchesServiceError
from
'
./recent_searches_service_error
'
;
class
RecentSearchesService
{
...
...
app/assets/javascripts/groups/components/groups.vue
View file @
1be54d9e
<
script
>
import
PaginationLinks
from
'
~/vue_shared/components/pagination_links.vue
'
;
import
{
getParameterByName
}
from
'
../..
/lib/utils/url_utility
'
;
import
{
getParameterByName
}
from
'
~
/lib/utils/url_utility
'
;
import
eventHub
from
'
../event_hub
'
;
export
default
{
...
...
app/assets/javascripts/jobs/store/utils.js
View file @
1be54d9e
import
{
parseBoolean
}
from
'
../..
/lib/utils/common_utils
'
;
import
{
parseBoolean
}
from
'
~
/lib/utils/common_utils
'
;
/**
* Adds the line number property
...
...
app/assets/javascripts/notes/components/discussion_filter.vue
View file @
1be54d9e
<
script
>
import
{
GlDropdown
,
GlDropdownItem
,
GlDropdownDivider
}
from
'
@gitlab/ui
'
;
import
{
mapGetters
,
mapActions
}
from
'
vuex
'
;
import
{
getLocationHash
,
doesHashExistInUrl
}
from
'
../..
/lib/utils/url_utility
'
;
import
{
getLocationHash
,
doesHashExistInUrl
}
from
'
~
/lib/utils/url_utility
'
;
import
{
DISCUSSION_FILTERS_DEFAULT_VALUE
,
HISTORY_ONLY_FILTER_VALUE
,
...
...
app/assets/javascripts/notes/components/note_actions.vue
View file @
1be54d9e
...
...
@@ -9,7 +9,7 @@ import { __, sprintf } from '~/locale';
import
eventHub
from
'
~/sidebar/event_hub
'
;
import
UserAccessRoleBadge
from
'
~/vue_shared/components/user_access_role_badge.vue
'
;
import
glFeatureFlagsMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
{
splitCamelCase
}
from
'
../..
/lib/utils/text_utility
'
;
import
{
splitCamelCase
}
from
'
~
/lib/utils/text_utility
'
;
import
ReplyButton
from
'
./note_actions/reply_button.vue
'
;
export
default
{
...
...
app/assets/javascripts/notes/components/notes_app.vue
View file @
1be54d9e
...
...
@@ -6,12 +6,12 @@ import { __ } from '~/locale';
import
TimelineEntryItem
from
'
~/vue_shared/components/notes/timeline_entry_item.vue
'
;
import
OrderedLayout
from
'
~/vue_shared/components/ordered_layout.vue
'
;
import
glFeatureFlagsMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
draftNote
from
'
../..
/batch_comments/components/draft_note.vue
'
;
import
{
getLocationHash
,
doesHashExistInUrl
}
from
'
../..
/lib/utils/url_utility
'
;
import
placeholderNote
from
'
../..
/vue_shared/components/notes/placeholder_note.vue
'
;
import
placeholderSystemNote
from
'
../..
/vue_shared/components/notes/placeholder_system_note.vue
'
;
import
skeletonLoadingContainer
from
'
../..
/vue_shared/components/notes/skeleton_note.vue
'
;
import
systemNote
from
'
../..
/vue_shared/components/notes/system_note.vue
'
;
import
draftNote
from
'
~
/batch_comments/components/draft_note.vue
'
;
import
{
getLocationHash
,
doesHashExistInUrl
}
from
'
~
/lib/utils/url_utility
'
;
import
placeholderNote
from
'
~
/vue_shared/components/notes/placeholder_note.vue
'
;
import
placeholderSystemNote
from
'
~
/vue_shared/components/notes/placeholder_system_note.vue
'
;
import
skeletonLoadingContainer
from
'
~
/vue_shared/components/notes/skeleton_note.vue
'
;
import
systemNote
from
'
~
/vue_shared/components/notes/system_note.vue
'
;
import
*
as
constants
from
'
../constants
'
;
import
eventHub
from
'
../event_hub
'
;
import
commentForm
from
'
./comment_form.vue
'
;
...
...
app/assets/javascripts/notes/mixins/autosave.js
View file @
1be54d9e
import
$
from
'
jquery
'
;
import
{
s__
}
from
'
~/locale
'
;
import
Autosave
from
'
../..
/autosave
'
;
import
{
capitalizeFirstCharacter
}
from
'
../..
/lib/utils/text_utility
'
;
import
Autosave
from
'
~
/autosave
'
;
import
{
capitalizeFirstCharacter
}
from
'
~
/lib/utils/text_utility
'
;
export
default
{
methods
:
{
...
...
app/assets/javascripts/notes/mixins/discussion_navigation.js
View file @
1be54d9e
import
{
mapGetters
,
mapActions
,
mapState
}
from
'
vuex
'
;
import
{
scrollToElementWithContext
,
scrollToElement
}
from
'
~/lib/utils/common_utils
'
;
import
{
updateHistory
}
from
'
../..
/lib/utils/url_utility
'
;
import
{
updateHistory
}
from
'
~
/lib/utils/url_utility
'
;
import
eventHub
from
'
../event_hub
'
;
/**
...
...
app/assets/javascripts/notes/stores/actions.js
View file @
1be54d9e
...
...
@@ -9,14 +9,14 @@ import { __, sprintf } from '~/locale';
import
{
confidentialWidget
}
from
'
~/sidebar/components/confidential/sidebar_confidentiality_widget.vue
'
;
import
updateIssueLockMutation
from
'
~/sidebar/components/lock/mutations/update_issue_lock.mutation.graphql
'
;
import
updateMergeRequestLockMutation
from
'
~/sidebar/components/lock/mutations/update_merge_request_lock.mutation.graphql
'
;
import
loadAwardsHandler
from
'
../..
/awards_handler
'
;
import
{
isInViewport
,
scrollToElement
,
isInMRPage
}
from
'
../..
/lib/utils/common_utils
'
;
import
Poll
from
'
../..
/lib/utils/poll
'
;
import
{
create
}
from
'
../..
/lib/utils/recurrence
'
;
import
{
mergeUrlParams
}
from
'
../..
/lib/utils/url_utility
'
;
import
sidebarTimeTrackingEventHub
from
'
../..
/sidebar/event_hub
'
;
import
TaskList
from
'
../..
/task_list
'
;
import
mrWidgetEventHub
from
'
../..
/vue_merge_request_widget/event_hub
'
;
import
loadAwardsHandler
from
'
~
/awards_handler
'
;
import
{
isInViewport
,
scrollToElement
,
isInMRPage
}
from
'
~
/lib/utils/common_utils
'
;
import
Poll
from
'
~
/lib/utils/poll
'
;
import
{
create
}
from
'
~
/lib/utils/recurrence
'
;
import
{
mergeUrlParams
}
from
'
~
/lib/utils/url_utility
'
;
import
sidebarTimeTrackingEventHub
from
'
~
/sidebar/event_hub
'
;
import
TaskList
from
'
~
/task_list
'
;
import
mrWidgetEventHub
from
'
~
/vue_merge_request_widget/event_hub
'
;
import
*
as
constants
from
'
../constants
'
;
import
eventHub
from
'
../event_hub
'
;
import
*
as
types
from
'
./mutation_types
'
;
...
...
app/assets/javascripts/notes/stores/mutations.js
View file @
1be54d9e
import
{
isEqual
}
from
'
lodash
'
;
import
{
isInMRPage
}
from
'
../..
/lib/utils/common_utils
'
;
import
{
isInMRPage
}
from
'
~
/lib/utils/common_utils
'
;
import
*
as
constants
from
'
../constants
'
;
import
*
as
types
from
'
./mutation_types
'
;
import
*
as
utils
from
'
./utils
'
;
...
...
app/assets/javascripts/pages/admin/abuse_reports/abuse_reports.js
View file @
1be54d9e
import
$
from
'
jquery
'
;
import
{
parseBoolean
}
from
'
~/lib/utils/common_utils
'
;
import
{
truncate
}
from
'
../../..
/lib/utils/text_utility
'
;
import
{
truncate
}
from
'
~
/lib/utils/text_utility
'
;
const
MAX_MESSAGE_LENGTH
=
500
;
const
MESSAGE_CELL_SELECTOR
=
'
.abuse-reports .message
'
;
...
...
app/assets/javascripts/pages/admin/admin.js
View file @
1be54d9e
import
$
from
'
jquery
'
;
import
{
refreshCurrentPage
}
from
'
../..
/lib/utils/url_utility
'
;
import
{
refreshCurrentPage
}
from
'
~
/lib/utils/url_utility
'
;
export
default
function
adminInit
()
{
$
(
'
input#user_force_random_password
'
).
on
(
'
change
'
,
function
randomPasswordClick
()
{
...
...
app/assets/javascripts/performance_bar/services/performance_bar_service.js
View file @
1be54d9e
import
{
parseBoolean
}
from
'
~/lib/utils/common_utils
'
;
import
axios
from
'
../..
/lib/utils/axios_utils
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
export
default
class
PerformanceBarService
{
static
interceptor
=
null
;
...
...
app/assets/javascripts/pipelines/services/pipelines_service.js
View file @
1be54d9e
import
Api
from
'
~/api
'
;
import
axios
from
'
../..
/lib/utils/axios_utils
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
import
{
validateParams
}
from
'
../utils
'
;
export
default
class
PipelinesService
{
...
...
app/assets/javascripts/pipelines/stores/pipelines_store.js
View file @
1be54d9e
import
{
parseIntPagination
,
normalizeHeaders
}
from
'
../..
/lib/utils/common_utils
'
;
import
{
parseIntPagination
,
normalizeHeaders
}
from
'
~
/lib/utils/common_utils
'
;
export
default
class
PipelinesStore
{
constructor
()
{
...
...
app/assets/javascripts/reports/grouped_test_report/store/actions.js
View file @
1be54d9e
import
Visibility
from
'
visibilityjs
'
;
import
axios
from
'
../../..
/lib/utils/axios_utils
'
;
import
httpStatusCodes
from
'
../../..
/lib/utils/http_status
'
;
import
Poll
from
'
../../..
/lib/utils/poll
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
import
httpStatusCodes
from
'
~
/lib/utils/http_status
'
;
import
Poll
from
'
~
/lib/utils/poll
'
;
import
*
as
types
from
'
./mutation_types
'
;
export
const
setPaths
=
({
commit
},
paths
)
=>
commit
(
types
.
SET_PATHS
,
paths
);
...
...
app/assets/javascripts/search/store/utils.js
View file @
1be54d9e
import
AccessorUtilities
from
'
../..
/lib/utils/accessor
'
;
import
AccessorUtilities
from
'
~
/lib/utils/accessor
'
;
import
{
MAX_FREQUENT_ITEMS
,
MAX_FREQUENCY
,
SIDEBAR_PARAMS
}
from
'
./constants
'
;
function
extractKeys
(
object
,
keyList
)
{
...
...
app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue
View file @
1be54d9e
...
...
@@ -3,7 +3,7 @@ import { GlButton, GlSkeletonLoader } from '@gitlab/ui';
import
createFlash
from
'
~/flash
'
;
import
{
__
}
from
'
~/locale
'
;
import
glFeatureFlagMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
simplePoll
from
'
../../..
/lib/utils/simple_poll
'
;
import
simplePoll
from
'
~
/lib/utils/simple_poll
'
;
import
eventHub
from
'
../../event_hub
'
;
import
mergeRequestQueryVariablesMixin
from
'
../../mixins/merge_request_query_variables
'
;
import
rebaseQuery
from
'
../../queries/states/rebase.query.graphql
'
;
...
...
app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js
View file @
1be54d9e
import
{
normalizeHeaders
}
from
'
~/lib/utils/common_utils
'
;
import
axios
from
'
../..
/lib/utils/axios_utils
'
;
import
axios
from
'
~
/lib/utils/axios_utils
'
;
export
default
class
MRWidgetService
{
constructor
(
endpoints
)
{
...
...
app/assets/javascripts/vue_shared/components/notes/system_note.vue
View file @
1be54d9e
...
...
@@ -31,7 +31,7 @@ import { __ } from '~/locale';
import
initMRPopovers
from
'
~/mr_popover/
'
;
import
noteHeader
from
'
~/notes/components/note_header.vue
'
;
import
glFeatureFlagsMixin
from
'
~/vue_shared/mixins/gl_feature_flags_mixin
'
;
import
{
spriteIcon
}
from
'
../../..
/lib/utils/common_utils
'
;
import
{
spriteIcon
}
from
'
~
/lib/utils/common_utils
'
;
import
TimelineEntryItem
from
'
./timeline_entry_item.vue
'
;
const
MAX_VISIBLE_COMMIT_LIST_COUNT
=
3
;
...
...
app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue
View file @
1be54d9e
...
...
@@ -2,7 +2,7 @@
import
{
GlTooltipDirective
}
from
'
@gitlab/ui
'
;
import
timeagoMixin
from
'
../mixins/timeago
'
;
import
'
../..
/lib/utils/datetime_utility
'
;
import
'
~
/lib/utils/datetime_utility
'
;
/**
* Port of ruby helper time_ago_with_tooltip
...
...
app/assets/javascripts/vue_shared/mixins/timeago.js
View file @
1be54d9e
import
{
formatDate
,
getTimeago
}
from
'
../..
/lib/utils/datetime_utility
'
;
import
{
formatDate
,
getTimeago
}
from
'
~
/lib/utils/datetime_utility
'
;
/**
* Mixin with time ago methods used in some vue components
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment