BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
db4bbbab
Commit
db4bbbab
authored
May 19, 2017
by
Clement Ho
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'winh-dropdown-ajax-cache' into 'master'
Use AjaxCache in Droplab Ajax plugin Closes #31897 See merge request !11171
parents
5d5e6954
382995c2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
28 deletions
+6
-28
ajax.js
app/assets/javascripts/droplab/plugins/ajax.js
+6
-28
No files found.
app/assets/javascripts/droplab/plugins/ajax.js
View file @
db4bbbab
/* eslint-disable */
import
AjaxCache
from
'~/lib/utils/ajax_cache'
;
const
Ajax
=
{
_loadUrlData
:
function
_loadUrlData
(
url
)
{
var
self
=
this
;
return
new
Promise
(
function
(
resolve
,
reject
)
{
var
xhr
=
new
XMLHttpRequest
;
xhr
.
open
(
'GET'
,
url
,
true
);
xhr
.
onreadystatechange
=
function
()
{
if
(
xhr
.
readyState
===
XMLHttpRequest
.
DONE
)
{
if
(
xhr
.
status
===
200
)
{
var
data
=
JSON
.
parse
(
xhr
.
responseText
);
self
.
cache
[
url
]
=
data
;
return
resolve
(
data
);
}
else
{
return
reject
([
xhr
.
responseText
,
xhr
.
status
]);
}
}
};
xhr
.
send
();
});
},
_loadData
:
function
_loadData
(
data
,
config
,
self
)
{
if
(
config
.
loadingTemplate
)
{
var
dataLoadingTemplate
=
self
.
hook
.
list
.
list
.
querySelector
(
'[data-loading-template]'
);
...
...
@@ -31,7 +14,6 @@ const Ajax = {
init
:
function
init
(
hook
)
{
var
self
=
this
;
self
.
destroyed
=
false
;
self
.
cache
=
self
.
cache
||
{};
var
config
=
hook
.
config
.
Ajax
;
this
.
hook
=
hook
;
if
(
!
config
||
!
config
.
endpoint
||
!
config
.
method
)
{
...
...
@@ -48,14 +30,10 @@ const Ajax = {
this
.
listTemplate
=
dynamicList
.
outerHTML
;
dynamicList
.
outerHTML
=
loadingTemplate
.
outerHTML
;
}
if
(
self
.
cache
[
config
.
endpoint
])
{
self
.
_loadData
(
self
.
cache
[
config
.
endpoint
],
config
,
self
);
}
else
{
this
.
_loadUrlData
(
config
.
endpoint
)
.
then
(
function
(
d
)
{
self
.
_loadData
(
d
,
config
,
self
);
},
config
.
onError
).
catch
(
config
.
onError
);
}
AjaxCache
.
retrieve
(
config
.
endpoint
)
.
then
((
data
)
=>
self
.
_loadData
(
data
,
config
,
self
))
.
catch
(
config
.
onError
);
},
destroy
:
function
()
{
this
.
destroyed
=
true
;
...
...
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