Initial work to add option to set http headers in Add column by fetching URLs
This commit is contained in:
parent
8ce20b581e
commit
34e83fa98c
@ -459,7 +459,8 @@ function init() {
|
||||
"scripts/dialogs/templating-exporter-dialog.js",
|
||||
"scripts/dialogs/column-reordering-dialog.js",
|
||||
"scripts/dialogs/custom-tabular-exporter-dialog.js",
|
||||
"scripts/dialogs/expression-column-dialog.js"
|
||||
"scripts/dialogs/expression-column-dialog.js",
|
||||
"scripts/dialogs/http-headers-dialog.js",
|
||||
]
|
||||
);
|
||||
|
||||
|
@ -541,6 +541,7 @@
|
||||
"throttle-delay": "Throttle delay",
|
||||
"milli": "milliseconds",
|
||||
"url-fetch": "Formulate the URLs to fetch:",
|
||||
"http-headers": "Define any HTTP headers to be used when fetching URLs:",
|
||||
"enter-col-name": "Enter new column name",
|
||||
"split-col": "Split column",
|
||||
"several-col": "into several columns",
|
||||
|
@ -0,0 +1,6 @@
|
||||
<div class="grid-layout layout-tight layout-full"><table rows="4" cols="4">
|
||||
<tr>
|
||||
<td colspan="2"><div class="input-container">KEY</div></td>
|
||||
<td colspan="2"><div class="input-container">VALUE</div></td>
|
||||
</tr>
|
||||
</table></div>
|
@ -0,0 +1,68 @@
|
||||
/*
|
||||
|
||||
Copyright 2017, Owen Stephens
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
function HttpHeadersDialog(title, headers, onDone) {
|
||||
this._onDone = onDone;
|
||||
|
||||
var self = this;
|
||||
var frame = DialogSystem.createDialog();
|
||||
frame.width("700px");
|
||||
|
||||
var header = $('<div></div>').addClass("dialog-header").text(title).appendTo(frame);
|
||||
var body = $('<div></div>').addClass("dialog-body").appendTo(frame);
|
||||
var footer = $('<div></div>').addClass("dialog-footer").appendTo(frame);
|
||||
var html = $(HttpHeadersDialog.generateWidgetHtml()).appendTo(body);
|
||||
|
||||
this._elmts = DOM.bind(html);
|
||||
|
||||
DialogSystem.showDialog(frame);
|
||||
this._previewWidget = new HttpHeadersDialog.Widget(
|
||||
this._elmts,
|
||||
headers
|
||||
);
|
||||
}
|
||||
|
||||
HttpHeadersDialog.generateWidgetHtml = function() {
|
||||
var html = DOM.loadHTML("core", "scripts/dialogs/http-headers-dialog.html");
|
||||
return html;
|
||||
};
|
||||
|
||||
HttpHeadersDialog.Widget = function(
|
||||
elmts,
|
||||
headers
|
||||
) {
|
||||
this._elmts = elmts;
|
||||
this._headers = headers;
|
||||
|
||||
var self = this;
|
||||
};
|
@ -21,6 +21,9 @@
|
||||
<input type="checkbox" name="dialog-cache-responses" id="$add-column-cache-responses" checked="checked" />
|
||||
<label for="$add-column-cache-responses" bind="or_views_cacheResponses"></label></td>
|
||||
</tr>
|
||||
<tr><td colspan="4"><h3><span bind="or_views_httpHeaders"></span></h3></td></tr>
|
||||
<tr><td colspan="4">$HTTP_HEADERS_WIDGET$</td></tr>
|
||||
</tr>
|
||||
<tr><td colspan="4"><h3><span bind="or_views_urlFetch"></span></h3></td></tr>
|
||||
<tr><td colspan="4">$EXPRESSION_PREVIEW_WIDGET$</td></tr>
|
||||
</table></div>
|
||||
|
@ -91,7 +91,9 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
|
||||
var doAddColumnByFetchingURLs = function() {
|
||||
var frame = $(
|
||||
DOM.loadHTML("core", "scripts/views/data-table/add-column-by-fetching-urls-dialog.html")
|
||||
.replace("$EXPRESSION_PREVIEW_WIDGET$", ExpressionPreviewDialog.generateWidgetHtml()));
|
||||
.replace("$EXPRESSION_PREVIEW_WIDGET$", ExpressionPreviewDialog.generateWidgetHtml())
|
||||
.replace("$HTTP_HEADERS_WIDGET$", HttpHeadersDialog.generateWidgetHtml())
|
||||
);
|
||||
|
||||
var elmts = DOM.bind(frame);
|
||||
elmts.dialogHeader.text($.i18n._('core-views')["add-col-fetch"]+" " + column.name);
|
||||
@ -103,6 +105,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
|
||||
elmts.or_views_setBlank.text($.i18n._('core-views')["set-blank"]);
|
||||
elmts.or_views_storeErr.text($.i18n._('core-views')["store-err"]);
|
||||
elmts.or_views_cacheResponses.text($.i18n._('core-views')["cache-responses"]);
|
||||
elmts.or_views_httpHeaders.text($.i18n._('core-views')["http-headers"]);
|
||||
elmts.or_views_urlFetch.text($.i18n._('core-views')["url-fetch"]);
|
||||
elmts.okButton.html($.i18n._('core-buttons')["ok"]);
|
||||
elmts.cancelButton.text($.i18n._('core-buttons')["cancel"]);
|
||||
|
Loading…
Reference in New Issue
Block a user