Commit 5ac5981d authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

URL-List Add basic Filter

parent 7a3c9ed0
......@@ -18,7 +18,12 @@
<div class="nav_content url_list container">
<form class="crib-url-list-content">
<h3>URL List</h3>
<button type="submit" name="list-contents" class="btn btn-default">Refresh</button>
<div class="form-group">
<label>Search:
<input name="search-pattern" class="search-pattern form-control" type="text" size="50" value="">
</label>
<button type="submit" name="list-contents" class="btn btn-default">Search</button>
</div>
<table class="table table-striped table-condensed">
<thead>
<tr>
......@@ -32,9 +37,6 @@
<tbody>
</tbody>
</table>
<div>
<button type="submit" name="list-contents" class="btn btn-default">Refresh</button>
</div>
</form>
</div>
</body>
......
......@@ -4,22 +4,27 @@
"use strict";
function displayURLList(gadget, event) {
var url_list;
var url_list = {},
pattern = gadget.props.element.querySelector(".search-pattern").value;
return new RSVP.Queue()
.push(function () {
return gadget.crib_sw_allDocs();
})
.push(function (data) {
var promise_list = [],
tmp_url_list = [],
url;
if (data.hasOwnProperty("urls")) {
url_list = data.urls;
tmp_url_list = data.urls;
} else {
url_list = data;
tmp_url_list = data;
}
for (url in url_list) {
if (url_list.hasOwnProperty(url)) {
promise_list.push(gadget.getUrlFor({page: 'editor', url: url}));
for (url in tmp_url_list) {
if (tmp_url_list.hasOwnProperty(url)) {
if (!pattern || (pattern && url.indexOf(pattern) != -1)) {
url_list[url] = "";
promise_list.push(gadget.getUrlFor({page: 'editor', url: url}));
}
}
}
return RSVP.all(promise_list);
......@@ -92,6 +97,9 @@
})
.declareAcquiredMethod("crib_sw_allDocs", "crib_sw_allDocs")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("setSetting", "setSetting")
.declareAcquiredMethod("getSetting", "getSetting")
.declareMethod('render', function (options) {
var gadget = this;
if (options === undefined)
......@@ -99,6 +107,17 @@
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
if (options.pattern !== undefined) {
return gadget.setSetting("editor-pattern", options.pattern)
.push(function () {
return options.pattern;
});
}
return gadget.getSetting("editor-pattern", "");
})
.push(function (pattern) {
gadget.props.element.querySelector(".search-pattern", options.pattern)
.value = pattern;
return displayURLList(gadget, undefined);
})
.push(function () {
......@@ -116,7 +135,13 @@
gadget.props.element.querySelector(".crib-url-list-content"),
'submit',
false,
function (event) {displayURLList(gadget, event); }
function (event) {
gadget.redirect({
page: "url_list",
pattern: gadget.props.element.querySelector(".search-pattern")
.value
});
}
);
});
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment