about summary refs log tree commit diff
path: root/uploader/templates/macro-csv-fields.html
diff options
context:
space:
mode:
Diffstat (limited to 'uploader/templates/macro-csv-fields.html')
-rw-r--r--uploader/templates/macro-csv-fields.html144
1 files changed, 144 insertions, 0 deletions
diff --git a/uploader/templates/macro-csv-fields.html b/uploader/templates/macro-csv-fields.html
new file mode 100644
index 0000000..7015712
--- /dev/null
+++ b/uploader/templates/macro-csv-fields.html
@@ -0,0 +1,144 @@
+{%macro display_csv_fields()%}
+<div class="border rounded p-3 mb-3"
+     role="group"
+     aria-labelledby="file-inputs-group-label">
+  <div id="file-inputs-group-label" class="fw-bold mb-2">CSV Details</div>
+  <div class="form-group">
+    <div class="row mb-3">
+      <label for="txt-file-separator" class="col-sm-3 col-form-label">
+        File Separator</label>
+      <div class="col-sm-9">
+        <div class="input-group">
+          <input id="txt-file-separator"
+                 name="file-separator"
+                 type="text"
+                 value="&#9;"
+                 class="form-control"
+                 maxlength="1" />
+          <span class="input-group-btn">
+            <button id="btn-reset-file-separator" class="btn btn-info">Reset Default</button>
+          </span>
+        </div>
+      </div>
+      <span class="form-text text-muted">
+        Provide the character that separates the fields in your file(s). It should
+        be the same character for all files (if more than one is provided).<br />
+        A tab character will be assumed if you leave this field blank. See
+        <a href="#docs-file-separator"
+           title="Documentation for file-separator characters">
+          documentation for more information</a>.
+      </span>
+    </div>
+  </div>
+
+  <div class="form-group">
+    <div class="row mb-3">
+      <label for="txt-file-comment-character" class="col-sm-3 col-form-label">File Comment-Characters</label>
+      <div class="col-sm-9">
+        <div class="input-group">
+          <input id="txt-file-comment-character"
+                 name="file-comment-character"
+                 type="text"
+                 value="#"
+                 class="form-control" />
+          <span class="input-group-btn">
+            <button id="btn-reset-file-comment-character" class="btn btn-info">
+              Reset Default</button>
+          </span>
+        </div>
+      </div>
+      <span class="form-text text-muted">
+        This specifies that lines that begin with the character(s) provided will be
+        considered comment lines and ignored in their entirety. See
+        <a href="#docs-file-comment-character"
+           title="Documentation for comment characters">
+          documentation for more information</a>.
+      </span>
+    </div>
+  </div>
+
+  <div class="form-group">
+    <div class="row mb-3">
+      <label for="txt-file-na" class="col-sm-3 col-form-label">File "No-Value" Indicators</label>
+      <div class="col-sm-9">
+        <div class="input-group">
+          <input id="txt-file-na"
+                 name="file-na"
+                 type="text"
+                 value="- NA N/A"
+                 class="form-control" />
+          <span class="input-group-btn">
+            <button id="btn-reset-file-na" class="btn btn-info">Reset Default</button>
+          </span>
+        </div>
+      </div>
+      <span class="form-text text-muted">
+        This specifies strings in your file indicate that there is no value for a
+        particular cell (a cell is where a column and row intersect). Provide a
+        space-separated list of strings if you have more than one way of
+        indicating no values. See
+        <a href="#docs-file-na" title="Documentation for no-value fields">
+          documentation for more information</a>.</span>
+    </div>
+  </div>
+</div>
+{%endmacro%}
+
+
+{%macro display_csv_fields_documentation()%}
+<dl>
+  <dt id="docs-file-separator">File separator</dt>
+  <dd>The files you provide should be character-separated value (CSV) files.
+    We need to know what character you used to separate the values in your
+    file. Some common ones are the Tab character, the comma, etc.<br />
+    Providing that information makes it possible for the system to parse and
+    process your files correctly.<br>
+    <strong>NOTE:</strong> All the files you upload MUST use the same
+    separator.</dd>
+
+  <dt id="docs-file-comment-character">Comment characters</dt>
+  <dd>We support use of comment lines in your files. We only support one type
+    of comment style, the <em>line comment</em>.<br />
+    This mean the comment begins at the start of the line, and the end of that
+    line indicates the end of that comment. If you have a really long comment,
+    then you need to break it across multiple lines, marking each line a
+    comment line.<br />
+    The "comment character" is the character at the start of the line that
+    indicates that the line is a line comment.<br />
+    You can provide more than one comment character, separated by spaces.</dd>
+
+  <dt id="docs-file-na">No-Value indicator(s)</dt>
+  <dd>Data in the real world is messy, and in some cases, entirely absent. You
+    need to indicate, in your files, that a particular field did not have a
+    value, and once you do that, you then need to let the system know how you
+    mark such fields. Common ways of indicating "empty values" are, leaving
+    the field blank, using a character such as '-', or using strings like
+    "NA", "N/A", "NULL", etc.<br />
+    Providing this information will help with parsing and processing such
+    no-value fields the correct way.</dd>
+</dl>
+{%endmacro%}
+
+
+{%macro add_csv_fields_event_handlers()%}
+<script type="text/javascript">
+  $(function(evt) {
+  /* The reset buttons */
+  $("#btn-reset-file-separator").on("click", (event) => {
+      event.preventDefault();
+      $("#txt-file-separator").val("\t");
+      $("#txt-file-separator").trigger("change");
+  });
+  $("#btn-reset-file-comment-character").on("click", (event) => {
+      event.preventDefault();
+      $("#txt-file-comment-character").val("#");
+      $("#txt-file-comment-character").trigger("change");
+  });
+  $("#btn-reset-file-na").on("click", (event) => {
+      event.preventDefault();
+      $("#txt-file-na").val("- NA N/A");
+      $("#txt-file-na").trigger("change");
+  });
+  });
+</script>
+{%endmacro%}