imerss-bioinfo 1.14.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.js +113 -60
- package/docs/css/data-table.css +25 -8
- package/docs/css/imerss-bbea-i6.css +1195 -0
- package/docs/css/imerss-bbea.css +818 -140
- package/docs/css/imerss-core.css +2 -0
- package/docs/css/imerss-i6.css +140 -0
- package/docs/css/imerss-viz-all.css +2 -0
- package/docs/css/imerss-viz-lib.css +2 -0
- package/docs/js/imerss-viz-all.js +2 -2
- package/docs/js/imerss-viz-all.js.map +1 -1
- package/docs/js/imerss-viz-lib.js +1 -1
- package/docs/js/imerss-viz-lib.js.map +1 -1
- package/docs/js/imerss-viz-new-core.js +1 -1
- package/docs/js/imerss-viz-new-core.js.map +1 -1
- package/indexBeasBCBA.html +27 -245
- package/indexBeasOBA.html +26 -236
- package/indexBeasWaBA.html +28 -238
- package/indexBlitz.html +22 -180
- package/indexDiatoms.html +23 -182
- package/package.json +23 -18
- package/src/assignBNames.js +0 -1
- package/src/buildSource/indexBeasBCBA.html +32 -195
- package/src/buildSource/indexBeasOBA.html +30 -185
- package/src/buildSource/indexBeasWaBA.html +30 -185
- package/src/buildSource/indexBlitz.html +26 -133
- package/src/buildSource/indexDiatoms.html +27 -113
- package/src/client/css/data-table.css +25 -8
- package/src/client/css/imerss-bbea-i6.css +1195 -0
- package/src/client/css/imerss-bbea.css +818 -140
- package/src/client/css/imerss-core.css +2 -0
- package/src/client/css/imerss-i6.css +140 -0
- package/src/client/js/autocomplete.js +23 -1
- package/src/client/js/colour.js +3 -5
- package/src/client/js/i6/bbea/barChart.js +84 -0
- package/src/client/js/i6/bbea/imerss-bbea.js +246 -0
- package/src/client/js/i6/bbea/mfShell.js +177 -0
- package/src/client/js/i6/blitz.js +57 -0
- package/src/client/js/i6/checklist.js +671 -0
- package/src/client/js/i6/filters.js +322 -0
- package/src/client/js/i6/hashManager.js +156 -0
- package/src/client/js/i6/imerss-core.js +575 -0
- package/src/client/js/i6/imerss-plants.js +27 -0
- package/src/client/js/i6/libreMap.js +1329 -0
- package/src/client/js/i6/polygonDraw.js +164 -0
- package/src/client/js/i6/tooltip.js +292 -0
- package/src/client/js/leafletMapWithBareRegions.js +1 -1
- package/src/client/js/new/imerss-new.js +23 -4
- package/src/client/js/new/newChecklist.js +133 -0
- package/src/client/sfc/bbea/hortis-bbeaChecklist.vue +31 -0
- package/src/client/sfc/bbea/hortis-bbeaLibreMap.vue +37 -0
- package/src/client/sfc/bbea/hortis-bbeaViewTabs.vue +86 -0
- package/src/client/sfc/bbea/hortis-beaVizLoader.vue +421 -0
- package/src/client/sfc/bbea/hortis-beeAbundance.vue +191 -0
- package/src/client/sfc/bbea/hortis-bipartite.vue +100 -0
- package/src/client/sfc/bbea/hortis-checklist-search.vue +34 -0
- package/src/client/sfc/bbea/hortis-collectorReportLinker.vue +51 -0
- package/src/client/sfc/bbea/hortis-drawInteractions.vue +258 -0
- package/src/client/sfc/bbea/hortis-seedMix.vue +353 -0
- package/src/client/sfc/components/hortis-autocomplete.vue +46 -0
- package/src/client/sfc/components/hortis-dataTable.vue +295 -0
- package/src/client/sfc/components/hortis-dualRangeInput.vue +244 -0
- package/src/client/sfc/components/hortis-pageTabs-tab.vue +17 -0
- package/src/client/sfc/components/hortis-pageTabs.vue +43 -0
- package/src/client/sfc/components/hortis-resizeBar.vue +95 -0
- package/src/client/sfc/core/hortis-blitzRecords.vue +80 -0
- package/src/client/sfc/core/hortis-blitzVizLoader.vue +40 -0
- package/src/client/sfc/core/hortis-icons.vue +24 -0
- package/src/client/sfc/core/hortis-recordReporter.vue +26 -0
- package/src/client/sfc/core/hortis-standardChecklist.vue +53 -0
- package/src/client/sfc/core/hortis-standardVizLoader.vue +140 -0
- package/src/client/sfc/core/hortis-taxonListView.vue +207 -0
- package/src/client/sfc/core/hortis-vizLibreMap.vue +30 -0
- package/src/client/sfc/filters/hortis-collectorFilter.vue +84 -0
- package/src/client/sfc/filters/hortis-elevationFilter.vue +111 -0
- package/src/client/sfc/filters/hortis-filterControls.vue +25 -0
- package/src/client/sfc/filters/hortis-filterFacet.vue +111 -0
- package/src/client/sfc/filters/hortis-groupedRegionFilter.vue +195 -0
- package/src/client/sfc/filters/hortis-phenologyFilter-row.vue +22 -0
- package/src/client/sfc/filters/hortis-phenologyFilter.vue +243 -0
- package/src/client/sfc/filters/hortis-regionFilter-row.vue +22 -0
- package/src/client/sfc/filters/hortis-regionFilter.vue +72 -0
- package/src/client/sfc/filters/hortis-sexFilter.vue +58 -0
- package/src/client/sfc/filters/hortis-standardFilterControls.vue +25 -0
- package/src/client/sfc/filters/hortis-taxonSearchFilter.vue +93 -0
- package/src/client/sfc/filters/hortis-valueFilter-row.vue +23 -0
- package/src/client/sfc/filters/hortis-valueFilter.vue +44 -0
- package/src/copyMelitOut.js +120 -64
- package/src/dataProcessing/coordinatePatch.js +1 -1
- package/src/geom/geoJSON.js +3 -1
- package/src/infusion6.js +69 -0
- package/test/i6/bbeaHydrationRoundTrip.js +110 -0
- package/test/i6/html/BbeaCoreTests.html +28 -0
- package/test/i6/html/BbeaMapTests.html +27 -0
- package/test/i6/html/BbeaViewsTests.html +28 -0
- package/test/i6/html/HashManagerTests.html +29 -0
- package/test/i6/js/BbeaCoreTests.js +406 -0
- package/test/i6/js/BbeaMapTests.js +290 -0
- package/test/i6/js/BbeaTestData.js +46 -0
- package/test/i6/js/BbeaTestSupport.js +40 -0
- package/test/i6/js/BbeaViewsTests.js +201 -0
- package/test/i6/js/HashManagerTests.js +159 -0
- package/test/i6/standardHydrationRoundTrip.js +154 -0
- package/test/i6/storyHydrationRoundTrip.js +105 -0
- package/test/i6/storyNavigation.js +89 -0
- package/docs/css/imerss-viz-new.css +0 -474
- package/docs/js/imerss-bbea.js +0 -1307
- package/docs/js/imerss-blitz.js +0 -266
- package/docs/js/imerss-plants.js +0 -84
- package/docs/js/imerss-viz-new.js +0 -19
- package/docs/js/imerss-viz-new.js.map +0 -1
- package/docs/js/imerss-viz.js +0 -161
- package/docs/js/vizjs.js +0 -1
- package/indexBeas.html +0 -141
- package/src/client/js/new/bipartitePP.js +0 -179
- package/src/client/js/new/data-table.js +0 -483
- package/src/client/js/new/dual-range-input.js +0 -195
- package/src/client/js/new/filters.js +0 -582
- package/src/client/js/new/imerss-bbea.js +0 -1307
- package/src/client/js/new/imerss-blitz.js +0 -266
- package/src/client/js/new/imerss-plants.js +0 -84
- package/src/client/js/new/imerss-viz.js +0 -161
- package/src/client/js/new/polygon-draw.js +0 -85
- package/src/client/js/new/resize-bar.js +0 -289
- package/src/copyBeasOut.js +0 -70
- /package/{docs/js → src/client/js/i6/bbea}/bipartitePP.js +0 -0
package/build.js
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
const glob = require("glob"),
|
|
5
|
-
fs = require("fs-extra")
|
|
5
|
+
fs = require("fs-extra"),
|
|
6
|
+
childProcess = require("child_process");
|
|
6
7
|
|
|
7
|
-
const fluid = require("infusion")
|
|
8
|
+
const fluid = require("infusion"),
|
|
9
|
+
infusion6 = require("./src/infusion6.js");
|
|
8
10
|
const terser = require("terser");
|
|
9
11
|
const path = require("path");
|
|
10
12
|
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
+
// Builds into docs, for GitHub Pages, the older visualisations driven by .lz4 files, as imerss-viz-all.js, the bundles
|
|
14
|
+
// of the "new" framework from which Xetthecum's story map is built, as imerss-viz-lib.js and imerss-viz-new-core.js,
|
|
15
|
+
// and the pages of the newer visualisations ported to Infusion 6 together with the modules they depend upon - see
|
|
16
|
+
// buildI6 below
|
|
13
17
|
|
|
14
18
|
const buildIndex = {
|
|
15
19
|
libSource: [
|
|
@@ -77,27 +81,6 @@ const buildIndex = {
|
|
|
77
81
|
"src/client/js/new/imerss-new.js",
|
|
78
82
|
"src/client/js/new/newChecklist.js"
|
|
79
83
|
],
|
|
80
|
-
// Full source for environments with strong focus on biodiversity info
|
|
81
|
-
newSource: [
|
|
82
|
-
"node_modules/@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.js",
|
|
83
|
-
"src/client/css/mapbox-gl-draw.css", // has our own overrides
|
|
84
|
-
"src/client/css/data-table.css",
|
|
85
|
-
"src/client/css/resize-bar.css",
|
|
86
|
-
"node_modules/papaparse/papaparse.min.js",
|
|
87
|
-
"node_modules/pako/dist/pako_inflate.min.js",
|
|
88
|
-
"node_modules/pretty-checkbox/dist/pretty-checkbox.min.css",
|
|
89
|
-
"node_modules/@stanko/dual-range-input/dist/index.css",
|
|
90
|
-
"src/lib/jquery-ui-widgets-tabs.js",
|
|
91
|
-
"src/lib/point-in-polygon.js",
|
|
92
|
-
"src/geom/geoJSON.js",
|
|
93
|
-
"src/client/js/new/filters.js",
|
|
94
|
-
"src/client/js/new/polygon-draw.js",
|
|
95
|
-
"src/client/js/new/dual-range-input.js",
|
|
96
|
-
"src/client/js/new/data-table.js",
|
|
97
|
-
"src/client/js/new/resize-bar.js",
|
|
98
|
-
"src/client/js/autocomplete.js",
|
|
99
|
-
"src/client/js/tabs.js"
|
|
100
|
-
],
|
|
101
84
|
codeHeader: "",
|
|
102
85
|
codeFooter: "", // "\njQuery.noConflict()",
|
|
103
86
|
copy: [{
|
|
@@ -118,24 +101,6 @@ const buildIndex = {
|
|
|
118
101
|
}, {
|
|
119
102
|
src: "src/client/fonts",
|
|
120
103
|
dest: "docs/fonts"
|
|
121
|
-
}, {
|
|
122
|
-
src: "src/client/js/new/bipartitePP.js",
|
|
123
|
-
dest: "docs/js/bipartitePP.js"
|
|
124
|
-
}, {
|
|
125
|
-
src: "src/client/js/new/imerss-bbea.js",
|
|
126
|
-
dest: "docs/js/imerss-bbea.js"
|
|
127
|
-
}, {
|
|
128
|
-
src: "src/client/js/new/imerss-viz.js",
|
|
129
|
-
dest: "docs/js/imerss-viz.js"
|
|
130
|
-
}, {
|
|
131
|
-
src: "src/client/js/new/imerss-blitz.js",
|
|
132
|
-
dest: "docs/js/imerss-blitz.js"
|
|
133
|
-
}, {
|
|
134
|
-
src: "src/client/js/new/imerss-plants.js",
|
|
135
|
-
dest: "docs/js/imerss-plants.js"
|
|
136
|
-
}, {
|
|
137
|
-
src: "src/lib/vizjs.js",
|
|
138
|
-
dest: "docs/js/vizjs.js"
|
|
139
104
|
}, {
|
|
140
105
|
src: "src/buildSource/*.html",
|
|
141
106
|
dest: "docs/"
|
|
@@ -179,14 +144,14 @@ const buildIndex = {
|
|
|
179
144
|
src: "data/b-team/plant-pollinators-OBA-2025-regionIndirection.csv",
|
|
180
145
|
dest: "docs/data/b-team/plant-pollinators-OBA-2025-regionIndirection.csv"
|
|
181
146
|
}, {
|
|
182
|
-
src: "data/b-team/plant-pollinators-WaBA-
|
|
183
|
-
dest: "docs/data/b-team/plant-pollinators-WaBA-
|
|
147
|
+
src: "data/b-team/plant-pollinators-WaBA-2026-labels.viz",
|
|
148
|
+
dest: "docs/data/b-team/plant-pollinators-WaBA-2026-labels.viz"
|
|
184
149
|
}, {
|
|
185
|
-
src: "data/b-team/plant-pollinators-WaBA-
|
|
186
|
-
dest: "docs/data/b-team/plant-pollinators-WaBA-
|
|
150
|
+
src: "data/b-team/plant-pollinators-WaBA-2026-assigned-taxa.viz",
|
|
151
|
+
dest: "docs/data/b-team/plant-pollinators-WaBA-2026-assigned-taxa.viz"
|
|
187
152
|
}, {
|
|
188
|
-
src: "data/b-team/plant-pollinators-WaBA-
|
|
189
|
-
dest: "docs/data/b-team/plant-pollinators-WaBA-
|
|
153
|
+
src: "data/b-team/plant-pollinators-WaBA-2026-regionIndirection.csv",
|
|
154
|
+
dest: "docs/data/b-team/plant-pollinators-WaBA-2026-regionIndirection.csv"
|
|
190
155
|
}, {
|
|
191
156
|
src: "data/b-team/plant-pollinators-BCBA-labels.viz",
|
|
192
157
|
dest: "docs/data/b-team/plant-pollinators-BCBA-labels.viz"
|
|
@@ -214,8 +179,35 @@ const buildIndex = {
|
|
|
214
179
|
}, {
|
|
215
180
|
src: "data/dataPaper-II/regionIndirection.csv",
|
|
216
181
|
dest: "docs/data/dataPaper-II/regionIndirection.csv"
|
|
182
|
+
}, {
|
|
183
|
+
src: "data/b-team/placeholder/*",
|
|
184
|
+
dest: "docs/data/b-team/placeholder"
|
|
185
|
+
}, {
|
|
186
|
+
src: "data/Galiano 2023 BioBlitz/placeholder/*",
|
|
187
|
+
dest: "docs/data/Galiano 2023 BioBlitz/placeholder"
|
|
188
|
+
}, {
|
|
189
|
+
src: "data/dataPaper-II/placeholder/*",
|
|
190
|
+
dest: "docs/data/dataPaper-II/placeholder"
|
|
217
191
|
}
|
|
218
|
-
]
|
|
192
|
+
],
|
|
193
|
+
// The pages of the visualisations ported to Infusion 6, copied into docs from src/buildSource with the rest of its
|
|
194
|
+
// pages, each with the test verifying it - see buildI6
|
|
195
|
+
i6Pages: [{
|
|
196
|
+
page: "indexBeasBCBA.html",
|
|
197
|
+
verify: ["test/i6/bbeaHydrationRoundTrip.js", "docs", "indexBeasBCBA.html"]
|
|
198
|
+
}, {
|
|
199
|
+
page: "indexBeasOBA.html",
|
|
200
|
+
verify: ["test/i6/bbeaHydrationRoundTrip.js", "docs", "indexBeasOBA.html"]
|
|
201
|
+
}, {
|
|
202
|
+
page: "indexBeasWaBA.html",
|
|
203
|
+
verify: ["test/i6/bbeaHydrationRoundTrip.js", "docs", "indexBeasWaBA.html"]
|
|
204
|
+
}, {
|
|
205
|
+
page: "indexBlitz.html",
|
|
206
|
+
verify: ["test/i6/standardHydrationRoundTrip.js", "docs", "Blitz=indexBlitz.html"]
|
|
207
|
+
}, {
|
|
208
|
+
page: "indexDiatoms.html",
|
|
209
|
+
verify: ["test/i6/standardHydrationRoundTrip.js", "docs", "Diatoms=indexDiatoms.html"]
|
|
210
|
+
}]
|
|
219
211
|
};
|
|
220
212
|
|
|
221
213
|
// These two taken from reknit.js
|
|
@@ -282,6 +274,12 @@ const minify = async function (hash, filename) {
|
|
|
282
274
|
});
|
|
283
275
|
};
|
|
284
276
|
|
|
277
|
+
/**
|
|
278
|
+
* Build the bundles of the "new" framework from which Xetthecum's story map is built - see the config.json5 of
|
|
279
|
+
* https://github.com/IMERSS/xetthecum-storymap-story, which copies them from docs
|
|
280
|
+
* @param {Object} buildIndex - The build index
|
|
281
|
+
* @return {Promise} A promise which resolves once the bundles are written
|
|
282
|
+
*/
|
|
285
283
|
const buildStory = async function (buildIndex) {
|
|
286
284
|
|
|
287
285
|
// imerss-viz-lib.js contains just upstream libraries we depend on, to support reasonably easy deploy of "new" framework
|
|
@@ -293,16 +291,11 @@ const buildStory = async function (buildIndex) {
|
|
|
293
291
|
console.log("newCoreFiles ", buildIndex.newCoreSource);
|
|
294
292
|
const newCoreJs = await minify(newCoreJsHash, "imerss-viz-new-core.js");
|
|
295
293
|
|
|
296
|
-
const newJsHash = filesToContentHash(buildIndex.newSource, ".js");
|
|
297
|
-
console.log("newFiles ", buildIndex.newSource);
|
|
298
|
-
const newJs = await minify(newJsHash, "imerss-viz-new.js");
|
|
299
294
|
|
|
300
295
|
fs.writeFileSync("docs/js/imerss-viz-lib.js", minifiedLib.code, "utf8");
|
|
301
296
|
fs.writeFileSync("docs/js/imerss-viz-lib.js.map", minifiedLib.map);
|
|
302
297
|
fs.writeFileSync("docs/js/imerss-viz-new-core.js", newCoreJs.code, "utf8");
|
|
303
298
|
fs.writeFileSync("docs/js/imerss-viz-new-core.js.map", newCoreJs.map);
|
|
304
|
-
fs.writeFileSync("docs/js/imerss-viz-new.js", newJs.code, "utf8");
|
|
305
|
-
fs.writeFileSync("docs/js/imerss-viz-new.js.map", newJs.map);
|
|
306
299
|
|
|
307
300
|
const cssLibHash = filesToContentHash(buildIndex.libSource, ".css");
|
|
308
301
|
const cssLibConcat = String.prototype.concat.apply("", Object.values(cssLibHash));
|
|
@@ -310,12 +303,9 @@ const buildStory = async function (buildIndex) {
|
|
|
310
303
|
const cssNewCoreHash = filesToContentHash(buildIndex.newCoreSource, ".css");
|
|
311
304
|
const cssNewCoreConcat = String.prototype.concat.apply("", Object.values(cssNewCoreHash));
|
|
312
305
|
|
|
313
|
-
const cssNewHash = filesToContentHash(buildIndex.newSource, ".css");
|
|
314
|
-
const cssNewConcat = String.prototype.concat.apply("", Object.values(cssNewHash));
|
|
315
306
|
|
|
316
307
|
fs.writeFileSync("docs/css/imerss-viz-lib.css", cssLibConcat);
|
|
317
308
|
fs.writeFileSync("docs/css/imerss-viz-new-core.css", cssNewCoreConcat);
|
|
318
|
-
fs.writeFileSync("docs/css/imerss-viz-new.css", cssNewConcat);
|
|
319
309
|
|
|
320
310
|
};
|
|
321
311
|
|
|
@@ -347,10 +337,73 @@ const buildFromFiles = async function (buildIndex) {
|
|
|
347
337
|
fluid.log("Copied " + (buildIndex.copy.length + 2) + " files to " + fs.realpathSync("docs"));
|
|
348
338
|
};
|
|
349
339
|
|
|
340
|
+
/**
|
|
341
|
+
* Run a node script from this checkout in a child process, failing the build if it fails
|
|
342
|
+
* @param {String[]} args - The script and its arguments
|
|
343
|
+
*/
|
|
344
|
+
const runNode = function (args) {
|
|
345
|
+
console.log("Running node " + args.join(" "));
|
|
346
|
+
const result = childProcess.spawnSync(process.execPath, args, {stdio: ["ignore", "pipe", "inherit"], encoding: "utf8",
|
|
347
|
+
maxBuffer: 256 * 1024 * 1024});
|
|
348
|
+
const reported = (result.stdout || "").split("\n").filter(line => !line.startsWith("fluid.loadInContext"));
|
|
349
|
+
console.log(reported.slice(-12).join("\n"));
|
|
350
|
+
if (result.status !== 0) {
|
|
351
|
+
throw new Error("node " + args.join(" ") + " failed with status " + result.status);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Build into docs the pages of the visualisations ported to Infusion 6, already copied there from src/buildSource,
|
|
357
|
+
* where each is written as it is served from docs. Infusion 6's copyOut.js copies into docs/vendor the files of the
|
|
358
|
+
* modules each page depends upon, from this checkout and from Infusion 6 - installed by npm, or as named by moduleOverrides.json5 - and writes docs/fluid-modules.json
|
|
359
|
+
* locating them. Each page is then verified by its test, which checks that it renders identically in the browser
|
|
360
|
+
* whether booted from its minimal form or from its hydrated form, and that its hydration is reversed exactly by
|
|
361
|
+
* dehydrate.js. Finally each page is hydrated in place, with Infusion in its built form, so that it shows its
|
|
362
|
+
* rendering from placeholder data before it boots - the page as written in src/buildSource is recovered from it by
|
|
363
|
+
* dehydrate.js.
|
|
364
|
+
* @param {Object} buildIndex - The build index
|
|
365
|
+
* @param {Boolean} verify - `false` if the pages are not to be verified
|
|
366
|
+
*/
|
|
367
|
+
const buildI6 = function (buildIndex, verify) {
|
|
368
|
+
// Infusion 6 as installed by npm, or the checkout named for it by moduleOverrides.json5
|
|
369
|
+
const infusion6Dir = infusion6.dir();
|
|
370
|
+
const pages = buildIndex.i6Pages.map(record => path.join("docs", record.page));
|
|
371
|
+
// The stylesheets of the Oregon State University site hosting the atlases refer to its theme's fonts and images,
|
|
372
|
+
// which are served only there, and to forms of its fonts which are not held here
|
|
373
|
+
const sources = ["--source", "infusion-6=" + infusion6Dir, "--source", "imerss-bioinfo=.",
|
|
374
|
+
"--ignore-missing", "sites/all/", "--ignore-missing", "fonts/OSU/"];
|
|
375
|
+
// Copied once in the form booted by FluidBoot.js, which the minimal pages verified are written in, and once in
|
|
376
|
+
// the built form in which they are hydrated
|
|
377
|
+
runNode([path.join(infusion6Dir, "src/framework/server/copyOut.js"), ...pages, ...sources, "--framework", "boot"]);
|
|
378
|
+
runNode([path.join(infusion6Dir, "src/framework/server/copyOut.js"), ...pages, ...sources, "--framework", "built"]);
|
|
379
|
+
if (verify) {
|
|
380
|
+
buildIndex.i6Pages.forEach(record => runNode(record.verify));
|
|
381
|
+
}
|
|
382
|
+
pages.forEach(page => runNode([path.join(infusion6Dir, "src/framework/server/hydrate.js"), page, "-o", page, "--framework", "built"]));
|
|
383
|
+
};
|
|
384
|
+
|
|
350
385
|
fluid.setLogging(true);
|
|
351
386
|
|
|
352
|
-
|
|
387
|
+
// Usage: node build.js [story|i6] [--no-verify]
|
|
388
|
+
// story Build only the bundles from which Xetthecum's story map is built
|
|
389
|
+
// i6 Build only the pages ported to Infusion 6, into an existing docs
|
|
390
|
+
// --no-verify Do not verify the pages ported to Infusion 6
|
|
391
|
+
const mode = process.argv[2];
|
|
392
|
+
const verify = !process.argv.includes("--no-verify");
|
|
393
|
+
|
|
394
|
+
const build = async function (buildIndex) {
|
|
395
|
+
if (mode === "story") {
|
|
396
|
+
await buildStory(buildIndex);
|
|
397
|
+
} else if (mode === "i6") {
|
|
398
|
+
copyDep("src/buildSource/*.html", "docs/");
|
|
399
|
+
buildI6(buildIndex, verify);
|
|
400
|
+
} else {
|
|
401
|
+
await buildFromFiles(buildIndex);
|
|
402
|
+
buildI6(buildIndex, verify);
|
|
403
|
+
}
|
|
404
|
+
};
|
|
353
405
|
|
|
354
|
-
|
|
406
|
+
build(buildIndex).then(null, function (error) {
|
|
355
407
|
console.log(error);
|
|
408
|
+
process.exitCode = 1;
|
|
356
409
|
});
|
package/docs/css/data-table.css
CHANGED
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
align-items: center;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
.hortis-dataTable-selectable-row {
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
.hortis-dataTable-selected-row {
|
|
34
38
|
background-color: #a5d6ff;
|
|
35
39
|
}
|
|
@@ -52,10 +56,11 @@
|
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
.hortis-dataTable-scroll {
|
|
55
|
-
|
|
59
|
+
/* Zero basis so that the height of all the rows does not inflate any parent whose height depends on its content */
|
|
60
|
+
flex: 1 1 0px;
|
|
56
61
|
min-height: 0;
|
|
57
62
|
overflow-x: scroll;
|
|
58
|
-
overflow-y:
|
|
63
|
+
overflow-y: auto;
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
.hortis-dataTable-scroll table {
|
|
@@ -91,6 +96,8 @@
|
|
|
91
96
|
}
|
|
92
97
|
|
|
93
98
|
.hortis-dataTable-scroll tbody tr {
|
|
99
|
+
/* All rows must share a height for hortis.dataTable.viewExtent - a few would otherwise come out half a pixel short */
|
|
100
|
+
height: 26.5px;
|
|
94
101
|
transition: background 0.15s ease;
|
|
95
102
|
}
|
|
96
103
|
|
|
@@ -98,6 +105,12 @@
|
|
|
98
105
|
border-bottom: none;
|
|
99
106
|
}
|
|
100
107
|
|
|
108
|
+
/* Stands in for the rows which are not currently rendered */
|
|
109
|
+
.hortis-dataTable-scroll tbody tr.hortis-dataTable-spacer td {
|
|
110
|
+
padding: 0;
|
|
111
|
+
border: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
101
114
|
:root {
|
|
102
115
|
--datatable-scrollbar-width: 12px;
|
|
103
116
|
}
|
|
@@ -108,6 +121,16 @@
|
|
|
108
121
|
background-color: #eee
|
|
109
122
|
}
|
|
110
123
|
|
|
124
|
+
/* Confine the vertical scrollbar to the table body - the sticky header is really inside the scrolling area */
|
|
125
|
+
.hortis-dataTable-scroll::-webkit-scrollbar:vertical {
|
|
126
|
+
background-color: transparent;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.hortis-dataTable-scroll::-webkit-scrollbar-track:vertical {
|
|
130
|
+
margin-top: var(--data-table-head-height, 0);
|
|
131
|
+
background-color: #eee;
|
|
132
|
+
}
|
|
133
|
+
|
|
111
134
|
.hortis-dataTable-wrap ::-webkit-scrollbar-thumb {
|
|
112
135
|
border-radius: 6px;
|
|
113
136
|
background-color: #C1C1C1;
|
|
@@ -168,9 +191,3 @@ td.hortis-dataTable-num, th.hortis-dataTable-num {
|
|
|
168
191
|
opacity: 0.3;
|
|
169
192
|
cursor: default;
|
|
170
193
|
}
|
|
171
|
-
|
|
172
|
-
.hortis-dataTable-pagination button.hortis-dataTable-active {
|
|
173
|
-
border-color: var(--data-table-accent);
|
|
174
|
-
color: var(--data-table-accent);
|
|
175
|
-
background: var(--data-table-accent-dim);
|
|
176
|
-
}
|