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
16097bbe
Commit
16097bbe
authored
Oct 04, 2016
by
Bryce Johnson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete leftover usertabs and template_selector es5 files.
parent
6c37adca
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
296 deletions
+0
-296
app/assets/javascripts/blob/template_selector.js
app/assets/javascripts/blob/template_selector.js
+0
-108
app/assets/javascripts/user_tabs.js
app/assets/javascripts/user_tabs.js
+0
-188
No files found.
app/assets/javascripts/blob/template_selector.js
deleted
100644 → 0
View file @
6c37adca
(
function
()
{
var
bind
=
function
(
fn
,
me
){
return
function
(){
return
fn
.
apply
(
me
,
arguments
);
};
};
this
.
TemplateSelector
=
(
function
()
{
function
TemplateSelector
(
opts
)
{
var
ref
;
if
(
opts
==
null
)
{
opts
=
{};
}
this
.
onClick
=
bind
(
this
.
onClick
,
this
);
this
.
dropdown
=
opts
.
dropdown
,
this
.
data
=
opts
.
data
,
this
.
pattern
=
opts
.
pattern
,
this
.
wrapper
=
opts
.
wrapper
,
this
.
editor
=
opts
.
editor
,
this
.
fileEndpoint
=
opts
.
fileEndpoint
,
this
.
$input
=
(
ref
=
opts
.
$input
)
!=
null
?
ref
:
$
(
'
#file_name
'
);
this
.
dropdownIcon
=
$
(
'
.fa-chevron-down
'
,
this
.
dropdown
);
this
.
buildDropdown
();
this
.
bindEvents
();
this
.
onFilenameUpdate
();
this
.
autosizeUpdateEvent
=
document
.
createEvent
(
'
Event
'
);
this
.
autosizeUpdateEvent
.
initEvent
(
'
autosize:update
'
,
true
,
false
);
}
TemplateSelector
.
prototype
.
buildDropdown
=
function
()
{
return
this
.
dropdown
.
glDropdown
({
data
:
this
.
data
,
filterable
:
true
,
selectable
:
true
,
toggleLabel
:
this
.
toggleLabel
,
search
:
{
fields
:
[
'
name
'
]
},
clicked
:
this
.
onClick
,
text
:
function
(
item
)
{
return
item
.
name
;
}
});
};
TemplateSelector
.
prototype
.
bindEvents
=
function
()
{
return
this
.
$input
.
on
(
'
keyup blur
'
,
(
function
(
_this
)
{
return
function
(
e
)
{
return
_this
.
onFilenameUpdate
();
};
})(
this
));
};
TemplateSelector
.
prototype
.
toggleLabel
=
function
(
item
)
{
return
item
.
name
;
};
TemplateSelector
.
prototype
.
onFilenameUpdate
=
function
()
{
var
filenameMatches
;
if
(
!
this
.
$input
.
length
)
{
return
;
}
filenameMatches
=
this
.
pattern
.
test
(
this
.
$input
.
val
().
trim
());
if
(
!
filenameMatches
)
{
this
.
wrapper
.
addClass
(
'
hidden
'
);
return
;
}
return
this
.
wrapper
.
removeClass
(
'
hidden
'
);
};
TemplateSelector
.
prototype
.
onClick
=
function
(
item
,
el
,
e
)
{
e
.
preventDefault
();
return
this
.
requestFile
(
item
);
};
TemplateSelector
.
prototype
.
requestFile
=
function
(
item
)
{
// This `requestFile` method is an abstract method that should
// be added by all subclasses.
};
// To be implemented on the extending class
// e.g.
// Api.gitignoreText item.name, @requestFileSuccess.bind(@)
TemplateSelector
.
prototype
.
requestFileSuccess
=
function
(
file
,
opts
)
{
var
oldValue
=
this
.
editor
.
getValue
();
var
newValue
=
file
.
content
;
if
(
opts
==
null
)
{
opts
=
{};
}
if
(
opts
.
append
&&
oldValue
.
length
&&
oldValue
!==
newValue
)
{
newValue
=
oldValue
+
'
\n\n
'
+
newValue
;
}
this
.
editor
.
setValue
(
newValue
,
1
);
if
(
!
opts
.
skipFocus
)
this
.
editor
.
focus
();
if
(
this
.
editor
instanceof
jQuery
)
{
this
.
editor
.
get
(
0
).
dispatchEvent
(
this
.
autosizeUpdateEvent
);
}
};
TemplateSelector
.
prototype
.
startLoadingSpinner
=
function
()
{
this
.
dropdownIcon
.
addClass
(
'
fa-spinner fa-spin
'
)
.
removeClass
(
'
fa-chevron-down
'
);
};
TemplateSelector
.
prototype
.
stopLoadingSpinner
=
function
()
{
this
.
dropdownIcon
.
addClass
(
'
fa-chevron-down
'
)
.
removeClass
(
'
fa-spinner fa-spin
'
);
};
return
TemplateSelector
;
})();
}).
call
(
this
);
app/assets/javascripts/user_tabs.js
deleted
100644 → 0
View file @
6c37adca
// UserTabs
//
// Handles persisting and restoring the current tab selection and lazily-loading
// content on the Users#show page.
//
// ### Example Markup
//
// <ul class="nav-links">
// <li class="activity-tab active">
// <a data-action="activity" data-target="#activity" data-toggle="tab" href="/u/username">
// Activity
// </a>
// </li>
// <li class="groups-tab">
// <a data-action="groups" data-target="#groups" data-toggle="tab" href="/u/username/groups">
// Groups
// </a>
// </li>
// <li class="contributed-tab">
// <a data-action="contributed" data-target="#contributed" data-toggle="tab" href="/u/username/contributed">
// Contributed projects
// </a>
// </li>
// <li class="projects-tab">
// <a data-action="projects" data-target="#projects" data-toggle="tab" href="/u/username/projects">
// Personal projects
// </a>
// </li>
// <li class="snippets-tab">
// <a data-action="snippets" data-target="#snippets" data-toggle="tab" href="/u/username/snippets">
// </a>
// </li>
// </ul>
//
// <div class="tab-content">
// <div class="tab-pane" id="activity">
// Activity Content
// </div>
// <div class="tab-pane" id="groups">
// Groups Content
// </div>
// <div class="tab-pane" id="contributed">
// Contributed projects content
// </div>
// <div class="tab-pane" id="projects">
// Projects content
// </div>
// <div class="tab-pane" id="snippets">
// Snippets content
// </div>
// </div>
//
// <div class="loading-status">
// <div class="loading">
// Loading Animation
// </div>
// </div>
//
(
function
()
{
var
bind
=
function
(
fn
,
me
){
return
function
(){
return
fn
.
apply
(
me
,
arguments
);
};
};
this
.
UserTabs
=
(
function
()
{
function
UserTabs
(
opts
)
{
this
.
tabShown
=
bind
(
this
.
tabShown
,
this
);
var
i
,
item
,
len
,
ref
,
ref1
,
ref2
,
ref3
;
this
.
action
=
(
ref
=
opts
.
action
)
!=
null
?
ref
:
'
activity
'
,
this
.
defaultAction
=
(
ref1
=
opts
.
defaultAction
)
!=
null
?
ref1
:
'
activity
'
,
this
.
parentEl
=
(
ref2
=
opts
.
parentEl
)
!=
null
?
ref2
:
$
(
document
);
// Make jQuery object if selector is provided
if
(
typeof
this
.
parentEl
===
'
string
'
)
{
this
.
parentEl
=
$
(
this
.
parentEl
);
}
// Store the `location` object, allowing for easier stubbing in tests
this
.
_location
=
location
;
// Set tab states
this
.
loaded
=
{};
ref3
=
this
.
parentEl
.
find
(
'
.nav-links a
'
);
for
(
i
=
0
,
len
=
ref3
.
length
;
i
<
len
;
i
++
)
{
item
=
ref3
[
i
];
this
.
loaded
[
$
(
item
).
attr
(
'
data-action
'
)]
=
false
;
}
// Actions
this
.
actions
=
Object
.
keys
(
this
.
loaded
);
this
.
bindEvents
();
// Set active tab
if
(
this
.
action
===
'
show
'
)
{
this
.
action
=
this
.
defaultAction
;
}
this
.
activateTab
(
this
.
action
);
}
UserTabs
.
prototype
.
bindEvents
=
function
()
{
// Toggle event listeners
return
this
.
parentEl
.
off
(
'
shown.bs.tab
'
,
'
.nav-links a[data-toggle="tab"]
'
).
on
(
'
shown.bs.tab
'
,
'
.nav-links a[data-toggle="tab"]
'
,
this
.
tabShown
);
};
UserTabs
.
prototype
.
tabShown
=
function
(
event
)
{
var
$target
,
action
,
source
;
$target
=
$
(
event
.
target
);
action
=
$target
.
data
(
'
action
'
);
source
=
$target
.
attr
(
'
href
'
);
this
.
setTab
(
source
,
action
);
return
this
.
setCurrentAction
(
action
);
};
UserTabs
.
prototype
.
activateTab
=
function
(
action
)
{
return
this
.
parentEl
.
find
(
"
.nav-links .js-
"
+
action
+
"
-tab a
"
).
tab
(
'
show
'
);
};
UserTabs
.
prototype
.
setTab
=
function
(
source
,
action
)
{
if
(
this
.
loaded
[
action
]
===
true
)
{
return
;
}
if
(
action
===
'
activity
'
)
{
this
.
loadActivities
(
source
);
}
if
(
action
===
'
groups
'
||
action
===
'
contributed
'
||
action
===
'
projects
'
||
action
===
'
snippets
'
)
{
return
this
.
loadTab
(
source
,
action
);
}
};
UserTabs
.
prototype
.
loadTab
=
function
(
source
,
action
)
{
return
$
.
ajax
({
beforeSend
:
(
function
(
_this
)
{
return
function
()
{
return
_this
.
toggleLoading
(
true
);
};
})(
this
),
complete
:
(
function
(
_this
)
{
return
function
()
{
return
_this
.
toggleLoading
(
false
);
};
})(
this
),
dataType
:
'
json
'
,
type
:
'
GET
'
,
url
:
source
+
"
.json
"
,
success
:
(
function
(
_this
)
{
return
function
(
data
)
{
var
tabSelector
;
tabSelector
=
'
div#
'
+
action
;
_this
.
parentEl
.
find
(
tabSelector
).
html
(
data
.
html
);
_this
.
loaded
[
action
]
=
true
;
// Fix tooltips
return
gl
.
utils
.
localTimeAgo
(
$
(
'
.js-timeago
'
,
tabSelector
));
};
})(
this
)
});
};
UserTabs
.
prototype
.
loadActivities
=
function
(
source
)
{
var
$calendarWrap
;
if
(
this
.
loaded
[
'
activity
'
]
===
true
)
{
return
;
}
$calendarWrap
=
this
.
parentEl
.
find
(
'
.user-calendar
'
);
$calendarWrap
.
load
(
$calendarWrap
.
data
(
'
href
'
));
new
Activities
();
return
this
.
loaded
[
'
activity
'
]
=
true
;
};
UserTabs
.
prototype
.
toggleLoading
=
function
(
status
)
{
return
this
.
parentEl
.
find
(
'
.loading-status .loading
'
).
toggle
(
status
);
};
UserTabs
.
prototype
.
setCurrentAction
=
function
(
action
)
{
var
new_state
,
regExp
;
// Remove possible actions from URL
regExp
=
new
RegExp
(
'
\
/(
'
+
this
.
actions
.
join
(
'
|
'
)
+
'
)(
\
.html)?
\
/?$
'
);
new_state
=
this
.
_location
.
pathname
;
// remove trailing slashes
new_state
=
new_state
.
replace
(
/
\/
+$/
,
""
);
new_state
=
new_state
.
replace
(
regExp
,
''
);
// Append the new action if we're on a tab other than 'activity'
if
(
action
!==
this
.
defaultAction
)
{
new_state
+=
"
/
"
+
action
;
}
// Ensure parameters and hash come along for the ride
new_state
+=
this
.
_location
.
search
+
this
.
_location
.
hash
;
history
.
replaceState
({
turbolinks
:
true
,
url
:
new_state
},
document
.
title
,
new_state
);
return
new_state
;
};
return
UserTabs
;
})();
}).
call
(
this
);
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