Project import generated by Copybara.

GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/src/js/export.js b/src/js/export.js
new file mode 100644
index 0000000..9bdbbbe
--- /dev/null
+++ b/src/js/export.js
@@ -0,0 +1,71 @@
+function toggleTr(tr, show) {
+  var checkbox = tr.querySelector("label").MaterialCheckbox;
+  if (show) {
+    tr.style.display = "table-row";
+    checkbox.enable();
+  } else {
+    tr.style.display = "none";
+    checkbox.disable();
+  }
+}
+
+window.addEventListener("load", function() {
+  document.querySelectorAll("tr[data-worker-id]").forEach(tr => {
+    var checkbox = tr.querySelector("input[type=\"checkbox\"]");
+
+    checkbox.setAttribute("name", "workers[]");
+    checkbox.setAttribute("value", tr.getAttribute("data-worker-id"));
+
+    toggleTr(tr, false);
+  });
+
+  document.querySelectorAll(".select-all").forEach(el => {
+    el.addEventListener("click", e => {
+      var allchecked = true;
+      el.getAttribute("data-workers").split(",").forEach(workerid => {
+        var tr = document.querySelector("tr[data-worker-id=\""+workerid+"\"]");
+        var checkbox = tr.querySelector("label").MaterialCheckbox;
+        if (checkbox.inputElement_.disabled) return;
+        if (!checkbox.inputElement_.checked) allchecked = false;
+        tr.classList.add("is-selected");
+        checkbox.check();
+      });
+
+      if (allchecked) {
+        el.getAttribute("data-workers").split(",").forEach(workerid => {
+          var tr = document.querySelector("tr[data-worker-id=\""+workerid+"\"]");
+          var checkbox = tr.querySelector("label").MaterialCheckbox;
+          tr.classList.remove("is-selected");
+          checkbox.uncheck();
+        });
+      }
+    });
+  });
+
+  var multiselectEl = document.querySelector(".mdl-custom-multiselect");
+  if (multiselectEl !== null) {
+    multiselectEl.addEventListener("custom-multiselect-change", e => {
+      var companies = [];
+      document.querySelectorAll(".mdl-custom-multiselect .mdl-custom-multiselect__item input[type=\"checkbox\"]").forEach(checkbox => {
+        if (checkbox.checked) {
+          companies.push(checkbox.value);
+        }
+      });
+
+      document.querySelectorAll("tr[data-worker-id]").forEach(tr => {
+        toggleTr(tr, companies.includes(tr.getAttribute("data-company-id")));
+      });
+    });
+  }
+
+  document.querySelectorAll("input[name=\"companies\[\]\"]").forEach(input => {
+    input.checked = true;
+    var customevent = document.createEvent("HTMLEvents");
+    customevent.initEvent("change", false, true);
+    input.dispatchEvent(customevent);
+  });
+
+  document.getElementById("format").addEventListener("change", e => {
+    document.getElementById("pdf").style.display = (document.getElementById("format").value != "1" && document.getElementById("format").value != "2" ? "none" : "block");
+  });
+});