anki/ts
RumovZ 6da5e5b042
CSV import/export fixes and features (#1898)
* Fix footer moving upwards

* Fix column detection

Was broken because escaped line breaks were not considered.
Also removes delimiter detection on `#columns:` line. User must use tabs
or set delimiter beforehand.

* Add CSV preview

* Parse `#tags column:`

* Optionally export deck and notetype with CSV

* Avoid clones in CSV export

* Prevent bottom of page appearing under footer (dae)

* Increase padding to 1em (dae)

With 0.5em, when a vertical scrollbar is shown, it sits right next to
the right edge of the content, making it look like there's no right
margin.

* Experimental changes to make table fit+scroll (dae)

- limit individual cells to 15em, and show ellipses when truncated
- limit total table width to body width, so that inner table is shown
with scrollbar
- use class rather than id - ids are bad practice in Svelte components,
as more than one may be displayed on a single page

* Skip importing foreign notes with filtered decks

Were implicitly imported into the default deck before.
Also some refactoring to fetch deck ids and names beforehand.

* Hide spacer below hidden field mapping

* Fix guid being replaced when updating note

* Fix dupe identity check

Canonify tags before checking if dupe is identical, but only add update
tags later if appropriate.

* Fix deck export for notes with missing card 1

* Fix note lines starting with `#`

csv crate doesn't support escaping a leading comment char. :(

* Support import/export of guids

* Strip HTML from preview rows

* Fix initially set deck if current is filtered

* Make isHtml toggle reactive

* Fix `html_to_text_line()` stripping sound names

* Tweak export option labels

* Switch to patched rust-csv fork

Fixes writing lines starting with `#`, so revert 5ece10ad05f331.

* List column options with first column field

* Fix flag for exports with HTML stripped
2022-06-09 10:28:01 +10:00
..
card-info Add back support for custom mountpoint in card stats 2022-04-15 15:30:05 +10:00
change-notetype Fix deck options sticky bar at top disappearing on scroll 2022-05-23 16:10:45 +10:00
components Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
congrats add back support for custom mount point in congrats screen 2022-02-17 16:28:48 +10:00
deck-options Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
domlib Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
editable Switch editor to full MathJax package to fix broken autoloads 2022-05-21 14:01:38 +10:00
editor Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
fields Add a flag to allow loading the fields dialog in a web view (#1706) 2022-03-03 22:45:26 +10:00
graphs Fix graphs tooltip incorrect position (#1872) 2022-05-19 11:08:57 +10:00
html-filter Allow alt tags when pasting images 2022-05-16 14:32:24 +10:00
icons Add extra button group for cloze commands (#1756) 2022-03-31 13:30:00 +10:00
import-csv CSV import/export fixes and features (#1898) 2022-06-09 10:28:01 +10:00
lib Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
mathjax Use same config for editor and reviewer Mathjax (#1865) 2022-05-13 13:23:35 +10:00
patches Override older protobufjs pulled in via @bazel/typescript 2022-06-03 13:15:48 +10:00
reviewer Align list items to start (#1816) 2022-04-22 14:18:11 +10:00
sql_format run buildifier/buildozer to tidy up BUILD files 2021-12-14 09:18:24 +10:00
svelte Improved add-on extension API (#1626) 2022-02-03 14:52:11 +10:00
sveltelib Remove onInput call in input handler (#1819) 2022-04-25 13:56:05 +10:00
tag-editor Plaintext import/export (#1850) 2022-06-01 20:26:16 +10:00
.eslintrc.js Use eslint for sorting our imports (#1637) 2022-02-04 18:36:34 +10:00
.gitignore Update eslint to 4.22.0 2021-04-22 19:19:39 +02:00
BUILD.bazel Add extra button group for cloze commands (#1756) 2022-03-31 13:30:00 +10:00
compile_sass.bzl Remove individual .html files + other refactorings (#1588) 2022-01-16 15:05:35 +10:00
copy.bzl include sourcemaps for pages/* in dev builds 2021-04-20 17:33:46 +10:00
esbuild.bzl Fix invisible tag input in Qt5 (thanks to Hikaru) 2022-04-05 09:53:36 +10:00
eslint.bzl Use eslint for sorting our imports (#1637) 2022-02-04 18:36:34 +10:00
format.sh prettier: don't depend on system node being available 2021-11-25 07:14:15 +10:00
generate_page.bzl Remove individual .html files + other refactorings (#1588) 2022-01-16 15:05:35 +10:00
jest.bzl Update to Jest 28 alpha 2022-02-25 16:20:50 +10:00
jest.config.js update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
licenses.json Update protobufjs due to CVE 2022-06-03 12:54:41 +10:00
page.html Load page script after body created (#1802) 2022-04-19 17:16:56 +10:00
prettier.bzl prettier: don't depend on system node being available 2021-11-25 07:14:15 +10:00
proto.bzl update to latest rules_nodejs & switch to ts_project 2021-10-01 12:52:53 +10:00
protobuf-no-long.js add a hack to avoid Long.js in Jest tests 2021-04-17 17:05:48 +10:00
protobuf.bzl Consider using --force-message for ts/protobuf.bzl (#1694) 2022-02-27 17:35:07 +10:00
README.md add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
tsconfig.json Use same config for editor and reviewer Mathjax (#1865) 2022-05-13 13:23:35 +10:00
typescript.bzl Refactor i18n (#1405) 2021-10-07 23:31:49 +10:00
update-licenses.sh fix update-licenses.sh 2021-12-03 20:35:53 +10:00
update.sh add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
vendor.bzl copy_bootstrap_css/icons were unused 2022-01-15 20:35:11 +10:00
yarn.sh Replace individual d3 libraries with encompassing d3 2021-01-30 00:00:22 +01:00

Anki's TypeScript and Sass dependencies. Some TS/JS code is also stored separately in ../qt/aqt/data/web/.

To update all dependencies:

./update.sh

To add a new dev dependency, use something like:

./add.sh -D @rollup/plugin-alias