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
77b1def4
Commit
77b1def4
authored
Nov 17, 2017
by
Filipa Lacerda
Committed by
Phil Hughes
Nov 17, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Exports a couple of project related code as es6 modules
parent
2dff3776
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
272 additions
and
311 deletions
+272
-311
app/assets/javascripts/dispatcher.js
app/assets/javascripts/dispatcher.js
+9
-9
app/assets/javascripts/main.js
app/assets/javascripts/main.js
+0
-5
app/assets/javascripts/project.js
app/assets/javascripts/project.js
+2
-2
app/assets/javascripts/project_label_subscription.js
app/assets/javascripts/project_label_subscription.js
+37
-42
app/assets/javascripts/project_new.js
app/assets/javascripts/project_new.js
+132
-140
app/assets/javascripts/project_select.js
app/assets/javascripts/project_select.js
+64
-70
app/assets/javascripts/project_show.js
app/assets/javascripts/project_show.js
+0
-11
app/assets/javascripts/project_variables.js
app/assets/javascripts/project_variables.js
+28
-32
No files found.
app/assets/javascripts/dispatcher.js
View file @
77b1def4
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-arrow-callback, wrap-iife, no-shadow, consistent-return, one-var, one-var-declaration-per-line, camelcase, default-case, no-new, quotes, no-duplicate-case, no-case-declarations, no-fallthrough, max-len */
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-arrow-callback, wrap-iife, no-shadow, consistent-return, one-var, one-var-declaration-per-line, camelcase, default-case, no-new, quotes, no-duplicate-case, no-case-declarations, no-fallthrough, max-len */
import
{
s__
}
from
'
./locale
'
;
import
{
s__
}
from
'
./locale
'
;
/* global ProjectSelect */
import
projectSelect
from
'
./project_select
'
;
import
IssuableIndex
from
'
./issuable_index
'
;
import
IssuableIndex
from
'
./issuable_index
'
;
/* global Milestone */
/* global Milestone */
import
IssuableForm
from
'
./issuable_form
'
;
import
IssuableForm
from
'
./issuable_form
'
;
...
@@ -26,8 +26,7 @@ import projectAvatar from './project_avatar';
...
@@ -26,8 +26,7 @@ import projectAvatar from './project_avatar';
/* global Compare */
/* global Compare */
/* global CompareAutocomplete */
/* global CompareAutocomplete */
/* global ProjectFindFile */
/* global ProjectFindFile */
/* global ProjectNew */
import
ProjectNew
from
'
./project_new
'
;
/* global ProjectShow */
import
projectImport
from
'
./project_import
'
;
import
projectImport
from
'
./project_import
'
;
import
Labels
from
'
./labels
'
;
import
Labels
from
'
./labels
'
;
import
LabelManager
from
'
./label_manager
'
;
import
LabelManager
from
'
./label_manager
'
;
...
@@ -91,6 +90,8 @@ import Members from './members';
...
@@ -91,6 +90,8 @@ import Members from './members';
import
memberExpirationDate
from
'
./member_expiration_date
'
;
import
memberExpirationDate
from
'
./member_expiration_date
'
;
import
DueDateSelectors
from
'
./due_date_select
'
;
import
DueDateSelectors
from
'
./due_date_select
'
;
import
Diff
from
'
./diff
'
;
import
Diff
from
'
./diff
'
;
import
ProjectLabelSubscription
from
'
./project_label_subscription
'
;
import
ProjectVariables
from
'
./project_variables
'
;
(
function
()
{
(
function
()
{
var
Dispatcher
;
var
Dispatcher
;
...
@@ -187,7 +188,7 @@ import Diff from './diff';
...
@@ -187,7 +188,7 @@ import Diff from './diff';
initIssuableSidebar
();
initIssuableSidebar
();
break
;
break
;
case
'
dashboard:milestones:index
'
:
case
'
dashboard:milestones:index
'
:
new
P
rojectSelect
();
p
rojectSelect
();
break
;
break
;
case
'
projects:milestones:show
'
:
case
'
projects:milestones:show
'
:
case
'
groups:milestones:show
'
:
case
'
groups:milestones:show
'
:
...
@@ -197,7 +198,7 @@ import Diff from './diff';
...
@@ -197,7 +198,7 @@ import Diff from './diff';
break
;
break
;
case
'
dashboard:issues
'
:
case
'
dashboard:issues
'
:
case
'
dashboard:merge_requests
'
:
case
'
dashboard:merge_requests
'
:
new
P
rojectSelect
();
p
rojectSelect
();
initLegacyFilters
();
initLegacyFilters
();
break
;
break
;
case
'
groups:issues
'
:
case
'
groups:issues
'
:
...
@@ -206,7 +207,7 @@ import Diff from './diff';
...
@@ -206,7 +207,7 @@ import Diff from './diff';
const
filteredSearchManager
=
new
gl
.
FilteredSearchManager
(
page
===
'
groups:issues
'
?
'
issues
'
:
'
merge_requests
'
);
const
filteredSearchManager
=
new
gl
.
FilteredSearchManager
(
page
===
'
groups:issues
'
?
'
issues
'
:
'
merge_requests
'
);
filteredSearchManager
.
setup
();
filteredSearchManager
.
setup
();
}
}
new
P
rojectSelect
();
p
rojectSelect
();
break
;
break
;
case
'
dashboard:todos:index
'
:
case
'
dashboard:todos:index
'
:
new
Todos
();
new
Todos
();
...
@@ -484,7 +485,7 @@ import Diff from './diff';
...
@@ -484,7 +485,7 @@ import Diff from './diff';
if
(
$el
.
find
(
'
.dropdown-group-label
'
).
length
)
{
if
(
$el
.
find
(
'
.dropdown-group-label
'
).
length
)
{
new
GroupLabelSubscription
(
$el
);
new
GroupLabelSubscription
(
$el
);
}
else
{
}
else
{
new
gl
.
ProjectLabelSubscription
(
$el
);
new
ProjectLabelSubscription
(
$el
);
}
}
});
});
break
;
break
;
...
@@ -520,7 +521,7 @@ import Diff from './diff';
...
@@ -520,7 +521,7 @@ import Diff from './diff';
// Initialize expandable settings panels
// Initialize expandable settings panels
initSettingsPanels
();
initSettingsPanels
();
case
'
groups:settings:ci_cd:show
'
:
case
'
groups:settings:ci_cd:show
'
:
new
gl
.
ProjectVariables
();
new
ProjectVariables
();
break
;
break
;
case
'
ci:lints:create
'
:
case
'
ci:lints:create
'
:
case
'
ci:lints:show
'
:
case
'
ci:lints:show
'
:
...
@@ -623,7 +624,6 @@ import Diff from './diff';
...
@@ -623,7 +624,6 @@ import Diff from './diff';
case
'
show
'
:
case
'
show
'
:
new
Star
();
new
Star
();
new
ProjectNew
();
new
ProjectNew
();
new
ProjectShow
();
new
NotificationsDropdown
();
new
NotificationsDropdown
();
break
;
break
;
case
'
wikis
'
:
case
'
wikis
'
:
...
...
app/assets/javascripts/main.js
View file @
77b1def4
...
@@ -71,11 +71,6 @@ import './pager';
...
@@ -71,11 +71,6 @@ import './pager';
import
'
./preview_markdown
'
;
import
'
./preview_markdown
'
;
import
'
./project_find_file
'
;
import
'
./project_find_file
'
;
import
'
./project_import
'
;
import
'
./project_import
'
;
import
'
./project_label_subscription
'
;
import
'
./project_new
'
;
import
'
./project_select
'
;
import
'
./project_show
'
;
import
'
./project_variables
'
;
import
'
./projects_dropdown
'
;
import
'
./projects_dropdown
'
;
import
'
./projects_list
'
;
import
'
./projects_list
'
;
import
'
./syntax_highlight
'
;
import
'
./syntax_highlight
'
;
...
...
app/assets/javascripts/project.js
View file @
77b1def4
/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */
/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */
/* global ProjectSelect */
import
Cookies
from
'
js-cookie
'
;
import
Cookies
from
'
js-cookie
'
;
import
projectSelect
from
'
./project_select
'
;
export
default
class
Project
{
export
default
class
Project
{
constructor
()
{
constructor
()
{
...
@@ -46,7 +46,7 @@ export default class Project {
...
@@ -46,7 +46,7 @@ export default class Project {
}
}
static
projectSelectDropdown
()
{
static
projectSelectDropdown
()
{
new
P
rojectSelect
();
p
rojectSelect
();
$
(
'
.project-item-select
'
).
on
(
'
click
'
,
e
=>
Project
.
changeProject
(
$
(
e
.
currentTarget
).
val
()));
$
(
'
.project-item-select
'
).
on
(
'
click
'
,
e
=>
Project
.
changeProject
(
$
(
e
.
currentTarget
).
val
()));
}
}
...
...
app/assets/javascripts/project_label_subscription.js
View file @
77b1def4
/* eslint-disable wrap-iife, func-names, space-before-function-paren, object-shorthand, comma-dangle, one-var, one-var-declaration-per-line, no-restricted-syntax, max-len, no-param-reassign */
export
default
class
ProjectLabelSubscription
{
constructor
(
container
)
{
this
.
$container
=
$
(
container
);
this
.
$buttons
=
this
.
$container
.
find
(
'
.js-subscribe-button
'
);
(
function
(
global
)
{
this
.
$buttons
.
on
(
'
click
'
,
this
.
toggleSubscription
.
bind
(
this
));
class
ProjectLabelSubscription
{
}
constructor
(
container
)
{
this
.
$container
=
$
(
container
);
this
.
$buttons
=
this
.
$container
.
find
(
'
.js-subscribe-button
'
);
this
.
$buttons
.
on
(
'
click
'
,
this
.
toggleSubscription
.
bind
(
this
));
}
toggleSubscription
(
event
)
{
toggleSubscription
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
const
$btn
=
$
(
event
.
currentTarget
);
const
$btn
=
$
(
event
.
currentTarget
);
const
$span
=
$btn
.
find
(
'
span
'
);
const
$span
=
$btn
.
find
(
'
span
'
);
const
url
=
$btn
.
attr
(
'
data-url
'
);
const
url
=
$btn
.
attr
(
'
data-url
'
);
const
oldStatus
=
$btn
.
attr
(
'
data-status
'
);
const
oldStatus
=
$btn
.
attr
(
'
data-status
'
);
$btn
.
addClass
(
'
disabled
'
);
$btn
.
addClass
(
'
disabled
'
);
$span
.
toggleClass
(
'
hidden
'
);
$span
.
toggleClass
(
'
hidden
'
);
$
.
ajax
({
$
.
ajax
({
type
:
'
POST
'
,
type
:
'
POST
'
,
url
:
url
url
,
}).
done
(()
=>
{
}).
done
(()
=>
{
let
newStatus
,
newAction
;
let
newStatus
;
let
newAction
;
if
(
oldStatus
===
'
unsubscribed
'
)
{
if
(
oldStatus
===
'
unsubscribed
'
)
{
[
newStatus
,
newAction
]
=
[
'
subscribed
'
,
'
Unsubscribe
'
];
[
newStatus
,
newAction
]
=
[
'
subscribed
'
,
'
Unsubscribe
'
];
}
else
{
}
else
{
[
newStatus
,
newAction
]
=
[
'
unsubscribed
'
,
'
Subscribe
'
];
[
newStatus
,
newAction
]
=
[
'
unsubscribed
'
,
'
Subscribe
'
];
}
}
$span
.
toggleClass
(
'
hidden
'
);
$span
.
toggleClass
(
'
hidden
'
);
$btn
.
removeClass
(
'
disabled
'
);
$btn
.
removeClass
(
'
disabled
'
);
this
.
$buttons
.
attr
(
'
data-status
'
,
newStatus
);
this
.
$buttons
.
attr
(
'
data-status
'
,
newStatus
);
this
.
$buttons
.
find
(
'
> span
'
).
text
(
newAction
);
this
.
$buttons
.
find
(
'
> span
'
).
text
(
newAction
);
this
.
$buttons
.
map
((
button
)
=>
{
this
.
$buttons
.
map
((
button
)
=>
{
const
$button
=
$
(
button
);
const
$button
=
$
(
button
);
if
(
$button
.
attr
(
'
data-original-title
'
))
{
if
(
$button
.
attr
(
'
data-original-title
'
))
{
$button
.
tooltip
(
'
hide
'
).
attr
(
'
data-original-title
'
,
newAction
).
tooltip
(
'
fixTitle
'
);
$button
.
tooltip
(
'
hide
'
).
attr
(
'
data-original-title
'
,
newAction
).
tooltip
(
'
fixTitle
'
);
}
}
return
button
;
return
button
;
});
});
});
}
}
);
}
}
}
global
.
ProjectLabelSubscription
=
ProjectLabelSubscription
;
})(
window
.
gl
||
(
window
.
gl
=
{}));
app/assets/javascripts/project_new.js
View file @
77b1def4
/* eslint-disable func-names,
space-before-function-paren, no-var, prefer-rest-params, wrap-iife, no-unused-vars, one-var, no-underscore-dangle, prefer-template, no-else-return, prefer-arrow-callback, max-len
*/
/* eslint-disable func-names,
no-var, no-underscore-dangle, prefer-template, prefer-arrow-callback
*/
import
VisibilitySelect
from
'
./visibility_select
'
;
import
VisibilitySelect
from
'
./visibility_select
'
;
...
@@ -7,153 +7,145 @@ function highlightChanges($elm) {
...
@@ -7,153 +7,145 @@ function highlightChanges($elm) {
setTimeout
(()
=>
$elm
.
removeClass
(
'
highlight-changes
'
),
10
);
setTimeout
(()
=>
$elm
.
removeClass
(
'
highlight-changes
'
),
10
);
}
}
(
function
()
{
export
default
class
ProjectNew
{
this
.
ProjectNew
=
(
function
()
{
constructor
()
{
function
ProjectNew
()
{
this
.
toggleSettings
=
this
.
toggleSettings
.
bind
(
this
);
this
.
toggleSettings
=
this
.
toggleSettings
.
bind
(
this
);
this
.
$selects
=
$
(
'
.features select
'
);
this
.
$selects
=
$
(
'
.features select
'
);
this
.
$repoSelects
=
this
.
$selects
.
filter
(
'
.js-repo-select
'
);
this
.
$repoSelects
=
this
.
$selects
.
filter
(
'
.js-repo-select
'
);
this
.
$projectSelects
=
this
.
$selects
.
not
(
'
.js-repo-select
'
);
this
.
$projectSelects
=
this
.
$selects
.
not
(
'
.js-repo-select
'
);
$
(
'
.project-edit-container
'
).
on
(
'
ajax:before
'
,
()
=>
{
$
(
'
.project-edit-container
'
).
on
(
'
ajax:before
'
,
(
function
(
_this
)
{
$
(
'
.project-edit-container
'
).
hide
();
return
function
()
{
return
$
(
'
.save-project-loader
'
).
show
();
$
(
'
.project-edit-container
'
).
hide
();
});
return
$
(
'
.save-project-loader
'
).
show
();
};
this
.
initVisibilitySelect
();
})(
this
));
this
.
toggleSettings
();
this
.
initVisibilitySelect
();
this
.
toggleSettingsOnclick
();
this
.
toggleRepoVisibility
();
this
.
toggleSettings
();
}
this
.
toggleSettingsOnclick
();
this
.
toggleRepoVisibility
();
initVisibilitySelect
()
{
}
const
visibilityContainer
=
document
.
querySelector
(
'
.js-visibility-select
'
);
if
(
!
visibilityContainer
)
return
;
ProjectNew
.
prototype
.
initVisibilitySelect
=
function
()
{
const
visibilitySelect
=
new
VisibilitySelect
(
visibilityContainer
);
const
visibilityContainer
=
document
.
querySelector
(
'
.js-visibility-select
'
);
visibilitySelect
.
init
();
if
(
!
visibilityContainer
)
return
;
const
visibilitySelect
=
new
VisibilitySelect
(
visibilityContainer
);
const
$visibilitySelect
=
$
(
visibilityContainer
).
find
(
'
select
'
);
visibilitySelect
.
init
();
let
projectVisibility
=
$visibilitySelect
.
val
();
const
PROJECT_VISIBILITY_PRIVATE
=
'
0
'
;
const
$visibilitySelect
=
$
(
visibilityContainer
).
find
(
'
select
'
);
let
projectVisibility
=
$visibilitySelect
.
val
();
$visibilitySelect
.
on
(
'
change
'
,
()
=>
{
const
PROJECT_VISIBILITY_PRIVATE
=
'
0
'
;
const
newProjectVisibility
=
$visibilitySelect
.
val
();
$visibilitySelect
.
on
(
'
change
'
,
()
=>
{
if
(
projectVisibility
!==
newProjectVisibility
)
{
const
newProjectVisibility
=
$visibilitySelect
.
val
();
this
.
$projectSelects
.
each
((
idx
,
select
)
=>
{
const
$select
=
$
(
select
);
if
(
projectVisibility
!==
newProjectVisibility
)
{
const
$options
=
$select
.
find
(
'
option
'
);
this
.
$projectSelects
.
each
((
idx
,
select
)
=>
{
const
values
=
$
.
map
(
$options
,
e
=>
e
.
value
);
const
$select
=
$
(
select
);
const
$options
=
$select
.
find
(
'
option
'
);
// if switched to "private", limit visibility options
const
values
=
$
.
map
(
$options
,
e
=>
e
.
value
);
if
(
newProjectVisibility
===
PROJECT_VISIBILITY_PRIVATE
)
{
if
(
$select
.
val
()
!==
values
[
0
]
&&
$select
.
val
()
!==
values
[
1
])
{
// if switched to "private", limit visibility options
$select
.
val
(
values
[
1
]).
trigger
(
'
change
'
);
if
(
newProjectVisibility
===
PROJECT_VISIBILITY_PRIVATE
)
{
highlightChanges
(
$select
);
if
(
$select
.
val
()
!==
values
[
0
]
&&
$select
.
val
()
!==
values
[
1
])
{
$select
.
val
(
values
[
1
]).
trigger
(
'
change
'
);
highlightChanges
(
$select
);
}
$options
.
slice
(
2
).
disable
();
}
}
$options
.
slice
(
2
).
disable
();
}
// if switched from "private", increase visibility for non-disabled options
// if switched from "private", increase visibility for non-disabled options
if
(
projectVisibility
===
PROJECT_VISIBILITY_PRIVATE
)
{
if
(
projectVisibility
===
PROJECT_VISIBILITY_PRIVATE
)
{
$options
.
enable
();
$options
.
enable
();
if
(
$select
.
val
()
!==
values
[
0
]
&&
$select
.
val
()
!==
values
[
values
.
length
-
1
])
{
if
(
$select
.
val
()
!==
values
[
0
]
&&
$select
.
val
()
!==
values
[
values
.
length
-
1
])
{
$select
.
val
(
values
[
values
.
length
-
1
]).
trigger
(
'
change
'
);
$select
.
val
(
values
[
values
.
length
-
1
]).
trigger
(
'
change
'
);
highlightChanges
(
$select
);
highlightChanges
(
$select
);
}
}
}
});
}
});
projectVisibility
=
newProjectVisibility
;
projectVisibility
=
newProjectVisibility
;
}
});
};
ProjectNew
.
prototype
.
toggleSettings
=
function
()
{
var
self
=
this
;
this
.
$selects
.
each
(
function
()
{
var
$select
=
$
(
this
);
var
className
=
$select
.
data
(
'
field
'
)
.
replace
(
/_/g
,
'
-
'
)
.
replace
(
'
access-level
'
,
'
feature
'
);
self
.
_showOrHide
(
$select
,
'
.
'
+
className
);
});
};
ProjectNew
.
prototype
.
toggleSettingsOnclick
=
function
()
{
this
.
$selects
.
on
(
'
change
'
,
this
.
toggleSettings
);
};
ProjectNew
.
prototype
.
_showOrHide
=
function
(
checkElement
,
container
)
{
var
$container
=
$
(
container
);
if
(
$
(
checkElement
).
val
()
!==
'
0
'
)
{
return
$container
.
show
();
}
else
{
return
$container
.
hide
();
}
}
};
});
}
ProjectNew
.
prototype
.
toggleRepoVisibility
=
function
()
{
var
$repoAccessLevel
=
$
(
'
.js-repo-access-level select
'
);
toggleSettings
()
{
var
$lfsEnabledOption
=
$
(
'
.js-lfs-enabled select
'
);
this
.
$selects
.
each
(
function
()
{
var
containerRegistry
=
document
.
querySelectorAll
(
'
.js-container-registry
'
)[
0
];
var
$select
=
$
(
this
);
var
containerRegistryCheckbox
=
document
.
getElementById
(
'
project_container_registry_enabled
'
);
var
className
=
$select
.
data
(
'
field
'
)
var
prevSelectedVal
=
parseInt
(
$repoAccessLevel
.
val
(),
10
);
.
replace
(
/_/g
,
'
-
'
)
.
replace
(
'
access-level
'
,
'
feature
'
);
this
.
$repoSelects
.
find
(
"
option[value='
"
+
$repoAccessLevel
.
val
()
+
"
']
"
)
ProjectNew
.
_showOrHide
(
$select
,
'
.
'
+
className
);
.
nextAll
()
});
.
hide
();
}
$repoAccessLevel
.
off
(
'
change
'
)
toggleSettingsOnclick
()
{
.
on
(
'
change
'
,
function
()
{
this
.
$selects
.
on
(
'
change
'
,
this
.
toggleSettings
);
var
selectedVal
=
parseInt
(
$repoAccessLevel
.
val
(),
10
);
}
this
.
$repoSelects
.
each
(
function
()
{
static
_showOrHide
(
checkElement
,
container
)
{
var
$this
=
$
(
this
);
const
$container
=
$
(
container
);
var
repoSelectVal
=
parseInt
(
$this
.
val
(),
10
);
if
(
$
(
checkElement
).
val
()
!==
'
0
'
)
{
$this
.
find
(
'
option
'
).
enable
();
return
$container
.
show
();
}
if
(
selectedVal
<
repoSelectVal
||
repoSelectVal
===
prevSelectedVal
)
{
return
$container
.
hide
();
$this
.
val
(
selectedVal
).
trigger
(
'
change
'
);
}
highlightChanges
(
$this
);
}
toggleRepoVisibility
()
{
var
$repoAccessLevel
=
$
(
'
.js-repo-access-level select
'
);
$this
.
find
(
"
option[value='
"
+
selectedVal
+
"
']
"
).
nextAll
().
disable
();
var
$lfsEnabledOption
=
$
(
'
.js-lfs-enabled select
'
);
});
var
containerRegistry
=
document
.
querySelectorAll
(
'
.js-container-registry
'
)[
0
];
var
containerRegistryCheckbox
=
document
.
getElementById
(
'
project_container_registry_enabled
'
);
var
prevSelectedVal
=
parseInt
(
$repoAccessLevel
.
val
(),
10
);
this
.
$repoSelects
.
find
(
"
option[value='
"
+
$repoAccessLevel
.
val
()
+
"
']
"
)
.
nextAll
()
.
hide
();
$repoAccessLevel
.
off
(
'
change
'
)
.
on
(
'
change
'
,
function
()
{
var
selectedVal
=
parseInt
(
$repoAccessLevel
.
val
(),
10
);
this
.
$repoSelects
.
each
(
function
()
{
var
$this
=
$
(
this
);
var
repoSelectVal
=
parseInt
(
$this
.
val
(),
10
);
$this
.
find
(
'
option
'
).
enable
();
if
(
selectedVal
<
repoSelectVal
||
repoSelectVal
===
prevSelectedVal
)
{
$this
.
val
(
selectedVal
).
trigger
(
'
change
'
);
highlightChanges
(
$this
);
}
if
(
selectedVal
)
{
$this
.
find
(
"
option[value='
"
+
selectedVal
+
"
']
"
).
nextAll
().
disable
();
this
.
$repoSelects
.
removeClass
(
'
disabled
'
);
}
);
if
(
$lfsEnabledOption
.
length
)
{
if
(
selectedVal
)
{
$lfsEnabledOption
.
removeClass
(
'
disabled
'
);
this
.
$repoSelects
.
removeClass
(
'
disabled
'
);
highlightChanges
(
$lfsEnabledOption
);
}
if
(
containerRegistry
)
{
containerRegistry
.
style
.
display
=
''
;
}
}
else
{
this
.
$repoSelects
.
addClass
(
'
disabled
'
);
if
(
$lfsEnabledOption
.
length
)
{
if
(
$lfsEnabledOption
.
length
)
{
$lfsEnabledOption
.
val
(
'
false
'
).
addClass
(
'
disabled
'
);
$lfsEnabledOption
.
removeClass
(
'
disabled
'
);
highlightChanges
(
$lfsEnabledOption
);
highlightChanges
(
$lfsEnabledOption
);
}
}
if
(
containerRegistry
)
{
if
(
containerRegistry
)
{
containerRegistry
.
style
.
display
=
'
none
'
;
containerRegistry
.
style
.
display
=
''
;
containerRegistryCheckbox
.
checked
=
false
;
}
}
}
}
else
{
this
.
$repoSelects
.
addClass
(
'
disabled
'
);
prevSelectedVal
=
selectedVal
;
if
(
$lfsEnabledOption
.
length
)
{
}.
bind
(
this
));
$lfsEnabledOption
.
val
(
'
false
'
).
addClass
(
'
disabled
'
);
};
highlightChanges
(
$lfsEnabledOption
);
}
if
(
containerRegistry
)
{
containerRegistry
.
style
.
display
=
'
none
'
;
containerRegistryCheckbox
.
checked
=
false
;
}
}
return
ProjectNew
;
prevSelectedVal
=
selectedVal
;
})();
}.
bind
(
this
));
}).
call
(
window
);
}
}
app/assets/javascripts/project_select.js
View file @
77b1def4
...
@@ -2,79 +2,73 @@
...
@@ -2,79 +2,73 @@
import
Api
from
'
./api
'
;
import
Api
from
'
./api
'
;
import
ProjectSelectComboButton
from
'
./project_select_combo_button
'
;
import
ProjectSelectComboButton
from
'
./project_select_combo_button
'
;
(
function
()
{
export
default
function
projectSelect
()
{
this
.
ProjectSelect
=
(
function
()
{
$
(
'
.ajax-project-select
'
).
each
(
function
(
i
,
select
)
{
function
ProjectSelect
()
{
var
placeholder
;
$
(
'
.ajax-project-select
'
).
each
(
function
(
i
,
select
)
{
const
simpleFilter
=
$
(
select
).
data
(
'
simple-filter
'
)
||
false
;
var
placeholder
;
this
.
groupId
=
$
(
select
).
data
(
'
group-id
'
);
const
simpleFilter
=
$
(
select
).
data
(
'
simple-filter
'
)
||
false
;
this
.
includeGroups
=
$
(
select
).
data
(
'
include-groups
'
);
this
.
groupId
=
$
(
select
).
data
(
'
group-id
'
);
this
.
allProjects
=
$
(
select
).
data
(
'
all-projects
'
)
||
false
;
this
.
includeGroups
=
$
(
select
).
data
(
'
include-groups
'
);
this
.
orderBy
=
$
(
select
).
data
(
'
order-by
'
)
||
'
id
'
;
this
.
allProjects
=
$
(
select
).
data
(
'
all-projects
'
)
||
false
;
this
.
withIssuesEnabled
=
$
(
select
).
data
(
'
with-issues-enabled
'
);
this
.
orderBy
=
$
(
select
).
data
(
'
order-by
'
)
||
'
id
'
;
this
.
withMergeRequestsEnabled
=
$
(
select
).
data
(
'
with-merge-requests-enabled
'
);
this
.
withIssuesEnabled
=
$
(
select
).
data
(
'
with-issues-enabled
'
);
this
.
withMergeRequestsEnabled
=
$
(
select
).
data
(
'
with-merge-requests-enabled
'
);
placeholder
=
"
Search for project
"
;
placeholder
=
"
Search for project
"
;
if
(
this
.
includeGroups
)
{
if
(
this
.
includeGroups
)
{
placeholder
+=
"
or group
"
;
placeholder
+=
"
or group
"
;
}
}
$
(
select
).
select2
({
$
(
select
).
select2
({
placeholder
:
placeholder
,
placeholder
:
placeholder
,
minimumInputLength
:
0
,
minimumInputLength
:
0
,
query
:
(
function
(
_this
)
{
query
:
(
function
(
_this
)
{
return
function
(
query
)
{
return
function
(
query
)
{
var
finalCallback
,
projectsCallback
;
var
finalCallback
,
projectsCallback
;
finalCallback
=
function
(
projects
)
{
finalCallback
=
function
(
projects
)
{
var
data
;
data
=
{
results
:
projects
};
return
query
.
callback
(
data
);
};
if
(
_this
.
includeGroups
)
{
projectsCallback
=
function
(
projects
)
{
var
groupsCallback
;
groupsCallback
=
function
(
groups
)
{
var
data
;
var
data
;
data
=
{
data
=
groups
.
concat
(
projects
);
results
:
projects
return
finalCallback
(
data
);
};
return
query
.
callback
(
data
);
};
};
if
(
_this
.
includeGroups
)
{
return
Api
.
groups
(
query
.
term
,
{},
groupsCallback
);
projectsCallback
=
function
(
projects
)
{
var
groupsCallback
;
groupsCallback
=
function
(
groups
)
{
var
data
;
data
=
groups
.
concat
(
projects
);
return
finalCallback
(
data
);
};
return
Api
.
groups
(
query
.
term
,
{},
groupsCallback
);
};
}
else
{
projectsCallback
=
finalCallback
;
}
if
(
_this
.
groupId
)
{
return
Api
.
groupProjects
(
_this
.
groupId
,
query
.
term
,
projectsCallback
);
}
else
{
return
Api
.
projects
(
query
.
term
,
{
order_by
:
_this
.
orderBy
,
with_issues_enabled
:
_this
.
withIssuesEnabled
,
with_merge_requests_enabled
:
_this
.
withMergeRequestsEnabled
,
membership
:
!
_this
.
allProjects
,
},
projectsCallback
);
}
};
};
})(
this
),
}
else
{
id
:
function
(
project
)
{
projectsCallback
=
finalCallback
;
if
(
simpleFilter
)
return
project
.
id
;
}
return
JSON
.
stringify
({
if
(
_this
.
groupId
)
{
name
:
project
.
name
,
return
Api
.
groupProjects
(
_this
.
groupId
,
query
.
term
,
projectsCallback
);
url
:
project
.
web_url
,
}
else
{
});
return
Api
.
projects
(
query
.
term
,
{
},
order_by
:
_this
.
orderBy
,
text
:
function
(
project
)
{
with_issues_enabled
:
_this
.
withIssuesEnabled
,
return
project
.
name_with_namespace
||
project
.
name
;
with_merge_requests_enabled
:
_this
.
withMergeRequestsEnabled
,
},
membership
:
!
_this
.
allProjects
,
dropdownCssClass
:
"
ajax-project-dropdown
"
},
projectsCallback
);
}
};
})(
this
),
id
:
function
(
project
)
{
if
(
simpleFilter
)
return
project
.
id
;
return
JSON
.
stringify
({
name
:
project
.
name
,
url
:
project
.
web_url
,
});
});
if
(
simpleFilter
)
return
select
;
},
return
new
ProjectSelectComboButton
(
select
);
text
:
function
(
project
)
{
});
return
project
.
name_with_namespace
||
project
.
name
;
}
},
dropdownCssClass
:
"
ajax-project-dropdown
"
return
ProjectSelect
;
});
})();
if
(
simpleFilter
)
return
select
;
}).
call
(
window
);
return
new
ProjectSelectComboButton
(
select
);
});
}
app/assets/javascripts/project_show.js
deleted
100644 → 0
View file @
2dff3776
/* eslint-disable func-names, space-before-function-paren, wrap-iife */
(
function
()
{
this
.
ProjectShow
=
(
function
()
{
function
ProjectShow
()
{}
return
ProjectShow
;
})();
}).
call
(
window
);
// I kept class for future
app/assets/javascripts/project_variables.js
View file @
77b1def4
(()
=>
{
const
HIDDEN_VALUE_TEXT
=
'
******
'
;
class
ProjectVariables
{
const
HIDDEN_VALUE_TEXT
=
'
******
'
;
constructor
()
{
this
.
$revealBtn
=
$
(
'
.js-btn-toggle-reveal-values
'
);
export
default
class
ProjectVariables
{
this
.
$revealBtn
.
on
(
'
click
'
,
this
.
toggleRevealState
.
bind
(
this
));
constructor
()
{
}
this
.
$revealBtn
=
$
(
'
.js-btn-toggle-reveal-values
'
);
this
.
$revealBtn
.
on
(
'
click
'
,
this
.
toggleRevealState
.
bind
(
this
));
}
toggleRevealState
(
e
)
{
toggleRevealState
(
e
)
{
e
.
preventDefault
();
e
.
preventDefault
();
const
oldStatus
=
this
.
$revealBtn
.
attr
(
'
data-status
'
);
const
oldStatus
=
this
.
$revealBtn
.
attr
(
'
data-status
'
);
let
newStatus
=
'
hidden
'
;
let
newStatus
=
'
hidden
'
;
let
newAction
=
'
Reveal Values
'
;
let
newAction
=
'
Reveal Values
'
;
if
(
oldStatus
===
'
hidden
'
)
{
if
(
oldStatus
===
'
hidden
'
)
{
newStatus
=
'
revealed
'
;
newStatus
=
'
revealed
'
;
newAction
=
'
Hide Values
'
;
newAction
=
'
Hide Values
'
;
}
}
this
.
$revealBtn
.
attr
(
'
data-status
'
,
newStatus
);
this
.
$revealBtn
.
attr
(
'
data-status
'
,
newStatus
);
const
$variables
=
$
(
'
.variable-value
'
);
const
$variables
=
$
(
'
.variable-value
'
);
$variables
.
each
((
_
,
variable
)
=>
{
$variables
.
each
((
_
,
variable
)
=>
{
const
$variable
=
$
(
variable
);
const
$variable
=
$
(
variable
);
let
newText
=
HIDDEN_VALUE_TEXT
;
let
newText
=
HIDDEN_VALUE_TEXT
;
if
(
newStatus
===
'
revealed
'
)
{
if
(
newStatus
===
'
revealed
'
)
{
newText
=
$variable
.
attr
(
'
data-value
'
);
newText
=
$variable
.
attr
(
'
data-value
'
);
}
}
$variable
.
text
(
newText
);
$variable
.
text
(
newText
);
});
});
this
.
$revealBtn
.
text
(
newAction
);
this
.
$revealBtn
.
text
(
newAction
);
}
}
}
}
window
.
gl
=
window
.
gl
||
{};
window
.
gl
.
ProjectVariables
=
ProjectVariables
;
})();
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