From 7e7bd4b6c453f0d76a18f4fb7f371f12d174b59f Mon Sep 17 00:00:00 2001 From: GitHub Actions CI Date: Thu, 19 Oct 2023 02:10:40 +0000 Subject: [PATCH] [dist][CI SKIP] GitHub Actions CI build: #, based on commit 60bb02f3acf484afd7b51f413189812a3b0d6e30. --- frontend/webpack-stats.pro.json | 1222 +++++++------- locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 163426 bytes locale/ar/LC_MESSAGES/djangojs.mo | Bin 0 -> 38325 bytes locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 5384 bytes locale/bg/LC_MESSAGES/djangojs.mo | Bin 0 -> 912 bytes locale/bg_BG/LC_MESSAGES/djangojs.mo | Bin 0 -> 438 bytes locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 28004 bytes locale/ca/LC_MESSAGES/djangojs.mo | Bin 0 -> 11890 bytes locale/cs/LC_MESSAGES/django.mo | Bin 0 -> 74166 bytes locale/cs/LC_MESSAGES/djangojs.mo | Bin 0 -> 77149 bytes locale/cs_CZ/LC_MESSAGES/djangojs.mo | Bin 0 -> 7970 bytes locale/da_DK/LC_MESSAGES/djangojs.mo | Bin 0 -> 2202 bytes locale/de/LC_MESSAGES/django.mo | Bin 0 -> 84130 bytes locale/de/LC_MESSAGES/djangojs.mo | Bin 0 -> 92189 bytes locale/el/LC_MESSAGES/django.mo | Bin 0 -> 39011 bytes locale/el/LC_MESSAGES/djangojs.mo | Bin 0 -> 18054 bytes locale/el_GR/LC_MESSAGES/djangojs.mo | Bin 0 -> 4505 bytes locale/en/LC_MESSAGES/django.mo | Bin 0 -> 337 bytes locale/en/LC_MESSAGES/djangojs.mo | Bin 0 -> 337 bytes locale/en_US/LC_MESSAGES/djangojs.mo | Bin 0 -> 441 bytes locale/es/LC_MESSAGES/django.mo | Bin 0 -> 127268 bytes locale/es/LC_MESSAGES/djangojs.mo | Bin 0 -> 80587 bytes locale/es_AR/LC_MESSAGES/django.mo | Bin 0 -> 127286 bytes locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 0 -> 80569 bytes locale/es_MX/LC_MESSAGES/django.mo | Bin 0 -> 127330 bytes locale/es_MX/LC_MESSAGES/djangojs.mo | Bin 0 -> 80602 bytes locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 67979 bytes locale/fi/LC_MESSAGES/djangojs.mo | Bin 0 -> 36299 bytes locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 181988 bytes locale/fr/LC_MESSAGES/djangojs.mo | Bin 0 -> 96607 bytes locale/he/LC_MESSAGES/django.mo | Bin 0 -> 10931 bytes locale/he/LC_MESSAGES/djangojs.mo | Bin 0 -> 6897 bytes locale/hr/LC_MESSAGES/djangojs.mo | Bin 0 -> 492 bytes locale/hr_HR/LC_MESSAGES/djangojs.mo | Bin 0 -> 508 bytes locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 72557 bytes locale/hu/LC_MESSAGES/djangojs.mo | Bin 0 -> 45349 bytes locale/is/LC_MESSAGES/django.mo | Bin 0 -> 45490 bytes locale/is/LC_MESSAGES/djangojs.mo | Bin 0 -> 20433 bytes locale/it/LC_MESSAGES/django.mo | Bin 0 -> 70610 bytes locale/it/LC_MESSAGES/djangojs.mo | Bin 0 -> 46038 bytes locale/ja/LC_MESSAGES/django.mo | Bin 0 -> 49670 bytes locale/ja/LC_MESSAGES/djangojs.mo | Bin 0 -> 29841 bytes locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 171856 bytes locale/ko/LC_MESSAGES/djangojs.mo | Bin 0 -> 94716 bytes locale/lt/LC_MESSAGES/django.mo | Bin 0 -> 26556 bytes locale/lt/LC_MESSAGES/djangojs.mo | Bin 0 -> 11104 bytes locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 39934 bytes locale/lv/LC_MESSAGES/djangojs.mo | Bin 0 -> 22984 bytes locale/lv_LV/LC_MESSAGES/djangojs.mo | Bin 0 -> 4651 bytes locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 447 bytes locale/mk/LC_MESSAGES/djangojs.mo | Bin 0 -> 447 bytes locale/nb/LC_MESSAGES/djangojs.mo | Bin 0 -> 429 bytes locale/nb_NO/LC_MESSAGES/djangojs.mo | Bin 0 -> 21765 bytes locale/nl/LC_MESSAGES/django.mo | Bin 0 -> 412 bytes locale/nl/LC_MESSAGES/djangojs.mo | Bin 0 -> 412 bytes locale/nl_NL/LC_MESSAGES/djangojs.mo | Bin 0 -> 31351 bytes locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 70577 bytes locale/pl/LC_MESSAGES/djangojs.mo | Bin 0 -> 34998 bytes locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 61717 bytes locale/pt_BR/LC_MESSAGES/djangojs.mo | Bin 0 -> 30422 bytes locale/pt_PT/LC_MESSAGES/djangojs.mo | Bin 0 -> 1474 bytes locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 227140 bytes locale/ru/LC_MESSAGES/djangojs.mo | Bin 0 -> 118641 bytes locale/sk/LC_MESSAGES/django.mo | Bin 0 -> 15082 bytes locale/sk_SK/LC_MESSAGES/djangojs.mo | Bin 0 -> 3385 bytes locale/sl/LC_MESSAGES/django.mo | Bin 0 -> 101645 bytes locale/sl_SI/LC_MESSAGES/djangojs.mo | Bin 0 -> 17862 bytes locale/sv/LC_MESSAGES/django.mo | Bin 0 -> 75717 bytes locale/sv/LC_MESSAGES/djangojs.mo | Bin 0 -> 74413 bytes locale/th/LC_MESSAGES/django.mo | Bin 0 -> 155065 bytes locale/th_TH/LC_MESSAGES/djangojs.mo | Bin 0 -> 19174 bytes locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 104780 bytes locale/tr/LC_MESSAGES/djangojs.mo | Bin 0 -> 34148 bytes locale/uk/LC_MESSAGES/django.mo | Bin 0 -> 48554 bytes locale/uk/LC_MESSAGES/djangojs.mo | Bin 0 -> 19520 bytes locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 40629 bytes locale/vi/LC_MESSAGES/djangojs.mo | Bin 0 -> 16698 bytes locale/zh_CN/LC_MESSAGES/django.mo | Bin 0 -> 157183 bytes locale/zh_CN/LC_MESSAGES/djangojs.mo | Bin 0 -> 86062 bytes locale/zh_TW/LC_MESSAGES/django.mo | Bin 0 -> 56143 bytes locale/zh_TW/LC_MESSAGES/djangojs.mo | Bin 0 -> 28850 bytes media/assets/css/bootstrap.min.css | 6 + media/assets/frontend/static/css/TCAccept.css | 2 + .../frontend/static/css/TCAccept.css.map | 1 + media/assets/frontend/static/css/TCView.css | 2 + .../assets/frontend/static/css/TCView.css.map | 1 + media/assets/frontend/static/css/app.css | 2 + media/assets/frontend/static/css/app.css.map | 1 + media/assets/frontend/static/css/commons.css | 15 + .../frontend/static/css/commons.css.map | 1 + media/assets/frontend/static/css/draft.css | 2 + .../assets/frontend/static/css/draft.css.map | 1 + .../frontend/static/css/fileHistory.css | 2 + .../frontend/static/css/fileHistory.css.map | 1 + .../frontend/static/css/fileHistoryOld.css | 2 + .../static/css/fileHistoryOld.css.map | 1 + .../static/css/historyTrashFileView.css | 2 + .../static/css/historyTrashFileView.css.map | 1 + .../frontend/static/css/markdownEditor.css | 2 + .../static/css/markdownEditor.css.map | 1 + media/assets/frontend/static/css/orgAdmin.css | 2 + .../frontend/static/css/orgAdmin.css.map | 1 + .../frontend/static/css/repoFolderTrash.css | 2 + .../static/css/repoFolderTrash.css.map | 1 + .../frontend/static/css/repoHistory.css | 2 + .../frontend/static/css/repoHistory.css.map | 1 + .../frontend/static/css/repoSnapshot.css | 2 + .../frontend/static/css/repoSnapshot.css.map | 1 + .../frontend/static/css/sdocFileHistory.css | 2 + .../static/css/sdocFileHistory.css.map | 1 + .../frontend/static/css/sdocRevision.css | 2 + .../frontend/static/css/sdocRevision.css.map | 1 + media/assets/frontend/static/css/settings.css | 2 + .../frontend/static/css/settings.css.map | 1 + .../frontend/static/css/sharedDirView.css | 2 + .../frontend/static/css/sharedDirView.css.map | 1 + .../static/css/sharedFileViewSpreadsheet.css | 2 + .../css/sharedFileViewSpreadsheet.css.map | 1 + media/assets/frontend/static/css/sysAdmin.css | 2 + .../frontend/static/css/sysAdmin.css.map | 1 + .../assets/frontend/static/css/uploadLink.css | 2 + .../frontend/static/css/uploadLink.css.map | 1 + .../static/css/viewFileSpreadsheet.css | 2 + .../static/css/viewFileSpreadsheet.css.map | 1 + media/assets/frontend/static/css/wiki.css | 2 + media/assets/frontend/static/css/wiki.css.map | 1 + .../frontend/static/js/305.d8dbbbbc.chunk.js | 2 + .../static/js/305.d8dbbbbc.chunk.js.map | 1 + .../frontend/static/js/311.e7e04ffb.chunk.js | 2 + .../static/js/311.e7e04ffb.chunk.js.map | 1 + .../frontend/static/js/379.e48ee7a7.chunk.js | 2 + .../static/js/379.e48ee7a7.chunk.js.map | 1 + .../frontend/static/js/482.40023cf1.chunk.js | 2 + .../static/js/482.40023cf1.chunk.js.map | 1 + .../frontend/static/js/54.f8d765ee.chunk.js | 2 + .../static/js/54.f8d765ee.chunk.js.map | 1 + .../frontend/static/js/545.2cc3d80f.chunk.js | 2 + .../static/js/545.2cc3d80f.chunk.js.map | 1 + .../frontend/static/js/921.ba8481b9.chunk.js | 2 + .../static/js/921.ba8481b9.chunk.js.map | 1 + .../frontend/static/js/975.7f1d8705.chunk.js | 2 + .../static/js/975.7f1d8705.chunk.js.map | 1 + .../frontend/static/js/997.4e7b85c4.chunk.js | 2 + .../static/js/997.4e7b85c4.chunk.js.map | 1 + .../frontend/static/js/TCAccept.c1a15517.js | 2 + .../static/js/TCAccept.c1a15517.js.map | 1 + .../frontend/static/js/TCView.d87affdd.js | 2 + .../frontend/static/js/TCView.d87affdd.js.map | 1 + .../assets/frontend/static/js/app.4f4d11e3.js | 3 + .../static/js/app.4f4d11e3.js.LICENSE.txt | 1 + .../frontend/static/js/app.4f4d11e3.js.map | 1 + .../frontend/static/js/commons.cf9ae7b8.js | 3 + .../static/js/commons.cf9ae7b8.js.LICENSE.txt | 304 ++++ .../static/js/commons.cf9ae7b8.js.map | 1 + .../frontend/static/js/draft.25ec6685.js | 2 + .../frontend/static/js/draft.25ec6685.js.map | 1 + .../static/js/fileHistory.382dad10.js | 2 + .../static/js/fileHistory.382dad10.js.map | 1 + .../static/js/fileHistoryOld.0a49addf.js | 2 + .../static/js/fileHistoryOld.0a49addf.js.map | 1 + .../frontend/static/js/fileView.f3d13498.js | 2 + .../static/js/fileView.f3d13498.js.map | 1 + .../js/historyTrashFileView.d83f3b49.js | 2 + .../js/historyTrashFileView.d83f3b49.js.map | 1 + .../static/js/markdownEditor.86a25b8f.js | 3 + .../js/markdownEditor.86a25b8f.js.LICENSE.txt | 15 + .../static/js/markdownEditor.86a25b8f.js.map | 1 + .../frontend/static/js/orgAdmin.4b0509c2.js | 3 + .../js/orgAdmin.4b0509c2.js.LICENSE.txt | 6 + .../static/js/orgAdmin.4b0509c2.js.map | 1 + .../static/js/repoFolderTrash.0739aef5.js | 2 + .../static/js/repoFolderTrash.0739aef5.js.map | 1 + .../static/js/repoHistory.5b2cda20.js | 2 + .../static/js/repoHistory.5b2cda20.js.map | 1 + .../static/js/repoSnapshot.e6c9bc28.js | 2 + .../static/js/repoSnapshot.e6c9bc28.js.map | 1 + .../frontend/static/js/runtime.6be7e2d8.js | 2 + .../static/js/runtime.6be7e2d8.js.map | 1 + .../static/js/sdocFileHistory.b1bc43a2.js | 2 + .../static/js/sdocFileHistory.b1bc43a2.js.map | 1 + .../static/js/sdocRevision.b9d6c552.js | 2 + .../static/js/sdocRevision.b9d6c552.js.map | 1 + .../frontend/static/js/search.17be8cc4.js | 2 + .../frontend/static/js/search.17be8cc4.js.map | 1 + .../frontend/static/js/settings.fdba9aba.js | 2 + .../static/js/settings.fdba9aba.js.map | 1 + .../static/js/sharedDirView.0706cd21.js | 2 + .../static/js/sharedDirView.0706cd21.js.map | 1 + .../static/js/sharedFileViewAudio.cedd033e.js | 2 + .../js/sharedFileViewAudio.cedd033e.js.map | 1 + .../js/sharedFileViewDocument.180f58d8.js | 2 + .../js/sharedFileViewDocument.180f58d8.js.map | 1 + .../static/js/sharedFileViewImage.9d0dda04.js | 2 + .../js/sharedFileViewImage.9d0dda04.js.map | 1 + .../js/sharedFileViewMarkdown.7dbe56ed.js | 2 + .../js/sharedFileViewMarkdown.7dbe56ed.js.map | 1 + .../static/js/sharedFileViewPDF.a00415f0.js | 2 + .../js/sharedFileViewPDF.a00415f0.js.map | 1 + .../static/js/sharedFileViewSVG.5fd43385.js | 2 + .../js/sharedFileViewSVG.5fd43385.js.map | 1 + .../static/js/sharedFileViewSdoc.8e28fb6f.js | 2 + .../js/sharedFileViewSdoc.8e28fb6f.js.map | 1 + .../js/sharedFileViewSpreadsheet.0ffb4373.js | 2 + .../sharedFileViewSpreadsheet.0ffb4373.js.map | 1 + .../static/js/sharedFileViewText.2fe6341c.js | 2 + .../js/sharedFileViewText.2fe6341c.js.map | 1 + .../js/sharedFileViewUnknown.a0e468e0.js | 2 + .../js/sharedFileViewUnknown.a0e468e0.js.map | 1 + .../static/js/sharedFileViewVideo.6af2fa31.js | 2 + .../js/sharedFileViewVideo.6af2fa31.js.map | 1 + .../frontend/static/js/sysAdmin.e682dbd6.js | 3 + .../js/sysAdmin.e682dbd6.js.LICENSE.txt | 6 + .../static/js/sysAdmin.e682dbd6.js.map | 1 + .../frontend/static/js/uploadLink.d3bf7687.js | 2 + .../static/js/uploadLink.d3bf7687.js.map | 1 + .../static/js/viewFileDocument.8a503cff.js | 2 + .../js/viewFileDocument.8a503cff.js.map | 1 + .../static/js/viewFileSdoc.4b4a17b8.js | 2 + .../static/js/viewFileSdoc.4b4a17b8.js.map | 1 + .../static/js/viewFileSpreadsheet.77d500a4.js | 2 + .../js/viewFileSpreadsheet.77d500a4.js.map | 1 + .../static/js/viewFileText.1b55a030.js | 2 + .../static/js/viewFileText.1b55a030.js.map | 1 + .../frontend/static/js/wiki.3dcf96aa.js | 2 + .../frontend/static/js/wiki.3dcf96aa.js.map | 1 + media/assets/scripts/i18n/ar/djangojs.js | 651 ++++++++ media/assets/scripts/i18n/ca/djangojs.js | 353 ++++ media/assets/scripts/i18n/cs/djangojs.js | 1180 ++++++++++++++ media/assets/scripts/i18n/de/djangojs.js | 1214 ++++++++++++++ media/assets/scripts/i18n/el/djangojs.js | 379 +++++ media/assets/scripts/i18n/en/djangojs.js | 138 ++ media/assets/scripts/i18n/es-ar/djangojs.js | 1133 +++++++++++++ media/assets/scripts/i18n/es-mx/djangojs.js | 1134 +++++++++++++ media/assets/scripts/i18n/es/djangojs.js | 1133 +++++++++++++ media/assets/scripts/i18n/fi/djangojs.js | 678 ++++++++ media/assets/scripts/i18n/fr/djangojs.js | 1251 ++++++++++++++ media/assets/scripts/i18n/he/djangojs.js | 272 ++++ media/assets/scripts/i18n/hu/djangojs.js | 801 +++++++++ media/assets/scripts/i18n/is/djangojs.js | 498 ++++++ media/assets/scripts/i18n/it/djangojs.js | 815 +++++++++ media/assets/scripts/i18n/ja/djangojs.js | 617 +++++++ media/assets/scripts/i18n/ko/djangojs.js | 1253 ++++++++++++++ media/assets/scripts/i18n/lv/djangojs.js | 548 +++++++ media/assets/scripts/i18n/nl/djangojs.js | 702 ++++++++ media/assets/scripts/i18n/pl/djangojs.js | 653 ++++++++ media/assets/scripts/i18n/pt-br/djangojs.js | 597 +++++++ media/assets/scripts/i18n/ru/djangojs.js | 1263 ++++++++++++++ media/assets/scripts/i18n/sk/djangojs.js | 92 ++ media/assets/scripts/i18n/sl/djangojs.js | 466 ++++++ media/assets/scripts/i18n/sv/djangojs.js | 1112 +++++++++++++ media/assets/scripts/i18n/th/djangojs.js | 380 +++++ media/assets/scripts/i18n/tr/djangojs.js | 684 ++++++++ media/assets/scripts/i18n/uk/djangojs.js | 406 +++++ media/assets/scripts/i18n/vi/djangojs.js | 420 +++++ media/assets/scripts/i18n/zh-cn/djangojs.js | 1280 +++++++++++++++ media/assets/scripts/i18n/zh-tw/djangojs.js | 616 +++++++ media/assets/scripts/lib/jquery-ui.min.js | 7 + media/assets/scripts/lib/jquery.min.js | 2 + .../assets/scripts/lib/jquery.simplemodal.js | 718 ++++++++ static/scripts/i18n/ar/djangojs.js | 783 ++++++--- static/scripts/i18n/ca/djangojs.js | 313 +++- static/scripts/i18n/cs/djangojs.js | 1245 ++++++++++++-- static/scripts/i18n/de/djangojs.js | 1368 +++++++++++++--- static/scripts/i18n/el/djangojs.js | 341 +++- static/scripts/i18n/en/djangojs.js | 104 +- static/scripts/i18n/es-ar/djangojs.js | 1289 ++++++++++++--- static/scripts/i18n/es-mx/djangojs.js | 1291 ++++++++++++--- static/scripts/i18n/es/djangojs.js | 1289 ++++++++++++--- static/scripts/i18n/fi/djangojs.js | 839 +++++++--- static/scripts/i18n/fr/djangojs.js | 1412 +++++++++++++--- static/scripts/i18n/he/djangojs.js | 244 ++- static/scripts/i18n/hu/djangojs.js | 958 ++++++++--- static/scripts/i18n/is/djangojs.js | 598 ++++--- static/scripts/i18n/it/djangojs.js | 986 ++++++++--- static/scripts/i18n/ja/djangojs.js | 589 ++++++- static/scripts/i18n/ko/djangojs.js | 1406 +++++++++++++--- static/scripts/i18n/lv/djangojs.js | 516 +++++- static/scripts/i18n/nl/djangojs.js | 871 +++++++--- static/scripts/i18n/pl/djangojs.js | 803 ++++++--- static/scripts/i18n/pt-br/djangojs.js | 740 ++++++--- static/scripts/i18n/ru/djangojs.js | 1421 +++++++++++++--- static/scripts/i18n/sl/djangojs.js | 467 +++++- static/scripts/i18n/sv/djangojs.js | 1272 ++++++++++++--- static/scripts/i18n/th/djangojs.js | 338 +++- static/scripts/i18n/tr/djangojs.js | 643 +++++++- static/scripts/i18n/uk/djangojs.js | 380 ++++- static/scripts/i18n/vi/djangojs.js | 457 ++++-- static/scripts/i18n/zh-cn/djangojs.js | 1449 ++++++++++++++--- static/scripts/i18n/zh-tw/djangojs.js | 775 ++++++--- tests/github_actions_dist.sh | 0 290 files changed, 44645 insertions(+), 5773 deletions(-) create mode 100644 locale/ar/LC_MESSAGES/django.mo create mode 100644 locale/ar/LC_MESSAGES/djangojs.mo create mode 100644 locale/bg/LC_MESSAGES/django.mo create mode 100644 locale/bg/LC_MESSAGES/djangojs.mo create mode 100644 locale/bg_BG/LC_MESSAGES/djangojs.mo create mode 100644 locale/ca/LC_MESSAGES/django.mo create mode 100644 locale/ca/LC_MESSAGES/djangojs.mo create mode 100644 locale/cs/LC_MESSAGES/django.mo create mode 100644 locale/cs/LC_MESSAGES/djangojs.mo create mode 100644 locale/cs_CZ/LC_MESSAGES/djangojs.mo create mode 100644 locale/da_DK/LC_MESSAGES/djangojs.mo create mode 100644 locale/de/LC_MESSAGES/django.mo create mode 100644 locale/de/LC_MESSAGES/djangojs.mo create mode 100644 locale/el/LC_MESSAGES/django.mo create mode 100644 locale/el/LC_MESSAGES/djangojs.mo create mode 100644 locale/el_GR/LC_MESSAGES/djangojs.mo create mode 100644 locale/en/LC_MESSAGES/django.mo create mode 100644 locale/en/LC_MESSAGES/djangojs.mo create mode 100644 locale/en_US/LC_MESSAGES/djangojs.mo create mode 100644 locale/es/LC_MESSAGES/django.mo create mode 100644 locale/es/LC_MESSAGES/djangojs.mo create mode 100644 locale/es_AR/LC_MESSAGES/django.mo create mode 100644 locale/es_AR/LC_MESSAGES/djangojs.mo create mode 100644 locale/es_MX/LC_MESSAGES/django.mo create mode 100644 locale/es_MX/LC_MESSAGES/djangojs.mo create mode 100644 locale/fi/LC_MESSAGES/django.mo create mode 100644 locale/fi/LC_MESSAGES/djangojs.mo create mode 100644 locale/fr/LC_MESSAGES/django.mo create mode 100644 locale/fr/LC_MESSAGES/djangojs.mo create mode 100644 locale/he/LC_MESSAGES/django.mo create mode 100644 locale/he/LC_MESSAGES/djangojs.mo create mode 100644 locale/hr/LC_MESSAGES/djangojs.mo create mode 100644 locale/hr_HR/LC_MESSAGES/djangojs.mo create mode 100644 locale/hu/LC_MESSAGES/django.mo create mode 100644 locale/hu/LC_MESSAGES/djangojs.mo create mode 100644 locale/is/LC_MESSAGES/django.mo create mode 100644 locale/is/LC_MESSAGES/djangojs.mo create mode 100644 locale/it/LC_MESSAGES/django.mo create mode 100644 locale/it/LC_MESSAGES/djangojs.mo create mode 100644 locale/ja/LC_MESSAGES/django.mo create mode 100644 locale/ja/LC_MESSAGES/djangojs.mo create mode 100644 locale/ko/LC_MESSAGES/django.mo create mode 100644 locale/ko/LC_MESSAGES/djangojs.mo create mode 100644 locale/lt/LC_MESSAGES/django.mo create mode 100644 locale/lt/LC_MESSAGES/djangojs.mo create mode 100644 locale/lv/LC_MESSAGES/django.mo create mode 100644 locale/lv/LC_MESSAGES/djangojs.mo create mode 100644 locale/lv_LV/LC_MESSAGES/djangojs.mo create mode 100644 locale/mk/LC_MESSAGES/django.mo create mode 100644 locale/mk/LC_MESSAGES/djangojs.mo create mode 100644 locale/nb/LC_MESSAGES/djangojs.mo create mode 100644 locale/nb_NO/LC_MESSAGES/djangojs.mo create mode 100644 locale/nl/LC_MESSAGES/django.mo create mode 100644 locale/nl/LC_MESSAGES/djangojs.mo create mode 100644 locale/nl_NL/LC_MESSAGES/djangojs.mo create mode 100644 locale/pl/LC_MESSAGES/django.mo create mode 100644 locale/pl/LC_MESSAGES/djangojs.mo create mode 100644 locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 locale/pt_BR/LC_MESSAGES/djangojs.mo create mode 100644 locale/pt_PT/LC_MESSAGES/djangojs.mo create mode 100644 locale/ru/LC_MESSAGES/django.mo create mode 100644 locale/ru/LC_MESSAGES/djangojs.mo create mode 100644 locale/sk/LC_MESSAGES/django.mo create mode 100644 locale/sk_SK/LC_MESSAGES/djangojs.mo create mode 100644 locale/sl/LC_MESSAGES/django.mo create mode 100644 locale/sl_SI/LC_MESSAGES/djangojs.mo create mode 100644 locale/sv/LC_MESSAGES/django.mo create mode 100644 locale/sv/LC_MESSAGES/djangojs.mo create mode 100644 locale/th/LC_MESSAGES/django.mo create mode 100644 locale/th_TH/LC_MESSAGES/djangojs.mo create mode 100644 locale/tr/LC_MESSAGES/django.mo create mode 100644 locale/tr/LC_MESSAGES/djangojs.mo create mode 100644 locale/uk/LC_MESSAGES/django.mo create mode 100644 locale/uk/LC_MESSAGES/djangojs.mo create mode 100644 locale/vi/LC_MESSAGES/django.mo create mode 100644 locale/vi/LC_MESSAGES/djangojs.mo create mode 100644 locale/zh_CN/LC_MESSAGES/django.mo create mode 100644 locale/zh_CN/LC_MESSAGES/djangojs.mo create mode 100644 locale/zh_TW/LC_MESSAGES/django.mo create mode 100644 locale/zh_TW/LC_MESSAGES/djangojs.mo create mode 100644 media/assets/css/bootstrap.min.css create mode 100644 media/assets/frontend/static/css/TCAccept.css create mode 100644 media/assets/frontend/static/css/TCAccept.css.map create mode 100644 media/assets/frontend/static/css/TCView.css create mode 100644 media/assets/frontend/static/css/TCView.css.map create mode 100644 media/assets/frontend/static/css/app.css create mode 100644 media/assets/frontend/static/css/app.css.map create mode 100644 media/assets/frontend/static/css/commons.css create mode 100644 media/assets/frontend/static/css/commons.css.map create mode 100644 media/assets/frontend/static/css/draft.css create mode 100644 media/assets/frontend/static/css/draft.css.map create mode 100644 media/assets/frontend/static/css/fileHistory.css create mode 100644 media/assets/frontend/static/css/fileHistory.css.map create mode 100644 media/assets/frontend/static/css/fileHistoryOld.css create mode 100644 media/assets/frontend/static/css/fileHistoryOld.css.map create mode 100644 media/assets/frontend/static/css/historyTrashFileView.css create mode 100644 media/assets/frontend/static/css/historyTrashFileView.css.map create mode 100644 media/assets/frontend/static/css/markdownEditor.css create mode 100644 media/assets/frontend/static/css/markdownEditor.css.map create mode 100644 media/assets/frontend/static/css/orgAdmin.css create mode 100644 media/assets/frontend/static/css/orgAdmin.css.map create mode 100644 media/assets/frontend/static/css/repoFolderTrash.css create mode 100644 media/assets/frontend/static/css/repoFolderTrash.css.map create mode 100644 media/assets/frontend/static/css/repoHistory.css create mode 100644 media/assets/frontend/static/css/repoHistory.css.map create mode 100644 media/assets/frontend/static/css/repoSnapshot.css create mode 100644 media/assets/frontend/static/css/repoSnapshot.css.map create mode 100644 media/assets/frontend/static/css/sdocFileHistory.css create mode 100644 media/assets/frontend/static/css/sdocFileHistory.css.map create mode 100644 media/assets/frontend/static/css/sdocRevision.css create mode 100644 media/assets/frontend/static/css/sdocRevision.css.map create mode 100644 media/assets/frontend/static/css/settings.css create mode 100644 media/assets/frontend/static/css/settings.css.map create mode 100644 media/assets/frontend/static/css/sharedDirView.css create mode 100644 media/assets/frontend/static/css/sharedDirView.css.map create mode 100644 media/assets/frontend/static/css/sharedFileViewSpreadsheet.css create mode 100644 media/assets/frontend/static/css/sharedFileViewSpreadsheet.css.map create mode 100644 media/assets/frontend/static/css/sysAdmin.css create mode 100644 media/assets/frontend/static/css/sysAdmin.css.map create mode 100644 media/assets/frontend/static/css/uploadLink.css create mode 100644 media/assets/frontend/static/css/uploadLink.css.map create mode 100644 media/assets/frontend/static/css/viewFileSpreadsheet.css create mode 100644 media/assets/frontend/static/css/viewFileSpreadsheet.css.map create mode 100644 media/assets/frontend/static/css/wiki.css create mode 100644 media/assets/frontend/static/css/wiki.css.map create mode 100644 media/assets/frontend/static/js/305.d8dbbbbc.chunk.js create mode 100644 media/assets/frontend/static/js/305.d8dbbbbc.chunk.js.map create mode 100644 media/assets/frontend/static/js/311.e7e04ffb.chunk.js create mode 100644 media/assets/frontend/static/js/311.e7e04ffb.chunk.js.map create mode 100644 media/assets/frontend/static/js/379.e48ee7a7.chunk.js create mode 100644 media/assets/frontend/static/js/379.e48ee7a7.chunk.js.map create mode 100644 media/assets/frontend/static/js/482.40023cf1.chunk.js create mode 100644 media/assets/frontend/static/js/482.40023cf1.chunk.js.map create mode 100644 media/assets/frontend/static/js/54.f8d765ee.chunk.js create mode 100644 media/assets/frontend/static/js/54.f8d765ee.chunk.js.map create mode 100644 media/assets/frontend/static/js/545.2cc3d80f.chunk.js create mode 100644 media/assets/frontend/static/js/545.2cc3d80f.chunk.js.map create mode 100644 media/assets/frontend/static/js/921.ba8481b9.chunk.js create mode 100644 media/assets/frontend/static/js/921.ba8481b9.chunk.js.map create mode 100644 media/assets/frontend/static/js/975.7f1d8705.chunk.js create mode 100644 media/assets/frontend/static/js/975.7f1d8705.chunk.js.map create mode 100644 media/assets/frontend/static/js/997.4e7b85c4.chunk.js create mode 100644 media/assets/frontend/static/js/997.4e7b85c4.chunk.js.map create mode 100644 media/assets/frontend/static/js/TCAccept.c1a15517.js create mode 100644 media/assets/frontend/static/js/TCAccept.c1a15517.js.map create mode 100644 media/assets/frontend/static/js/TCView.d87affdd.js create mode 100644 media/assets/frontend/static/js/TCView.d87affdd.js.map create mode 100644 media/assets/frontend/static/js/app.4f4d11e3.js create mode 100644 media/assets/frontend/static/js/app.4f4d11e3.js.LICENSE.txt create mode 100644 media/assets/frontend/static/js/app.4f4d11e3.js.map create mode 100644 media/assets/frontend/static/js/commons.cf9ae7b8.js create mode 100644 media/assets/frontend/static/js/commons.cf9ae7b8.js.LICENSE.txt create mode 100644 media/assets/frontend/static/js/commons.cf9ae7b8.js.map create mode 100644 media/assets/frontend/static/js/draft.25ec6685.js create mode 100644 media/assets/frontend/static/js/draft.25ec6685.js.map create mode 100644 media/assets/frontend/static/js/fileHistory.382dad10.js create mode 100644 media/assets/frontend/static/js/fileHistory.382dad10.js.map create mode 100644 media/assets/frontend/static/js/fileHistoryOld.0a49addf.js create mode 100644 media/assets/frontend/static/js/fileHistoryOld.0a49addf.js.map create mode 100644 media/assets/frontend/static/js/fileView.f3d13498.js create mode 100644 media/assets/frontend/static/js/fileView.f3d13498.js.map create mode 100644 media/assets/frontend/static/js/historyTrashFileView.d83f3b49.js create mode 100644 media/assets/frontend/static/js/historyTrashFileView.d83f3b49.js.map create mode 100644 media/assets/frontend/static/js/markdownEditor.86a25b8f.js create mode 100644 media/assets/frontend/static/js/markdownEditor.86a25b8f.js.LICENSE.txt create mode 100644 media/assets/frontend/static/js/markdownEditor.86a25b8f.js.map create mode 100644 media/assets/frontend/static/js/orgAdmin.4b0509c2.js create mode 100644 media/assets/frontend/static/js/orgAdmin.4b0509c2.js.LICENSE.txt create mode 100644 media/assets/frontend/static/js/orgAdmin.4b0509c2.js.map create mode 100644 media/assets/frontend/static/js/repoFolderTrash.0739aef5.js create mode 100644 media/assets/frontend/static/js/repoFolderTrash.0739aef5.js.map create mode 100644 media/assets/frontend/static/js/repoHistory.5b2cda20.js create mode 100644 media/assets/frontend/static/js/repoHistory.5b2cda20.js.map create mode 100644 media/assets/frontend/static/js/repoSnapshot.e6c9bc28.js create mode 100644 media/assets/frontend/static/js/repoSnapshot.e6c9bc28.js.map create mode 100644 media/assets/frontend/static/js/runtime.6be7e2d8.js create mode 100644 media/assets/frontend/static/js/runtime.6be7e2d8.js.map create mode 100644 media/assets/frontend/static/js/sdocFileHistory.b1bc43a2.js create mode 100644 media/assets/frontend/static/js/sdocFileHistory.b1bc43a2.js.map create mode 100644 media/assets/frontend/static/js/sdocRevision.b9d6c552.js create mode 100644 media/assets/frontend/static/js/sdocRevision.b9d6c552.js.map create mode 100644 media/assets/frontend/static/js/search.17be8cc4.js create mode 100644 media/assets/frontend/static/js/search.17be8cc4.js.map create mode 100644 media/assets/frontend/static/js/settings.fdba9aba.js create mode 100644 media/assets/frontend/static/js/settings.fdba9aba.js.map create mode 100644 media/assets/frontend/static/js/sharedDirView.0706cd21.js create mode 100644 media/assets/frontend/static/js/sharedDirView.0706cd21.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewAudio.cedd033e.js create mode 100644 media/assets/frontend/static/js/sharedFileViewAudio.cedd033e.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewDocument.180f58d8.js create mode 100644 media/assets/frontend/static/js/sharedFileViewDocument.180f58d8.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewImage.9d0dda04.js create mode 100644 media/assets/frontend/static/js/sharedFileViewImage.9d0dda04.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewMarkdown.7dbe56ed.js create mode 100644 media/assets/frontend/static/js/sharedFileViewMarkdown.7dbe56ed.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewPDF.a00415f0.js create mode 100644 media/assets/frontend/static/js/sharedFileViewPDF.a00415f0.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewSVG.5fd43385.js create mode 100644 media/assets/frontend/static/js/sharedFileViewSVG.5fd43385.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewSdoc.8e28fb6f.js create mode 100644 media/assets/frontend/static/js/sharedFileViewSdoc.8e28fb6f.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewSpreadsheet.0ffb4373.js create mode 100644 media/assets/frontend/static/js/sharedFileViewSpreadsheet.0ffb4373.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js create mode 100644 media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js create mode 100644 media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js.map create mode 100644 media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js create mode 100644 media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js.map create mode 100644 media/assets/frontend/static/js/sysAdmin.e682dbd6.js create mode 100644 media/assets/frontend/static/js/sysAdmin.e682dbd6.js.LICENSE.txt create mode 100644 media/assets/frontend/static/js/sysAdmin.e682dbd6.js.map create mode 100644 media/assets/frontend/static/js/uploadLink.d3bf7687.js create mode 100644 media/assets/frontend/static/js/uploadLink.d3bf7687.js.map create mode 100644 media/assets/frontend/static/js/viewFileDocument.8a503cff.js create mode 100644 media/assets/frontend/static/js/viewFileDocument.8a503cff.js.map create mode 100644 media/assets/frontend/static/js/viewFileSdoc.4b4a17b8.js create mode 100644 media/assets/frontend/static/js/viewFileSdoc.4b4a17b8.js.map create mode 100644 media/assets/frontend/static/js/viewFileSpreadsheet.77d500a4.js create mode 100644 media/assets/frontend/static/js/viewFileSpreadsheet.77d500a4.js.map create mode 100644 media/assets/frontend/static/js/viewFileText.1b55a030.js create mode 100644 media/assets/frontend/static/js/viewFileText.1b55a030.js.map create mode 100644 media/assets/frontend/static/js/wiki.3dcf96aa.js create mode 100644 media/assets/frontend/static/js/wiki.3dcf96aa.js.map create mode 100644 media/assets/scripts/i18n/ar/djangojs.js create mode 100644 media/assets/scripts/i18n/ca/djangojs.js create mode 100644 media/assets/scripts/i18n/cs/djangojs.js create mode 100644 media/assets/scripts/i18n/de/djangojs.js create mode 100644 media/assets/scripts/i18n/el/djangojs.js create mode 100644 media/assets/scripts/i18n/en/djangojs.js create mode 100644 media/assets/scripts/i18n/es-ar/djangojs.js create mode 100644 media/assets/scripts/i18n/es-mx/djangojs.js create mode 100644 media/assets/scripts/i18n/es/djangojs.js create mode 100644 media/assets/scripts/i18n/fi/djangojs.js create mode 100644 media/assets/scripts/i18n/fr/djangojs.js create mode 100644 media/assets/scripts/i18n/he/djangojs.js create mode 100644 media/assets/scripts/i18n/hu/djangojs.js create mode 100644 media/assets/scripts/i18n/is/djangojs.js create mode 100644 media/assets/scripts/i18n/it/djangojs.js create mode 100644 media/assets/scripts/i18n/ja/djangojs.js create mode 100644 media/assets/scripts/i18n/ko/djangojs.js create mode 100644 media/assets/scripts/i18n/lv/djangojs.js create mode 100644 media/assets/scripts/i18n/nl/djangojs.js create mode 100644 media/assets/scripts/i18n/pl/djangojs.js create mode 100644 media/assets/scripts/i18n/pt-br/djangojs.js create mode 100644 media/assets/scripts/i18n/ru/djangojs.js create mode 100644 media/assets/scripts/i18n/sk/djangojs.js create mode 100644 media/assets/scripts/i18n/sl/djangojs.js create mode 100644 media/assets/scripts/i18n/sv/djangojs.js create mode 100644 media/assets/scripts/i18n/th/djangojs.js create mode 100644 media/assets/scripts/i18n/tr/djangojs.js create mode 100644 media/assets/scripts/i18n/uk/djangojs.js create mode 100644 media/assets/scripts/i18n/vi/djangojs.js create mode 100644 media/assets/scripts/i18n/zh-cn/djangojs.js create mode 100644 media/assets/scripts/i18n/zh-tw/djangojs.js create mode 100644 media/assets/scripts/lib/jquery-ui.min.js create mode 100644 media/assets/scripts/lib/jquery.min.js create mode 100644 media/assets/scripts/lib/jquery.simplemodal.js mode change 100644 => 100755 tests/github_actions_dist.sh diff --git a/frontend/webpack-stats.pro.json b/frontend/webpack-stats.pro.json index 06d1cef4987..b13f6c0057d 100644 --- a/frontend/webpack-stats.pro.json +++ b/frontend/webpack-stats.pro.json @@ -1,772 +1,816 @@ { "status": "done", "assets": { - "static/css/app.chunk.css": { - "name": "static/css/app.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/app.chunk.css" + "static/css/app.css": { + "name": "static/css/app.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/app.css" }, - "static/css/app.chunk.css.map": { - "name": "static/css/app.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/app.chunk.css.map" + "static/css/app.css.map": { + "name": "static/css/app.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/app.css.map" }, - "static/css/commons.chunk.css": { - "name": "static/css/commons.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/commons.chunk.css" + "static/css/commons.css": { + "name": "static/css/commons.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/commons.css" }, - "static/css/commons.chunk.css.map": { - "name": "static/css/commons.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/commons.chunk.css.map" + "static/css/commons.css.map": { + "name": "static/css/commons.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/commons.css.map" }, - "static/css/draft.chunk.css": { - "name": "static/css/draft.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/draft.chunk.css" + "static/css/draft.css": { + "name": "static/css/draft.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/draft.css" }, - "static/css/draft.chunk.css.map": { - "name": "static/css/draft.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/draft.chunk.css.map" + "static/css/draft.css.map": { + "name": "static/css/draft.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/draft.css.map" }, - "static/css/fileHistory.chunk.css": { - "name": "static/css/fileHistory.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/fileHistory.chunk.css" + "static/css/fileHistory.css": { + "name": "static/css/fileHistory.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/fileHistory.css" }, - "static/css/fileHistory.chunk.css.map": { - "name": "static/css/fileHistory.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/fileHistory.chunk.css.map" + "static/css/fileHistory.css.map": { + "name": "static/css/fileHistory.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/fileHistory.css.map" }, - "static/css/fileHistoryOld.chunk.css": { - "name": "static/css/fileHistoryOld.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/fileHistoryOld.chunk.css" + "static/css/fileHistoryOld.css": { + "name": "static/css/fileHistoryOld.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/fileHistoryOld.css" }, - "static/css/fileHistoryOld.chunk.css.map": { - "name": "static/css/fileHistoryOld.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/fileHistoryOld.chunk.css.map" + "static/css/fileHistoryOld.css.map": { + "name": "static/css/fileHistoryOld.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/fileHistoryOld.css.map" }, - "static/css/historyTrashFileView.chunk.css": { - "name": "static/css/historyTrashFileView.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/historyTrashFileView.chunk.css" + "static/css/historyTrashFileView.css": { + "name": "static/css/historyTrashFileView.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/historyTrashFileView.css" }, - "static/css/historyTrashFileView.chunk.css.map": { - "name": "static/css/historyTrashFileView.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/historyTrashFileView.chunk.css.map" + "static/css/historyTrashFileView.css.map": { + "name": "static/css/historyTrashFileView.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/historyTrashFileView.css.map" }, - "static/css/markdownEditor.chunk.css": { - "name": "static/css/markdownEditor.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/markdownEditor.chunk.css" + "static/css/markdownEditor.css": { + "name": "static/css/markdownEditor.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/markdownEditor.css" }, - "static/css/markdownEditor.chunk.css.map": { - "name": "static/css/markdownEditor.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/markdownEditor.chunk.css.map" + "static/css/markdownEditor.css.map": { + "name": "static/css/markdownEditor.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/markdownEditor.css.map" }, - "static/css/orgAdmin.chunk.css": { - "name": "static/css/orgAdmin.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/orgAdmin.chunk.css" + "static/css/orgAdmin.css": { + "name": "static/css/orgAdmin.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/orgAdmin.css" }, - "static/css/orgAdmin.chunk.css.map": { - "name": "static/css/orgAdmin.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/orgAdmin.chunk.css.map" + "static/css/orgAdmin.css.map": { + "name": "static/css/orgAdmin.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/orgAdmin.css.map" }, - "static/css/repoFolderTrash.chunk.css": { - "name": "static/css/repoFolderTrash.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoFolderTrash.chunk.css" + "static/css/repoFolderTrash.css": { + "name": "static/css/repoFolderTrash.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoFolderTrash.css" }, - "static/css/repoFolderTrash.chunk.css.map": { - "name": "static/css/repoFolderTrash.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoFolderTrash.chunk.css.map" + "static/css/repoFolderTrash.css.map": { + "name": "static/css/repoFolderTrash.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoFolderTrash.css.map" }, - "static/css/repoHistory.chunk.css": { - "name": "static/css/repoHistory.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoHistory.chunk.css" + "static/css/repoHistory.css": { + "name": "static/css/repoHistory.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoHistory.css" }, - "static/css/repoHistory.chunk.css.map": { - "name": "static/css/repoHistory.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoHistory.chunk.css.map" + "static/css/repoHistory.css.map": { + "name": "static/css/repoHistory.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoHistory.css.map" }, - "static/css/repoSnapshot.chunk.css": { - "name": "static/css/repoSnapshot.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoSnapshot.chunk.css" + "static/css/repoSnapshot.css": { + "name": "static/css/repoSnapshot.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoSnapshot.css" }, - "static/css/repoSnapshot.chunk.css.map": { - "name": "static/css/repoSnapshot.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/repoSnapshot.chunk.css.map" + "static/css/repoSnapshot.css.map": { + "name": "static/css/repoSnapshot.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/repoSnapshot.css.map" }, - "static/css/settings.chunk.css": { - "name": "static/css/settings.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/settings.chunk.css" + "static/css/sdocFileHistory.css": { + "name": "static/css/sdocFileHistory.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sdocFileHistory.css" }, - "static/css/settings.chunk.css.map": { - "name": "static/css/settings.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/settings.chunk.css.map" + "static/css/sdocFileHistory.css.map": { + "name": "static/css/sdocFileHistory.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sdocFileHistory.css.map" }, - "static/css/sharedDirView.chunk.css": { - "name": "static/css/sharedDirView.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sharedDirView.chunk.css" + "static/css/sdocRevision.css": { + "name": "static/css/sdocRevision.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sdocRevision.css" }, - "static/css/sharedDirView.chunk.css.map": { - "name": "static/css/sharedDirView.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sharedDirView.chunk.css.map" + "static/css/sdocRevision.css.map": { + "name": "static/css/sdocRevision.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sdocRevision.css.map" }, - "static/css/sharedFileViewSpreadsheet.chunk.css": { - "name": "static/css/sharedFileViewSpreadsheet.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sharedFileViewSpreadsheet.chunk.css" + "static/css/settings.css": { + "name": "static/css/settings.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/settings.css" }, - "static/css/sharedFileViewSpreadsheet.chunk.css.map": { - "name": "static/css/sharedFileViewSpreadsheet.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sharedFileViewSpreadsheet.chunk.css.map" + "static/css/settings.css.map": { + "name": "static/css/settings.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/settings.css.map" }, - "static/css/sysAdmin.chunk.css": { - "name": "static/css/sysAdmin.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sysAdmin.chunk.css" + "static/css/sharedDirView.css": { + "name": "static/css/sharedDirView.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sharedDirView.css" }, - "static/css/sysAdmin.chunk.css.map": { - "name": "static/css/sysAdmin.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/sysAdmin.chunk.css.map" + "static/css/sharedDirView.css.map": { + "name": "static/css/sharedDirView.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sharedDirView.css.map" }, - "static/css/TCAccept.chunk.css": { - "name": "static/css/TCAccept.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/TCAccept.chunk.css" + "static/css/sharedFileViewSpreadsheet.css": { + "name": "static/css/sharedFileViewSpreadsheet.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sharedFileViewSpreadsheet.css" }, - "static/css/TCAccept.chunk.css.map": { - "name": "static/css/TCAccept.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/TCAccept.chunk.css.map" + "static/css/sharedFileViewSpreadsheet.css.map": { + "name": "static/css/sharedFileViewSpreadsheet.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sharedFileViewSpreadsheet.css.map" }, - "static/css/TCView.chunk.css": { - "name": "static/css/TCView.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/TCView.chunk.css" + "static/css/sysAdmin.css": { + "name": "static/css/sysAdmin.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sysAdmin.css" }, - "static/css/TCView.chunk.css.map": { - "name": "static/css/TCView.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/TCView.chunk.css.map" + "static/css/sysAdmin.css.map": { + "name": "static/css/sysAdmin.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/sysAdmin.css.map" }, - "static/css/uploadLink.chunk.css": { - "name": "static/css/uploadLink.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/uploadLink.chunk.css" + "static/css/TCAccept.css": { + "name": "static/css/TCAccept.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/TCAccept.css" }, - "static/css/uploadLink.chunk.css.map": { - "name": "static/css/uploadLink.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/uploadLink.chunk.css.map" + "static/css/TCAccept.css.map": { + "name": "static/css/TCAccept.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/TCAccept.css.map" }, - "static/css/userNotifications.chunk.css": { - "name": "static/css/userNotifications.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/userNotifications.chunk.css" + "static/css/TCView.css": { + "name": "static/css/TCView.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/TCView.css" }, - "static/css/userNotifications.chunk.css.map": { - "name": "static/css/userNotifications.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/userNotifications.chunk.css.map" + "static/css/TCView.css.map": { + "name": "static/css/TCView.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/TCView.css.map" }, - "static/css/viewFileSpreadsheet.chunk.css": { - "name": "static/css/viewFileSpreadsheet.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/viewFileSpreadsheet.chunk.css" + "static/css/uploadLink.css": { + "name": "static/css/uploadLink.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/uploadLink.css" }, - "static/css/viewFileSpreadsheet.chunk.css.map": { - "name": "static/css/viewFileSpreadsheet.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/viewFileSpreadsheet.chunk.css.map" + "static/css/uploadLink.css.map": { + "name": "static/css/uploadLink.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/uploadLink.css.map" }, - "static/css/wiki.chunk.css": { - "name": "static/css/wiki.chunk.css", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/wiki.chunk.css" + "static/css/viewFileSpreadsheet.css": { + "name": "static/css/viewFileSpreadsheet.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/viewFileSpreadsheet.css" }, - "static/css/wiki.chunk.css.map": { - "name": "static/css/wiki.chunk.css.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/css/wiki.chunk.css.map" + "static/css/viewFileSpreadsheet.css.map": { + "name": "static/css/viewFileSpreadsheet.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/viewFileSpreadsheet.css.map" }, - "static/js/app.chunk.js": { - "name": "static/js/app.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/app.chunk.js" + "static/css/wiki.css": { + "name": "static/css/wiki.css", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/wiki.css" }, - "static/js/app.chunk.js.map": { - "name": "static/js/app.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/app.chunk.js.map" + "static/css/wiki.css.map": { + "name": "static/css/wiki.css.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/css/wiki.css.map" }, - "static/js/commons.chunk.js": { - "name": "static/js/commons.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/commons.chunk.js" + "static/js/305.d8dbbbbc.chunk.js": { + "name": "static/js/305.d8dbbbbc.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/305.d8dbbbbc.chunk.js" }, - "static/js/commons.chunk.js.map": { - "name": "static/js/commons.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/commons.chunk.js.map" + "static/js/305.d8dbbbbc.chunk.js.map": { + "name": "static/js/305.d8dbbbbc.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/305.d8dbbbbc.chunk.js.map" }, - "static/js/draft.chunk.js": { - "name": "static/js/draft.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/draft.chunk.js" + "static/js/311.e7e04ffb.chunk.js": { + "name": "static/js/311.e7e04ffb.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/311.e7e04ffb.chunk.js" }, - "static/js/draft.chunk.js.map": { - "name": "static/js/draft.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/draft.chunk.js.map" + "static/js/311.e7e04ffb.chunk.js.map": { + "name": "static/js/311.e7e04ffb.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/311.e7e04ffb.chunk.js.map" }, - "static/js/fileHistory.chunk.js": { - "name": "static/js/fileHistory.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileHistory.chunk.js" + "static/js/379.e48ee7a7.chunk.js": { + "name": "static/js/379.e48ee7a7.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/379.e48ee7a7.chunk.js" }, - "static/js/fileHistory.chunk.js.map": { - "name": "static/js/fileHistory.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileHistory.chunk.js.map" + "static/js/379.e48ee7a7.chunk.js.map": { + "name": "static/js/379.e48ee7a7.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/379.e48ee7a7.chunk.js.map" }, - "static/js/fileHistoryOld.chunk.js": { - "name": "static/js/fileHistoryOld.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileHistoryOld.chunk.js" + "static/js/482.40023cf1.chunk.js": { + "name": "static/js/482.40023cf1.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/482.40023cf1.chunk.js" }, - "static/js/fileHistoryOld.chunk.js.map": { - "name": "static/js/fileHistoryOld.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileHistoryOld.chunk.js.map" + "static/js/482.40023cf1.chunk.js.map": { + "name": "static/js/482.40023cf1.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/482.40023cf1.chunk.js.map" }, - "static/js/fileView.chunk.js": { - "name": "static/js/fileView.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileView.chunk.js" + "static/js/54.f8d765ee.chunk.js": { + "name": "static/js/54.f8d765ee.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/54.f8d765ee.chunk.js" }, - "static/js/fileView.chunk.js.map": { - "name": "static/js/fileView.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/fileView.chunk.js.map" + "static/js/54.f8d765ee.chunk.js.map": { + "name": "static/js/54.f8d765ee.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/54.f8d765ee.chunk.js.map" }, - "static/js/historyTrashFileView.chunk.js": { - "name": "static/js/historyTrashFileView.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/historyTrashFileView.chunk.js" + "static/js/545.2cc3d80f.chunk.js": { + "name": "static/js/545.2cc3d80f.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/545.2cc3d80f.chunk.js" }, - "static/js/historyTrashFileView.chunk.js.map": { - "name": "static/js/historyTrashFileView.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/historyTrashFileView.chunk.js.map" + "static/js/545.2cc3d80f.chunk.js.map": { + "name": "static/js/545.2cc3d80f.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/545.2cc3d80f.chunk.js.map" }, - "static/js/markdownEditor.chunk.js": { - "name": "static/js/markdownEditor.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/markdownEditor.chunk.js" + "static/js/921.ba8481b9.chunk.js": { + "name": "static/js/921.ba8481b9.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/921.ba8481b9.chunk.js" }, - "static/js/markdownEditor.chunk.js.map": { - "name": "static/js/markdownEditor.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/markdownEditor.chunk.js.map" + "static/js/921.ba8481b9.chunk.js.map": { + "name": "static/js/921.ba8481b9.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/921.ba8481b9.chunk.js.map" }, - "static/js/orgAdmin.chunk.js": { - "name": "static/js/orgAdmin.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/orgAdmin.chunk.js" + "static/js/975.7f1d8705.chunk.js": { + "name": "static/js/975.7f1d8705.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/975.7f1d8705.chunk.js" }, - "static/js/orgAdmin.chunk.js.map": { - "name": "static/js/orgAdmin.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/orgAdmin.chunk.js.map" + "static/js/975.7f1d8705.chunk.js.map": { + "name": "static/js/975.7f1d8705.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/975.7f1d8705.chunk.js.map" }, - "static/js/repoFolderTrash.chunk.js": { - "name": "static/js/repoFolderTrash.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoFolderTrash.chunk.js" + "static/js/997.4e7b85c4.chunk.js": { + "name": "static/js/997.4e7b85c4.chunk.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/997.4e7b85c4.chunk.js" }, - "static/js/repoFolderTrash.chunk.js.map": { - "name": "static/js/repoFolderTrash.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoFolderTrash.chunk.js.map" + "static/js/997.4e7b85c4.chunk.js.map": { + "name": "static/js/997.4e7b85c4.chunk.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/997.4e7b85c4.chunk.js.map" }, - "static/js/repoHistory.chunk.js": { - "name": "static/js/repoHistory.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoHistory.chunk.js" + "static/js/app.4f4d11e3.js": { + "name": "static/js/app.4f4d11e3.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/app.4f4d11e3.js" }, - "static/js/repoHistory.chunk.js.map": { - "name": "static/js/repoHistory.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoHistory.chunk.js.map" + "static/js/app.4f4d11e3.js.LICENSE.txt": { + "name": "static/js/app.4f4d11e3.js.LICENSE.txt", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/app.4f4d11e3.js.LICENSE.txt" }, - "static/js/repoSnapshot.chunk.js": { - "name": "static/js/repoSnapshot.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoSnapshot.chunk.js" + "static/js/app.4f4d11e3.js.map": { + "name": "static/js/app.4f4d11e3.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/app.4f4d11e3.js.map" }, - "static/js/repoSnapshot.chunk.js.map": { - "name": "static/js/repoSnapshot.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/repoSnapshot.chunk.js.map" + "static/js/commons.cf9ae7b8.js": { + "name": "static/js/commons.cf9ae7b8.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/commons.cf9ae7b8.js" }, - "static/js/runtime.js": { - "name": "static/js/runtime.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/runtime.js" + "static/js/commons.cf9ae7b8.js.LICENSE.txt": { + "name": "static/js/commons.cf9ae7b8.js.LICENSE.txt", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/commons.cf9ae7b8.js.LICENSE.txt" }, - "static/js/runtime.js.map": { - "name": "static/js/runtime.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/runtime.js.map" + "static/js/commons.cf9ae7b8.js.map": { + "name": "static/js/commons.cf9ae7b8.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/commons.cf9ae7b8.js.map" }, - "static/js/search.chunk.js": { - "name": "static/js/search.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/search.chunk.js" + "static/js/draft.25ec6685.js": { + "name": "static/js/draft.25ec6685.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/draft.25ec6685.js" }, - "static/js/search.chunk.js.map": { - "name": "static/js/search.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/search.chunk.js.map" + "static/js/draft.25ec6685.js.map": { + "name": "static/js/draft.25ec6685.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/draft.25ec6685.js.map" }, - "static/js/settings.chunk.js": { - "name": "static/js/settings.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/settings.chunk.js" + "static/js/fileHistory.382dad10.js": { + "name": "static/js/fileHistory.382dad10.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileHistory.382dad10.js" }, - "static/js/settings.chunk.js.map": { - "name": "static/js/settings.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/settings.chunk.js.map" + "static/js/fileHistory.382dad10.js.map": { + "name": "static/js/fileHistory.382dad10.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileHistory.382dad10.js.map" }, - "static/js/sharedDirView.chunk.js": { - "name": "static/js/sharedDirView.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedDirView.chunk.js" + "static/js/fileHistoryOld.0a49addf.js": { + "name": "static/js/fileHistoryOld.0a49addf.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileHistoryOld.0a49addf.js" }, - "static/js/sharedDirView.chunk.js.map": { - "name": "static/js/sharedDirView.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedDirView.chunk.js.map" + "static/js/fileHistoryOld.0a49addf.js.map": { + "name": "static/js/fileHistoryOld.0a49addf.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileHistoryOld.0a49addf.js.map" }, - "static/js/sharedFileViewAudio.chunk.js": { - "name": "static/js/sharedFileViewAudio.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewAudio.chunk.js" + "static/js/fileView.f3d13498.js": { + "name": "static/js/fileView.f3d13498.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileView.f3d13498.js" }, - "static/js/sharedFileViewAudio.chunk.js.map": { - "name": "static/js/sharedFileViewAudio.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewAudio.chunk.js.map" + "static/js/fileView.f3d13498.js.map": { + "name": "static/js/fileView.f3d13498.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/fileView.f3d13498.js.map" }, - "static/js/sharedFileViewDocument.chunk.js": { - "name": "static/js/sharedFileViewDocument.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewDocument.chunk.js" + "static/js/historyTrashFileView.d83f3b49.js": { + "name": "static/js/historyTrashFileView.d83f3b49.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/historyTrashFileView.d83f3b49.js" }, - "static/js/sharedFileViewDocument.chunk.js.map": { - "name": "static/js/sharedFileViewDocument.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewDocument.chunk.js.map" + "static/js/historyTrashFileView.d83f3b49.js.map": { + "name": "static/js/historyTrashFileView.d83f3b49.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/historyTrashFileView.d83f3b49.js.map" }, - "static/js/sharedFileViewImage.chunk.js": { - "name": "static/js/sharedFileViewImage.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewImage.chunk.js" + "static/js/markdownEditor.86a25b8f.js": { + "name": "static/js/markdownEditor.86a25b8f.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/markdownEditor.86a25b8f.js" }, - "static/js/sharedFileViewImage.chunk.js.map": { - "name": "static/js/sharedFileViewImage.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewImage.chunk.js.map" + "static/js/markdownEditor.86a25b8f.js.LICENSE.txt": { + "name": "static/js/markdownEditor.86a25b8f.js.LICENSE.txt", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/markdownEditor.86a25b8f.js.LICENSE.txt" }, - "static/js/sharedFileViewMarkdown.chunk.js": { - "name": "static/js/sharedFileViewMarkdown.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewMarkdown.chunk.js" + "static/js/markdownEditor.86a25b8f.js.map": { + "name": "static/js/markdownEditor.86a25b8f.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/markdownEditor.86a25b8f.js.map" }, - "static/js/sharedFileViewMarkdown.chunk.js.map": { - "name": "static/js/sharedFileViewMarkdown.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewMarkdown.chunk.js.map" + "static/js/orgAdmin.4b0509c2.js": { + "name": "static/js/orgAdmin.4b0509c2.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/orgAdmin.4b0509c2.js" }, - "static/js/sharedFileViewPDF.chunk.js": { - "name": "static/js/sharedFileViewPDF.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewPDF.chunk.js" + "static/js/orgAdmin.4b0509c2.js.LICENSE.txt": { + "name": "static/js/orgAdmin.4b0509c2.js.LICENSE.txt", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/orgAdmin.4b0509c2.js.LICENSE.txt" }, - "static/js/sharedFileViewPDF.chunk.js.map": { - "name": "static/js/sharedFileViewPDF.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewPDF.chunk.js.map" + "static/js/orgAdmin.4b0509c2.js.map": { + "name": "static/js/orgAdmin.4b0509c2.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/orgAdmin.4b0509c2.js.map" }, - "static/js/sharedFileViewSpreadsheet.chunk.js": { - "name": "static/js/sharedFileViewSpreadsheet.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewSpreadsheet.chunk.js" + "static/js/repoFolderTrash.0739aef5.js": { + "name": "static/js/repoFolderTrash.0739aef5.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoFolderTrash.0739aef5.js" }, - "static/js/sharedFileViewSpreadsheet.chunk.js.map": { - "name": "static/js/sharedFileViewSpreadsheet.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewSpreadsheet.chunk.js.map" + "static/js/repoFolderTrash.0739aef5.js.map": { + "name": "static/js/repoFolderTrash.0739aef5.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoFolderTrash.0739aef5.js.map" }, - "static/js/sharedFileViewSVG.chunk.js": { - "name": "static/js/sharedFileViewSVG.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewSVG.chunk.js" + "static/js/repoHistory.5b2cda20.js": { + "name": "static/js/repoHistory.5b2cda20.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoHistory.5b2cda20.js" }, - "static/js/sharedFileViewSVG.chunk.js.map": { - "name": "static/js/sharedFileViewSVG.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewSVG.chunk.js.map" + "static/js/repoHistory.5b2cda20.js.map": { + "name": "static/js/repoHistory.5b2cda20.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoHistory.5b2cda20.js.map" }, - "static/js/sharedFileViewText.chunk.js": { - "name": "static/js/sharedFileViewText.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewText.chunk.js" + "static/js/repoSnapshot.e6c9bc28.js": { + "name": "static/js/repoSnapshot.e6c9bc28.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoSnapshot.e6c9bc28.js" }, - "static/js/sharedFileViewText.chunk.js.map": { - "name": "static/js/sharedFileViewText.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewText.chunk.js.map" + "static/js/repoSnapshot.e6c9bc28.js.map": { + "name": "static/js/repoSnapshot.e6c9bc28.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/repoSnapshot.e6c9bc28.js.map" }, - "static/js/sharedFileViewUnknown.chunk.js": { - "name": "static/js/sharedFileViewUnknown.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewUnknown.chunk.js" + "static/js/runtime.6be7e2d8.js": { + "name": "static/js/runtime.6be7e2d8.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/runtime.6be7e2d8.js" }, - "static/js/sharedFileViewUnknown.chunk.js.map": { - "name": "static/js/sharedFileViewUnknown.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewUnknown.chunk.js.map" + "static/js/runtime.6be7e2d8.js.map": { + "name": "static/js/runtime.6be7e2d8.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/runtime.6be7e2d8.js.map" }, - "static/js/sharedFileViewVideo.chunk.js": { - "name": "static/js/sharedFileViewVideo.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewVideo.chunk.js" + "static/js/sdocFileHistory.b1bc43a2.js": { + "name": "static/js/sdocFileHistory.b1bc43a2.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sdocFileHistory.b1bc43a2.js" }, - "static/js/sharedFileViewVideo.chunk.js.map": { - "name": "static/js/sharedFileViewVideo.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sharedFileViewVideo.chunk.js.map" + "static/js/sdocFileHistory.b1bc43a2.js.map": { + "name": "static/js/sdocFileHistory.b1bc43a2.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sdocFileHistory.b1bc43a2.js.map" }, - "static/js/sysAdmin.chunk.js": { - "name": "static/js/sysAdmin.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sysAdmin.chunk.js" + "static/js/sdocRevision.b9d6c552.js": { + "name": "static/js/sdocRevision.b9d6c552.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sdocRevision.b9d6c552.js" }, - "static/js/sysAdmin.chunk.js.map": { - "name": "static/js/sysAdmin.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/sysAdmin.chunk.js.map" + "static/js/sdocRevision.b9d6c552.js.map": { + "name": "static/js/sdocRevision.b9d6c552.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sdocRevision.b9d6c552.js.map" }, - "static/js/TCAccept.chunk.js": { - "name": "static/js/TCAccept.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/TCAccept.chunk.js" + "static/js/search.17be8cc4.js": { + "name": "static/js/search.17be8cc4.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/search.17be8cc4.js" }, - "static/js/TCAccept.chunk.js.map": { - "name": "static/js/TCAccept.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/TCAccept.chunk.js.map" + "static/js/search.17be8cc4.js.map": { + "name": "static/js/search.17be8cc4.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/search.17be8cc4.js.map" }, - "static/js/TCView.chunk.js": { - "name": "static/js/TCView.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/TCView.chunk.js" + "static/js/settings.fdba9aba.js": { + "name": "static/js/settings.fdba9aba.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/settings.fdba9aba.js" }, - "static/js/TCView.chunk.js.map": { - "name": "static/js/TCView.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/TCView.chunk.js.map" + "static/js/settings.fdba9aba.js.map": { + "name": "static/js/settings.fdba9aba.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/settings.fdba9aba.js.map" }, - "static/js/uploadLink.chunk.js": { - "name": "static/js/uploadLink.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/uploadLink.chunk.js" + "static/js/sharedDirView.0706cd21.js": { + "name": "static/js/sharedDirView.0706cd21.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedDirView.0706cd21.js" }, - "static/js/uploadLink.chunk.js.map": { - "name": "static/js/uploadLink.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/uploadLink.chunk.js.map" + "static/js/sharedDirView.0706cd21.js.map": { + "name": "static/js/sharedDirView.0706cd21.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedDirView.0706cd21.js.map" }, - "static/js/userNotifications.chunk.js": { - "name": "static/js/userNotifications.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/userNotifications.chunk.js" + "static/js/sharedFileViewAudio.cedd033e.js": { + "name": "static/js/sharedFileViewAudio.cedd033e.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewAudio.cedd033e.js" }, - "static/js/userNotifications.chunk.js.map": { - "name": "static/js/userNotifications.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/userNotifications.chunk.js.map" + "static/js/sharedFileViewAudio.cedd033e.js.map": { + "name": "static/js/sharedFileViewAudio.cedd033e.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewAudio.cedd033e.js.map" }, - "static/js/viewFileDocument.chunk.js": { - "name": "static/js/viewFileDocument.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileDocument.chunk.js" + "static/js/sharedFileViewDocument.180f58d8.js": { + "name": "static/js/sharedFileViewDocument.180f58d8.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewDocument.180f58d8.js" }, - "static/js/viewFileDocument.chunk.js.map": { - "name": "static/js/viewFileDocument.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileDocument.chunk.js.map" + "static/js/sharedFileViewDocument.180f58d8.js.map": { + "name": "static/js/sharedFileViewDocument.180f58d8.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewDocument.180f58d8.js.map" }, - "static/js/viewFileSpreadsheet.chunk.js": { - "name": "static/js/viewFileSpreadsheet.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileSpreadsheet.chunk.js" + "static/js/sharedFileViewImage.9d0dda04.js": { + "name": "static/js/sharedFileViewImage.9d0dda04.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewImage.9d0dda04.js" }, - "static/js/viewFileSpreadsheet.chunk.js.map": { - "name": "static/js/viewFileSpreadsheet.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileSpreadsheet.chunk.js.map" + "static/js/sharedFileViewImage.9d0dda04.js.map": { + "name": "static/js/sharedFileViewImage.9d0dda04.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewImage.9d0dda04.js.map" }, - "static/js/viewFileText.chunk.js": { - "name": "static/js/viewFileText.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileText.chunk.js" + "static/js/sharedFileViewMarkdown.7dbe56ed.js": { + "name": "static/js/sharedFileViewMarkdown.7dbe56ed.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewMarkdown.7dbe56ed.js" }, - "static/js/viewFileText.chunk.js.map": { - "name": "static/js/viewFileText.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/viewFileText.chunk.js.map" + "static/js/sharedFileViewMarkdown.7dbe56ed.js.map": { + "name": "static/js/sharedFileViewMarkdown.7dbe56ed.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewMarkdown.7dbe56ed.js.map" }, - "static/js/wiki.chunk.js": { - "name": "static/js/wiki.chunk.js", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/wiki.chunk.js" + "static/js/sharedFileViewPDF.a00415f0.js": { + "name": "static/js/sharedFileViewPDF.a00415f0.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewPDF.a00415f0.js" }, - "static/js/wiki.chunk.js.map": { - "name": "static/js/wiki.chunk.js.map", - "path": "/Users/shuntian/seafile/seafile-10.0/data/dev/seahub/frontend/build/frontend/static/js/wiki.chunk.js.map" + "static/js/sharedFileViewPDF.a00415f0.js.map": { + "name": "static/js/sharedFileViewPDF.a00415f0.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewPDF.a00415f0.js.map" + }, + "static/js/sharedFileViewSdoc.8e28fb6f.js": { + "name": "static/js/sharedFileViewSdoc.8e28fb6f.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSdoc.8e28fb6f.js" + }, + "static/js/sharedFileViewSdoc.8e28fb6f.js.map": { + "name": "static/js/sharedFileViewSdoc.8e28fb6f.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSdoc.8e28fb6f.js.map" + }, + "static/js/sharedFileViewSpreadsheet.0ffb4373.js": { + "name": "static/js/sharedFileViewSpreadsheet.0ffb4373.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSpreadsheet.0ffb4373.js" + }, + "static/js/sharedFileViewSpreadsheet.0ffb4373.js.map": { + "name": "static/js/sharedFileViewSpreadsheet.0ffb4373.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSpreadsheet.0ffb4373.js.map" + }, + "static/js/sharedFileViewSVG.5fd43385.js": { + "name": "static/js/sharedFileViewSVG.5fd43385.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSVG.5fd43385.js" + }, + "static/js/sharedFileViewSVG.5fd43385.js.map": { + "name": "static/js/sharedFileViewSVG.5fd43385.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewSVG.5fd43385.js.map" + }, + "static/js/sharedFileViewText.2fe6341c.js": { + "name": "static/js/sharedFileViewText.2fe6341c.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewText.2fe6341c.js" + }, + "static/js/sharedFileViewText.2fe6341c.js.map": { + "name": "static/js/sharedFileViewText.2fe6341c.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewText.2fe6341c.js.map" + }, + "static/js/sharedFileViewUnknown.a0e468e0.js": { + "name": "static/js/sharedFileViewUnknown.a0e468e0.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewUnknown.a0e468e0.js" + }, + "static/js/sharedFileViewUnknown.a0e468e0.js.map": { + "name": "static/js/sharedFileViewUnknown.a0e468e0.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewUnknown.a0e468e0.js.map" + }, + "static/js/sharedFileViewVideo.6af2fa31.js": { + "name": "static/js/sharedFileViewVideo.6af2fa31.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewVideo.6af2fa31.js" + }, + "static/js/sharedFileViewVideo.6af2fa31.js.map": { + "name": "static/js/sharedFileViewVideo.6af2fa31.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sharedFileViewVideo.6af2fa31.js.map" + }, + "static/js/sysAdmin.e682dbd6.js": { + "name": "static/js/sysAdmin.e682dbd6.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sysAdmin.e682dbd6.js" + }, + "static/js/sysAdmin.e682dbd6.js.LICENSE.txt": { + "name": "static/js/sysAdmin.e682dbd6.js.LICENSE.txt", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sysAdmin.e682dbd6.js.LICENSE.txt" + }, + "static/js/sysAdmin.e682dbd6.js.map": { + "name": "static/js/sysAdmin.e682dbd6.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/sysAdmin.e682dbd6.js.map" + }, + "static/js/TCAccept.c1a15517.js": { + "name": "static/js/TCAccept.c1a15517.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/TCAccept.c1a15517.js" + }, + "static/js/TCAccept.c1a15517.js.map": { + "name": "static/js/TCAccept.c1a15517.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/TCAccept.c1a15517.js.map" + }, + "static/js/TCView.d87affdd.js": { + "name": "static/js/TCView.d87affdd.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/TCView.d87affdd.js" + }, + "static/js/TCView.d87affdd.js.map": { + "name": "static/js/TCView.d87affdd.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/TCView.d87affdd.js.map" + }, + "static/js/uploadLink.d3bf7687.js": { + "name": "static/js/uploadLink.d3bf7687.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/uploadLink.d3bf7687.js" + }, + "static/js/uploadLink.d3bf7687.js.map": { + "name": "static/js/uploadLink.d3bf7687.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/uploadLink.d3bf7687.js.map" + }, + "static/js/viewFileDocument.8a503cff.js": { + "name": "static/js/viewFileDocument.8a503cff.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileDocument.8a503cff.js" + }, + "static/js/viewFileDocument.8a503cff.js.map": { + "name": "static/js/viewFileDocument.8a503cff.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileDocument.8a503cff.js.map" + }, + "static/js/viewFileSdoc.4b4a17b8.js": { + "name": "static/js/viewFileSdoc.4b4a17b8.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileSdoc.4b4a17b8.js" + }, + "static/js/viewFileSdoc.4b4a17b8.js.map": { + "name": "static/js/viewFileSdoc.4b4a17b8.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileSdoc.4b4a17b8.js.map" + }, + "static/js/viewFileSpreadsheet.77d500a4.js": { + "name": "static/js/viewFileSpreadsheet.77d500a4.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileSpreadsheet.77d500a4.js" + }, + "static/js/viewFileSpreadsheet.77d500a4.js.map": { + "name": "static/js/viewFileSpreadsheet.77d500a4.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileSpreadsheet.77d500a4.js.map" + }, + "static/js/viewFileText.1b55a030.js": { + "name": "static/js/viewFileText.1b55a030.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileText.1b55a030.js" + }, + "static/js/viewFileText.1b55a030.js.map": { + "name": "static/js/viewFileText.1b55a030.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/viewFileText.1b55a030.js.map" + }, + "static/js/wiki.3dcf96aa.js": { + "name": "static/js/wiki.3dcf96aa.js", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/wiki.3dcf96aa.js" + }, + "static/js/wiki.3dcf96aa.js.map": { + "name": "static/js/wiki.3dcf96aa.js.map", + "path": "/home/runner/work/seahub/seahub/frontend/build/frontend/static/js/wiki.3dcf96aa.js.map" } }, "chunks": { "app": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/app.chunk.css", - "static/js/app.chunk.js", - "static/js/app.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/app.css", + "static/js/app.4f4d11e3.js" ], "draft": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/draft.chunk.css", - "static/js/draft.chunk.js", - "static/js/draft.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/draft.css", + "static/js/draft.25ec6685.js" ], "fileHistory": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/fileHistory.chunk.css", - "static/js/fileHistory.chunk.js", - "static/js/fileHistory.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/fileHistory.css", + "static/js/fileHistory.382dad10.js" ], "fileHistoryOld": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/fileHistoryOld.chunk.css", - "static/js/fileHistoryOld.chunk.js", - "static/js/fileHistoryOld.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/fileHistoryOld.css", + "static/js/fileHistoryOld.0a49addf.js" ], "fileView": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/fileView.chunk.js", - "static/js/fileView.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/fileView.f3d13498.js" ], "historyTrashFileView": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/historyTrashFileView.chunk.css", - "static/js/historyTrashFileView.chunk.js", - "static/js/historyTrashFileView.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/historyTrashFileView.css", + "static/js/historyTrashFileView.d83f3b49.js" ], "markdownEditor": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/markdownEditor.chunk.css", - "static/js/markdownEditor.chunk.js", - "static/js/markdownEditor.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/markdownEditor.css", + "static/js/markdownEditor.86a25b8f.js" ], "orgAdmin": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/orgAdmin.chunk.css", - "static/js/orgAdmin.chunk.js", - "static/js/orgAdmin.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/orgAdmin.css", + "static/js/orgAdmin.4b0509c2.js" ], "repoFolderTrash": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/repoFolderTrash.chunk.css", - "static/js/repoFolderTrash.chunk.js", - "static/js/repoFolderTrash.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/repoFolderTrash.css", + "static/js/repoFolderTrash.0739aef5.js" ], "repoHistory": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/repoHistory.chunk.css", - "static/js/repoHistory.chunk.js", - "static/js/repoHistory.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/repoHistory.css", + "static/js/repoHistory.5b2cda20.js" ], "repoSnapshot": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/repoSnapshot.chunk.css", - "static/js/repoSnapshot.chunk.js", - "static/js/repoSnapshot.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/repoSnapshot.css", + "static/js/repoSnapshot.e6c9bc28.js" + ], + "sdocFileHistory": [ + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/sdocFileHistory.css", + "static/js/sdocFileHistory.b1bc43a2.js" + ], + "sdocRevision": [ + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/sdocRevision.css", + "static/js/sdocRevision.b9d6c552.js" ], "search": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/search.chunk.js", - "static/js/search.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/search.17be8cc4.js" ], "settings": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/settings.chunk.css", - "static/js/settings.chunk.js", - "static/js/settings.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/settings.css", + "static/js/settings.fdba9aba.js" ], "sharedDirView": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/sharedDirView.chunk.css", - "static/js/sharedDirView.chunk.js", - "static/js/sharedDirView.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/sharedDirView.css", + "static/js/sharedDirView.0706cd21.js" ], "sharedFileViewAudio": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewAudio.chunk.js", - "static/js/sharedFileViewAudio.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewAudio.cedd033e.js" ], "sharedFileViewDocument": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewDocument.chunk.js", - "static/js/sharedFileViewDocument.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewDocument.180f58d8.js" ], "sharedFileViewImage": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewImage.chunk.js", - "static/js/sharedFileViewImage.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewImage.9d0dda04.js" ], "sharedFileViewMarkdown": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewMarkdown.chunk.js", - "static/js/sharedFileViewMarkdown.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewMarkdown.7dbe56ed.js" ], "sharedFileViewPDF": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewPDF.chunk.js", - "static/js/sharedFileViewPDF.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewPDF.a00415f0.js" + ], + "sharedFileViewSdoc": [ + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewSdoc.8e28fb6f.js" ], "sharedFileViewSpreadsheet": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/sharedFileViewSpreadsheet.chunk.css", - "static/js/sharedFileViewSpreadsheet.chunk.js", - "static/js/sharedFileViewSpreadsheet.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/sharedFileViewSpreadsheet.css", + "static/js/sharedFileViewSpreadsheet.0ffb4373.js" ], "sharedFileViewSVG": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewSVG.chunk.js", - "static/js/sharedFileViewSVG.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewSVG.5fd43385.js" ], "sharedFileViewText": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewText.chunk.js", - "static/js/sharedFileViewText.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewText.2fe6341c.js" ], "sharedFileViewUnknown": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewUnknown.chunk.js", - "static/js/sharedFileViewUnknown.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewUnknown.a0e468e0.js" ], "sharedFileViewVideo": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/sharedFileViewVideo.chunk.js", - "static/js/sharedFileViewVideo.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/sharedFileViewVideo.6af2fa31.js" ], "sysAdmin": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/sysAdmin.chunk.css", - "static/js/sysAdmin.chunk.js", - "static/js/sysAdmin.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/sysAdmin.css", + "static/js/sysAdmin.e682dbd6.js" ], "TCAccept": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/TCAccept.chunk.css", - "static/js/TCAccept.chunk.js", - "static/js/TCAccept.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/TCAccept.css", + "static/js/TCAccept.c1a15517.js" ], "TCView": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/TCView.chunk.css", - "static/js/TCView.chunk.js", - "static/js/TCView.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/TCView.css", + "static/js/TCView.d87affdd.js" ], "uploadLink": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/uploadLink.chunk.css", - "static/js/uploadLink.chunk.js", - "static/js/uploadLink.chunk.js.map" - ], - "userNotifications": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/userNotifications.chunk.css", - "static/js/userNotifications.chunk.js", - "static/js/userNotifications.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/uploadLink.css", + "static/js/uploadLink.d3bf7687.js" ], "viewFileDocument": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/viewFileDocument.chunk.js", - "static/js/viewFileDocument.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/viewFileDocument.8a503cff.js" + ], + "viewFileSdoc": [ + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/viewFileSdoc.4b4a17b8.js" ], "viewFileSpreadsheet": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/viewFileSpreadsheet.chunk.css", - "static/js/viewFileSpreadsheet.chunk.js", - "static/js/viewFileSpreadsheet.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/viewFileSpreadsheet.css", + "static/js/viewFileSpreadsheet.77d500a4.js" ], "viewFileText": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/js/viewFileText.chunk.js", - "static/js/viewFileText.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/js/viewFileText.1b55a030.js" ], "wiki": [ - "static/js/runtime.js", - "static/js/runtime.js.map", - "static/css/commons.chunk.css", - "static/js/commons.chunk.js", - "static/js/commons.chunk.js.map", - "static/css/wiki.chunk.css", - "static/js/wiki.chunk.js", - "static/js/wiki.chunk.js.map" + "static/js/runtime.6be7e2d8.js", + "static/css/commons.css", + "static/js/commons.cf9ae7b8.js", + "static/css/wiki.css", + "static/js/wiki.3dcf96aa.js" ] } } \ No newline at end of file diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..6d3b3aabd1f9370039fb2c5d793827d3a8ee6f14 GIT binary patch literal 163426 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ⅅZ91UOZUks+YTyd_jTOnTrf2tO?$Xd}c3X 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 literal 0 HcmV?d00001 diff --git a/locale/ar/LC_MESSAGES/djangojs.mo b/locale/ar/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..0a6ef8284926f187341b06931043f08786db5dd9 GIT binary patch literal 38325 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 KNo*U0^nU@o(Q4oT literal 0 HcmV?d00001 diff --git a/locale/bg/LC_MESSAGES/django.mo b/locale/bg/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..1af8fa2c6982fdf9f13885714b7d903ac2c0e5f2 GIT binary patch literal 5384 zcmbuBUu+y#6~=F&1?si|N(n86aue#>Cf>E35K?VO(=>ljXwsPAv_b+^c;2q$9!HuWdX~usin8(2AmUR8E!EZ4BEBGW>A&5TkkKj)5mfKR^ z9tK6XZ-L_1??5O}e*-@U{tJ8n%oBuQ4SWmy1sH?RAm(=P27(tqcYwm{K2ZGs5_k`I z415rL8WcW$l|6qG6g~d~YH&SbKMZaIg};;FXTZ~-@cKG90{$KpUDn;M)ZO6S;2^jS zycaBiqU#LU5B?MsKi>eq2;PKvFN33C9{hKPeTbA}{3s}TJ;gtX<1{!1UI3xpJ_D@J zf^rFevL}+*OZ*p~q0nB!zg*&P`^w5kZRCOQBph~Mk_*BYZrgYzM#1Fr zo3iJ^*?YJ}3*kj-LM~{tmvACF4{+bdy@6ZerkoThYB~HgD3|1U`;r=zOE`lH60zT$ zhz3IKhT8G8>m7HhZb=_?t48y}c%kcidA%!+Dt_QTX-Z2^Sr8aq(7pY3&ErfDAFsM0 z*3>Q?hbGVyZdB1x1>2_PxK-^`1LKq?vB9)3uXY9HxMsXa*W564y|UVk51t?Cz=S5! zbteob{Gc?b>s8}~Mi+fAa*B~YuxHn(c1ktZ%XgN<^^y~r>s*5y5wTR=@xTct)gDs} zChJjqtW6O30Z+qX;MOA;&_&1Vi}X08)asEeSb9Ztk?-rO@0E3b%{k%L;+oJoGCZt{ z6(_)96NCe5j~kd`(F>eC2t2a?$P78TQuUCFkBD(x(TY2!s$`B9JBK(nk~a96*#z^S68>b zLYk|t$?MTfz=|mzBO{FVOoX(@u!_s-3xOZkL$yEZTOuN#4%^)3)qzwk?Kw3YMu)Kj zez{E8ejKSs8SDqdV0H-XBYR{b)CoL7f!5p`^m z#l4~Wa@`>bo{0U(S(((`uR0V=kkhVba~jrSOZ@PF8ml;wUY?t}XKU$`_Njf z^mD0eU{yQSPiaXHM5`32oG zdMJ0;9Cu}EZVy})^ycA_ExD25+~%!%cw1q3%cfzjo&!!8<;DWX3#(F%1)ZEq8m(_9 zjbt&IPcG}^Y%-f%=Dw6PThmE1Ij=t-#&y~AL4rOpUd|W&+5>}Pek<0za_p2%Zp=8f zf_^BjmYu*wv;ImH)eA#IPQ9L|?rHx=%?VjKRB_x1;|-?eA37ZsZHk3$rR8&U%s-T(O~xKhhXwz>*>~v zsDvQrTPLwHtCK6DkKN=IHk%d!v7z}jn=Dutne@EfZNW}#;tj&4D`%2fmHY_ruCOom zS~Hq|Q^^I)za|d0rd4u=AFtu@s}lT0mP($mo_Wo5Rx&Tr-MtJWSW)q&;`>@gh@6I{YUz=81u(;F^0klUJB8T)*3$MH+TrxpQ6#-AF~e+#(f} zK{2;fh!jOb2v*7W@U(%{3^ZjTezR@??=D*TAvL9BjrHeRQ>|w)YvmMrg)K%6+1K)g zsVm|lhHWOPPzIAP0rsVD|@>m>9n!qtVgcyl7nwc@m$L1YjbB`JgtY$J_i!)1EJyi}HWz-{~M z^^}QlzE*|6&i@r2_E7y=#d-a^(%62SS<9LN$t&?of=D(`A-`0FZ47w)Gi+Z<7Om?r zOm3?+GONk#vniFVNn0j#b~2mSFA$3C#N)MU)M|o!S4rKb7?=|#XxEfW+Htzm6T8wO z8ul~r8n5{nTB2c91zQu#oP8(NDqo7Ls`U(<+n&+Yd11@8rgj$~)6+I-sbAKlrNPms zB@x$nZV&!;^rGaN6!Niv9ot64gU*1)BSumensk`1ce434grTu^l4=#3Vo+3{>YilN zV-B;8ENPg7tjpS2+siapM6y-ArAdjV#W~;l4mE5$ZkAgM(kv}&IIog(-QCt6Uy|ff z?b$Tjcvt+t!h{7#iT$Ie+@<3L8I%`&^X z%dyrpGQ7j-=itS%V82~x4SatH_2eFZa)M10fE92{{ZSafY|^5 literal 0 HcmV?d00001 diff --git a/locale/bg/LC_MESSAGES/djangojs.mo b/locale/bg/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..a3e838f736d2b4db725a4e8fae28b27b0f4fc93c GIT binary patch literal 912 zcmb7BzfTlF7#$VGtVWHUiN#O>>f9bAB(Uch19D0t@j^~*Z07F9y_IElGc(JN4z*Dm z6OA2-G4T%o0uj9cg^hNzrH%i9e}au~_7rR^{IYM~&dm3{@0+*Z&-c9{h?BrY-~n(7 zSOZ*q0nP$nfdSwf&QeF+x0W z8GIUC0Wl7 zpskK*%~R76R0^|{sQD79A%WafNtS9-=UQX8P5zyJUnMf6=|Q4O9*LG=Gi`QHC>Gy8q$G-*q zX6O%lvoo{PhZi0xmA$D%8X+<9N{TBPv26S_=8>$xbFQ>7)w_)v8$Zl*y&ek1re!N> zM=}iPcr!8wg9fx2di6L{JZ7~-E$D#Cv{>ruXodDZt3#3wRO!fY#Uu7z{=$B+TX19x zCcznMH{jGp;g_>$+kUd^#JHGrD2u?-- literal 0 HcmV?d00001 diff --git a/locale/bg_BG/LC_MESSAGES/djangojs.mo b/locale/bg_BG/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..a6f138aec0ad3dd26cd0af13328433d450e2aa6c GIT binary patch literal 438 zcmYL^Pfx-y7{)Pr+R?Lz*Te%vOSgGo6lV+yhD0JE)2k_?bTwPMw4FoZ*YNB4S?oaJ zNq+6y^m+gNoSuBQoQ@o4jtj@J>173hiI(mfm%i&^n)JqLlpGD56N|K={tE()L4{gDoswU z(gZdclN{E9!HqjMK|ku>@q&uHo2ug0`6aI?XDDH`ATX?QPPL#C+W%n(+L^T_!MLvL zu5C(-6FBUv(Dl80B`uR~!q3vJVAr-{P>?83M$ L;XH<*Gw@o!VcUV4 literal 0 HcmV?d00001 diff --git a/locale/ca/LC_MESSAGES/django.mo b/locale/ca/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..0b189e6c9eab1cb73fe81fece6a83df853102a75 GIT binary patch literal 28004 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 literal 0 HcmV?d00001 diff --git a/locale/ca/LC_MESSAGES/djangojs.mo b/locale/ca/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..95ea5e47c746c59f77df796b7312974bb42665b7 GIT binary patch literal 11890 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 literal 0 HcmV?d00001 diff --git a/locale/cs/LC_MESSAGES/django.mo b/locale/cs/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..127b0d966fd0f08df4afab082cb807d50ef7a70b GIT binary patch literal 74166 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 literal 0 HcmV?d00001 diff --git a/locale/cs/LC_MESSAGES/djangojs.mo b/locale/cs/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..0995a8830f6736292184c8314856d0ee25962d77 GIT binary patch literal 77149 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

J}NFEZcmnmUJO;d!ovewL`T|TbO zw35B{a8P8v z42NZP*GSUI6Op5c5S$BZ#peE8Nm$8S-DCZWj9>#-rnk_{E}{^9UekclKejA75Miin z#>GB^nlcATSKd+yJz-}nm-{wo`lk>R)yT82wJlYj9F3Y@pQ5I?bZXt;kDww_R5Id4 z#y*p%5@B%)T(CA80ZQA{scs{^H9dA`ML( zaErs2$^_|dZm=9yweHea4O*dy)I_5!7E2#cg1(Kkw(w-jjc2s;Z!GR#9t zhOZ86YfQafObb3QGfVU$^WZ&hWYliersI_+BzmICCWV?}%dL5>n~h93V>GIECesLA z!8AD~(rpPn;NKi%Rk0dISn1O>jGEzQdB{r92NS1Pc(I)~Y<{$M6@B0$1`TL+h1a@G z_As_gg@YC|#K})8o83g+VheBkJQBxdQ|R;tn%InNX4P>Y`<9bHKdPFL-(RUSYDlcV zwGj{IxxX}yO((44DWd6bxwRqD{JDtl#^|De+jFhj;ikkZO=;964?b)#8N7j@f-*=d zY_d!n1}V1^^!+440c>EmU}>1wdFNI+@JN=g_@eBWYk#X zIdw)+WE>3Aqj4X*c2F%Rnh$Blw-vLynW0IMjoT4ytlI%Oq1aJOTxKShwMLr>pI1Wu zt%Ioo*t)SAosF{y*$~fDJIven8*56%SU0uSMqsp?RdI~1CdZgc7BQ{$MkUe}qXyLr zmez(^*2#Xdjd7EmDxY0O_^i2xl<}i$&0tt>v6b^77V9+&FvWb55NVMld77wk1@3}o zbWE+}Z{K${DRp_mzqO!EsjhunW+iYeQ*jPMg_lPXV%g^Npspse57;6xVuXkl<(ej6mR*?RsI%dF_Py+B4Jh z?WWjvc?&IDLZ_FF1sC|+{T*y`|y|fqCb) zji6RxlV#Z=RoSxq`@k3nRTS%8Np1k^`&ruB95>mq+qNF3($QM)kghS7Ro;bJWM+F2 zaK;$XU96j^%qBAKFN_YUs*!nv%^AgQ)C46l)eVazO2 zbriR1CuT(lPH`DMWFzdBKc0pC-AtKWl{)p~YLwwN?zMVa&1(O+WOfw&rwkh@|MTQC z)e~x=i@ubK&VMPl;HC|XK)V*)L8MF+qr%Xj_8e(7Y`ZdJ!wV)Z`J^yff->7+Gh>NY zm@upa`#p&T!Np)7W3K_=X%vC!v^gf3#_E_Un|3?{MlvQwv!+VUH+J7J^MpGM7gGM> z;3@lyF`;AEd zBrsr39u98!^66h_05gKjI-A+#+Rm=mS-9=CQn{wVix6+hHr(8}asnJ8VPQ9(?i_O=yGWG8Ta>;E5&%%BTHXmN`x^_jLkg zcNzbr)h1TVn;k4deb8#l%*8e*6JEUCT}E3LEIf0;q*-B3R_H8czD0>LI19Nx6 zNvzF~kh#!ibZA51W6@a6oJVym;9%FpT*t2CY{c;+zbuoHF&gL!#Trq?+~$~co1{a! ztUVUvhGCW#F=i}WTL~Lu*+_ekLE7&4%Jpzco~Dc^UE3s>e9(Y|H+0zku|M4&FE!X zNSvy+&l{T&*FA*2{X|okdCP@_IsCcu@TOHOyvV?-Yute%i*=)#NVJ5!u|aj9U?VKI3L#BSvXqH8k0EkSgDi8vL_h z;dT3PTZG$(sRj*fZ*_Db#|NJ6qIAvMR?f)IX-)3G-2JYVO;9ytW3VHh!GgtEyWR=!J T9mQ$NJA9|J6Ui^m65js>&E4?K literal 0 HcmV?d00001 diff --git a/locale/it/LC_MESSAGES/django.mo b/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..d6edddaebb1bad51eee204261c7a25676440e4d5 GIT binary patch literal 70610 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 P!R{S)kxE>wiQE4Vwv8b8 literal 0 HcmV?d00001 diff --git a/locale/it/LC_MESSAGES/djangojs.mo b/locale/it/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..592c311c5747adb150b2bdfecc5f61aea77844f9 GIT binary patch literal 46038 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 literal 0 HcmV?d00001 diff --git a/locale/ja/LC_MESSAGES/django.mo b/locale/ja/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..8644e516669e5bd254ca0fe9fe6c8e926a3ba5a0 GIT binary patch literal 49670 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 Y%@P1y{imQnaO9bCHo~ zo?Xs0HO6Ag3`I+}T%K7hHAJlL6?o?QF{5wFWE&XuctOe%@822asDx@VCCU}*OS4;~ z(ZVT?5p2jcX4{%t!>DQwr~RU$-mNk9xh8c3$iO$@Z6nhNoO;!?Y+-7wUMV55azn0M zU&@=#4z7ZK3icN*B+(T~TT9t8(+MnudXTQ%x9btoh?~SpgKP?jcYaW2N?U8IIE{%# z^8Hocp^^i6frjcqa}Cu2d<8oPBu5RYK;Xe|~Q zV@e;=oSl_#Zfn-Odj8qxWa_c(P&Sw@L*rSRbIntTi$%F=9bpk ziAPjW%Aw&g9MkbNTXXivk*U^{r?(bcq#re+HYdQez6H#9jw4#K%%QO!iYl!zquM@$ zm4b)Njfhn+CNwLmcbR;Bu@H>$Q$#SPlx=J!FH>O7R~?KUZrnY#fk{<=q5-ym6XQDf zq}*0tpUW{BrGmp~f6b|(UphoI&<3akhbRSYM#VG?acO{F--=Z+6_lrtRqutF4?*j>tvY~q!%h3pg- zQ8yGD+GLB2EoiEaY-}TW*h~sZKDEyIKJd_F(f(GcWR7)2DiyX+_jAZHjG8tgu)u zW=n9gC*)vEw}F#3p?1;Gu`Es@j2*JCZ7GJgn5l9u{p*XfO4-kI47aUR1{0ZqFMSP zMANL=t47~6@v3V_NBn2&zo}WKX&cOVYsnKcWYlUJVTPYcTqtm?nDR{$k^SY}e{V~< z8CX_M2Hp#G%;xsm#=xw6xm&DdMuV1I35z|{Il2CZnAu=eiK|jEUb6ETfwhyM~Cl_-f+~{+PC9K#TR$!}tud%GAs!0Om95E4Q_@6iYHTWiekh z4PBBOmYI-k%$D+*^Xo>QH7s*ALflxKl{wEsReM?5XhH0V=khtr)=7kOHN|qx$meFJb78@<6r;!nXQA<2 zwlTxzm#tHvBO^5>C*w-XF)1BZO}^IJ`EAKMrBs|rA(@%eSjcIe6)q%Ie6!2nI=cl1 zLDN91B8`Jy1)Dxt{k!EW&MNr`>7H{Rya!$glOk)j3d2BgnJJ`=-nQaO^lM{gmHKJH zH7IQ}3yN3|SuJ^T@>b9yb-G3FvA{XjQY_*kVSq-;^+{|2k}~XEI(y=|rJpr<&iUsj z>^I9&4z6iqnHgL=apFyW?rn@_95I3GhU0_aTGm`fON=O6i($3oTb-RZJ4Y$r2WX=c z8pinoJw+y49agVHK2TH%}?bAEOE65?EC-uM$QKGLu=iXAVkL zXisD~&s;N( z9#&UZ3gg$H1-Y3`vxhtTiGeT=tMsx@P&LUdeYgm#3$7ET3cN!jAIgw?vzwcS2C?P1 z-A*!}Z*aZs0Z10y-RuxEYI5%dag;A)TNoTB#xNHIi+nuQJfTJlX+v@xaM5beLX*r7Y)>eTXT15A^|sRW`evx<+5z5+0}2(&j3s0oTD;&5bZR$WhFB#gBLxGk-07rYX&}B*0HKRf5VL>Cd{yi zQPCa#@S-doGhSk`&C&(7cY@`qjgHpL;34?oCpYB^L(4ICH%%1^E<3}y896qI!@-Q~ zRXhqU3|f5_3oH_E8P}<(NaEd8D?13U%1t><=(ZosZD>AMZ~OVAV~-kg1??U6i?LFD zQBE31IW3fCTKQ0%XG4XQwcF}ccC-Oh#Iw#+9c^7vbhtNUkES{6Q!Ab7eB~KkTVp6c zR!j_v%f)hr{>p4}HcgB7)knpK2^_J~+1!S9t!H6D$s7{8@QI)15)FwzkDAcLB&l5) zpOQ@-Szk)(Hic2E)8HK0an3?+%Hy;^h@D%fn$awFq}^HbvNmqQ!y!tE1H#2w6sdW_ z1=uj-#<_36S=z>G)t+fNxCJ-haA_BJcbk^??pE0&58o}EtH5kSA$aF|bp%OmZXj@~ zb9-RSF(7g$T3Iz>BR7#YYRw6d@S3Re1MC3alJlN3bf}yMgNL9fO-D|)qbvxiP65yu z?V&Yv)(wIMT_+rXBEe$ig1 z=QM|1@gUsu^=_APv?}w?1{GtAxf%N*n{fagDdSW+ z(^{LGQjN;`NC}L!icQ=Wc__;xrnpB&E_@1^tIfiNb_z_w4I5y6tHZ{)s#g>VgQ)J-%*}G>=}r2JMH$WJX~Cba~@Ho@m92hBcPOK+xUw*YjO zG7bT>jj1GDBT%j-i=Wohu6m!|p>xS5>BN-J!q7rY%i$cNDHA0A$eRdE##q4lf^8&1 z^)|ETMh*=o=wyrjBGAEvwkgf*n0aF;L^FyqV{F4z3!-E^6DT@%uHaC|5FK9XUWIvPn2S)*=`!>ykwSqVp2|AZvK^MyO?15>-w-WEUGL+mYCLyaI9j2V*>3awqfyQP@pfii z20G1lOeFUfXWyD(Z`i{x24E(e^y{07ZP+oGPTGC22Ef2FIb2CvtC_omjxQZbiRBUQ`HjpR|{2#T#)tt6>Gcb?++!@TZ&b} zglO6s&+;@n8`6bwP%3{IiCfO!=+GlRHG6`BXf{8LJN4+!i)$idez63hAunlA&n#WE zXXg_+Tf!U)P#<>3g)o)#J?D)K?BLYIe2d%1hVEMU&g9rWZ81`E#+@Bm{C|ixiz=d3 zO?9hvCdRr>Fv^hji-dAr<~GeJGxA8gB$);?5XOyW6yuOY++=jp7Pn6;kD}k4rO`!n zlx7x5hRxU8`}RRgz97&9o&l?ArQYX9q-=6B4Qa#)N#LHBKwWO zq+70k_sz6P?tBeh3RlK9{{=PTC9kn~TT=VD>Ff&>cxLE5kzvThJk*4wk+L-oh9sm!tIhdX^LfbKsTAVCMo#D3o^<>mW3`ZK z5*Vv0RADot$3DjZhtJ#SRrTn(Lb0>@*)k^)#M}0ch3m=yw2GZLzt!UHum*74iMa01`6XahkUUF_7WJ&pILq%*E4l&E>Z zZ59=_)(8E;^x%$MIk-dJ_QsM~sT>=aGTE>Ecsa`7xw%<-K0H3e!05z>#?Z3p7)+F{ z&XudlRc9Dt^2cJus;u!SR79|wPbK5Z_Q)gKD%3P)UZoFit6*iBic#b2n(AaCr?^qF z&1qU2DDgyjlr>2CM9S)^Hae!~m})vMW>zfr1`@pBYPFJam*ucT7^;EZ%|Q)>C5fZ` zD`Qra(Xr}C5CyH!8VkU9>AsZ%yx&AAC6m7J2$8n3Wv*t~+29lh1h7i#i^b`(6miAc zDKbtLy9h}`xFj7j99ykfJNdj|z)jy=a1vXk(xp-iS0>%yt z<~hLW9);>bN{XXknIZm#!17Rc@FUIkcEHPcUyN@%3E=@St12#q7;5UIb62s)>2@oc zW=G@iwka^%Y)8#^F%;UWUFnzt6FIiQmQE~!B-V+^9kRO2jd-t|f#|&~*lf5#GJb!; z)u9x$xm=_;u%*b$FglBw2{0GsWo-yJD2^%N4zKuKJyb&A&zmLUks4n9AWzkB527ug zzzs@tLR$k7;GxgAH3#uhkQsNdJ+zMzSS_mF>*l-7fCz6ch zQv+IUvThJ(N(1y-3}-kCfdWU&*oGOE*?a%yOz)CKnM--|YwE0g;ge{{DYNUCTkGlz zmk*t;ff;ex zq={D#zo?qdpZXa-)_YM#WiFbMZ;jeHDsxZv(3_fgqoHXyC*zvS9N2HMVEMAMFJaNG zCzp-9gjc>3lHT31*}wPQ-Lbs8W9#1bM|#&j+1;_YyQ8zab76PK?(U92>-5t+#cdhL1T;JWfp}T8y&!Y8}T`yI(EbH#rND1BT zot61d_paDfS-P#S>-B*XZ>#aif+8(dcO&2}d6`#P~>kHf6oe%ipIvz9% z@^>vHNY>f;9CV_F?yd*B+ZQKa-tKO{kCCY??W`x9k3WyOwl!ZBb)7A^c_v^b4Bqu6r%^4T|3L#-sFJ z9qnAC_|7NP+|F%#*F98OyOsodJ9hLed@MnmeY+k|+4PTsJD=+AdZD`uGH&gA<8=lw z*tcuB7aQ)Z5os>7zA?sYNxOm+`*zLWvvX(9oTdAA)!<1|?|FSq&-`UUXanA*&k029 z*}L=+fzT#QyoN5pZtt*$Zs_i$l`qhth{aV(+(?U+{u_SlM9e5@X!3sG;#u&)~300Xs0giDuc?wMGrF09!x zqN52zmt@~@B!c0EDc0G2ySlnN79kLojf*7oor^q`HFQXoV>7Q{1FykX@08lrV^m8@ z=%5_j3ID$g*__zd5Oow`W#Oxp#jE!0*utiDcgI4Lbu>#-*o==Dvw0Gdu2q3&_o^a6 zP@M$C2Ld8SvGm@F!o$|u`Jp^^zGPu^HByakes=FF$Ph*{3Mo;O!hN!`(5c8!W4Uf1 zRC^z$pa=RkZK-U1B(SFV0jxHqf1AAq=-5O9dY@ZgxeuMdpeH3aq3BT#3sW5pXBB1= zByF3tM|;PfH=rbghKdiH>Ivc?WQ4W-CBu{0GQy49oHPc#Ti5q4o5x1J?Nyi@Sv#e0 zjYm3PSHlpl&IjPzP(_(46yuq2p>{p1qxiQar)zZOGt!4@FfFHQCVYtl3Qg(}7U(i& z4rlwIGM7?N(hOB~o(p;(f35GC`>M>@u{fkhTF|R$Iv?=4oWl3&E2d{VABY$>RNGa0 z8!-rW>89qCQCa*3^Ga1Px^~$N#?UTUxcA`=E>mUe8oOccrT-6hci!9GF%Q|?w`;AJ zyZ)@vv*y{#>ljs=E4!br%tewlVf8Jb8LkwjQkTE$er0wN+xdn#zhiOV%P@?yzoadL z?#@?2LNndLh>w{Z?+BSioCI$>bpkOFNQr;%ik+3NrEW?__y>3_tH>xsHLy%VEsYz4 z7NEw+%nKbs{gX;{J3g15M3bXvP!BKA9iN*Sy6@g+Fw^+k_Znju5jm0v*IP&;wjwvZ z(2Ucw>N!zz!}gw)kdc3M*x0tcQ%CU4YJ=5b@~53N^tEH2z_%-$X!p}yX6~j3P3=z9 zYyt!8?=-3~rzhH}IjrZA2P;coL0P8DQtux?$D(v31}V+avDxXP8YQNh@c*Oporpdh z0*leH&7rWO98wQbVMqQT)fY)m=bXN0p6z*PiL6itwV#myW4+kjwYGQbb{=Cb*wDzt ziaqGqRN4My&lao%s1=*wq2kN)D@%4d;g&s%z3e8tR7+I#GMQ1bpS#v{OPJ^*-GY&l zNnPy>}Jb@*!(>l24q9f-(v2aj~O<>g*Cu%Qd1* zo)$Rsc(9CO^;i5>%NmbL44fs1ed+H;^sH&`eW_EuL-T4e_5u%CF9p3X&FOu0g{nzf zsos|CPfPb8E^WRJWGm=hy4#irX^BZc(0C1$*6~8mv*<&HAR$`mJSv8M?AiH{pdSmO zVVw|mZc;zc;ZE`br^I9A4pmP0#3k?~ie>?y%|n_runmh5n;vKhYX?Z0qUtvHIHsPx zwhH!kZR&mfdBNUQ?UAnXVN~Vbm9N;yFL7+gQh*VyY}m-BCy=hnmIqlAM5&>^vjb7! zyO3jB#M;`$l^-O;vT7qSGgoanpGdR5rKr3yckeo<>mH63FmTgsZMAIQu4S%)Hk2$p z7Z`DD^<>k5%_|bcq;Z1Wo6rVk+}@`Zs1u`(Z7Etv-}XKILhp;u1-+ZM^{m8W zYUWk+kgE{QR$WXGg)RvNTf^j6K0IhoSwci1fTWeJ6b2+hEK1YO=5Y-Zo6nJN+PivQ zg5P|U13!b&5g*>Vc+YF|5&_Jxo-ND!-dGZ=A+j42GhZ@Wa#l34#bU#`fU5IN4Xv%( z6KRypPfaPyE56C=H)=vf5eL^Wf8_ z>11j!Vtr4sm{0gN2gz>fK;o&RXL~g34=8#XOsD)RM2HfhnuD zx;CjnSoP7bbfUG{Hm84`esfAIVYRBI<||RFt))pyEsl{^V(Q%wJ)54EqeX_%la(iV zFhFzK+pC<1qpvzlCi01iMf(xXT~ebg*YaAb@m;g|RatsTwl(bb0JZf!wUotNW$UYZ z??p4DQ;SHQ-bGcJHy8UWQlP=R=5(`GGTAowk(KH=^(?;+8LCNGh|%4}ngxqfR zmfoyTGPAv z<;pTychx>IC-gmq4&GqiR#Z5pc|SxVk#9D(pszKq8WZI)0s~PfR7I%8MEX!X554r7BZ*iZ0KYv*5_)Oi`}g9GSebNuXbFV z*J--NixcjijdIs^+#k^~T`WfY^Ky+PNCumrEuZb~BHrvFbojR2l{a8`8U&B|L2=w0 zdE_xioQkkS%<^myv6__88|w!op({uQp019Ka>%*mVzp@7>S{dRDoT3Z ze3$dz;}?94vDf(xRSff`Fvk7(IZS|}{zO_M>1gQbnp;`7-OM+*1;wEqeDt}7*X{l4 z^FA^GI+q)nAeOX4ji^lc?VpVCW_nHgS3E|qF6|eR#m>+uT;gq%$o^kCI`rVyf;r%F%nD zgB<1T70^K$nq+T-@~*4eD-np-vuW?#`}XXh0JNHnDH!O(?nE zxf^>Q!N!)_V*DyQknp&|m}6wXy}d>TpOYco;M+ubZ1t_9Figg%2G}T?6gyF054xi% z;*3P$k+;@0N&8*qY$yL5M%qS$=`7{5p&E0vCKYJ6Rg@@SgV{ejb9iUy*mjI%oUQ?} z4L6&k-$OZ@dmnzScLi(fe!UInH{<}8U<_bY4Q20|j^33VCUCQDNTJ9jk+6i_LQYy3 zp^0`*yLLHUqJ7afa0XMbgw5~fIEf5;Rz6p0Mb<~H$31{iks zMzHgcfz2XVYCN4ct-EsoW3>0hSNH5(l=ikcr5En?H5`R7 z4fZPx7_RfY!eIMITRljE24YU4v5s(B%k}f71S#Ji8jE3Gw`b=<`{ojE(Y{?fXolR3 z%=wkokD0Jlz24PW$7tx7q!z-3@a|FL#-tNLsB{!H_bh0~A0fwhx=ha3gwG&O-_FM| zSo$fSh#PI{PZyyHIKEQymQeqyY9w;DSF-1<(fm#eYZO>%VK+JjgG9>K=4kVNrt)m- zr`My&$=gne48~72ykvS4r@xs+S3-Tp1m{{K3tC#f`i#4nT9j_}Mm7&(10Mz+H}~%R zz^$yqSP4*+K1>pSIBv{fyp$-`+S@NtUMGo^kl2fkZ*IkAm;DcL=L0&HFHx2vd&+s+ z9FwH_?1Vj>YFN#RTL*BzX(L-YjXD$T6ZAZ{)Ja-Z z?-)xlM`|ge19ID(6%o_rUV8rGER^im4Q3sAr!f;DT6~K<=!|Ob!>@DG-L=%(yHaXc zf{ZMpmoQFXTW08Xqur}ITt$qOo(`2&mcb(!z)WwLVT`hyGn`{i9;RfA2c84)lDd}G zkSs~MqZ;k$uTY&L@D&*;(_2lMA))g;Vc`zVM75@KM4M9=oL9Am!zQBhF*O&D&{#zz zaC3n4K2yayThH3Ty;|N2cpcut(d%ZGr0dJgK>K|rG2ZGjyK}9zQ$zm5tS@z8u5}(H zcrq-{gp`Rakt?t@&km+3tOfqfC--AcklXD#TxUap-!w_3fN80#> zq5R*voBB3A#HNxC=LS6wLcRXg``9EWF>QFSH+f*RnE1zB`skcRCj2n4TVmEemr-jj z(cDy>{XEBq2lzsVTBQAKrf`0&z(cCH-W5z!ktq$ocJXm%_j5c1Zd&zIX>z3eGdCS4 zhbc8|@xe|c49_qu=A30^VPs)KDm%)XDu#ahvsg7Ag#Oetqe&_T*u$xjbU&M6iH19= zgIDbgvF6pPhuE29sH_3IQELmhUzZm5uH9nOc`8x5OQX^eWT|~jv|s&N z!J?}6yuKv<)ikGp;`|Q3;#TWhv^`SjxWD2-uirZs%1G~c0U^ULq_Lbgmnx#~t@Uo& zx_3SHuJzg`KeBZf)NEg-!)6goe2dQ@iv<>YWq@*wp4?B@)o_om0ojTYGZ zdDdUT%|TK_!o%H~NH%Tqth6uUBsObv`)nrLptdl@(z27#UDbVcnAe?zj-7xSXuU5X z<`9lqcwSIh<>MuMzV9jNB_>Aa3Wy4Ic2InhFzV?&1GaGQ$6a^l5l1&=I@46N`jFNKVIYeK2ke zX+r-Gbcg4Y$+T#IC#o)6rtJ3qhbmHuWE5$2#ttGnAl==F6f4>H`&WA=bgJuUZ1HUfpeR${I#m`s# zK@1B>)Gch(t?J9zoQXlF4Q5$+@dbcQ@9y-pck9aN;}k4gF#{ZJ?(EU1hgPGGr{y-X<-!RIhn`u31LsI{z4W8sB8*O! zCZ?e3V^8UnA*FG0Lr`m+{3}G&M7=L9>v?PqtU?q0Lt3o274+WU(DGe_AWZlnJhI`f z?`2urvBOp3Ed-<@-3$#1+#hA|Cv`JFoA&@V@9VEt7CcX$MAtNs38(+�w)-;==Ce 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 z

|%9~U6<2EF=%&zJFgbj(Y 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 literal 0 HcmV?d00001 diff --git a/locale/lv/LC_MESSAGES/django.mo b/locale/lv/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..97c7f05e13bd8fd0092b0d928076ab8b8002e0c3 GIT binary patch literal 39934 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 literal 0 HcmV?d00001 diff --git a/locale/lv/LC_MESSAGES/djangojs.mo b/locale/lv/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..cdb8eba338691fc5c0f5522e03a586870b4e24f1 GIT binary patch literal 22984 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 Y?}G>RI&3Y5Q|rAZ+ye#zUeBrh0>mVK2LJ#7 literal 0 HcmV?d00001 diff --git a/locale/mk/LC_MESSAGES/djangojs.mo b/locale/mk/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..3259ca6f00e7d72036d65728c437fdebb009e8a9 GIT binary patch literal 447 zcmYL^(N4lJ7=<-@wM(zP_)U~Rv}_|G8O5n6BO%$8!0^6oWvguM(sqgu;3N2YK8u|g zIO&)6q$ht*f6h+7kBp8D=Y~teiQ&f3$TNJI%YoUO%w97o-e{uHG)1peDkeAvMM++- ztU0ZO)F@IJOVMMUDHIC~*6an%={swpXiPN4&~w~Aa?Bcl)5ksU+A*?1qBM#n;i@27 zNDPx@7{c=?3g9+~M$_-D2~dfya7xv^$NElGhULY4{xul}s^dqdbA{Wgaya2@b{ XaG}+Lops>Cc(()h-~a}9XdV3m)BJuE literal 0 HcmV?d00001 diff --git a/locale/nb/LC_MESSAGES/djangojs.mo b/locale/nb/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..c32ac1cf3a7f4088c4ce079728544f9262b4820f GIT binary patch literal 429 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 A#Q*>R literal 0 HcmV?d00001 diff --git a/locale/nl/LC_MESSAGES/djangojs.mo b/locale/nl/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..214386993df3ce9b4aefef8db9d6e897027ce599 GIT binary patch literal 412 zcmYL^(N4lJ6oxT+wM(zPI3`{|v~-Y=j3P#KBO%$8!0^6|vek@sX*LPGjc2T-AwOj z!R4n=^bnJl|CgyMX~#=uNp$*2uj_lyS~;OG%2$P1o!C2Cm0YS3WCb@?xbZ5TlHlZP zdToUvk;?Q&s+>WvmhKpmfhxUuSsPxGsWv-{8`WQF$Ndo;mgBa9>oN2?Bd_%fj(m2~ literal 0 HcmV?d00001 diff --git a/locale/nl_NL/LC_MESSAGES/djangojs.mo b/locale/nl_NL/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..5b2ee6e44b90d3a8e908a6c4303e751836fa5034 GIT binary patch literal 31351 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 z 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/locale/pl/LC_MESSAGES/django.mo b/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..0121b9876eaaa06c7f5a0d9b742a88a898afc8f8 GIT binary patch literal 70577 zcmd4437j2OnfG5|)qo%%OHj1Z5J*GPN!Wz2hAa>uizFDqCEV_NyZffQ?``gqPPeFt zAa1xTB96E(qoN}+isDM*D30s6jp8=$iW@498~(q)=Q*dU?(Ob~Gw=WXy!X@9zdEN* zo%K1-d7kGyRrT$I_j*Ob?=^cQ$)mu(JR(V+zh{!%)2rAddB|x=@)Yo)AeWM1um^k^ zxE_2RxDxyocqw?&=}B@d_*}3Ld{4mdfXe@XAyfP0_i*Y^V-L%M^&!@ypIs7-Mh@JO;c96dk-Cd^q?8P;~S?Q2ly;h(Bbtx9b@2VZ@&R?ggG6!e@i3 z&&A*)!6$$k-xdf7CC>*B1wRR%2;Kv#9}ipu4S=VDCxOG@$>3{1rTZed54abdt@i8( zs{F&iqrqdqy}=7Ycs)p!lSYVtKd5$n7(5vK9H@4E4^%!6fGN2D10b@1K5qxr?mNH~{C80O_zO_|``@7G z_Jj+W)8HCV$V@_!Gg`g{OX`5y%z3VsGuzkCH$xxWIH{sC}4xX(r2e+$8f z5IzS~J{N$ZpADeewK-r3R6aHEIPhuUM)1v`#`%6w_x}adeAx41Z{MMy`gtL!_M8f; zKOYAwpCM4`Uj(W@ULV5m169vYg3A9Vp!m@*LDgg5b>44>fokt#L5=?kQ2lcSD0+H2 zsQYgQX?pT{@EGu3Q28CS-uvZvP~&nUsO#r}qLU$TF1Q0+1U?Jw1K$H`K7I#OyMG6& z+&_bKK{9Vcl2Ala0Tq86D0=-OsCoF4fP2x2y@XRxeDOk1>8=iVBX}y|TR~WS@JWZoryeI2NNc^Y^;_!{s8@ZUi7?{7i%-=Uj)93BIT-j;!) zgSFtn;Ck>1umo-fKLM(JhZE5K74QJC4juwNJ%nEx!mkGpB>r~rAaECWBKS3M894V+ zAEz_HC4|odVf{%X;CsPG5WWvoJNA9NkK2jh!wD}3Ro{z1m9r5PU0(r;A5}r!e*^e1 z@C~5m$9q84<8Dyn_*YQ$ve%X*xg4AeuAD>rzy*Zg&LaC5@bjSh?^ocS;6ayp`G4x0lu!957S6#NSK3h;g42!-wf(G_eFfeDt^!}e zV5@y!1=a800Urte64ZFjeTvuTC{Xq80Y&c@fQN!5Q2jdrs=n_Bb>B`<>AnUY3;r5Z zJr3XM<(vzuzc+yD$16bfcMVLzr-Q1`Edg%@RnHHH@Fzjdr>}tff!_s1Klg&_ulvLG z2SC;9p;vf0hk>fcG2mg~I`D9?45~d>fvWdQLDlOWpz^;1RDE`V8rLs_8s~3-D(`!s z%K0g%dfgAIALo=j|D(W^@F}3~dpxN7o(!s86;O0n1C@UhRDVo@%I~?L@_#vaD){;k z{(89nLs0ks8dSS}4~kCr@Aq+@4{AOQg6j7vQ1j>c;3Dv!K+Wg7LGio$LAC#o0WWtx zsP^}PqQkR5<;WGDPY35$e7v6ss(&h=`f(i8{ga^D_iRx4z6w;jw}5+t{{kxg`$4ti zW1!moMNo9`OHlROYtYB<5Kwe+0(ca-3RJrOfIC3-`wKzQ;hRJJyTKa??*di+lZPCK zLG@D;R6Sn^YTmpKTn63-s@^{Y7l6M7m44o^^Y@d%(+F<^nX1Vf!4#ZR^?LPyqQBEZ zcr*AI!rMUQ^E~iE@Xesw`D?Hb{2Qoz`?mRb4uPVNXMzs_Zv~fv?+10?Pr!Y_KZNk# zz=sk(V8q*b1gLr(4JzF^p!)56a6R~B@Hp_D;rf?B_3u5P`sGic%HMy~?>`+>{0eY? za1*F{Tmfpn)I<0gpy>aFpvrw?xc&}M{raI0{xqoZ|4(oq@Mqu>@He39F@MbI_#9CE zw+dAI${-|?)WGBCzz@Ja@NYG*SKqkvjWa;i>wIt_xCKbJ+Fw{I?}dEW!h2Umk@z#;Id;H{wO>-ec8ITu_5 zHo@ybs+{~86o0>x#47)}p!)ZAQ1PDuHSfON|G~yM}e;dF9SuVzXoY?a?aB{ z{rf?U$Cp9X?>_Ko@X)9GJUSf|{~8YAt3aiH2dH*@8dUn9gGYb|KEv}_2(BP}5h%L2 z0em=kW5Bn8M-sjRd<^(y@JZnBK=Gf)U5%^*4ui|VZ-U|+rS?18c_7|W^g{ZE5!d8d^F*?H#ooO1tH1g zOz^efhd@|Pa`_8c)4|Vx4*>@m1eI3@Up|Mq1|CFs?n}IX9t9pv_M}W)0Q^5_O z(mgxi^Fh(si@|>dUk@t(C*17!4}dCX8>oJ4fvV?QL6!R+P~-K{5dV4bAi`e?izJQ2ls{Wu1>8#b zv2S3F18)SM0G|9tAD0_I(cRBMjpw{KIX%|`wgOHCygJ~s!TF?r0eA#>YY6`vsP_Ie z;2*&g2tV}A-XEuc>c3UsBf$;eG2jUJXz<10mEgOpe4++weR?)1KJ_MW zKk%L4-rxs7jq683{Aa;6g#Qyf98CY&^FIw7B)l5j2Ye@}`)&h8Z=V2_-`7I;TLJF_ zHDC69hmT(cRDb>zY=94Yr}LGoLCv3cfGPNKa2fbtpytCP-sR)65Imaj3h*$n0;)b& zfe!j+;9E(X5@o&hHB_WnE*JdfZF z;A-#-pvpb$JzmaH;5@>MLDlbk@S)%cxBzT}PXTWRH4c9QHE;I#m(V^?_bmh;23{P( zmxB)>{PYliJ*a$N0gAqE0o4y50agB2zyrWvfe!~C05v`bzSqk=20W1PB2fK$CMf#b z2r6A0+zWgjxF`4`@G;=az`5XUpvL(lpz663RQa*uQV>2V4T)2dch3?{hjnKj0?tAmX=z>fbBDM}U){ z%6}oK{Qn8;1>XWH-!Fhl|9w#7`SXDHfx7RHpy=`;w|oAN21Q3p!7ITwsQZ2lDxY71 z8khS)@sUGevZB8}Fa^&D_#|*C;irK|g13U=AD;#v1^y5`4cz1X-rr|{Dd82M#;+e- z2sS|Fe={gLdmE_n`W&eIehI36b3ee^1s(*R3{HWIz;}Zhr+dIdz#oBq;GaP8!`?f5 zoG${;C45=HSA)k9{${wo=Lfw$2Z1YyUk++MT@~W*22;Yn1y$}NKIHXX0jeK{K+VTj zftm;RfXY9)6WRb4f)|2q@C@){A^tC*%31qicqw=zxB)!oBff9e0!24>gPOm80?!7| z`l!cW1&S`-2|fb69efmcH>i2=V{jgLFE|M9^D$qi#=!9eeG1fgoc?jAkF^1x2p&rO z70@oT{I!DoV}fu9Bs1NXSg<)3+==l z;EO@g?aRRZz&C)$g13UA_pgAOCqDsG@K4~W;3Ic>`ImsAmnVQv1h;}q<{&SECldbo zE+4l?f70oE6{!9j2sjFg@3ces+2ErIzX;TL-U^CNzY40pe*upq|G$CXBz)wjm^rRQi7k;rD{d|AU~){S+vE@fGk7;IBZ{@5f(uIy&?#-j7>AwfhQC{XPh) zzE^?=flmXK?~6by4^;l|1@{3z3M$r4zwUH; zBDjX|MWFcaOTiKFi{R1VS^w$dQUaC#4p8-c87R7Vd$|5-a6RGgf~wb&Z#Z3@37$rH z2-N!iI`DMxZcyX77tG~U@BmQxt_IbQPXtx}{(w#J5W?4jj|5)@>i+kEhl3vhF9N>` zE&_Y*@#`Bvwf8bmh~{$qRa1v@crO1g!lX}ulGVw<(&koU(N#`2@Z$w zwcwG2{~1)j?h5!VQ2G8IR6ouAzF(gYYJQv^a5bpPk~wwe+J$J9`YwI z|6Slp!rul(Pd$J3`L`AnU91Oh2QLNp0QdWg+c6FRcM-0EW8leu^>l9l9|GMz;Q^<+ z(%*bu4S|m!T?5<;ydF%!7l3<$?*cU*{{o5*zYnVa{tT*L=OuHj{uhJu2)9A?!;3(r zdnecj-VL4r{t?u=zhKTB<4=9y5roeM&j7c8bHSH^8t2!7;&<-_HUIAdRgW)$s`t;p zv%$ZC%Kz*==Gc0%4cw3L4p8;D7Cat&1E~6Z7CZ_33%D3ux~Jn)K+)9;z-NK)1K$Il zw$~inC-^D&PQqLFo@4UZ{`<@^{`DAejQ(8&9>n!m@9X8g6I6L$1J{82FbHbjI#6`+ z1W@gK3wRp%K~VkhTTuLB$wTKPqLa(OCE!y*wfi05Bf*b>hl2Nj;t%(M8n?sd&Pm=3 z9tmy%KL&0EkJ!)e+W{)ymxHH+{|c@Ke+`}rp1S`W;|pWpBEruBHLkaV6X2J?$AK3< zY>v&7*ML_M{sCAAO9#xc`Tj*v=?*+_j?q;KR6DN$9|nF1)VO>aybSyucmcTn;d5;M z+z39C@SWiP;MoT`9b5#8jxGle1_wa#hwUN$YEbj!xuEFg#h~c>7Etu`CQ$d^4vL;W z0;(Qg1@{K$96ZPP&c2|=^FZ*|;CxW^KKKw%mxAI?$AYJTeW2*B9IlTC+zx8ouL8yI zt_M}We+K7(@%Ly>?u-HOryMT{;U|)C6_foo@U(E#KXL6u;!Y`Kaxv#0=h!aB!0%)Z z@q{75j}37bf=7_%M;yn8IHldh@l2hBIE~fcNCVm1??#;$(yK4^doPFP(~lM4_hpCV zq;TIux#u3@Cd0iS<6P@W{5_j=-{GKplaonvO}I~UW==SNG4a|vUBmINaO1@xKLvkE z{A+Z|7XU?}6hSCvs@c z>9>YFUQBoqsNWda&rv7tpE-^t?%zPsiss9HT)Tnre{-(i(;bqli2rmre+uW~>F*@n z6&(7>_I(uRcX9j^$1_6wv$=LA$9D-&kVZV@H{lwrDLIum{g}?lxg05n_}GhxKbPYd zg!OwG=bBfq2L~7h4K!rr?W+)BerVL%I!|pA*hUz(11amEb3c|7XrCpngv# zZWHGhay}nCmgAAcX>B}*^TRk_!0{!{_1h9q=g%O1F^Bk(ek?i354e6YD4u>(A+30# zeqRo8b?!TpBmO?b$^L|I0r%n9$oU9q$2nid@qG^cuI9LmYyIF9_-;^q^8t>t2|o$^ z8Haugx&H&9Jn`UhuCrX*@7u(~a#?q1EBI{i{o&fbgMSJ4{Y!|GtnogMR)~Ko=|3IL zLlT2u@&B1z)9-N(+5h>(U%_!6hj{6#NFqe{fvHv54ag(tVcW;ap!!_>-LLx0Ca=#QmD{Egbt0 z*6%*B!Lf~N>j=NeV$q|Cdn(5xIP}vR5P#q11hK$=k^vsiF^Bsf$DtofU$Tqi6`W6j zpX2y0=P%&;tHJnt8Q}@8>32ToOTkYPW{I@lU-{o4{!1QAeh4RR{HbtV z@=g4)tR}ArX%zPw&hG=i3T_MWSAz>U?jT+^v9E;qo5}xd&NqPiy^-^WhHGyC+r-}= z!Y|sjx?wWAEPr&5?FXf)Ma#RSHNp~LS`swmhLz*3&Hx$Y5C#2aL;vdiX(>PA% z(C;{oXK*ax`pv{ma(;KX_F3>99G@Ugzb8A`|0Vn%1D9M1`L9u4?-P_meQcZ7Q+v&G*pbzcZvN!mAX zzLDeW#Lwe+2j^SEeNW{2b2+|3TnQZJc%#yC==V~N8gcrq2VcTbq&dCU16+=e@Q6&GU5*4cq+#=9M2(s3VbZMj^k|{uOaJTM~8ETU&!%N!mlsH?WGI+oDv*-^=l1j`({y@%IpZ6h}Km zeihtE_z;eZxPAgyBkmgfXd6p8nn(zv)9S`0V;%@*i3g^Emr2Q0W9zyuokiRayow&8&b2-lA zJmuQGy1=iG^9_EQ41r6yuHWmx&x1#B{T9w2!}*`WwJ!!dnz)a0{EqORO2e@)#}|kj zdanu0{A;;o4J(`*#lg&f&O@<1E6L zatv}jkF-7DYT`f6@fptbdv(AIIKPqOqlBNQ3;bTk@gt58hBTaZ{2oP~UnFK7xP?Q% z)gkR$y6$;axUMww^pD@eN%LXw4;-txemTcxj<*v3AH@BI;|#)Af{y|9dw#$%&igC| zzD(RNINt-jAzZ&ZT>Dx;!M|~=W#h7S`Hhz0JZM&6#fLSHg zDWI~W+HCbD3l^43lg-|83Z$i>dPhVv#8jFCrSVF6Yppsk;x$OCwe8fWoKDu;X{(-Y zt5<93P@~=+r=~-V@les})krB|hU}Wdr3Sf`YH53Xv|cKwqt)7oGFJZG%~!1}J6g23 zN)2nOOKG%PP6w-_724IR)SA_LtuI~CZVlHP)hRO0V!5GFNtaVgyJssGnp;Qdiryx< z4%gcab%rpsy%-hyW2{o(WH^KH6A zXGMbOS(FY_P0h^Ka3$SdX;cTR1Em%dG99CU(okhNJfNALf1dtdWdGOM|Bd#4v;Eh^ z9&J=gNI1tK2RDZS;=@yxzs8pC&F0D#;WMDdb`$2 zP7?F<*?SUsPSysT8yKy( z%SmxQGVk-DEp4YJjjaR9tqwo1X)K=59;c2BDS1>GQ%hE43E{?!6L{D&=u6IQj>Ap| zMoZ1+Sv~df#gs8rX^CSPEtRW{z}L@QqLgQ+n;WI(@ZY;FlAzzRsa6_q4%b`BinM>U z1e1r;SJJUkYhc(`ChvznE>j$XQ)iAt4T0G)FmXj_lEg-3_g7W=tXxs|=e=s7SX=la z8T)Fa4z+?Ck=GVSrod&L6Blwc&YX2x>1?&jD&1MF;}$Hm!nNx4Hjksj|4v(3k+&Y@It+AaE zga}K_)v>Wk4e??{s+GZ$w1(+Wo08ewHX(!=y`qy*4AjdNTjKgFl^Pj4-_g7XGkS$H ztBdPH38$KbaIG*MdzBi9t3up>$4!|^8%gLuzWmb{oQW^#gdYFFb>+4&Tj(hrvQWXN%rHTV=r9$FzSx34u zurdp*p+LJNQ6{uOB9Ae>@rIR_aUkpDMq1|&mN?$-AFU2}&o^kJ*ize?GhS^N&$T$G zN;~b~q-oP<(*Olu*+#Y-o%DGYm={&1PLf*qXH*+zp-9e(t5|#JjBKu|6v9++tX_uo zTM7gt;`yJh7Do=}>zSF!ioq82QLazaB=(7%BC{PBt!m)M8}*?^X>5_r`{5EpbP~L| zGTux_D}%Nk!J^V?i>YdrZM17OjYi112{%@*BA#Zuf3f$4=caZyE38#5_)AC!Rkzx# zFEzWPN6eh&_#B`=dV-`Bu6rGiYr?;XnW)xi2qlk>`r^p2YDkS@v;aEsi%(~S-9=(H zK4Ff~>EsXHai^-UUKg>33@c6{fnq4NQ+A$>E7t0@$+0?36#XVESmVS{o9%EC7x}Wy z{&YbzJ!kerjf$_5HnYQmr{qIz&3=Sq=2VR-iX2WjiUBQz4(LIII#ywULDFRye1&aJ zGPYyMitUg|sULCv%67d~V%phC762yPpk~Q=rGXLq$Ix$9rXEE|41_D?RO?n+Eo(dr zibbDYD@4$(+}@Y0gd!wBjMbsDjHV?KH3r}-)YxdH-Cw*`MiXdew>Bzv^VnpwGCEj@ zZ9=8vEUXjtMmggXL8eJBUbSLlTG9;3>pKRRBaYZLNUg`>LX#|S9iXe zG@4eLQ#QdnI=Lt9Z?{^Sa>#%ZRvTmK#xS(gB9L}t znmBmMS|g7ZX&FeY4V;mr7IGHA?2A%xTq#2W=*=a`u&!mnR(_T)NiQxnTPdp~{5O+4 z8L6g((YV%RS88uF0?j82Exy-#n#$oEiSpVzlzx(J2s_N#!YBe*@dY-@{pDx_E``h!AdFfsw`An5+?i$MT^Sp1O?F)3&PIh59d)rgzBN-Z z%a$(fE(YRsG8iu*-H~CuQB7#Uoi!HQF-`?YZ8cvNMfM~+n`Uv!uT+@?By5V&M@%cu8ptS%#a>0d?w7H~$==U19-1jq`4 zN>^}^WU!f5>1pX;5>ZwZqmYDT_jR$x!g@|)2dhJEm&>S!S62U14`{IsrmS!|eSATE z4v9+TGAl!~Go%611TwWZT zlCOGUHS zL^&W{4mJU!5*AzQMp_bXE?5i-7mdBF*8fFjURC3mTSKfRK9I3POQWOpiOTeq-4=CE zT}MO@Sp_u#k}z&RQ=;VzD5ex-7%5Xwa}{FUQ5xe`aA34;!m_P%-Qgv^M428m7A0E} zk%^VW(qCh-UA-gI66_Q%B{K%fd3zM|BX($8VockBo3LU)=?fSc-8U^UVaY3Di^|LOd4ewyHj1Upqygu^|W2Oucl+I z0uygwTv$`u&ejc^EXf*doYGD)(Q1Jxb1lRey-53s@kX}%vy~L0st;h^CcUDf#jI;z zM5JD@*D0jMt6)+s8RHKYEt!_a0vlV1t%dz1bia-QqAkyCtTUPNr2jwIOjk8ZL+P>U zDu_qD*KCh#DxwHU1ztH!Wh#r(O{Kw7qne)5xAcTX=^A+RV0}k=vW3>JPM0m^%&WK& zS*I79`4LE9_{(oCWn&9B#FgY=>G`-06zwGP`Og}b&_D=f~PccIl` zr!m<)YR|!{6Ue%seuVD&D-!XUfo5z%pbMqWe7^~N{btd}?1|aK%q!8pC0;q^_qQg; zA$NK-NDj#w-^F_nBOa2{ZdMR-h`jWiWDNw7oKFuSoK&JsgGbV}gKY-ZLs7&l>L7(Hfi$LRG$)>NN{6apw=|RU+nAF4 zKXf6s-peFGNH?p7b?Ph=7>PN~U)z&5t;P03XyJl|EfhW3e=pd)d83xL9jr^p>YFyK zylB%YAtH#iO&cm!afaGxv=Xj6Jz#waLZjuNdDxe(9kiRMFmjemSJ^Es*~X#WE^{WU zdl_qqRRoS}iJYluG_*v}0MVP})|YOcA=Y<)nflnz&<<`%GTx14KJGbYE>A9~F4B?OKb#wk9}_V9O++_aj#mcE$lRr6CKuEv zBurh(xMX@lZpDq4HEi9sGui3aZcG^15>uk3mCiDk?kO!V*n*mDk_}7LEr}152THQ) zAw5l)@T~URmKK+Ty(nd}vd>@w{GzmHuwL&mzDBQ2hP3Dv?a`7OuR;ndpgB3#Uzed@ zQqmc46|HB=VM&jXqE3(R=_=5P6o$_xR!!~!RkmYjl}&nOzzmHhdRdsUzz(zIleGL6&c@RtNJvrP$4}C^T%7fVB8H*+e!x z6xf#7wB_bGWR;GC!5}m{MxoH}h0e@7el02qwSygFdSyn2p0jd02Pt&A7=+9oq33Fd z8<;>^i)0z}{wR)b$EZyoFVE9j0mUQ5lx=p1=fLtT+ih)5nj=+~cpoDr6m3pa`qR?* zcwz4Yny%KysfM~c@_h}3!p^6hXM{D(8aYsc?RVb6N|zJ9PdyVUmYM4dd`*-rl8*-d zLTL<-w##V}R3k1_9~dZ!R_I&RJZ>S_kh`kixvw28>(IR>lNO`6`$8+m;80;RAdnEE z7ji(DcRjW2AM(>=K{F}omcDsP2Fg(gk%TRb+ln2pkS zzwI+Wn1o>uC*H>dg6Sdt6M-U;ZmiU0JAty{Nx3C!ZA%NgWc<;|#jdZz;LI~YqA9m4 zL09_R7B9rh@GJj)~Lr*-{n}RF=q8MlTxb^ z45vm%(L^@Q@U^rrSvQ$_w`;hwz+_^>tAD9^WYWJ{PTX{B(R9P~NR7NLZ)P;4zu4+v zTEla_3pg>V#s6w@TzUr+*%tmL><2QooVz;F;)>(j9T9FLNu>CW?TKz-KHffK;!{uV z5d1A|U{-2>wI-WpB|UD*ag^$2fM8izk2tb1?ynUCYz-+Gg~&L2S)e+6*enrcL|59T zMPw{iS;T-_XM(KUkt~J8MuTR#KsoGaCF|?_<>Cy3B5rA$+O(n0R+RoNtVj1R3vw@2 ziB56NWCO<5SiAx?QATl4HXw5u=apPyQuAN~*9fE_+n+4KKFxVngqu|n%X08oV)r*UH*%=)kh9lWf*zW8I_+}O?OJ$kqih9Cd%@KqQj3s9j8BfxM z#@Tw4EW&rK(@olKYBr@jPv#e$Be`p29(##){qtbggw1j$9)cEA@(t7MLgrlJW>!sw zW}aPvtok})&1{1)t59^9^h{9{-7N9)>%q=sXF+&WsR z^)?GUz%-P|&G2KZY_H&-9ETTa$_*13F2@;0L`(=R@;q&}bVX%s&|H>GWkL$sSdn~X zPN$p(7X`(J(`gG%;ZnI$lmF7R7|S)@Z(`GOXU*MYtSt}U98e~{>%OHrQcX4%-O5DF zGfG%lsydzq$S9f92^EML*rj3Dc4g(tm+>$wS$tGEtYr*cxGR%nvrZO}!@R!OcEKA<^8p_2O)Oex+0Xb_- zckbhXlCHO= z=x}(6Z$pu$uq&$t#(Y6$jLkN5~yw)fb8BJw%n8|pV;xfkk&22CR-vCTF#xfYuc5$ z$*?0Ek1<&`UUvO7OC1(%!rJ-S80D+ZplmTLAVlJjp>c3~fXlTSA`1t1nLOlja~3WX zrJepu;Pk$UA&G?z8C8=fQ*7;a|H}^BZI(XD8Cv6Gy5y2N^7rgo zs(DvsBY}a&?5UYF8Z3V_k{Q=wLR}Kgo(!Cs^_Jxp(IvwbB#53qzi>{lj}{WjnkOO3 zZj6cZRZA_3Rmr86^muFm13V?h$`uW_Us6&zz+8|cj?{eH>1t1&QaF#=XANpM$uv3VaaFo z`n9K;d7xu^wb{fBmz;!JUzGu>-Sqt#=yV)KLPOcpsHm@Dn-E@LjeRLhS6-`Q_`=G5 zZ2{2}iLkNoSO)gYmPpsG6mE43t0J1xKz+67OCv)X#JQbJ=zcAYaDkxhj=PlZ@<1Hh8VS9Dc+RdxCUb11s=H8~rZ3)YYI}0r7IXj+vO>LhQ0l0&u8{uPZ)8mRr zh=EQzDjf(i*19h(Odg{SXw3#9S~_I4Fz=+S)2&Fvge*c+&&C`YFf)bd&)scov&qK1 z!d8gW&~ZH7V>1o1&_v63YF&Jeax86Ypu*CfwjCx~g5;QfD%f`q;0jhCMit+iqurW9 zO5sEq@8-5r+SAd8EKn=78d?uqM>28jb~EuTS2EaVl>xJiL z>`Wu#x_(r0Y(^Q`IKe_;K0QS3CgWr-(NLYF>ESA30@bX-(1L7(;mS997Qc;5p;bvG%F-!5GrZgE%Ovw`#K*#j1@LGw=Vzo>;%Gip#IBFeHOR#QY&0f)|4<_pHvga_nI;&0Ib5nXa0FY} zvOA37YDtev4!ezrR;CKEnNGU#5;Hig$@zH@yU5SI!#&xhdi*xrg3Q4BX?M7DR+p)% zc!|z-lkNoO-)hag(^=ekc8)7cdy`Fi6wv?MMonQu2LT1iH+cL6i5FdvJ9x}0+0^dG zwG}Y&FrpdC*h-KBr%i#*c(h`R)f{BrglB?_Ha6KeNn+g=ok=LNV1=78MYu8Pv47(cC5 zp21UPMy$2WMfGXjY4kD&69j^je{SPu@$4q=CI%Ds#ydJslxJI#?5NnBo#qZaExFV; z{`|?sj;rxa1eTFco37$A`Q4pivox&8(ptOxDp&>F!7fU=1%8^%zs-2dDjtKkNq#)2 zG}A_DxeoiCd7E@ItIoI{EJ`-he`XHapV7%r+X;Cy?)4AL=YVuqOytf zk87iDBY>z%@=^fU?%QQqx zJ*THk#J3JJ1)UOcFf^Ywvx@Mfme^HE){T&Hx9eZ0f@Z_X;{kbphdm{H>SSXa(>p}G zb;VQ|&bzN;_#E~Wt|^3~4!gaI~0CuQbT7>@GD~MBf_bnC-WRCc=qCrpi`{ z!izGpjbsLI3L`>zQ-<__F|mWNj!5f#d2b~Xtg z^qwBmG)#RYYO|>2q!J4 z>**~_bd>H022D%uYMB|SV60+DmD&*7uO}}}He(my-}rL-XOaSxhc1c7roCflOr~Mp zO2*SRE-TSsdQ26}bXn%Fs2U#U^Xp7{A%W3RRIkG@5eZ=;ld^d?gFH7*dIOlfQ&y z#!AJUdV(_)cHUCI`iiw)l3I(UuekEi@ur_mdm9ez=#U2fZkKvbnT;p2xi~+Bzjujc zi_%7QXc!8%;Ry>voRjoL?9Q2N!tMZKH_q@L25V}lMDfinwhm8s+Z9cg>%0(0Rykhp z;2R&YCccm{-Q0-~7UAL!wpDfphY+&pZphXs%8F3VB=4z#0hqAfOddvS7($%F}=o5dp*5+9shu_S0Wpe2y7n?WlZlB1w)Ss-T zdD(MF67!Q8;>Dk5i)SaI_@YH*+2PrfPUwwOZkpR&!oETd=6Yi8F?q!-uB%cO7YEj# zD+pdxUH7q3H#q=3$jC-HBe?0-A_mvO5bG6XX)tk_o2piw- z1Dme!m(+yN8s7vDAvqcPb!Jx~Zta*=&R=@z;soO~`-|960J8@a5$9@Whs;|f;%@bOw*IN5MhGnjMw83b*0d9Vn$9e zIArhajU#y`c@kEMT!M&o$S#LF3R@S&S6;TMa(px_ngO#H<++J4ELPrMZ%}ru;>n&njo{SH$10ImC0R)?qPQo=deV1-p~K zX3ko^m7VFq!QvyYWd(@d&mwNG@}mp-Z&(|&!O-@ptA(SW71K&YzrK{`(B$j_ z>kLk-#jQl98&jZ^Zn5`AfFW*7(Yo^`a?RN8I@_2b!YUELaw0jd>Kf)fhRmNLL9)Snav}%KGIv+M>zGSjy zg4FCb7+E4UR+6u5H-OPmM-{CLq?Vyadk4@=Ci%HAnB7G#ym}8CXMcT1AGeIM!H1JD z5A3)s|ewB6}Hqu@K&`Ek+IHHCgF6^_K z$Nn`#9?!4#Z*|+I-T)oWWZHHOGQJ@pTEwWE-J)mXv)e+xj2)xTB!N=h$SW;`U1#XX ze6cmpWsam-`D10_MI4I96A0q9S6b&;M(bN#jUY_*zbK{qQnVa6`6`uh7d;)CS$yKM z?_L=l4AaZhEklUfE^Wg~3lE@Mw*;1IjWCgDxm8H_iTCC29igvu9Rm_PiU$%yg_KAp z8fBoj@cD(p1J6>L3vUR*+O4fr-QATa?l0Ok8%|!z6GlZ1aKm$ENr+1=E{&dOtFzK5 zKZJ%s(I$r=k9w(=GbB`j<3l1vUyPza!$KBw5@QJb%d)c0jzUf$(;2Mr#oR+JGx5g5 z@pZs-$Z-&XS4=c#GbdQBu%)N^3PS~>QP+qjzGz%NA887*V9g911x9Mflcrb~Sy>vZ5s^|p^b=He3g^h?s zM*|egEKkyDvWszQs)wp$)-k=-#~3ZdigZRtU)Vb`&6*c4X=L&gP_kZ ztg(eb=uWKOoOyI@?UZ}fgi5li$08oIkv>f@e95u1oRsWcwjCNNTs;Xc^d0f=GG3;{ zJ-P8V$sQ3%d{Bb6-Ir(}lE_x=rFrt=YmX(xEG1j8>^GBW`-59b?s~9KE1GN!=d2_M za2*e~Bv|fMg`%5|*)x5?bRMh?307N8K(Sx9t{7j{lFPaih$*g(p1_wub0m`2QrKgf z6ib1BGbUk?2uriR(;$CHX}RH{YlLfi^gJwphz4P8?n^SK!R3j+x;nw{F>LN-XOY0C zy{M$?orryjrolv|G?KI$IKHU6_F6A}qBFQWaVF2uMh2r*RFkqVvD-H`>f3P4UA(ru z7>QDqUye|xy^*<>@V44UYw^0~P_?}Hy!KFY@#gySbneCti*bQR=B?Kj>s6S`<*{|r z;$=8$osuqn?DC~2ov@VOTs>&K7_(80ms7A`yga>RvN^?zDR@nLeH(UoHgOGd-pOU6f+^v+$kcHQc{nalc?&Ryv~>WgK*;-y?zY)Q!!KSSyh%XRCl zOE<4sd|I9^eEDGU>R_E&o}SiUZDqAwjsx7>jibC*adhz-c2RKHui+9$uzA+WXUIE_ z)3X-V&N^#ZdQQ5OPk$_|Em*en?6Xcxk3BZk>6vGp+^choUwS65+`Q^4yRh`^Wn4Lj zZF};Z&;2pc*=H@yZ(i1`^dZwz^7zy9cuFJJP#ooXwkMM9Nxf(AEthqr=2W_^QbxEK z=Vd&la(#>kJgcHI_S2A`IqhI!`T&gGlzsZ8J~7EoU4HkjYyaQ8+58LC9_BBwjg6uF z6EsuR3iW2kr(KAwRsWHg8NMwuRT}4Uo2gQ|vbysoL<;sx+T)XSXl~3&C%XD~me16* z%lOgmylK2v-E|GwrMs@#dEEeSxEgOvVJF;m4Yn-a2h*9C8VHs5qTkc(ZQ2c?J`>gQ zu4@>yv6St#=2V3YxXkN=cx;P}gH`pZi8?$9c9vh}4VSQk-G8}es9v6`)@WzwMU(Z> zJ3M}J=IGtW;_+Af+D)E!*M%(euK1YyEYZc!;EdqZpXc9wB`cu&LM&m{c!@1~ZOyh8 zgJCj>hbB9NcilEIQ-l~f!`CtR!2(ogmQ77Ct_9J*D6+F^N0EKnXLm$~v)}2KxlA(m zpjMqIokwZEvtFC){p9(-ubrrNrgs0YDvcP)2MdrfMi}J(Mc2(%Ic8+BgnxWY3K?rk z*Q$5j)?}s^Go7j0_H~qOs4SF^lsL}HYK37bpWfNl-gT$5sR_M|Sq>m0 za9a)a3#HIS8i{7hX<{#3d{5fyNpNf;8q#WU&cOi zbEHJ^q}$fCHXCcjTVrAp-*cF&_@kyNU*TC*FPFAi-Rk-TPh2NX;-NIQY!uQG3M zD-K@x7|*~qz5krb_NJG%ChoeeG1ZZXPx5SJ@P|fsUZ(<7Vil%7Fg(^KIw?{Wj3J-i zQRT-ZgY*^5=~MI@mgeeIeL~~iq_}NqX+odxDe{cnDdNdRbn$MsgpA&%?+dMCTXSLr zV}iDc*b~K_Y^IO;L_+n=q>VhhuRULNwMG+lsJ%_Jm+rc=RIXL9+xQBVT+T`uC^%<~ z5JKcVtb)zi6DbodlsrbPvtpkXKc|DzkoT`th-~kR&+|;F23ARig=s3Q4i$xFx2c}a z1KYFaZQFB&+&vt-L!avDs2V#FRsq>}XZ}Qw2?45x_F1!Hxi7yZ&pl)wzNypoy`K>4 zVnv=~h-T}eh9uLfY)j9J{Ir^Xp66m4ys6T_)MTx+jmd@#DZ!^+<|94zDf9qDp%DzL z%<0AyTWGuPoNSG-Nyj)$F(b#&y==k;Q?yO=Tw1$`e2P3}(#HYXo|p`SfYdt9++;W` zC(nns3h}^uV0LY2THEc#kM=~diIsM$G)C2skNUE7VJ*t8P*sFoo?n95RYuz)*0ze& za~$;{O}1+_jhQ(#y(xhUPP6lRz9cfznw;P|>;gs?TF&F>7GE0JR`T!oggX)LMoK%c z_p7y#ss?8rs3yjL{D0(-yoTSHlE^zGa0X?0_y$WliZ@&h!IV?~kk6E2 zVJUPkGG*AA;(hy;C1zg)DC{P??ktuc$UG$4R>Cf}>*lOF=-0SKjNNq`9|@Y8>>t4| zCzD`lR?haSY1OGsLM#`2sVNnc!xFqMwYrrCnUBE6=xq<8z0;s6(_9c-{Ubl&weV&b zgob#zWxY{K)*~~OAPyRoM{bnz!>U-Tw$l-NTDlbbfD1O+cU?0nshim~G0B=_3&Kh1 zNCV@aB5m4_S9V=ve5&1Ovu;>*s5rS#OorTLd+_Cf@vdf!0-9|=Eym>*@ovOjcUIuL zQ*|uGQ(APzZ772kf#G2}AAgJw(A;JEsbw|L@X;bkc}6{ zrP*TCTq{YonD*yOH%kY!VheYiWM~&Y%kVui>SjYIBW~Uy*kIC2xC%zvstOvZ?Yxfa zYgXorvR*cQWk3udBZ)d=x*M&AUDIsF@HH&HBvc(^VNO;~=`)OM{7rDbWEHxN=T*Jf z1GCmK*Dvob}e$~$c5P3I)%HA*9GF|SFMAU^+8X*F<;!BHk{GvB!t0}cdf zDeO~1W2M&Qz!d$?r%EwFXz8M{Q;~uoQCHkTC$zY@>sq*ht;7M+@@Pp*(iR@D8kkBh zFR}Wue~Z>d!IQ9}GMvfcc!^iFQqbafc^T}~RnPh;N)q^-b}cEpKIlxREm~kq;;7CvRR3Tu zD{Af0_BOuiB}gZnP1LPxS?E|BeI$5qFWYBYqAm}d7s1WgYtDd-G1tedP&RXfz9V&Z zmdUpxtd(t+0d_}4xy;Dr$wlHGRpWS*1Nua!`RQe%b=S1z+n-u)raD+5L%}R%xgM>L zAauh4y(6R$TwWSe_Auv`W_6kFG>WTFk3n;pmdcA0X-?MK-U$*bV4E&-gfGIx)eu(2 z>`tf2Gj_*h5>)}^S68UsK(Q&D@jayt(5K8+LB`;$^R~3!ME{0;bVmm_Czcx*{Ms{Q z@BNaMT*^6ODcLMFWuPQE1Z_eaJDQpG7%rufNGiMT9MQMZI@6dOZ>t#|VvNQ(lZ@5b z6BTc??<|#)Rkdnzp4NZ8Y$uzC=mR-H!A*S%s{PIOu50~&?C20uFX&>5z-bOQoaQ3e zNJ&>skY%`~1ZciVuC0gnn`aS>O}JF3gxxMNuDH|&ak0$yJg?i}vq>nuSWyG-toSNQ zAHX&RyE%x{Qb&7vsT|u! zc|loEPx=*8nX&fqhB#IdOKeej=GD&3wf&G~zU$RtaN&Jy8$s&Rs>ZWbQwXa=cio1N zlw67+b6wd?ilJSot|6wBTolB%HKy`dt)W>eFKg^t=pX&SleFm`7X`DE&IMR4E>EAz3PmrFehf=IH3DULo6 zBtV82=fCN~=tfrna|?e|f^FQTh?r5SZW2S6hU{!Na9_R3MLYs71`XgVBHgyoZLpod z1+XO|iZc%iWT;iFG!n$PnPoP9-VAZ!+f{1Zlj{hhk>PzF8vlcRF;r;X68k> z#Dm2X`M@k>dKDF%SHehK=&6_1Qq@L<Mbrinw6 zPVD;hmUSh_{KjpG=qy2`n0QmyQ?-a$+{M1C9@8TVtb}EBTYF1_za}e{L5S9RcJuHyz6GT4`x{n zTmJp6FqOv<1U^V}P}s&H=zh;@9D!DPN*Bdxl1!qty51)Pj4OWZ&tv!vdz{?n4K)Ee z+6<;;mFH6OTy|d9(O(_nhT2|e(?EUDS`*bN1jf!e4h!6UW-~9?uxe~IaYdC(I8-li zy3BZ_QD`SCRrRD2* z?b?Xe<%u94YxT_{v*Dlcd+nlh99MLr%*Q4mO0npH?K4w>{zv;DV=f)AG6b8xO#KD^ z4^z)SRn}2V+|#hF%b7k^_77zpyQGIjpEon@ylzOQgDS7lYs=)&vV2^T`2Pz-@H_dXjNCJiJDex98WW7wlu-0lcqJHDu?5bDZ`yQK(+VpWL=xXZN zVlL7S$Iu^n8ERcZk3OGamc9-FBa;tIo}T{Yv#xvTlo8}UHfr?wGgYi0xMM8gbxXVo zFMI<{jdZg@71^lMx)$yoVp(#PH0y5k;*JblH)efH-by46Gzy@RrB#JUT0;tJ*k zv*992j>+aAb=B9rbCM0^#6F>h!VoOKL4B3TpR6?z)HVgwIc(s_A;@giT5R20OW#pz zk8`z1dLCsJvrUS)4`L!u_aMtk)0v<^gEJT-^sq{1FHlL7$@#X65C9&KZK0J$^j$Uh z4x4tfa2#9~sdw*ew8yCJ1-aGuZd}*-Wb?C4K!lT$bWC1X zVmn*BU5yKk7EVqVBE9h765Y!BLvy8FA(+VoES~^>>e^WMqOf5S&H2zMhD>&PnHD&^F$v;J z6Kcr;Vm!NT^1pZE$gl?u!bSy-^sK!VcNTO`uk& zGZ3Ghw!lr5ibDn=$kZcEGz?5B*}#exzM(e2e!cC2v)PEUfFi^P*V*lW1ux1^wp3fC zZHpL6-;&k`*Uao&V)tXDgqnu*7GgT7_(HV4IAFAmUXL2G^wVsiPn1r)(s}?zZ01ya zX)RL0#1v#u@m_RV&kQ`1X&YOQc2LB1q@(#K(Fi~)qrRz)Y1vt2<`+<|+hz^RtGJXi z3doM-$#qipkNs`DJ<-o0uI8Gz+#*9d_H5{3*EN~zgO%^=I=nG_nvI<&6DdWPD4j#) zNq>Pak9^w+?VZmaC8ec5NG-K%;!I&>|Tb6$`Y5VFc z(zC@_R(F_vV2t_3XKY&>_S~E|=}j#TdCwB|7P68G}sGOtTk1Qtj76YF?CFYpqP|ridJY^IZi-~g=Um_*VfmxW zC5(x>FlrX2D{GpT{VANFqiZQowc6%`HKLylb6mKT72oHTu^lxZiJPya%6bANn&d)l z*ch%>#4&P`BBVCRyQ;r3l~FJpIC@(to=Fz>>qYHwWhM=LJ$xmu&U0$I#Ex*WSspON1iKKvK4Fs)28)NQ6VIKSKK$WiN?LzUkVh+Z1 z3d)dXdQD!XnvbwJH0~@1H1fP?yD?J(XNm8)!8)_R3dyd!!rtLw2ucaAckDyhURMdS z3Snv(pABH+G+G4MTPkeH?RqBjf2za?<4=X+A&WiMYzt(O(R$|>Y~`0z9bREo`*vQ} z&bD8o$LXJ<{%FKtgN)~t_RsW2uduBNTp6#euh#@vesfwv6zZ;bnW<_=<7ZDaZVc z>zgggBMsJk+?Pf&ike}BVx_D$8HG6kcEm-hw8(rScWqX8=!b<|X1#&W^+}(s_J+<= z6(f(El7`k$C)n5e!X^T)L<7uec}&GMC_l%4!>(xiBIisdE_8UkCmICP`K+{(Jqm?` zK{4Ct2;v*XRu;XLmt}rjIrqSZLL1!u%hpo!F3SW|2?j_?CbtLYF^vmvVrt=|5RkVK zj0d;z5*MQF5a zd@ypFM}@rz7sIreN6B{^G7`?FsLX66vR-OKkEs>pJwE74)rhmlnF>6ZG?}+1evYB) zEYq7OM{(W?MjE|HKo4R0q>6P48%2yrNL}RSdHbsHE4y>FI^n!ZUYWUPtGi)sFe?Bn z(FzQ;6?`tj_~Cw$dE>-MR@}0Y>tT2R0Xo>|W&;G9eXbYW!Dz1$j| zWYl?7N}M*#jLW?@1MOaJnwPg+ zzTv2O@<{EBmz^_SiMQ~nc5@JPUZ^Tf4I!_|Ei+z06%p4qW|{NODLU9+BVYV9pz+6? zx8$D$lv_Hqk2{Gh+>pm|)BEK$Yb+Q2PA1qqBo3@8hFD9T#Ky!WqY?@)x>Ves3iDSy z?{*H`P{zSka)lfDFb#HuGlNdPVZxT#>~tPyAs$g$Q*94?gL{nWEkLs3%A(UP6uT6x zXDfnW98;M`Gjln3>zF;xZjTq(Mr^YAhmdGOVN0H|tV3ovE^2ulrW-!@7iwY7!`Se} zAf*n#j`VB@uac3UUzVwyUEtZ8?J)QJ_Mm^}3vGwH!xAw^npzZb8M0xUPJQX+atqkTJuxy*4ahXR6gr?ogU-6e z)D+6{s;X~nQ#HHZao4os!(H1X15~5Cw8S6RB+0jvv%B2BBpc%n5pg4Y9cgjGo+@%z z9y!`f_l(S|5ov?~8|wDpacAm)(`4P{7L9hNk`fGsqFyNuq5^lw zWOnI+2fw|`KewsJbmC|;7U}`4s>rtGMjPL6HZp?w9iqS(gYVonR#IqDrUFC_ds+g% z%7bDU8}w1Z)+Fmxc)kKU8L;WZ7CY{PW>XgJQ=1)=VRb=Wa657vxjddyn%OeiOm?i& zBPE!2?2KHF-4J)*lcJMO)G5(LW{c1F7{j9_3>A8IzRfNFant){)36C;dS9^9;KL*~ ztInFjc+0yEIzK*02W}dX*E-eCye3%#$VpE?2RCAJ2)vYa`O+}b`QsdUOiZO`9~$fd zARkj%Ru@JpW=i$4)y=2$w1~){+S9MdG&4hVFxE~_Us#2^SItZ8wWv0|VA<}<4@KHj z26#Nj(}8>?N5|So`3!yLj=RQvBD0vu{5~z;S@EWxA;NcFR%?nMG?dMar$*ZJRdLfK zJo(U-q14xqS|2r(GH4!Wp+#LrKBJ0i)AlJU`raD`Ef&YzEav;HqN0;{h+M0(ULK~0 zi%jCxJmBRH*#-{ZKk{!IN*2|Qi5Pled&MRWUZ%n7)|TXk{Kb^YO#33t>6YGfU3ikF zV4%y~eX@It@)gV<=9F2d=u_2rA}^?8xsp_D0!@~eBv4)n6JDIaB1XU98+So&wY2n_ zMDfW|lefKhrZ8$}J36Ha-on;7IfHqtpjEexPrw$VoS>03i6s~w^KJ{`uSSI>OuIs| ze&%}^@HhV02^pYSom&-d!e%33CObF($L`N8t;#{ zbgsUOc=|K1FrPpSIiVQn0yjs-!dTGv1v9*6ojCwzn=MP?rw?ap2d^t(teI%BLh+M` zJoy1r_`NXOjrWlngd9A|YW%Kael>fPH=3ZN%XAi9 zcpHMA?<}b7;_cFzC#DcxO$%a$()J0ag~BdGUn;E`>04F@$YYy~4Q%D;-E)k^^v4=m zB%t-Nu=#_`;tD>u7%hf9csONY9nGgr{?Kc>FsD4TZD<}!h>_jfw7Q{s*hC1AeoJ(X z7oyRj#5W-0;v?BM9~a~!D$%v~!t}MBt1$nyCmN&yeMC`vYVbC5BH&&IR5_X@CMYsu zQEV(^O_Mt|#G>6TXNa^<<`eFVPGurCMTX~Rruk5NOmoJjnDiV994yZaVoSluM0 z#;x9gVe=6|xiQZUl=+TzTr^XtZ8h6R_K67Z=Ltu2^;sw9bi>&MG^b4>?HQ1JPQ)_k z5oLBOl-0r&)f+#6&8C5b>tl8KNaZat`UrR1*o0!}Kt{^RF|%_?9_d<5GC3?Hn&2jE zrZ7N?K?ZA1BS@L>=zQv9rlOtKNemg`4M6S5xFb69=He&gOdb zYF8R1Hs#k;OW*S%A7gyxn1hNIb`RwSgVEA@#KnkAMj?^B%+Ur2OckUXl9P{1z=JZ$G6}ek{94aGTl>=87$K)%N+x)>sqpQ5Eg1#J7Y#*)o#5vYa zQ@Pa#w)NW40X0}au)kt*LH4la$QsK_{g6yV#5_%IdkI{1?-@9D?qA7rAet(AsL^@s zY_b<?$jGkB*jQ{cJDPKJoePkk)n7Yt0?RkOA9LH825=i7RcY2 zkgdD?3!X}0p_X1MUssmfV7F#jHx*t&3=X@why-6#$BfxBU3i?1XGVg%m@aD~nnY!m zgY1g*{BQwLOT|ISw5Sm44BawTCpNL6^E}avDXlHGQ6ej&Hdcc1GW+x;Z{;iLO6!TVF4sPALS@gm=RMmb=sp{<8=O`7DJY$H5Ek3}OhA4mHGu6G^rvL_-d zOCRriFhu4Qvu|?2lSJ>o!Z?){GXA|XopdEGra^CYzd=5d>b~vT!pgTjU<`po ztxsWiW8sA%$=f-@kc6eAkX&;i5}2MX%O8U1sMc&Wp2wTvl9ewQE@!^GBQ|^5#wJO} zrMS$RzZEvZ&WpAmV@9;7!xaWJ-%!Cam_KF(Wn_~jnucLH`6oJOE#e=_BrVX*gB_=t z=Fb0kpo+~8w(O2(KDZ}v#j!HhQk*V-Kl^C2C_ee-GY`4kyTq)&#Uki|={qZt7*XfY zZ)TV()9cbPhO8$33KJRfmPM1Ql0fG6EoSc==l@vnJ&?|L}5G| zdWq}>p@xr#N?(;8kZ(dp?OF^i?ls!(B6>gHpyXXU2z*+&vE;c%%8OS_CbPZ8&He~H zy8%P(Q3T%_UlAQ)%RHDR!utSL@x1s=$nn~IEeJO_pdwV+ez5a;v-I(>nKoGX zB$nyC)=Av0>E-WcC1*WI5qv)-_?Z#IRR~FoeihAmZWb?C{GAMv<%6=>vr$#tcAH%(iIt_uz|glQy#St{#i^PnHA>-k+iC@9x?>w5gRLiSRnLgr@4 zbWe7=E;sK@xN&chPsFgf=}bp=`=+T(nc{Oy)!n9u9!taTP%rK96E$MI^)nWPyYT8xST7N0!(bdlbg;B{GgIyyPt` zUWFxjFTVe;>h9_@Gv>AdXHIvYK7FZs{iUY@Zwo6-v?UT1e$_rI@Xt8;HkC3r8P$|B za}t^jK1|Ke0WD|OM8W=%wzB{Mj4(FFqof6Tb2hW6g_RN05gWrzqIu z$6P-A3RbI=sb5+r&6)7G@;t)(LzMP65uVZ}T1@RCKQ35Wt%G$ag(DC5l~~bO#fJ4# z8yvmK8_n9vQkD04jwuim*L~`71)1;H9AWLUtIb|N*pa(Wq5rV2U0pxojL}^ZB(y?y zJ>MY=o7#(xZp$d_K%k9YCR_l^G3?|Z#OuD42!$3Qt-^e|Tz#J}^6K{nFx2Fm! zxzrv%lpjW4`*)#s8eM6-ycIE^xqF>miF1yRAKHJ<(ZiUE>&!GNT>~$|qa|k*7Rl2< zJsh-D62=E2by1nX`8czK@O(pRgfc{4nD@X14^9)7&nk84d|Uudjs>H4X%1l-vJ@1k zq77g)F=U5Iuzy824f!C~Y|z=*nNH^TmWeixERM09k}8n5I8w$@Q(O!mn2v)!l2+pY zQe@u=+T>C{kHr>iw4QXx$MCj}btzfH5XkkoYkN2dvbgq~8T!Nx0q+UX_g>PI4-2v1 zTwr|;7L6{PTQ(b%Kpu@Z93LaNuuU-$`SS+o=19ufzg$c@x^W7}G7w8BXVhvnAXCwn zOqvr{SUu+SI(SunOz!wOq`PbH0Kf`md3g)ZVUGe`(sXGBZbjLO2AV?c)qj)3DUpLk zGR7$<))iQfS-7gkwuhGbWSMPOVR~RuamcA9<>i?!L>&H;hT#g%xuX0CW90ryF<*{P zEK`~u?o4=kn#lr|PsU-dlbxD}x`VM)aTQyM=fvsa89@r{8(4c#MfsS_X(BVs z0um>C4z?bQR_;A0_6;8AuQHRxj^+GY2Rh8|G7~#`uj#GLbel)6JTIE75Da@i|1PxK z$MU1*?HGr{klnj5-x@Qlj*3ozJoE3s4iNvxCOt3-m}V2cZ%7J$+fV=d`uCp5fzq-+ zweXa2tRiQQ=O*xB3_3Thq1=a?qjQFqwQ4?2%}%VsxWq*NVG4&;_4sZi(A9+4-4W;z zcu)KkLZE`-#`Hayn}^_8x=rn>x3rdiklDQD&^Jq$ouiV$k#fEk6ND0a;SLS*O!3z` z*F)V8&Ouu77Gb-IT@D`jACsAleidqmnghKY?O5DCVIW96NhTzC^;%aJalcokeRjEY_cj6VH5~H+JX;4 z5PrNqLk@%Hhnb37fGh>bf#V`c&w5YynvLL#N5opLgFq;CT* z(CV5fihxKAg1yWfh^|yNg{)YAJ^^9?yUMhX(BnqS$Qt285pJ6s0&5W83qmtOKLk?> z>@OSDp@ABFhrh0#WeEwZU#zScA*<+n=2)i%$-52`27y?b?$<;nDa}6w7(`@JfZuOg zdoWXLO6~eFUj^ra0S5Pm<4JTE{wK|+quAo=r)flc|8XVZ*8;?q$^vOi-lM&67t?Sm92L>yF1$GHT8fa)!+R;Ppk1O}M zwMb-sG=wqEYfS^ALwy$CU;z@G`E{~yg$>69@SZUBqt6ua0FEQyhoHzJA-0Nhykr4P zq2MIgMp`7CzMMHqWt4gW>7Ak z&2G*u`GHcP`YD5>u&S+V-a69&WkL}x4d@5awxV&VO75!U?I}hHXba=9Bji~>DWtyy z#G&`|*?MieD6HV|IZ&zDxU>p4Mw3EarwCVJjpAY1c+^uf;GQG|346n|md0WOeI9yLoTC6xtqA=(9_ zslC(ES`vl_#Zs(|i?cvgup>{a#u4sGH1mkgjnqn)ck)X4An^r->*PF(>ox-^$T=3W z;x0Z8Ae8JF2m4j~S4C9Tu1HK03F|9_CKzv&!dIEQT2EzmySGIHL`6VwI#Z{EiU*L~ zRBAVtuQH){1E;KTqH)!F{3Mh>&VW>bTZ-q{qp-%w>OOqQe8r~&h4Ueeo-EgpPGdeuqZq<1o#ki7X{ZmVc3sQ#zmX7$Q)X1^4lfBmNtt?s0<&OV0M#3@hE)(gdG2?hNzF0saCKOpl%b literal 0 HcmV?d00001 diff --git a/locale/pl/LC_MESSAGES/djangojs.mo b/locale/pl/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..b37d65e56b8745a084a524668d3ae99f44aba629 GIT binary patch literal 34998 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 I;q>tT0Hz=4jsO4v literal 0 HcmV?d00001 diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ff188fe63da916936d9205206b0796350adc82b6 GIT binary patch literal 61717 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 QZVI5XvlZ-pi9h-O0MI;Zi~s-t literal 0 HcmV?d00001 diff --git a/locale/pt_BR/LC_MESSAGES/djangojs.mo b/locale/pt_BR/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..784a78c5d4a770fd4cb3a8506f7db3df15eb71db GIT binary patch literal 30422 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 qd4=3Yo$2(YSXF#p`Rwy_7z*>RoRi2M)4Pg=kL literal 0 HcmV?d00001 diff --git a/locale/pt_PT/LC_MESSAGES/djangojs.mo b/locale/pt_PT/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..b1823f642d91cc872ccd908bea4f771099d1e67d GIT binary patch literal 1474 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

k^KJuSHtO8j-pL zA6efG$q-(EuD*wEh6p=x_AI;J$*z>Xi2Y=nN)m-gg&Kx)kvEiIK{Cn?uOl=dZcwED z_M%64IJQiY2`KS*v%66_Vce@gjF3iZu=xXvLlFve;8z>`-Mq#k!M8H3X$V=ql6YXBJp0*nVX>jq@riMuuJ|+bBBqE_ zgj3&kho8;4M>FIx`{yMOd{VXCGZ!yj*gbyq=yT6KcO=2pscc6#wvHCO9#zqmY5?w8 zJ?%RjSMTj8>N5|9`mKB@&&rI&!eXp|aKCLRwW6&>qXupGx;~LMtJt(N9P!Y?j)|q! zE8A@yDOj+9$uYX~E{hP!*6Y)%o;F?)=z3rp7DGIjt91Tez;w2#=0?w#b;zWnArV4@ zZz8nnmh|joy0gM6WwUqOw}zmFSXD>xMj?b)AdfwWJ7EhXZI&6Q5;tFDUOG^u2sz{~ z^om_04p8xHh|Z0c)h_x~ff6cLCo?*<|I_}Sm)I0oIwPZUj$5mglYfqg7ZpK3S_UtT z0tlR5yX>qchQ=9$Pw4T?Q1mJIew&N33c1fEXEm7kOjs4VTN$(rv0(u;-Pl~@**V@| zgSL)P5i`N=eHhL~_sZi~J(v7htr8q-Z|emT)!B{MOREEeohugC)}}bv*7Hj0p7QE9 z$RuN30!R5nq5j=WD#$ra4G_=013S)zfCxeGrqmYS%9Gf-oNGj~#_^UCYkAQ_O{Fsz z%S0r@v<=5OW3n+isv@?01EpEr1BdmHR5U%P&vFAq>93w^Q(eCCQcGc5%`Ta`NvCBt zY1@_%LWoh(X^cup=X3~~)wc_&zci4R&Bj5B=ZPFqR+0y1rT1DhV|l2x%DnY6n^d|W zjU_vk#vq&sKTSuprdDhE)A0*$?S>#Ww}*SMxrJ3fZ!?%Bz;zuDyFhDQY301993D)D zj+n^QA;1<$8l>TWcV0koWuyl~#7gi;KSff#@D(P?9W(_}Jq?H-J0QKd6cl%V(g3MU z%JPxWUAhhpnL&~IV638fWAPinw0cSGp5huF1ni_;4&O^F*hTNd&*c_Xu6WpA305a+ z6m!6pp^q(o{IH-${xfuvyG~;eO~YnznpqjW9D-briqY91XzrbhPjQQYvcuFZgij+8 zW%40{Hu4-@V{y&G@<)A5Uya*47HAcs_$(JF=r{_{f^x_7r(?OQlw>9DFy3DKVF4sSbI+s; zHsEFSVe>pFpX!RsC@LyFDJhqQ7O{*Z=dBc+b)C+fz}EMkP}YLA_#IVQ(aU+fJcDO< z3eSZ7wQ_X2>`h8{VdR>5gt?)Bj`L5`u1$^F`0u3--l`N!?q~ zTC&1B08jK2`M=@k3glyLj|C4H%}1fJ6FAoA%;i!P09E=o@1``@k44V)f^F)p11QZusKB=vbT9QF8CjQ#z zOtY+fuq3EM0esAF&BA`>yJJ1|0-R7|RMz1GHLj3j=vxozufz7f1qnYYv9r=1c@~E% zZJ9GK(Mo7cYQ{Zeq=>~Kaxg*H=2m$nRu?_xFF(0SNu2oLuNju>&%__&oUh$gL#M2- z;W!;1#8CY@lQP$lm-WDTX}D57d5}&7jTDEhtFj@dP_wgj3v1{dBCn1J?&?fDV9a%|J<65c}-4=1_{7OFsyb{)e+5b{@ z+Tu*gp0UZS8p=$cAOA_^>Y^(fk2V+gs!#yyf}6ekGENr+z+xlJ(DIJho_0d z&{XMss^CdFN)|GMWjS&x`pK*!Gc5}*(ICKVB`@cU1?y=XMlfzOQWjV75q4ELfwio) zJ0;`X3eIxj=g3N$(I=ljz7pqVt#I&Co}pR)DmuUhJ?mmQPEj}f_W0y@e`$*6HrBtt z!Zn53Bz%73fBQ=nlMjC$UkTp=E|&pOGpKESab(4xKN2_Ptvz^V?K_cKI!0|=47gYx3|_#f}!KOfZ(pRJGgh??!~b` zJ$~%2e}9bscgwfecQ3B7LuzXmJZ^Jy(s$0SpW)<1HUJ>`&m4L7+?oIMvk zxW?elV|U)gms?L?q8w%I)W-VxF#OG#zc+(^?se(Hg> zKWptY7DqL#-JhF}jxYY~$<2!uOty<%y5*5`mv+|Atvx^>%6h{Vw>t21_nxnPT^Bs? z=RJqEZoT8!J@?$P_~Sob=+9$+bk7}kEWWuowxBt`@4e^F^6DG+d`*A)i(}uo5iySCW>o4u=hAMoHR4JTei_kHm@W_tPH ztJce_#z>t};N(+b<3*5jZSOrM`EiFNaCP;jaO0l#U)ulCY)|`F{!lvE`(OgeV(%?x z{n7r*d+(b?uI~R3Oz^u88T)`#3a3P*xzk7bCwKMizd$eVgUPFVA652P*46ftf7N=@ zkFKM=>wv0fD#SnSGk#BV$;GAJ(>P^^cNcr_?O%p$@9td})(bboK7X87&ihx;!sBf*!(2RYQIdmnyUJOlu9Cq3uLSC$ zf$xrrKX>MI^Umd2eI9Q4N@Ag-{QocT@DB0P3pN^8lNY|Q@%V$L`}}-6s{b#?=`9)b zhecW6KL*c{jCo=I#r?la-{l=*{A>F^JhH+mJJgs`I8Q`@o+3Y?>FPNq}!mt3KFL^&W%ofMHo5ueo*9PW`W%ESF~-HsiyC79 zecyjWT^^3KVE*Gd^g}VJ7xrIbf*;ZhO1{TD!JjA{2z;M6*9SQtu?P8H=DmMKX-@tN z(*)kd4@&I)7Oo0!_+xticmWlm-~Laak(_0xMfJF(lCB3_3#?Kpra!^oLg zQZsNpYUV{jJw(%7n=ijb6Pqs$9n9}b>D3wzJJKs@jF^y{bvjx8GDrF14T`dvs@USxFw_Uj9C%ilTPj>Xia}Vvx9Z_)#P(lW)=eDtWwj+s z5Ir+iHQNfl=O ze@zY-M*3%aKlQ(_=fD4$|Gt&~{xbeWu(22mdX-tj7X=Wlx5}IN5hjklKatp@;w1b( z0?Fuv{HV8XKauNkWTkn(Grr0Pu?y9G(EkhepS)s6kJZnq>tV87w}+GU8<}4keIPLR zuI5ua8>nwRw@ECY3Nu)}kN2+}Sz+Bc@`qRUf848Ho`*-JMZ#AGZ@~7exK_V5uEW}b zbouCZSfxP({fAm}4ySJaM{b}F#iH>e>rDYqqz%RZ-WT!v z43~iZ6qevYTZj~4Or%_<75&r8Lx(Y8d}$HKT)%%M+UBB_TwiDlL4j0o5;4jtEw8VA zbLCDzk)tRR@{YAVScLML2fe}vD|cxYp9G90X1R;c-nNe+B)~8H{XR(0s%FwjxM4j}cdBF!b${Ax|{>7_7duI3xx)dgw^p z3kE4txm(B=(7fbx5O%p@6bK{>3;xvttnhGcrPCIY>Skj~#k4Auw#%`Z{(f^muj}&Qg67h2`#n&HYfp1e1f+)bNSL-CEHPu_dHq7jlQ2I|8e6wcl!0A<$hC1)fx zd!Is{e*p6>T0-DL=#f9^Q@9cN6qmlk6f_;7^}5xp1XTJ%(|lJlQDIt(P=)6M9`n>u zbe92G{8%*-Ob|;E@9>6+S{DG@ziO=7t3#)~2_U4ND<*#}oTFN>7DX*11y;U7 zp5}*`9Wif-@?eE7ehZy68|eV6EE6thk^1k;WxAh9G8tZSp{Uw2P|-G|G80YH`RV@O zppK;~K9DJteEgGte6)n&0%$lo0(x65u{UwP$s&@^RXPQ#fla#HUj^lm?T(qO{?*7f z2q_5Ji4+L^N=mMW6ebtZ^j$aOkM|%%$49cH%g>G8QR&I#@aVxK|xAcniq_r)9>n2EV@IZ=vPpSc>i`m&ZVH5fKJl^JpQ)$Zr+vKV^e){>J3O=4%9L( z3SIoGU|2y=%R;3(mazl!pWt#Bj|UdI#P+IY{_=Ml0Q`;ND|So!!QwRJ2~f*SMO&z$ zllFZZt{W|iSI1M%r^~GoLu8x1UzvweZwHfowRHjuI@@P}Z=+-wjg4OuQG}!+`=4E$mf;z*BMCRU@+aE z17qKNDsnH)BF4u1b6*SG-U#N8fnEn2ANOW8JdJC?pVF06s6P4(@XAJY?o|aEjJ(ft z;e`JKfPyK7tSlW3p2>uD*puz*13tY&FdTPLO-f^hMst&Ouyh@=z9B8qzNmsXs-ew} z)>51mJ%KJ63JEPis+ejBxta3zs(DH<8W7jE-HbrE;|y{T=DJLC+grpblq746Qh;gu zHKmC>+i+q!wpyT|hb$$(p*FBaE{Y0WK-ba;;XosJULXTFd7mhoB6wmSe&(W1`Cg(a znY$X)Gl$cVpqc;n!dT%91u0i|=xZVyFxZ=B6|y}c0Do(_h0Gc!R?mR2s?HgD7uC={ zFxYmAx||cxNzPwq`oDoA>}S_c=$0u>yi&=&bO%(_GEEpv9IJG>`rfq$wbY-QfWJ)d z+tVA!vUS$DLfRmp3M>43*Cg5kOOL{7Hv19^Eslz$5IiPnYapUBU0X)JgjC3ydzhN) z9BhtfAwH_TK|%U#LAO%u3~Ke;y|g&O-t=U#*uTusHEZ#6pb@lUEvaedk#272d_Zn} zU0bZ)|Iqy>R_$mE9#_jRGGAY1gsY3y(ZiXgM`@9MfMg+=KZ&Fq_3Mk(6ZbuIzq%~2 zPWf^fVWCaU#?#-&3IFX=*y=c->t|MVtU{L zR&6mgExGck_Cpt>rQ+eo$RkWlQ$^yrDocP54n9itB{w1n3$uxD)Ey`?*#wVbVkRhd zk|I%SyFi_PvnOHs7hY)LST@qB&3E{r&=R|j;)P}=iGz@8|FOMgH4t%z{AO#ha+mCr z?#65|2F6x>OJFtC-w3Q2%&-G@4D~ic8C@C(0`LDVtpxo`Vg2hneii`sUu1w+h4?Dn zGJ*1Z#7u+KlG4tBBfnsP7r>GoBvCYSzC!sGiJ=krKL1sMLgtX?1DJqS+E-H%m9QsP zQ`nCIc)vedz6Gd&OI9F_S`y~wNGjZn5Jq1j>c>zx4C*p==*8-0I0Ay9Tm)@0!tBtd zgLtUx-t=C|P^)`yLJg_5$YP0){*Z*}?ZUP)1M_7XUsY-9=Mz#9Vk?cH=(EWLI>9nA z6i)G)WvDp)vi7l&n1CcA0Gu-v89mAOakh_+Ahtq_x?B}Lh1BnR3TB)WmXfUL;EiQ^Zm#xBv6&j?Rw4NcjfXW3MaQCdY(2V5t zo9Zaq)LW%W8C`a-xxmA$> zR+^W5Azkpk6OB@M%0K)B2n?6QI%i$eH&!UCHgG%U03ZpcF_k!(a#1Ao*i>kfL24x0 z?ZcT0LDf*Mso(7*d3_9YzkHnN`sZS=;0YO7&xbCr+js_Vln{P-+z|}I~wj^ndzuTWZk=*wYje@9`C<2G}1Na zqwoq#qA)%aE~4bG;VT<=rr#wvX2n;Z%b#LKRheYKNteYVqJ?o5Zdbo`*h-|K$cm_& z4)8g$mN?hE?&Q6Z8B-a=^n0I*=iZZV#rQ@y_*GBDAuIQ5f4Ru9q=8h}Yg)&?L7Sx` z91n5U=s04t&Qsz=Y9*NxAAZ*GgJokNGC!954F1FOwnhNqKszOr0?fdg`!+JVyrTdG zG1}+Ke;LM^E-``PQI^3$8p_f^xZvVe zl#Eb8AD9xUoD|WYgQ5dIn@uju^&hSXYL+qr>T|L( zAmAl9;HYXN2>BN12sDTJ2q}Sbv&3hF46+^Dnz-?~M|F}`y65k`gr!kTv5^1ZJit#5_u<7u>rX8ne#}xWBf$jld2i$s9dBL*;6|D0m7q-5CJC^eit7x z8U7NZq!h^w1uv4CQu4EUQ-?TX#tdw%to&G=^hiKhm)RpVD^&=IE9a$9j_(0Y=7blD z@_?7@5DX4IOHR#Ug76~(x`YJiWeHYG6-!3Xm1s)KDc2^M#kJ|8F&CtH=0^ubAD)PQ7@|{ zbh7SMp{WEj@V`=Cc3-8%)d%hoQ&)7NSDlHE0Ia8zqMFp4DE?pa3jmyOO99iYlCmFY z6q)RgdqhbRJi3#7uTI2WIM9X$A-)pZrH56dU`Y!M)BPLT1v@)Cs?K8`*8tC**M&)e zC09kfpQ~5W>+nl&U#;#g^N_jMPXhyvD>JJ%lB}t1sLqfEe6M*y3^-A7VpotaGH71r zJ53QrTQDIAazOtudgzhZ@3gx2wm53wERL5dLBzyJk#3hx3yB9DA(fl~3>F0KUB}Vn zB_v3JQE7fin-f?Y8)XiX3X`${Cb17B7fE82AkVXeP9%_8IV-8q`v=WE>L@ z{%Zb|#vG{6F}nmP%`uYJb*@7S0K*2+2l;rD?G@>?aOjrj&VVD+5hV!GO51#gFLz4; za*%p~lni1JN9JXmAAb{lL0&(^6%2>gyTLk#We&x%_v=``9+)VmUkb4od;cBDFhWeZ z&?+)_79Lav6F`5XDtdi@69?eR?`RJm86MimD{d+S{Y%HNB9X3e7HL|2#2eQzZC&Hi;*LLy>;7Z4gjXDOP|aZ95Cioo$Q6O2SLbIp{72q4k{@N`Ee>Vat}Gg(GPKDzv^OqFziL`Z_; zgpjL~-{MJ_yUQi(#oU~kMs4Ow!i~EZMWsCkGRGX`=v0USVt#2N^y;m3n$1% zsH-KyD0YD{eO#Q-tL89rIvU!k;?*;e+1cTc17v{hAK$$Bk3p7nNNAj}F2Pg^7Gzl_ zW^(^Ux(~F^+(8Sdh!4|pZe_)V3N~D2nb-A}41|=X1fYqQGGov)vQ}3q*oxRi zPvx$W3WiHfS`;JwAd}z&<^&=wBTA%rV8#zLA25<^Y%!o2iE0hD_32H#gZc@LmcSu2 zOOtzY?OIcLr(*NeGeSd=(;WkSzSOUtxpS(kOIpKvAGf;jl@IwkXXcltiZ~z z>j_O@!(8wLg#`nVK4S1D>0rG;MwMaFbpOj*K7 z5cisp%m7x%!g=Q>YmU*O-_fKiV~ezD9G$k+3ncKj;M0I42KKI!reh2q;#KTl9{ebnkZyVdpyboM zx3c#OX8yh{TvSz|WMut}8?B#=-@{`fZQUhOh7OwA|Z?A7ciputMiydizBy8rZSu=fE-|^)3(v5v(HPWRWR)- zzXv+a#h6B^kr1&azQ8qfc4j)2a3Bld29UGPYl@f2bWl14TugR+`>sI{=BoJGng`}W ze@aOz561qh$_n829YB54Pg=EWkybyJ;|gzR`u$RsWUHj*hcF_}Z%H()%0A$Pcwc8L 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%0A}2*p$cEH#A|Y4(so)$q3V?C_ z79bKB(t&CYgOwNb5L;j+WiAOVioI=I^g6GtIpW!npDPkc+x@oTGge2 zXSwI{grmhTOA;oh4VTI`y@q~rHed+n--d}iGDSyZHE2}XYE`seuCFMZ!GSE-q`B?N zkt{HLE+GxNpg2n9$doNsDX>+M%hAIJJ-L(%r8b~AhT*8id}yMoxFVnK7*2+O`>m@t z+B-{Spb;!8BoP|Wr{wkgV5#}3t>O%O4w9n%f2oRfGncb0)pvyc`MpAg#a0?cw0hCO z(u**&d$uLKJjzxlp+$n=+8BWpk5LTtKdAmxP75*0cRY0R`DgW+vN5h^l7yu)zWX;2zZht;d4`0)B@F{zg~Fa8K~A8g1h zEYR+2mCC;J-u*JZZmHBuS)BVo%V89iVHACnT-#qN=eg literal 0 HcmV?d00001 diff --git a/locale/sk/LC_MESSAGES/django.mo b/locale/sk/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e2130fdb5e8cf4840ebfee16d13656426986eae7 GIT binary patch literal 15082 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 literal 0 HcmV?d00001 diff --git a/locale/sk_SK/LC_MESSAGES/djangojs.mo b/locale/sk_SK/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..8829fe2acb2bbbbbbe8d0a1866d3ee0d7ca79dd6 GIT binary patch literal 3385 zcma)+U2I%O700JgXxX&1gs&2yol=_EZFkpp6L8jX!p0wsYp=cXCMohmtJ!|m2240^8TgCVW zSi$$RARcxZFPi^R!B@b$@I3_Y1FwRg2Hytn27d|C`rm-}fVV(e|3~l;_}Ak5@8GBK zeFqjF1`mOEf)9e2Vvm3igX6{cGDv!wARhMZV*EJ}M`R)Rd2kE-4EUX5{s$o0eHkQs zuYsiJ4Uqi(8Ax{D0cqbaK#JRMK|0s_AnpG*Nb5@2TmtU{9|VsS-zP!xdmbdcPlM!7 z3naY?{1W(LF@FUle_jPi-%mk`=UX5imf}VBeg)nSz6;X&_dvM9{sNM{4?yzsLy+$E zE*PhMhrplTfxRH6*t^(F`)}bzcK!g;_y^!5_z#fuJppG({}f2)I0@3av*2gJr$O@P zSrA*8Ddq3s>LeLn(3#@{F2Fd;d*n}>72qgQD zfuwH=r2C!*zW~mF6xVf-&K-fI?|G2)zf|zMAo+C#q;;=?bT2;!kAT;}EY2Y9e-EVn ze*rKVI-ONPe9IzX+~^p943+G4Mr@^!^0A7ra({ry%A1??5`=pFr~O zeUR*b2$G$Wqk3*M!7(Z&ic))m)qw>|LY*thbJLr2;JqVk^dB{#~|d}3}n=1i_R1{F&YHvF6bVg zfKc2{Lg<`y_Y_a60n{iaUxQFg=)a>@h0xs{gHSB#KX?d2jdF+@#p=rts)y80<;d=a z^5z?mamXVO%Bx2qS*wR3gGhS!ly^ywS%z?@AeSc$Ez;gvzsp9u~4iykuD6%}Bxw z4>~gF!hOlL^xMXED{K)9*rJI-X&uW9J9bV+Fl`J+&I@XZAHfe5{P;Dy2c~$ge_Tq@4mCq+QNm$88T*o9) z$hGlY=^#o%$&Xc!<&$G3i-3s6*{a;;xrG7xFL<_Uc(1UtrlUa~4Z&k+l?l1o964HJ zYZwz0NypZe4xWg(Mj5+br~D$%MG`s!t&W<%azZY8ZR~1%Ik2K%$1Ra zvc{(-CQpQZb=~J$%hmBxW2v!l`(TrmiPD@wYHD~kh~c_N5>(?zC_RG|7uHEXd*S?IdHVJ` zGPfyhc|ixrM7>qx({1Gse6I1#R;d{!Rz&4RV|%W~b)0>=+2b=j@6L{C{wSa1v$K4H zA3e%7^(Ofld|~-VrcTfDseI9?S$-UgCJz=pO#9F9sTzNBe5Qo^Q=!;@on4H~{!OXV z8+kdx|7_DC!milG{h{<-!&+W)r||Fi^ajUToHsz_;HIrjU+urneR>_0s;kxhO|63D zBjstsCi_DyW6N2Ag5H7eLq9eiY+?1TPtswe1rLz4qL!DbbhsnfMo;XJqXiMQBvv}f zzsc{Wi52qEgqA#VUg0Dto9WQvSB;I9K_?ydp(6Vy)3>Zj7}YD}3e+}Gu1r52azUE} zo9hhP0@ceJm+tmp4cBf>lw87zW7I@sJ$_2wMM$Jq71m0xw^5-GPPunk=`Mbs%)tRX z>Y3nnO@oPmbaR*ec>?p~8u=ARI=%j1-etwDX&maP#t<$TOd_+svgU6=rLH%-Se}N2g9u7V{dp79#wVA1H1+>fq99Y$H?>)dId!nM|*a>g1|)G5(ysmb{Z4 KF{_kXvHt+(+&V`9 literal 0 HcmV?d00001 diff --git a/locale/sl/LC_MESSAGES/django.mo b/locale/sl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..5e29a5f8cb77cb4edf7aae8a7c01b63be4fa526f GIT binary patch literal 101645 zcmcef2Ygi3+OH>~h=3J4mQ7C}grcBQrGwHWAc6&lWRi>|nK&~6V(-VU*n8Jw@8_u4 z>#-es@8#IL$6oLAU+dj__Jp8*-~HV?KX#tg>%02en>W^5_0$BvlUGe7HiI|!OeD5! zpGZudBGW|T;bbDwT#`sU0tcWUUFDg9{m`EeC&0(x#&F&0M4}Vy3)h1~VRtwMj)V1Z zTX;R313!Yj;pkK%Q2}d=r^0FIAAmFAdNn@2D!2ps6JRBL1#Sr|YJL3EjkQqm9|SwV zlVMMI4jc^cg&V?e;JUC=o#*CoDEa}WuQ4u#TVQ@P%)l$)1#pwJH(w4nNB=V12YwGH z!R%f>-OFJq`uCy2S$k0;u?DPwo5F2jdsqoO!uhZrOqo6nJEPA-`8ybPg2%uv@N~Eq zyb8*GIaK~1fC}$LsPccu?0eUH{{!Lrn2&&K!<~#t*a7|Ca0c85t_B~4isvaP_ivi{ z7f|W{7M=}%fk(nK8WM@guv=pyF%RwqRlX0vjo{Bva?^!EResB%(mN2UUWOZ|!FA9t zfNQ}fNKqyZgsRt%VK2CLlh+S{L(tEMec_3)4Big6g73i!xXIq+9ZrU_KO8EY>!8Z@ zdAI@m2(ANvhwH+1vc5dJL$#YysQgcWYr?6<`EYggb#QIi1Qp&vQ2tJX3hyT4gHZW< z5vm;CH+}^rH@`r+@0#=V*B@?zemkgmD&a7=tMN3b_@0I;?+>8T`8!nj?ekt<)`eZr zcZISa0F~aMWfsf*9{dCl%x_{d#a!^gW=;s}!nShe5TE zDNy;Sgz~=xDxO22(s3k|yA$As@Jy(5U2nVtD%}r5mG?_#-erk5-xA9G0H}NnhYD|; z*-wK?|L#!b)&!Nl1EBJEoaxVlO8+%b`MVn`Uk}3#;J=~DAL``9Bwu9$Dr!tQ>gI2H@2fwRX@2ll)t`kV>lLW1$Tv#&l8~f;hUlI z`wUciUN*iB74Ao-{}!q|e}$@_RrdAe(;04!zN_hHLWQ%ySPPZT3{-mdG4qq4@_82Q z3NMEW_W`JUJ^>|XZ$s7R2T<<6gsPX{pvrO0{rtGLC6xJSD0!O>RbP9+P2eJ^{`GLE za()6T-|s->>mw-lpF^eNXVb5?eP~VW$JU|87v}p8}QNU7_Tl5o#WAAXL3w1lNbRLxum8nZE#)o-d&M{|1%rbr1CA z-xVsKJz!V34OBT)LWS1=mA*sZ7Vu1{db<@Wo_pZt@FBPv{0~$;mK@~mJ45+j4=SBy zP~|=r25=TsK5|g`J`HXOuZF76$D!hT9?IYAP;&VhRJp8oun)HHFCi=o>0b5QO({LQ-`3d_;gK-KffQ0cr8D*rFQdGKpE3Qj%J zhkp!Ix^9LluTS7MaMPpwJaiW9g}w!TwWGqyT4~KF$7OEZY0F~Y< zD0!}f?cmX7emv}q{$wbB7eJN!e0POPe=oQS90s3-!&2`FI$v4WESS@7^^1mr&_SoaD=IO{jEi2xUGPDqo{ve>fh> zf7a{|h04c?Q0?d+Q04zPTnl~))!u$L{RSudd45l*bk@NMa2f0iUxW&8l~cUCK2Yu! zL4|V)RQOjyrSA#2E_@ZL9zKKX!}h0o`REFj-ab%rw=E3dQmFDc6RN(hF!RTt(*3FN zXDGSqc$#kyU7+Nt50v>}sQ89MrDG;kc`Y>iTB!J&pyc&nxF$RfN}kU)^Gjg``Wv9+ z<1I7)5X#**P~rauFNN!z?%n+ps=vAmDxRO9khMj3@ZNTp!~lI z72aFMFU>r0mJeq&DE}KlrK>lTybXjZpV?6U=bQar#ynJh4uH!45m50hgUZKgQ0cw~ zc7gXn)z=G9>Hh$h!ylpI?|rsU_YkP?MnKieB&dAPflA*VQ2DMi=FR>fxE|(5L5(lx zK!y7%l>3jN^6{Oq{W(6o4Wa5YfSbVn#!1E`boBt$4;=&*-l1?1JORqzy-?x53O9zI zK&5}xbAA7^9#pwj7-vDnyBMlH9txGuOQFi=TG$=l1C{T0q0;dgRQ-MpRn9*`mDf7w zdHb$V`3|7!Zva$14S}kMkx=Q{2`V28pwhnxDm{lAPl9rPK70w@1pC8d&-YvomA((* z7O>L=$TaK=mELNo`fr3v-=R?99}kuOvyB%)mD?3i>AlT(H&nVFg!1<$l>Mhr<@7a_ zJpBwegPkw*?Y#^t|D$17INkJnLG=qQQ1!D6D&1GY&EX?Z{ly2yU!n5R z)HoW-{mxM3SPxasOQG_6kntF(`aBIvJ}-xoo7t5m64@%A^K*`x`sB&$BYBz^KrSmi>f0w`x@Ghuw z{ui7MUx$5Q`ISEZv!UdAS1AAWQ2E;jD*QvB@^cDQd0hb&-}O-b9)Oao=b_5uZ7Ba= zLHYj?Dm|U9^77mZu7-XDR5)Xy^0hNmJSnJj?*kRip-|x-0~P<-Z~(jrN=}}EYOh~H zrT75EYVZSR>e^3jR&%>bV=RCMBTn?4~$BnN+$;+p3UHFyh+ui8(9bjk7H-*Yy zAE^9HfK_lh+zZ|am9Ncj^7HCa=;{$FpY>4Xy4duGoBjl-e&sxXH1uMJgREoOdz@o=d09t)Mulc4(73*jE{9;kZU@}Iu{+vgT9_g6#Z<2k5& zzX=uo7f|W?2Cff(feL@!TRk^|%Gc&l`RoHFZxvAGIl}anQ29>6F0cW1BpnAs`8)PD zKi@tXZiN00sB(A?N)Eq*lAraLClcGkfiMU6hRyIjsBm|^J(1WGW?(n?6x;@W4Y!4T z@9^?d1=Zgi3{^gtLFMm3xG8)EO3uE8+rch(dUw;H(pL}r!NXuLcs<+rO;GZ7n3gOT2G5i#&-d20ar*{xk{-(gbuom79PlC$V z^ndyOYcHs94>SGQZ~*#$K*`5@Q1Z3q!@gd3fw!PP5thTrkN9*n!#&ZT4NKuKa5U`o zsE;QFw<;muFu?q#$NV_;96TBQ$M7V0z~er?b^q<`PI@bS)vO5a&93IApKvM0T}ouTCAFn9vI1uCDDob>WF{9e5F3 z58ecO!-wE%@H5yG{ugclH-65~(<-3kwc7Oi!7k`;G(H3+udl!W{stuvTR!jQU^rC# zv*4Pr8Y;b6)9(Y zYm6nZ|Lg3z!?R!uJn#)apZO7PgTDGrAO1PU``}E>KZHBM?cVa^`!R4&^dG}UxZ~T* zP2qBwhSl$Q^C#dm^dsN(F0Ry-QD&NP#KJZ4^ z6TSksfWO0maEtf6yBSdR(hOyP9-Ig7gcWe3_kH{mq2!|p_J$`zrEfWuzh~i=@M|~$ zuJ?iOk9UF69|?DdPry;I{6p`45mb2|16AMm8()T-qW=QUfE_w~Z( zda7wgo(x?_rtZ|Ls0ecJXAREL5&+Q$Z z7oM9y*$;wi!QoKtZ3n1wtb>xX98@~@G5!t8-zo6s6512I5mtWX+gtnp`uZt{gK#$! zj)#XpmH)q>^7ESMKZI&8zryX|h;LYn!u??-ya$ei>woL}omp@W`b*%B@FzGGPW;Zx z$;nXt<>OH8yyy469UcG`|9Nmjc$4u_sB(N8_Ji-k{&2k?yu0n;2I%KPwX+7e9XtrG z4VOd7`J*s^@53xy{YU0Na39zkZuXP!r^dk}(APnVE%60Zd|yGy-IhQ5erN}%`fq>% zY&QLAQ1x>jR6D!^Dt*^M)#HQ4=b+^CU8ws1#`Nuf@%6b8l)s*)9|qNbO@a#NQZv69 zs@(2{3hxEu2gV%c?B|Hh1!EW#lI2gVG%i+2uB~Cs^ z!L86YLD^pdw}mglp>Um5N}N1Sg4>`!8p{8DunYVGs(jkDD{=YW*jNgc?`>fpILh=j zW?v7LkNu$9*^yA;od7q37sIab9;kA7&Ger`)mz6^OI-c~sCX*iCU9%G5u6ScZVgnq zG(gGIL2x^GBpeCvg8@veR^rCDZcybn2C95_gi7Z;sCZIP{nR2TImttXe<%##X|M;p z1#Svog>v^Dlw7RV-p8{6R6d6oXF=sR0~P);a3VYfD*RWW^7A=Vy1q4iyVZTVI>Ie5 zUk56_0Z?)=3M$_-pu(LCRbP9Wc{5bG?+?|_ErW{hJQ%D!n&D_1||w$^Cs$>3+rd3G9jf7pQc0>+IXlFsO9SH0}l!ZXHy4H<|tb;}KBt z91kTAC&NDQJkvh}<^O4@biHhR2P*%cK*{g#Q2A-Urq9pDQ01{5l)Q{H{Vq`M7n(i| zRX#bWd>#R}gy%t(^IcH!JO&m1n^5KV6`TV*tySX2y(Cn)OQG8Hfl&E99I8A{h6?9= zI2hgp72f-B0Q>>g!qT<9oSX<1&IQKHp!%n)q0)69R63r7DzA^A!drJ8&mK_qH3XK! ziBS2%drCDfAw{J{9Ryxz6@%--@%wP`=wCv91m4* z*FxpvpHThC9mZFo>iZ|CbgZ_X55F^1`|1vrp7Buqz-+iVY%=}v#w(%Z;vuMTo`kB; z7hqrb5tMwc-^I7f{!sDm097t?pxVVD#>=7V=LuK}OV;=73(L?~LgjmZsQjD)N5h+- z!uu~A4}%T7zZ6tDj)$tJ+h7HJ8xDu-Z0PH8DpbAH!2WPwsQ9jc>Q|nHl9SKj7`Vko zC2n4~C+vs*LMV6thDy(eQ1wu{aY%A!hvu(R6L(R$ziuGy!-x8@-YWWPE%0wo`sT!L!rw1Sg8K z9_|J|f@)V2xAfc%YMzpX%I{TX{vni{{00?%&%lS*A8Onm4adP2I04=XyTW$eeE+s3 zRDaMDN=^qurF%Q5d`yI^z@4Gwa~_mDR716+7O40SHvQkB%HujHdA}Vh|4+bC@J*<8 zv_*F>PuoMKyAdk9B~bNvAe5Zk09S)gL#6LUsD9uL(|-q5AHPERujt`96smkj!8PDC zsCF|KD!hZB%Has8_%4D9|2e4iyb4tx|AET?5AZ$sGkgHP-LoWdAH1xWm-lpUpWiE? z!oL%${O&jNXQ9gBeW-H$9x7d{^zr%Z3{`IBa83=}_1UE`ut^TcG6f zWvKXmgKBSUm3n;{oQ{4wH~=0AC&62x+IynR`yT*jqMZ#@o|i&}^8!@A^A%Kjd-nC^ zQUTT9jD;%4c~Iru4Ark42Gx$wg}vc(Q0e~}c86>9^Yg}XDD#<6a<>Om`7eT!|2&ku z9Sv1J=R>9IDzkqGs=Qujn`WHi$;~`M_JQgawr$WX5 zcc}E-0+o)tP5&sAd_Du^?q$<|1Qp(wP~rV#=IsXfe0PN9m~RZ_e*#qaQ=!72ZCn6V zpL;=te=tDj$=f(mw|(KYKu>w+gEMo1x@tKd5>*3@U%;nEf?S{mji!<+mKF zKYJ9a{691EU!c}oowxP%Uj|j5+d$2aXBzi{lJ~=)1ipwg2b>CKOYJcFCH>iB}812h>K9s!Fz*5)@ zRbJ;omEWDl_n^|f=Jvil4uaCpg{s$mq0)IQRQX+IyaP%;pMk2kccA3|H>h&!G^Qj` z4g161@Fb{w-3FEJ`=I*K=b+@`BdGYkh0169u|A)hK(&(|Q27}SWxoTI9PJJj@7_@1 z9st#^oM`+fRC{|3%Kd+!{Qm%zpHAa^Id_99=K)aR424SXWT^S@PEh4{yxCs^mH)e; z>f=eMa(WpmJ^zJDZ(_WUe{HyS3H=5PFzz#QIp`NoqQ61^J5=~( zQ+#^2Gfss8<_n7__lxtP%JXojdOOp2C6wIWZuXBrwUgJO`isO=D|e`Vt{YT+^nog` zVNm|3K$ZVosCf2-D(5^L1P_49$Mt4@tLg89GckYE^j)WUcRirWsUK9iOfmCaq4HG) z4~0!o@qPmp->*<|vHEn+wV?8`0aSPatbwE8Wa{lwsBz@;8NQr0o9XLu5>!6sLWRG` zn1>o)_c#5y#>=4kv+JPZe;6v>C!y;76{zz1*0}0U-hCIi8R;m8@;7CcUw_Vol8?in z!aW-*{Wn9^`!jGP{2cBL%PULVJ)HBP>UYE0C5bm-AE^Fe^*O%3=?90QUkH`1bD`?z zR;X}4hORyD?AymCQ0}&ZgW+_jbQ}!T&d-PC@D`|e{sT46b(rhRuNRblJJ=2G3>D8( zxE(wN4u?-bx$C%#kEaim9L|So$NR&r;W<$K#nVvkzlUSt`twTMeU-Uz7xbUNqv81Z zKD|#ux%&)`fdgs8%1;(5|Cd75_lr>S_6eK>e}w^@u$xbR4OG1x3FZELsC3)})vrGV zmCtWs05{s*m;1I*<{7B`EQ89&^-%5N1*rOe1F9c+52{?hHT&*+cz1oF(l;1tzA_&6 zhEvSE3GR;m5U6(f7R zCG3Yn$y+|<{hb7lMSmGQ4{lZC{XGMf?saOte2s%Dp9N6;Ry9<4?*-?>6X7WM36xy* zt@G_}0o)7y$*>>%4a!~Lv>#W}@O<=_!7*^+UM23H(UDN~_c>ezehXEuKfv2yr$r_1 zUdDs41^u{sUq5$3#rGJT0EagCaQ1_$ze7#G460q90VOY2K$Y7KQ1bAs@ja+`zlZAA zIyU-p*cJ{%KN1G85mv$zpxXDlQ04F&RQud2Q_F5ec|tL80?$(@|!X) zf-2X&p~~|hD7iZaj(``#$?z?x^p-XI@V0@<|3avCu@owt{h`u-EYv*WG^qNz$ao`^ zyZfNZ^=T;ieg~%Ddr;}vaj~Db*1`((Cqm`tZm4$o0z43|vBb}}kAioie-2&=Pg+`% z*bk0uDM@?|m&0Z7ihaEK@O}M$@vTt(%@0uhUibY<+7cp9Mk_tT;Bc{5c1^pu&u2bGRh4)*0- z22~HUVJTb&CEv@T+T$CrJM4Uj*AIY_o84g*Tx{mAK>6=*s87!zsPxQ$lHV5Nab|xZ z+#d70;Z`tlm@nt8VI|rF;c)mYR6ASyaKG*w03{bWsP=pmRJ~mY)lc3E)h~59!l!2* z+z0(3upRsrt_Dl~=D9jlJ6#j1-E0UYpFN=Dy|0-Mfs&`OQ1Vr2_6wofRRdH$o1x-4 z3Q8`IGy8L)!n+hIzU!gVaU0Y)b~jYGZ$P#4&!Fb}i6ebIZVDC8P`Cyh1(ol~Q0ZL& z6<>|nFNO;LAgFkcfa))nLABFoq56%rj`HnpC{((}L%E-3`dy&PISG}%7O3(+5-OeN zLB(?eRJv|~3g=!}4IhOnw*g1{{$+cp@|k7a8OnY>RC`_o1Goe#+%urs|9S9BcrjGE zPdUb?^A4zV{0l0buRz8BHB@?kHhsrqef(XZ;_n4jo@G$(2f-3J%LZ z-*chbRRdJ{9|e`~3!vh=5~{zv4XPYpgsPu+pycZ#<9AU0+8yWP?M>uYsiWfeD$hYY z|5k$drAWw@B>D}nO?;2}U}b{eL-?7C{y*qP^PGwL8=hZLtNc_pvy~D1y=nd~#^267 zeXyH^-B$Sdo7p`oa~}P=!Mm|5fm`zgsP)?zfB!+fR2q0c&k)QmgnL+g`{RB9YPzn( zMX0alc?aiN%+5!xU!$?F#l1P~g8REMpAFxG>Q@<_68G|SML!V#x0}CZxW628{k|}c zfHN!&>%uE=b3D%%JXe{UiI`XOFda|)fZuJf3xEGX@jT`i!sBssy;-bDoUh<+vFTrf zH(5FmGxs}&zgOXAN7Ku2d-T7+Ww?DCb)M%A^i#}@`rq(36-AQg9G*G2J09M{6aGe$ zo_8(IJiHV)`i;VTUDP+5en<2ZQ2#_6|HXb7Zr_BL$}zw1c>a$4W9D9Fcj*tmukh1| z`4^~XIg`SlV+kk8b8^hz?O5-Jek9K)_}#{wpKrX(I0b*zxM|OG1nKL=qu*IPA7WPv zH^%=zcrL=tLhQeXeX)BLvn}B1xH-Z6orIl!|HZsF>OGx~aB-`?q5|H?vmSQW@tlm= z#&BcYZ;JUXsK@b~g82h*G2woM`YhDXCz>v`It{*17;Gk0=( z1J6>-r(<5ulR^I#_V2?B(0_xv2W*cU{g$IX9kVg0zecTJ4bNsy#XQH{eQb6b>SVE&5za=cPdP{ zn}vG``mPqYoTYhw$Lv*0*LWG)Zx(+3iQO8wKO1)7>1}ozKX>FAgIVj}KVt^ZVn2>> z)GsgOsk3dv^S!tMjiMxeeKv$61X zcsJB9i~a7X|G{$)=1=pm6i(c3_8IK;JCQJ_^Sp=M;qU?YEpEQ!`N-V{;pbD-_u%Gu9{rjz zdzR-po~`lM!1F6^^c&6dU(^je2crI2hW2|6_u=ntbH6KLzJmHm><+Q;<)#z*u9!aq ztIh3X%$X7=uE*VY%;%zC1V80@l;<<_`(js$`Ze=|k-J0twG{Td9{b@u?RfNi-Xk#y zzoRS-AK;&5UgF>AHCKHDx5LP1hG#V9OiA5uPxSHMc+7V)yR(g};`c@i_d4Ss%*uJn zOs_CHSXjGaUXQwu`QHou(>%YK+hM5ZU^kZMYSi)HJ{HC)n0H1!F=k(h!{L}s#%vY* zZfb7j|3jXwq~P~D&raCAgqyojCviWWXDaazweX(7?oyr>OH+5u_mgLSn`1VQrxA5~ zo;if|y}3IDKb!EBVm<{wCt|*jh4~`p*P_1x&V^cQT#nt@JU3yc-+`z%<2eoWzL*Un z>~rC>=}PI2 z#azK(#N*aj^1$yto(HiDf9Ik;5r;qXTxEv;B%Eo4)6vqm0s1D?3wWMG-3Pu4ci`!b zyIpw3V73k%LU?Bq&TPo?&h3NGgW>NH+5H2!F&hE(dw{1q=K3AUb0%(AHT@Q-&qDo)#rZt`u0%Zz z4#(~L=I#mj7-npfxZjTEUYh=>_r$yc4&a$$@qX@|Mt@hue1`e|4QjvR$5=Qoo88*R zqlqtzeSbL6+#QE{UF`pjej~Ua`dtX;EVw+13E3d7$1NNg&&K_exH$&%M=}2iv+0m+ zyTn60FZRC%Y=JA=3RIyP;1Sp-_NM^ zn@f6oVz*f={9f3dirqb!|HPx;V9eg;xe|9x_=*2k!_Beg|3!1Z6>cld-2m*4H1pjt ztHkad^gqEN1au0#i|1L~t%?2b@OAW$@Z_;y53>=d_r}ju3un2-*9r4Cc&@=+H_UcK zeIUV4;dL(uoasQBoi#9O?^VKoa?@;(O{0DqTW)^M- z+>Aqg2}ZkNem49Z9!EIcQR}xa>en#qX@2(d#?jxkuwS2W_QuU&Jo2br{Tl+KMM5{bN4fDnoNBW>Pdw2FYJ3_ru~V-EDV&1 zdog$fq_h1hRO7&R8o&e*Mo`U9SAaK8}V=v*^*x3I2(>zezi7S_MeAA>QKfV=a|t{l4uP@jj{FrI^W zs&M=Zd=Z+n#9JtaV|Enozcs^GU~is@xcfVHGfB%nW_K{|c0>QB>A%6v2|O3`JjbJ7 zSL~0*-2tda!*1|4!dc4mICcr1r9Axz<1Mtmp#BK;FJT_fs@_#-joR4vH25iFUG5C_j{SoT$ zHw!nbo4y*uMP{)(ZrA21$LVU z_d@*)PbGT&((pjc_1gpUTX`-atoz}~uoNDO{TbMop???m*P=chwSGgfn`!FFxb5$a z6Ftmq2JY9#>_ndZaeDyIrMMf4{hgR?z|&3UxZ45sC)h1Re;4``Zmxy;U2EZ;ivC;l zOVHm8m*W0PxGjG4d%@gI@Y=*R*z0!-+<+&IyCoLp+VBe8?~eUx@GI>1NBtJ+Z+Yr@ zl05fW7z$?x{B*atq;LIu41=LD_uHesgD`6Fa~VwGzcXfETN+Nn{C877ZvHk!zX|GU zp1j3%vD~1aPZ;_wYL$kYFk2n7@whpMN55_0=D42;XQN*gb|9RSFniF#c?uqk`TIP3 zV7G_!>HmBM0?a1i<}RN3xCwvriK{bar(wSl>Z4JwZD~3evz|DVb~~Pz(BHu`5&r?t zgQ(Ym3wUbq7yjNr-N!T?LqmA1sb7I76X-4QZ#r+88W+2}c!94k@s!KN35|n&ZWg2Vh(^dIkNjhH_ zq>@#2L54uGeR37Slt#i!=YpzaE>#{>rjjnuC7I^>>R?eS)#TH#IF-$%GmSxWqYt;b zJXlhv*mKFnsiI`|3CwLSNalj>QPc`H*S#VbQ%H@B`s9K}WyR&tB`=-FXLG(TL-K-D zLo!_-B&(~lsa&o+XsU0{x$IXpXS1nBa!!WJgH%OrMUYSB@)h}|`Jhw*Zl7A3Y-p-a zRa9jfg24j^ZPkC!!2SaV^&dE}|DeJB2X9?g(Q%DLK)xF@`5@Qa)Rf8QQ`Hs0L}euaXMxzA@ZL47h?OTCP#ug@$= zRZ}HP(+$lHK`y;dN=XJ>n@{YeKwV>ZVA$jL2WkE+!XXGbu6RC zMkIr}Y^r7?K16(s+BuzCGGah-6rp(k%2hI0oUBh*yYfx+2&SeNW|N3gF43zr*^p^& z%$MZ?qOA8u)ybAzS#1zw7#0v}7)GuxnI#ActhuQ^ldKNv(~XM)LX+sX_E{m1OO@UL%OjU`NE-BnbX$Bq4Qh{ zv9FeMuQKPYjYH?nxm1?C)zMzUV)0E|1z8={cb~An`;6*Us;pbNs^YEWR8Vb&R`2S* z#fid70+jImVSsJbdQttxB5%uWCR>|qOz)G-s~q>QsG7y+wi^YG>;iCnHjsY>SNY*<`LRQ93K->o1cH8ZwKi$eJvD5gD(q zUeJ`x*OleU5~cLs>Ou0DyBcUp=5k9i+3E$z)`I#}W3Ak&GtZJnqQXnq_mR*jmoa1O zele+`i0KEyAj=YiD(K+rQw#*jpgNsfgjF`5b`?U&D*dUTK2w#fkH&%OWImY~Ov|cv zZ8cd{rH&)96#=z0RuPOzR$}Xlpmau)f=bqx1>@+w@^puhb*#@)y)J0Z)~ny5Ct6Gl z*#%Ydkf9YgVOC3MZX#|9jrvT}G@Y}kDNz09u~k4mfQrP3T$B2V>XF@>s%!c;QUBdX zji^s9Ow|XJ3Z|I!Z)|Q@n96n^H51K<0nT<*Fe2U9)QrTnG^Iv%Hy1vjm>2b|&Dam> zt`0#QHDZACI4T$r#3DC8WOc*lCALC8vBBNlO6JN4K9rh&} z85tBClGUl8sd*vu3yoG9y>qF2KHXTGL%bOFN~a@(X^q7VjMzlolFFC4aL9R%%9mR| zGwFfX>|zRn`cE=XXpj#TMq_G;x5|dI3);(K8U|TH5Yp5gLp=^9Ts|x}sj=yUZ}EvS z3p3PgLuy!JOjSOOL=kaCMTMpnZV+FROy|8-%7doCaEa{ep$$;iP8*D~KEs)7%HWNs zr6f>Z?OIq>b57F;B5^L0ZoF-Yv}=#A5H}bk!pI zNhiA|FqEX5(&m`ydEqw6mY}&brd%;2AbxaXe5TaVR;ROcS?XI|4fwxU*3cg!CdyeP zl*og1&MGR61xr#3H3unonoxGDGfNsZ>xeZ3q>Xk@h)Xh!ee#m*u$K?UA~j6ABa0ke zA3oh|H5LWgYoVvlN)Z1%ZB}?b(&E$=r@Rnvl%RRckuMzZL-acjcR`ua($*Y-B?IhQ-&dtA<7z%7ab+m zCaid?PuDgEQx$gUxO}#Lz_^C$epBgKocXMDZC%`AmMrS^_z48!gOZ*p8bQ6ujMyZ_ zo6PiG+f<~~8#sB>@PJkg)AuCQneS{gb}dY$8tJd-yMkzakg8hbo38aq6agiNq1CpU zfqG>N&=ytJ?#V9UXR~VGRgC{gd2?2k;1iQgHs)&7D2r#)G=?@u4{8|cW7T7daEj&S zE9jLAMkmJni6i8m^-j*sCTI(^u!h`U@kN?6D*S;{IuFD}OHwz(`vaG(2@xr^z;KEa zWNQ8-`S@|u92bFg2Y(pF;>@CyizBHHIcQ2{8`7>*|MR$%Ito*Rnf(4iG|i2^tF)r8 zMRXVsXrGnL8PZH9$7E}pH5h8Zqr>(qyMn1pQe*832FOiwbvnaeB CDl}L~w``02 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

f%cup9d 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�m>-?BzdEA(n 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 literal 0 HcmV?d00001 diff --git a/locale/sv/LC_MESSAGES/djangojs.mo b/locale/sv/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..6dd0ff800f255dd2467c67e4abb067ab1c0e7599 GIT binary patch literal 74413 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 literal 0 HcmV?d00001 diff --git a/locale/tr/LC_MESSAGES/djangojs.mo b/locale/tr/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..68a6522fa67df1d25b24a2d22da856aa40cf61cd GIT binary patch literal 34148 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 literal 0 HcmV?d00001 diff --git a/locale/uk/LC_MESSAGES/django.mo b/locale/uk/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..c55563baf36d2ad4cc9508b703c2dd733a8138e8 GIT binary patch literal 48554 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

;B$+yW`Km4#>&)IF%Q{Z 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 literal 0 HcmV?d00001 diff --git a/locale/uk/LC_MESSAGES/djangojs.mo b/locale/uk/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..e28dafbc61d0ba18acfe6bfe7cb595ad7d46fc47 GIT binary patch literal 19520 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 E0AZ7Z$N&HU literal 0 HcmV?d00001 diff --git a/locale/vi/LC_MESSAGES/djangojs.mo b/locale/vi/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..35d6354ebdcfc91d60000e2a28b375aa45403196 GIT binary patch literal 16698 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 RN&^5OMAPp@Gu2mv{{@m=l}7*o literal 0 HcmV?d00001 diff --git a/locale/zh_CN/LC_MESSAGES/djangojs.mo b/locale/zh_CN/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..448d07d6baf684fa5391db4808acf15c05ef16c9 GIT binary patch literal 86062 zcmd442Ygi3+P6JePyq{KZ)`yX6at7M1{+mSniM%!oFo$xNoL~A1PF*?M@7Zn0DDET zD@DcLd-v$Ek^t6YZ%2Kv|62FnGZO-Gp67kP-#0&Yu63{8``&!G`FfYc_@&p2#dd(V zw~xiXUq2Sx_aN!UVjGT+#dd)kL0K$_{*a8+A z_kkNA4}h{a6!wRsVQ+XD>;PYdL?iYS+z|c;ZVcCtd$xh{cV{Snx~qa<>OmI{TUaaJU)r;cy#x z98|ncg>pX&wt<(zE#YlY_8*1v?=`pu{KWKsf?FeRP#TME0^366OA%DQ?`iTND1U}R z<;&4f{!~DvXF62+&W4K51#n$>C6xVnQ2Bc+l)n!``S%=Dxc`Kk!kFv(eh+1Df4S}6OsnEriG<@6Bj4qu1rU)HVl{qM$5`O(ef zVyN;u3aXz?K-oVTDt+fbrT=oM^v#FLmqk$SUV!RH-h_((S5Wo6*(4i};2X$oq2l{J zRR8%KRQ+f>*~e!WsBpW%E#W>;=^6o*Z%0DKV-i$;oduPzSD1VYRJaSF>^%Y%&)1;B z{R}FepThvIJB6_i?gAyB0@eRt50%d!L%Cl8mCoOw`ki&_d^jDU{Ot<2f_uWP;UQ4& zN}=+(7OMTsfQt78#%rO%xf{yfA}If!gv$39pwj;?JQ6N5^8=^){`VlbE&8WGg*ylC z1@D8~z|UbPxb8IOP_PTs_3th& zeE!PJH=FML>kL&chr#_|0?PgMa7XwMR6PC(Ro?%Bst3(a^yzI0l}}qknRkTBpB`qu zuW>L`K97N0z;fd>I0$(*RQ|jJQ}A238;qai^=Col!%eU^d<3fg{tQ)*TF&s{wuVa2 z4p8N@J5;!PK;^>#sC+vTsywfOhrnB)^nZZGaG#TX{mMesr@Nur(_*N2JPQ^6$HpJb ze8W@xJZ3AXd^#8^ej}jj)mW(dQVx}G8K`)k3T5wXsCdnWa(}sTuIXO~mkpDUEy`6|0-1ee*oq0*HHQRJ5;~1(doXN+d|d5gN>z7?oNOKJP)dV z-3b++MNs}dW%BFB525Pc=TPbV5h}m_fbHSNXLx^m!1a*(L#2B#Tpx~uD%Yc7b9g*d zI;TLT`(&u_FN6wbp2@dD#rJ+Fd(S}m_pX_LX#5=ZLjNb&9d3wZpOW#^7jBU9}VTt5pYA8 zf(mDf$!9|OGaIViUuN>FQ10G=ivO2T<@~M5&Cd4yMsuk61yJ>^2W$Zkg39Mna3eV0 z3$2Y3qLdcXD1#AT;8&89Be}VBvD1R40 z#peYmf8K&}|2dTVU*X%Z`FXU1W~__guE@=1`~JBTl)t4=?PM~PzgNMH;T=%%Tmm

h{!saT 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 Xwj_IA@N!{_VA*>bnLxbupiKWC92L%2 literal 0 HcmV?d00001 diff --git a/locale/zh_TW/LC_MESSAGES/djangojs.mo b/locale/zh_TW/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..2e69e71ac0f3088faeb57875b4d582d9f88f78ef GIT binary patch literal 28850 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 XNmIS#V1B{l=$I4zCdrGSNzeZS+E)p! literal 0 HcmV?d00001 diff --git a/media/assets/css/bootstrap.min.css b/media/assets/css/bootstrap.min.css new file mode 100644 index 00000000000..13176351c2c --- /dev/null +++ b/media/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active{outline:0}a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,::after,::before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}@viewport{width:device-width}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#373a3c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #818a91}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}pre{margin-top:0;margin-bottom:1rem}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#818a91;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;line-height:inherit;border-radius:0}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.75rem}.h4{font-size:1.5rem}.h5{font-size:1.25rem}.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.dl-horizontal{margin-right:-1.875rem;margin-left:-1.875rem}.dl-horizontal::after{display:table;clear:both;content:""}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;line-height:1.5;color:#818a91}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid{display:block;max-width:100%;height:auto}.img-rounded{border-radius:.3rem}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:.25rem;line-height:1.5;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#818a91}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#333;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;line-height:1.5;color:#373a3c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container::after{display:table;clear:both;content:""}@media (min-width:544px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:940px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container-fluid::after{display:table;clear:both;content:""}.row{margin-right:-.9375rem;margin-left:-.9375rem}.row::after{display:table;clear:both;content:""}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:.9375rem;padding-left:.9375rem}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.333333%}.col-xs-2{width:16.666667%}.col-xs-3{width:25%}.col-xs-4{width:33.333333%}.col-xs-5{width:41.666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333%}.col-xs-8{width:66.666667%}.col-xs-9{width:75%}.col-xs-10{width:83.333333%}.col-xs-11{width:91.666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.333333%}.col-xs-pull-2{right:16.666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.333333%}.col-xs-pull-5{right:41.666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.333333%}.col-xs-pull-8{right:66.666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.333333%}.col-xs-pull-11{right:91.666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.333333%}.col-xs-push-2{left:16.666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.333333%}.col-xs-push-5{left:41.666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.333333%}.col-xs-push-8{left:66.666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.333333%}.col-xs-push-11{left:91.666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.333333%}.col-xs-offset-2{margin-left:16.666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333333%}.col-xs-offset-5{margin-left:41.666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333333%}.col-xs-offset-8{margin-left:66.666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333333%}.col-xs-offset-11{margin-left:91.666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:544px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.333333%}.col-sm-pull-2{right:16.666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.333333%}.col-sm-pull-5{right:41.666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333%}.col-sm-pull-8{right:66.666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.333333%}.col-sm-pull-11{right:91.666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.333333%}.col-sm-push-2{left:16.666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.333333%}.col-sm-push-5{left:41.666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333%}.col-sm-push-8{left:66.666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.333333%}.col-sm-push-11{left:91.666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.333333%}.col-sm-offset-2{margin-left:16.666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333333%}.col-sm-offset-5{margin-left:41.666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333%}.col-sm-offset-8{margin-left:66.666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333333%}.col-sm-offset-11{margin-left:91.666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333%}.col-md-pull-2{right:16.666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.333333%}.col-md-pull-5{right:41.666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333%}.col-md-pull-8{right:66.666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.333333%}.col-md-pull-11{right:91.666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333%}.col-md-push-2{left:16.666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.333333%}.col-md-push-5{left:41.666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333%}.col-md-push-8{left:66.666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.333333%}.col-md-push-11{left:91.666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333%}.col-md-offset-2{margin-left:16.666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333333%}.col-md-offset-5{margin-left:41.666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333%}.col-md-offset-8{margin-left:66.666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333333%}.col-md-offset-11{margin-left:91.666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:992px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333%}.col-lg-pull-2{right:16.666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.333333%}.col-lg-pull-5{right:41.666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333%}.col-lg-pull-8{right:66.666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.333333%}.col-lg-pull-11{right:91.666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333%}.col-lg-push-2{left:16.666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.333333%}.col-lg-push-5{left:41.666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333%}.col-lg-push-8{left:66.666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.333333%}.col-lg-push-11{left:91.666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333%}.col-lg-offset-2{margin-left:16.666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333333%}.col-lg-offset-5{margin-left:41.666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333%}.col-lg-offset-8{margin-left:66.666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333333%}.col-lg-offset-11{margin-left:91.666667%}.col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{float:left}.col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}.col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}.col-xl-pull-0{right:auto}.col-xl-pull-1{right:8.333333%}.col-xl-pull-2{right:16.666667%}.col-xl-pull-3{right:25%}.col-xl-pull-4{right:33.333333%}.col-xl-pull-5{right:41.666667%}.col-xl-pull-6{right:50%}.col-xl-pull-7{right:58.333333%}.col-xl-pull-8{right:66.666667%}.col-xl-pull-9{right:75%}.col-xl-pull-10{right:83.333333%}.col-xl-pull-11{right:91.666667%}.col-xl-pull-12{right:100%}.col-xl-push-0{left:auto}.col-xl-push-1{left:8.333333%}.col-xl-push-2{left:16.666667%}.col-xl-push-3{left:25%}.col-xl-push-4{left:33.333333%}.col-xl-push-5{left:41.666667%}.col-xl-push-6{left:50%}.col-xl-push-7{left:58.333333%}.col-xl-push-8{left:66.666667%}.col-xl-push-9{left:75%}.col-xl-push-10{left:83.333333%}.col-xl-push-11{left:91.666667%}.col-xl-push-12{left:100%}.col-xl-offset-0{margin-left:0}.col-xl-offset-1{margin-left:8.333333%}.col-xl-offset-2{margin-left:16.666667%}.col-xl-offset-3{margin-left:25%}.col-xl-offset-4{margin-left:33.333333%}.col-xl-offset-5{margin-left:41.666667%}.col-xl-offset-6{margin-left:50%}.col-xl-offset-7{margin-left:58.333333%}.col-xl-offset-8{margin-left:66.666667%}.col-xl-offset-9{margin-left:75%}.col-xl-offset-10{margin-left:83.333333%}.col-xl-offset-11{margin-left:91.666667%}.col-xl-offset-12{margin-left:100%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;line-height:1.5;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover tbody tr:hover{background-color:#f5f5f5}.table-active,.table-active>td,.table-active>th{background-color:#f5f5f5}.table-hover .table-active:hover{background-color:#e8e8e8}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e8e8e8}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.table-responsive{display:block;width:100%;min-height:.01%;overflow-x:auto}.thead-inverse th{color:#fff;background-color:#373a3c}.thead-default th{color:#55595c;background-color:#eceeef}.table-inverse{color:#eceeef;background-color:#373a3c}.table-inverse.table-bordered{border:0}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#55595c}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #eceeef;border-left:1px solid #eceeef}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #eceeef}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #eceeef}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #eceeef}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#55595c;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:.25rem}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{border-color:#66afe9;outline:0}.form-control::-webkit-input-placeholder{color:#999;opacity:1}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999;opacity:1}.form-control::placeholder{color:#999;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}.form-control-file,.form-control-range{display:block}.form-control-label{padding:.375rem .75rem;margin-bottom:0}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:2.25rem}.input-group-sm input[type=date].form-control,.input-group-sm input[type=time].form-control,.input-group-sm input[type=datetime-local].form-control,.input-group-sm input[type=month].form-control,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:1.8625rem}.input-group-lg input[type=date].form-control,.input-group-lg input[type=time].form-control,.input-group-lg input[type=datetime-local].form-control,.input-group-lg input[type=month].form-control,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:3.166667rem}}.form-control-static{min-height:2.25rem;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.275rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.form-group{margin-bottom:1rem}.checkbox,.radio{position:relative;display:block;margin-bottom:.75rem}.checkbox label,.radio label{padding-left:1.25rem;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox label input:only-child,.radio label input:only-child{position:static}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.checkbox+.checkbox,.radio+.radio{margin-top:-.25rem}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:.75rem}input[type=checkbox].disabled,input[type=checkbox]:disabled,input[type=radio].disabled,input[type=radio]:disabled{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label{cursor:not-allowed}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.4625rem 1.4625rem;background-size:1.4625rem 1.4625rem}.has-success .checkbox,.has-success .checkbox-inline,.has-success .form-control-label,.has-success .radio,.has-success .radio-inline,.has-success .text-help,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-feedback{color:#5cb85c}.has-success .form-control-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==)}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .form-control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning .text-help,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-feedback{color:#f0ad4e}.has-warning .form-control-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+)}.has-danger .checkbox,.has-danger .checkbox-inline,.has-danger .form-control-label,.has-danger .radio,.has-danger .radio-inline,.has-danger .text-help,.has-danger.checkbox label,.has-danger.checkbox-inline label,.has-danger.radio label,.has-danger.radio-inline label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-feedback{color:#d9534f}.has-danger .form-control-danger{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4=)}@media (min-width:544px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;padding:.375rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:.25rem}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{text-decoration:none}.btn.focus{text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#014682;border-color:#01315a}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary:disabled.focus,.btn-primary:disabled:focus{background-color:#0275d8;border-color:#0275d8}.btn-primary.disabled:hover,.btn-primary:disabled:hover{background-color:#0275d8;border-color:#0275d8}.btn-secondary{color:#373a3c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:#373a3c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus{background-color:#fff;border-color:#ccc}.btn-secondary.disabled:hover,.btn-secondary:disabled:hover{background-color:#fff;border-color:#ccc}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1f7e9a}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info:disabled.focus,.btn-info:disabled:focus{background-color:#5bc0de;border-color:#5bc0de}.btn-info.disabled:hover,.btn-info:disabled:hover{background-color:#5bc0de;border-color:#5bc0de}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#2d672d}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success:disabled.focus,.btn-success:disabled:focus{background-color:#5cb85c;border-color:#5cb85c}.btn-success.disabled:hover,.btn-success:disabled:hover{background-color:#5cb85c;border-color:#5cb85c}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#b06d0f}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning:disabled.focus,.btn-warning:disabled:focus{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.disabled:hover,.btn-warning:disabled:hover{background-color:#f0ad4e;border-color:#f0ad4e}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#ac2925;border-color:#8b211e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger:disabled.focus,.btn-danger:disabled:focus{background-color:#d9534f;border-color:#d9534f}.btn-danger.disabled:hover,.btn-danger:disabled:hover{background-color:#d9534f;border-color:#d9534f}.btn-primary-outline{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-primary-outline.active,.btn-primary-outline.focus,.btn-primary-outline:active,.btn-primary-outline:focus,.open>.btn-primary-outline.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline.disabled.focus,.btn-primary-outline.disabled:focus,.btn-primary-outline:disabled.focus,.btn-primary-outline:disabled:focus{border-color:#43a7fd}.btn-primary-outline.disabled:hover,.btn-primary-outline:disabled:hover{border-color:#43a7fd}.btn-secondary-outline{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-secondary-outline.active,.btn-secondary-outline.focus,.btn-secondary-outline:active,.btn-secondary-outline:focus,.open>.btn-secondary-outline.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline.disabled.focus,.btn-secondary-outline.disabled:focus,.btn-secondary-outline:disabled.focus,.btn-secondary-outline:disabled:focus{border-color:#fff}.btn-secondary-outline.disabled:hover,.btn-secondary-outline:disabled:hover{border-color:#fff}.btn-info-outline{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-info-outline.active,.btn-info-outline.focus,.btn-info-outline:active,.btn-info-outline:focus,.open>.btn-info-outline.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline.disabled.focus,.btn-info-outline.disabled:focus,.btn-info-outline:disabled.focus,.btn-info-outline:disabled:focus{border-color:#b0e1ef}.btn-info-outline.disabled:hover,.btn-info-outline:disabled:hover{border-color:#b0e1ef}.btn-success-outline{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-success-outline.active,.btn-success-outline.focus,.btn-success-outline:active,.btn-success-outline:focus,.open>.btn-success-outline.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline.disabled.focus,.btn-success-outline.disabled:focus,.btn-success-outline:disabled.focus,.btn-success-outline:disabled:focus{border-color:#a3d7a3}.btn-success-outline.disabled:hover,.btn-success-outline:disabled:hover{border-color:#a3d7a3}.btn-warning-outline{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-warning-outline.active,.btn-warning-outline.focus,.btn-warning-outline:active,.btn-warning-outline:focus,.open>.btn-warning-outline.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline.disabled.focus,.btn-warning-outline.disabled:focus,.btn-warning-outline:disabled.focus,.btn-warning-outline:disabled:focus{border-color:#f8d9ac}.btn-warning-outline.disabled:hover,.btn-warning-outline:disabled:hover{border-color:#f8d9ac}.btn-danger-outline{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-danger-outline.active,.btn-danger-outline.focus,.btn-danger-outline:active,.btn-danger-outline:focus,.open>.btn-danger-outline.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline.disabled.focus,.btn-danger-outline.disabled:focus,.btn-danger-outline:disabled.focus,.btn-danger-outline:disabled:focus{border-color:#eba5a3}.btn-danger-outline.disabled:hover,.btn-danger-outline:disabled:hover{border-color:#eba5a3}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:#818a91;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height;-o-transition-property:height;transition-property:height}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-right:.25rem;margin-left:.25rem;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:1rem;color:#373a3c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 20px;clear:both;font-weight:400;line-height:1.5;color:#373a3c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:#818a91}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:.875rem;line-height:1.5;color:#818a91;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar::after{display:table;clear:both;content:""}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group::after{display:table;clear:both;content:""}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:.25rem;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1;color:#55595c;text-align:center;background-color:#eceeef;border:1px solid #ccc;border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.275rem .75rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.25rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:last-child>.btn-group:active,.input-group-btn:last-child>.btn-group:focus,.input-group-btn:last-child>.btn-group:hover,.input-group-btn:last-child>.btn:active,.input-group-btn:last-child>.btn:focus,.input-group-btn:last-child>.btn:hover{z-index:3}.c-input{position:relative;display:inline;padding-left:1.5rem;color:#555;cursor:pointer}.c-input>input{position:absolute;z-index:-1;opacity:0}.c-input>input:checked~.c-indicator{color:#fff;background-color:#0074d9}.c-input>input:focus~.c-indicator{-webkit-box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9;box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.c-input>input:active~.c-indicator{color:#fff;background-color:#84c6ff}.c-input+.c-input{margin-left:1rem}.c-indicator{position:absolute;top:0;left:0;display:block;width:1rem;height:1rem;font-size:65%;line-height:1rem;color:#eee;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.c-checkbox .c-indicator{border-radius:.25rem}.c-checkbox input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=)}.c-checkbox input:indeterminate~.c-indicator{background-color:#0074d9;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K)}.c-radio .c-indicator{border-radius:50%}.c-radio input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==)}.c-inputs-stacked .c-input{display:inline}.c-inputs-stacked .c-input::after{display:block;margin-bottom:.25rem;content:""}.c-inputs-stacked .c-input+.c-input{margin-left:0}.c-select{display:inline-block;max-width:100%;-webkit-appearance:none;padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:#55595c;vertical-align:middle;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center;background-image:none\9;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid #ccc;-moz-appearance:none}.c-select:focus{border-color:#51a7e8;outline:0}.c-select::-ms-expand{opacity:0}.c-select-sm{padding-top:3px;padding-bottom:3px;font-size:12px}.c-select-sm:not([multiple]){height:26px;min-height:26px}.file{position:relative;display:inline-block;height:2.5rem;cursor:pointer}.file input{min-width:14rem;margin:0;filter:alpha(opacity=0);opacity:0}.file-custom{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ddd;border-radius:.25rem}.file-custom::after{content:"Choose file..."}.file-custom::before{position:absolute;top:-.075rem;right:-.075rem;bottom:-.075rem;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;content:"Browse";background-color:#eee;border:1px solid #ddd;border-radius:0 .25rem .25rem 0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#818a91}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:#818a91;cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs::after{display:table;clear:both;content:""}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-radius:.25rem .25rem 0 0}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:#818a91;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#55595c;background-color:#fff;border-color:#ddd #ddd transparent}.nav-pills::after{display:table;clear:both;content:""}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:.25rem}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0275d8}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;padding:.5rem 1rem}.navbar::after{display:table;clear:both;content:""}@media (min-width:544px){.navbar{border-radius:.25rem}}.navbar-full{z-index:1000}@media (min-width:544px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:544px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:544px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider::before{content:"\00a0"}.navbar-toggler{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}@media (min-width:544px){.navbar-toggleable-xs{display:block!important}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-nav .nav-item+.nav-item{margin-left:1rem}.navbar-light .navbar-brand{color:rgba(0,0,0,.8)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-divider{background-color:rgba(255,255,255,.075)}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border:1px solid #e5e5e5;border-radius:.25rem}.card-block{padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-radius:.25rem .25rem 0 0}.card>.list-group:last-child .list-group-item:last-child{border-radius:0 0 .25rem .25rem}.card-header{padding:.75rem 1.25rem;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5}.card-header:first-child{border-radius:.25rem .25rem 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.card-footer:last-child{border-radius:0 0 .25rem .25rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-primary-outline{background-color:transparent;border-color:#0275d8}.card-secondary-outline{background-color:transparent;border-color:#ccc}.card-info-outline{background-color:transparent;border-color:#5bc0de}.card-success-outline{background-color:transparent;border-color:#5cb85c}.card-warning-outline{background-color:transparent;border-color:#f0ad4e}.card-danger-outline{background-color:transparent;border-color:#d9534f}.card-inverse .card-footer,.card-inverse .card-header{border-bottom:1px solid rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote>footer,.card-inverse .card-link,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:.25rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-radius:.25rem .25rem 0 0}.card-img-bottom{border-radius:0 0 .25rem .25rem}@media (min-width:544px){.card-deck{display:table;table-layout:fixed;border-spacing:1.25rem 0}.card-deck .card{display:table-cell;width:1%;vertical-align:top}.card-deck-wrapper{margin-right:-1.25rem;margin-left:-1.25rem}}@media (min-width:544px){.card-group{display:table;width:100%;table-layout:fixed}.card-group .card{display:table-cell;vertical-align:top}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:544px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:table;clear:both;content:""}.breadcrumb>li{float:left}.breadcrumb>li+li::before{padding-right:.5rem;padding-left:.5rem;color:#818a91;content:"/"}.breadcrumb>.active{color:#818a91}.pagination{display:inline-block;padding-left:0;margin-top:1rem;margin-bottom:1rem;border-radius:.25rem}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:#818a91;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;line-height:1.5;color:#0275d8;text-decoration:none;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.333333}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.275rem .75rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pager{padding-left:0;margin-top:1rem;margin-bottom:1rem;text-align:center;list-style:none}.pager::after{display:table;clear:both;content:""}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eceeef}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover{color:#818a91;cursor:not-allowed;background-color:#fff}.pager .disabled>span{color:#818a91;cursor:not-allowed;background-color:#fff}.pager-next>a,.pager-next>span{float:right}.pager-prev>a,.pager-prev>span{float:left}.label{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.label-default{background-color:#818a91}.label-default[href]:focus,.label-default[href]:hover{background-color:#687077}.label-primary{background-color:#0275d8}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#025aa5}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:544px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:15px;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:35px}.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem}.progress[value]{-webkit-appearance:none;color:#0074d9;border:0;-moz-appearance:none;appearance:none}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:.25rem}.progress[value]::-webkit-progress-value::before{content:attr(value)}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[value="100"]::-webkit-progress-value{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:.25rem}.progress-bar{display:inline-block;height:1rem;text-indent:-999rem;background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[width^="0"]{min-width:2rem;color:#818a91;background-color:transparent;background-image:none}.progress[width="100%"]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}}.progress-animated[value]::-webkit-progress-value{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#5cb85c}.progress-success[value]::-moz-progress-bar{background-color:#5cb85c}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#5cb85c}}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#5bc0de}}.progress-warning[value]::-webkit-progress-value{background-color:#f0ad4e}.progress-warning[value]::-moz-progress-bar{background-color:#f0ad4e}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:#f0ad4e}}.progress-danger[value]::-webkit-progress-value{background-color:#d9534f}.progress-danger[value]::-moz-progress-bar{background-color:#d9534f}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#d9534f}}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-flush .list-group-item{border-width:1px 0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}a.list-group-item,button.list-group-item{width:100%;color:#555;text-align:inherit}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#818a91;cursor:not-allowed;background-color:#eceeef}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#818a91}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#a8d6fe}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.857143%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out,-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header::after{display:table;clear:both;content:""}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer::after{display:table;clear:both;content:""}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:544px){.modal-dialog{width:600px;margin:30px auto}.modal-sm{width:300px}}@media (min-width:768px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-arrow,.tooltip.tooltip-right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-arrow,.tooltip.tooltip-bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-arrow,.tooltip.tooltip-left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;line-break:auto}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom .popover-arrow,.popover.popover-top .popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.bs-tether-element-attached-bottom .popover-arrow::after,.popover.popover-top .popover-arrow::after{bottom:1px;margin-left:-10px;content:"";border-top-color:#fff;border-bottom-width:0}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left .popover-arrow,.popover.popover-right .popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.bs-tether-element-attached-left .popover-arrow::after,.popover.popover-right .popover-arrow::after{bottom:-10px;left:1px;content:"";border-right-color:#fff;border-left-width:0}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top .popover-arrow,.popover.popover-bottom .popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top .popover-arrow::after,.popover.popover-bottom .popover-arrow::after{top:1px;margin-left:-10px;content:"";border-top-width:0;border-bottom-color:#fff}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right .popover-arrow,.popover.popover-left .popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right .popover-arrow::after,.popover.popover-left .popover-arrow::after{right:1px;bottom:-10px;content:"";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:-.7rem -.7rem 0 0}.popover-content{padding:9px 14px}.popover-arrow,.popover-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover-arrow{border-width:11px}.popover-arrow::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:transform .6s ease-in-out,-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev::before{content:"\2039"}.carousel-control .icon-next::before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media (min-width:544px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix::after{display:table;clear:both;content:""}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-xs-left{float:left!important}.pull-xs-right{float:right!important}.pull-xs-none{float:none!important}@media (min-width:544px){.pull-sm-left{float:left!important}.pull-sm-right{float:right!important}.pull-sm-none{float:none!important}}@media (min-width:768px){.pull-md-left{float:left!important}.pull-md-right{float:right!important}.pull-md-none{float:none!important}}@media (min-width:992px){.pull-lg-left{float:left!important}.pull-lg-right{float:right!important}.pull-lg-none{float:none!important}}@media (min-width:1200px){.pull-xl-left{float:left!important}.pull-xl-right{float:right!important}.pull-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.invisible{visibility:hidden!important}.text-hide{font:"0/0" a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:544px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-muted{color:#818a91}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c}.bg-inverse{color:#eceeef;background-color:#373a3c}.bg-faded{background-color:#f7f7f9}.bg-primary{color:#fff!important;background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5}.bg-success{color:#fff!important;background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44}.bg-info{color:#fff!important;background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5}.bg-warning{color:#fff!important;background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f}.bg-danger{color:#fff!important;background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c}.m-x-auto{margin-right:auto!important;margin-left:auto!important}.m-a-0{margin:0 0!important}.m-t-0{margin-top:0!important}.m-r-0{margin-right:0!important}.m-b-0{margin-bottom:0!important}.m-l-0{margin-left:0!important}.m-x-0{margin-right:0!important;margin-left:0!important}.m-y-0{margin-top:0!important;margin-bottom:0!important}.m-a-1{margin:1rem 1rem!important}.m-t-1{margin-top:1rem!important}.m-r-1{margin-right:1rem!important}.m-b-1{margin-bottom:1rem!important}.m-l-1{margin-left:1rem!important}.m-x-1{margin-right:1rem!important;margin-left:1rem!important}.m-y-1{margin-top:1rem!important;margin-bottom:1rem!important}.m-a-2{margin:1.5rem 1.5rem!important}.m-t-2{margin-top:1.5rem!important}.m-r-2{margin-right:1.5rem!important}.m-b-2{margin-bottom:1.5rem!important}.m-l-2{margin-left:1.5rem!important}.m-x-2{margin-right:1.5rem!important;margin-left:1.5rem!important}.m-y-2{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-a-3{margin:3rem 3rem!important}.m-t-3{margin-top:3rem!important}.m-r-3{margin-right:3rem!important}.m-b-3{margin-bottom:3rem!important}.m-l-3{margin-left:3rem!important}.m-x-3{margin-right:3rem!important;margin-left:3rem!important}.m-y-3{margin-top:3rem!important;margin-bottom:3rem!important}.p-a-0{padding:0 0!important}.p-t-0{padding-top:0!important}.p-r-0{padding-right:0!important}.p-b-0{padding-bottom:0!important}.p-l-0{padding-left:0!important}.p-x-0{padding-right:0!important;padding-left:0!important}.p-y-0{padding-top:0!important;padding-bottom:0!important}.p-a-1{padding:1rem 1rem!important}.p-t-1{padding-top:1rem!important}.p-r-1{padding-right:1rem!important}.p-b-1{padding-bottom:1rem!important}.p-l-1{padding-left:1rem!important}.p-x-1{padding-right:1rem!important;padding-left:1rem!important}.p-y-1{padding-top:1rem!important;padding-bottom:1rem!important}.p-a-2{padding:1.5rem 1.5rem!important}.p-t-2{padding-top:1.5rem!important}.p-r-2{padding-right:1.5rem!important}.p-b-2{padding-bottom:1.5rem!important}.p-l-2{padding-left:1.5rem!important}.p-x-2{padding-right:1.5rem!important;padding-left:1.5rem!important}.p-y-2{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-a-3{padding:3rem 3rem!important}.p-t-3{padding-top:3rem!important}.p-r-3{padding-right:3rem!important}.p-b-3{padding-bottom:3rem!important}.p-l-3{padding-left:3rem!important}.p-x-3{padding-right:3rem!important;padding-left:3rem!important}.p-y-3{padding-top:3rem!important;padding-bottom:3rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.hidden-xs-up{display:none!important}@media (max-width:543px){.hidden-xs-down{display:none!important}}@media (min-width:544px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/media/assets/frontend/static/css/TCAccept.css b/media/assets/frontend/static/css/TCAccept.css new file mode 100644 index 00000000000..135384f41b4 --- /dev/null +++ b/media/assets/frontend/static/css/TCAccept.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.content{max-width:950px} +/*# sourceMappingURL=TCAccept.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/TCAccept.css.map b/media/assets/frontend/static/css/TCAccept.css.map new file mode 100644 index 00000000000..44a414eddab --- /dev/null +++ b/media/assets/frontend/static/css/TCAccept.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/TCAccept.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CACA,SACE,eACF","sources":["css/tc-accept.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n.content {\n max-width: 950px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/TCView.css b/media/assets/frontend/static/css/TCView.css new file mode 100644 index 00000000000..d42aca3dc8b --- /dev/null +++ b/media/assets/frontend/static/css/TCView.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.content{max-width:950px} +/*# sourceMappingURL=TCView.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/TCView.css.map b/media/assets/frontend/static/css/TCView.css.map new file mode 100644 index 00000000000..7ec1cdecf1a --- /dev/null +++ b/media/assets/frontend/static/css/TCView.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/TCView.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CACA,SACE,eACF","sources":["css/tc-accept.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n.content {\n max-width: 950px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/app.css b/media/assets/frontend/static/css/app.css new file mode 100644 index 00000000000..8131eff0208 --- /dev/null +++ b/media/assets/frontend/static/css/app.css @@ -0,0 +1,2 @@ +#info-bar{background:#fddaa4;color:#1f0600;padding:4px 10px}#info-bar .close{color:#888;cursor:pointer;font-size:16px;line-height:1}#info-bar-info a{color:#a68558;text-decoration:underline}.activity-details{cursor:pointer;text-decoration:underline}.activity-details:hover{color:#333}.mobile-activity-time{display:inline-block;margin-bottom:.2em}.seafile-multicolor-icon{fill:currentColor;height:1em;overflow:hidden;width:1em}.seafile-multicolor-icon-monitor{fill:#444;color:#bdbdbd;font-size:14px}.share-dialog .share-dialog-content{min-height:28rem}.lib-decrypt-form .intro{color:#464646;font-size:1.3em}.lib-decrypt-form .password-input{margin:0 auto;width:50%}.lib-decrypt-form .submit{margin:1.5em auto 1em;width:50%}.tag-list-container{list-style:none;max-height:15rem;overflow:auto}.add-tag-link{color:#666}.add-tag-link:hover{background:#f5f5f5;color:#444;text-decoration:none}.tag-list-item{height:2.5rem}.tag-list-item.hl{background:#f5f5f5}.tag-selected-icon{color:#999}.tag-delete-icon{color:#999;font-size:18px}.tag-delete-icon:hover{color:#444}.tag-dialog-back{color:#888;cursor:pointer;margin-right:10px}.tag-dialog-back:focus,.tag-dialog-back:hover{color:#444}.tag-color-option .colorinput-color:before{display:none}.tag-color-option .color-selected{opacity:0}.tag-color-option .colorinput-input:checked~.colorinput-color .color-selected{opacity:1}.tag-color-popover .popover{max-width:360px}.tag-color-popover .colorinput-color,.tag-color-popover .tag-color{height:20px;width:20px}.tag-color-popover .tag-color-option .colorinput-input:checked~.colorinput-color .color-selected{font-size:12px}.dirents-more-menu{border:1px solid #ccc;border-bottom-left-radius:0;border-bottom-right-radius:2px!important;border-top-left-radius:0;border-top-right-radius:2px!important;height:30px;margin-left:0;padding:4px 15px;width:46px}.dirents-more-menu:hover{background-color:#fff;border:1px solid #ccc}.list-tag-popover .popover{max-width:500px;width:500px}.list-tag-popover .add-tag-link{cursor:pointer}.list-tag-popover .tag-list-footer{align-items:center;border-top:1px solid #dedede;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:1rem}.list-tag-popover .tag-list-footer .item-text{color:#ff8000;cursor:pointer}.list-tag-popover .tag-list-footer a:hover{text-decoration:none}.list-tag-popover .tag-color{height:20px;width:20px}.extra-attributes-dialog .selected-single-select-container{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid rgba(0,40,100,.12);border-radius:3px;height:38px;padding:0 10px;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%}.extra-attributes-dialog .selected-single-select-container.disable{background-color:#f8f9fa}.extra-attributes-dialog .selected-single-select-container.focus{border-color:#1991eb!important;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.extra-attributes-dialog .selected-single-select-container:not(.disable):hover{cursor:pointer}.extra-attributes-dialog .selected-single-select-container .fa-caret-down{color:#949494;font-size:16px}.extra-attributes-dialog .selected-single-select-container .single-select-option{border-radius:10px;font-size:13px;line-height:20px;max-width:250px;overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:-webkit-min-content;width:min-content}.single-select-editor-popover .popover,.single-select-editor-popover .popover-inner{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.single-select-editor-container{background-color:#fff;min-height:160px;overflow:hidden;width:320px}.single-select-editor-container .search-single-selects{padding:10px 10px 0}.single-select-editor-container .search-single-selects input{font-size:14px;max-height:30px}.single-select-editor-container .single-select-editor-content{max-height:200px;min-height:100px;overflow-x:hidden;overflow-y:scroll;padding:10px}.single-select-editor-container .single-select-editor-content .single-select-option-container{align-items:center;border-radius:2px;color:#212529;display:flex;font-size:13px;height:30px;justify-content:space-between;padding-left:12px;width:100%}.single-select-editor-container .single-select-editor-content .single-select-option-container:hover{background-color:#f5f5f5;cursor:pointer}.single-select-editor-container .single-select-editor-content .single-select-option{border-radius:10px;height:20px;line-height:20px;margin-right:10px;overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.single-select-editor-container .single-select-editor-content .single-select-option-selected{text-align:center;width:20px}.extra-attributes-dialog .column-name{padding-top:9px}.extra-attributes-dialog .column-item{min-height:56px}.extra-attributes-dialog{margin:28px 0 0}.extra-attributes-dialog .extra-attributes-content-container{height:100%;overflow:hidden}.extra-attributes-dialog .modal-body{overflow-y:scroll;padding:30px}.extra-attributes-dialog .modal-body .form-control.disabled{background-color:#f8f9fa}.apply-properties-dialog .apply-properties{align-items:center;display:flex;height:38px;justify-content:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.apply-properties-dialog .apply-properties .loading-tip{display:inline-block;height:16px;margin:0;width:16px}.tip-for-new-file{align-self:flex-start;margin:0 auto;padding:2em 1em}@media (min-width:768px){.tip-for-new-file{padding:5em 8em}}.big-new-file-button{background:#fff;border:1px solid #d1d1d1;border-radius:8px;cursor:pointer;margin:0 .75em 1.5em;padding:.9em 2em 1em;width:160px}.big-new-file-button:focus,.big-new-file-button:hover{border-color:#eb9205;color:#eb8205}.repo-info-bar{border:1px solid #e6e6dd;border-radius:5px;margin:10px 16px 0;padding:10px}.used-tag-list{list-style:none}.used-tag-item{display:inline-block;margin:auto 15px}.used-tag{border-radius:50%;cursor:pointer;display:inline-block;height:12px;width:12px}.used-tag-name{margin:0 .25rem}.used-tag-files{color:#888;font-size:14px}.used-tag-files:hover{cursor:pointer;text-decoration:underline}.file-info{cursor:pointer;display:inline-block;margin:0 15px}.file-info a{color:#333}.info-icon{color:#888;vertical-align:-3px}.readme-dialog-edit{position:absolute;right:16px}.readme-dialog .modal-body{padding:0 30px}.add-item-btn{align-items:center;background:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #dedede;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:30px;overflow:hidden;padding:0 10px;position:relative}.add-item-btn:hover{background-color:#f5f5f5}.add-item-btn .dtable-icon-add-table{font-size:12px;font-weight:600;margin-right:10px;-webkit-transform:none;transform:none}.add-item-btn .add-new-option{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-filetag-popover .edit-filetag-popover-input{color:#212529;font-size:14px;height:30px;max-height:30px}.edit-filetag-popover .popover{padding:10px 10px 0;width:200px}.edit-filetag-popover .tag-list-container{padding:10px 0}.edit-filetag-popover .tag-list-container .tag-not-found{opacity:.5}.edit-filetag-popover .tag-list-item{height:30px}.edit-filetag-popover .tag-item{align-items:center;border-radius:10px;display:flex;margin:.25rem 0;max-width:130px;padding:0 .5rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.edit-filetag-popover .tag-item .tag-name{color:#fff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-filetag-popover .add-item-btn{margin:0 -10px}.tr-drop-effect{background-color:#f8f8f8}.star-empty{color:#d0d0d0}.dir-icon{max-width:24px;position:relative;text-align:center}.dir-icon .locked{height:1rem;left:50%;position:absolute;top:50%;width:1rem}.tag-list-title{overflow:hidden}.dirent-sdoc-draft-identifier{background:#eee;border-radius:10px;color:#888;display:inline-block;font-size:14px;height:20px;line-height:20px;margin-left:6px;padding:0 8px}.grid-view{align-content:flex-start;display:flex;flex:1 1;flex-wrap:wrap;list-style:none;padding:.625rem 1rem 10rem}.grid-item{line-height:0;padding:10px 4px;position:relative;text-align:center;width:134px}.grid-item:hover .grid-file-img-link{background:#f8f8f8}.grid-item:hover a{color:#eb8205}.grid-file-img-link{border-radius:3px;font-size:0;height:96px;line-height:0;margin:0 auto 6px;position:relative;text-align:center;width:96px}.grid-file-img-link .thumbnail{background:#fff;border:1px solid #ddd;border-radius:1px;max-height:88px;max-width:88px;padding:1px}.grid-file-img-link:before{content:"";display:inline-block;height:100%;vertical-align:middle}.grid-file-name{display:inline-block;font-size:14px;line-height:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.grid-file-name-link{color:#333;font-size:.875rem}.grid-file-locked-icon{bottom:0;position:absolute;right:10px;width:16px}.grid-selected-active{background-color:#f8f8f8}.grid-link-selected-active{color:#eb8205}.grid-drop-show{background:#f8f8f8}.cur-view-content.lib-content-container{padding:0}.view-mode-container{display:flex;flex-direction:row!important;min-height:0;overflow:hidden!important;padding-left:0!important}.dir-colunm-view{display:flex;width:100%}.dir-content-nav{background-color:#fff;border-right:1px solid #eee;display:flex;flex:0 0 25%;flex-direction:column;overflow:hidden}.dir-content-nav:hover{overflow:auto}.dir-content-main{display:flex;flex:1 0 74.5%;flex-direction:column;overflow:auto}.tree-view{border:1px solid rgba(69,170,242,0);flex:1 1;line-height:1.5;margin-left:-9px;padding:12px 12px 12px 0}.tree-view-drop{border:1px solid #45aaf2}.tree-view-drop:before{border-left:1px solid #45aaf2;content:"";display:block;float:left;height:calc(100% + 24px);margin-left:8px;margin-top:-12px}.tree-node-inner{cursor:pointer;height:24px;line-height:1.625;position:relative}.tree-node-inner-hover{background-color:#f5f5f5;border-radius:.25rem}.tree-node-inner .tree-node-text{font-size:14px;line-height:24px;overflow:hidden;padding-left:2.8rem;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 1.5rem)}.tree-node-inner .left-icon{align-items:center;display:flex;left:0;padding-left:1.5rem;position:absolute;top:0}.folder-toggle-icon{align-content:center;color:silver;display:flex;justify-content:center;left:0;line-height:1.625;position:absolute;width:1.5rem}.tree-node-drop{background-color:#ffefb2}.tree-node-icon{color:#b0b0b0;display:inline-block;text-align:center;width:1rem}.tree-node-inner .right-icon{bottom:0;color:#888;font-size:.8125rem;position:absolute;right:.5rem;text-align:center;top:0;width:1rem;z-index:2}.tree-node-inner .right-icon i{font-size:.8125rem;height:100%;line-height:1.625rem!important;vertical-align:middle;width:100%}.tree-node-hight-light{background-color:#ff9800!important;border-radius:4px;color:#fff}.tree-node-hight-light i{color:#fff}.dropdown-menu{min-width:8rem}.parent-path{position:relative}.parent-path .form-text{font-size:.9375rem;margin-left:.25rem;margin-top:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dir-content-main .wiki-page-container{display:flex;flex:1 1;padding:0 1rem 1.25rem}.wiki-page-content{flex:1 1}.wiki-page-content .ml-2{text-decoration:underline}.wiki-page-content .ml-2:hover{color:#eb8205;text-decoration:underline}.wiki-page-content .wiki-open-file{background-color:#fff;border:none;border-radius:50%;bottom:10px;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);color:#999;cursor:pointer;font-size:16px;height:40px;right:10px;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:40px;z-index:1050}.wiki-page-content .wiki-open-file i{left:12px;position:absolute;top:12px}.wiki-page-content .wiki-open-file:hover{background-color:#f6f6f6}.dir-content-main .wiki-page-content .article{padding:0 10px}.wiki-page-content a{cursor:pointer}.wiki-page-ops{position:fixed;top:10px}@media (min-width:768px){.wiki-page-ops:before{border-left:1px solid #ddd;bottom:3px;content:"";left:-16px;position:absolute;top:3px}}.wiki-page-list-item{line-height:1.6;margin:3px 0;word-break:break-all}.wiki-page-link,.wiki-page-link:hover{color:#444;font-size:1.15em;font-weight:400;margin-left:5px}#wiki-page-last-modified{color:#666;font-size:12px;padding:40px 10px}.dir-content-resize{cursor:ew-resize;flex:0 0 .5%}.readonly-tip-message{align-items:center;background-color:#fefbdc;display:flex;justify-content:center;padding:.25rem 0}.container-markdown-container{width:150px!important}.container-markdown-container .modal-content{height:150px}.container-markdown-container .modal-content .modal-body{align-items:center;display:flex;flex-direction:column;justify-content:center}.transfer-group-name{line-height:2rem;margin-left:10px}.group-transfer-select .true__dropdown-indicator,.reviewer-select .true__indicator-separator{display:none}.manage-members{max-height:300px;min-height:200px;overflow-y:auto;padding:.5rem 0}.manage-members-table td,.manage-members-table th{text-align:left;vertical-align:middle}.add-members-select .true__indicator-separator{display:none}.add-members{display:flex;justify-content:space-between}.add-members .add-members-select{width:385px}.add-members .btn{width:75px}.group-error{margin-top:10px}.group-manage-members-dialog .search-group-members{background:#f1f1f1;border:1px solid transparent;color:#999;font-size:14px;font-weight:400;margin:12px 0 0}.group-manage-members-dialog .search-group-members.active{background:#fff;border-color:#ccc}.group-manage-members-dialog .search-group-members .input-group-input,.group-manage-members-dialog .search-group-members .input-group-text{background:transparent;border:none;color:inherit}.group-manage-members-dialog .search-group-members.active .input-group-input{color:#495057}.group-manage-members-dialog .search-group-members .input-group-input:focus{box-shadow:none}#group-members-popover,#group-setting-popover{right:0;top:42px}.group-member-list-header{border-bottom:1px solid #e3e3e5;margin-bottom:0;padding-bottom:10px}.group-member-list{border-top:0;margin-top:0;max-height:400px;padding-top:0}.group-member-list .user-item{line-height:2rem}.group-member-list .user-item:hover{background-color:#f8f8f8}.group-member-list .user-item .group-member-name{margin:0 5px;max-width:70%}.group-member-list .user-item .group-member-admin{color:#888;font-size:12px}.department-group-icon{color:#888;margin-left:.25rem}.group-top-op-icon{display:inline-block;font-size:22px;margin:3px 0 0 10px}.cur-view-content-groups .group-list-panel{padding-bottom:1rem}.group-list-panel .group-item-heading{border-bottom:1px solid #e6e6e6;font-size:1rem;font-weight:400;margin:.75rem 0 0;padding:.25rem}.group-list-panel .group-item-empty-tip{border-bottom:1px solid #e5e5e5;color:#a4a4a4;padding:4px 0;text-align:center} +/*# sourceMappingURL=app.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/app.css.map b/media/assets/frontend/static/css/app.css.map new file mode 100644 index 00000000000..8bdcf2a8d8a --- /dev/null +++ b/media/assets/frontend/static/css/app.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/app.css","mappings":"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","sources":["css/system-notification.css","css/files-activities.css","css/icon.css","css/sub-folder-permission.css","css/lib-decrypt.css","css/repo-tag.css","css/dirents-menu.css","components/popover/list-tag-popover.css","components/dialog/extra-attributes-dialog/editor/single-select/index.css","components/dialog/extra-attributes-dialog/column/index.css","components/dialog/extra-attributes-dialog/index.css","css/apply-folder-properties.css","css/tip-for-new-file.css","css/repo-info-bar.css","css/common-add-tool.css","css/edit-filetag-popover.css","css/dirent-list-item.css","css/grid-view.css","css/lib-content-view.css","css/convert-markdown.css","css/transfer-group-dialog.css","css/manage-members-dialog.css","css/group-view.css","css/groups.css"],"sourcesContent":["#info-bar {\n color: #1f0600;\n padding: 4px 10px;\n background: #fddaa4;\n}\n#info-bar .close {\n font-size: 16px;\n line-height: 1;\n color: #888;\n cursor: pointer;\n}\n#info-bar-info a {\n color: #a68558;\n text-decoration: underline;\n}\n",".activity-details {\n text-decoration: underline;\n cursor: pointer;\n}\n.activity-details:hover {\n color: #333;\n}\n.mobile-activity-time {\n display: inline-block;\n margin-bottom: .2em;\n}\n",".seafile-multicolor-icon {\n width: 1em; \n height: 1em;\n fill: currentColor;\n overflow: hidden;\n}\n\n.seafile-multicolor-icon-monitor {\n font-size: 14px;\n fill: #444;\n color: #bdbdbd;\n}\n",".share-dialog .share-dialog-content {\n min-height: 28rem;\n}\n",".lib-decrypt-form .intro {\n color: #464646;\n font-size: 1.3em;\n}\n.lib-decrypt-form .password-input {\n width: 50%;\n margin: 0 auto;\n}\n.lib-decrypt-form .submit {\n width: 50%;\n margin: 1.5em auto 1em;\n}\n",".tag-list-container {\n max-height: 15rem;\n list-style: none;\n overflow: auto;\n}\n\n.add-tag-link {\n color: #666;\n}\n\n.add-tag-link:hover {\n color: #444;\n text-decoration: none;\n background: #f5f5f5;\n}\n\n.tag-list-item {\n height: 2.5rem;\n}\n\n.tag-list-item.hl {\n background: #f5f5f5;\n}\n\n.tag-selected-icon {\n color: #999;\n}\n\n.tag-delete-icon {\n color: #999;\n font-size: 18px;\n}\n\n.tag-delete-icon:hover {\n color: #444;\n}\n\n.tag-dialog-back {\n color: #888;\n cursor: pointer;\n margin-right: 10px;\n}\n\n.tag-dialog-back:hover,\n.tag-dialog-back:focus {\n color: #444;\n}\n\n/* overwrite the code from seafile-ui */\n.tag-color-option .colorinput-color::before {\n display: none;\n}\n\n.tag-color-option .color-selected {\n opacity: 0;\n}\n\n.tag-color-option .colorinput-input:checked ~ .colorinput-color .color-selected {\n opacity: 1;\n}\n\n/* tag-color */\n.tag-color-popover .popover {\n max-width: 360px;\n}\n\n.tag-color-popover .tag-color {\n width: 20px;\n height: 20px;\n}\n\n.tag-color-popover .colorinput-color {\n width: 20px;\n height: 20px;\n}\n\n.tag-color-popover .tag-color-option .colorinput-input:checked ~ .colorinput-color .color-selected {\n font-size: 12px;\n}\n",".dirents-more-menu {\n margin-left: 0;\n padding: 4px 15px;\n border: 1px solid #ccc;\n border-top-right-radius: 2px !important;\n border-bottom-right-radius: 2px !important;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n width: 46px;\n height: 30px;\n}\n.dirents-more-menu:hover {\n background-color: #fff;\n border: 1px solid #ccc;\n}\n",".list-tag-popover .popover {\n width: 500px;\n max-width: 500px;\n}\n\n.list-tag-popover .add-tag-link {\n cursor: pointer;\n}\n\n.list-tag-popover .tag-list-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dedede;\n}\n\n.list-tag-popover .tag-list-footer .item-text {\n color: #ff8000;\n cursor: pointer;\n}\n\n.list-tag-popover .tag-list-footer a:hover {\n text-decoration: none;\n}\n\n.list-tag-popover .tag-color {\n width: 20px;\n height: 20px;\n}\n",".extra-attributes-dialog .selected-single-select-container {\n height: 38px;\n width: 100%;\n padding: 0 10px;\n border-radius: 3px;\n user-select: none;\n border: 1px solid rgba(0, 40, 100, .12);\n appearance: none;\n background: #fff;\n}\n\n.extra-attributes-dialog .selected-single-select-container.disable {\n background-color: #f8f9fa;\n}\n\n.extra-attributes-dialog .selected-single-select-container.focus {\n border-color: #1991eb!important;\n box-shadow: 0 0 0 2px rgba(70, 127, 207, .25);\n}\n\n.extra-attributes-dialog .selected-single-select-container:not(.disable):hover {\n cursor: pointer;\n}\n\n.extra-attributes-dialog .selected-single-select-container .fa-caret-down {\n font-size: 16px;\n color: #949494;\n}\n\n.extra-attributes-dialog .selected-single-select-container .single-select-option {\n text-align: center;\n width: min-content;\n max-width: 250px;\n line-height: 20px;\n border-radius: 10px;\n padding: 0 10px;\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* editor */\n.single-select-editor-popover .popover,\n.single-select-editor-popover .popover-inner {\n width: fit-content;\n max-width: fit-content;\n}\n\n.single-select-editor-container {\n min-height: 160px;\n width: 320px;\n overflow: hidden;\n background-color: #fff;\n}\n\n.single-select-editor-container .search-single-selects {\n padding: 10px 10px 0;\n}\n\n.single-select-editor-container .search-single-selects input {\n max-height: 30px;\n font-size: 14px;\n}\n\n.single-select-editor-container .single-select-editor-content {\n max-height: 200px;\n min-height: 100px;\n padding: 10px;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.single-select-editor-container .single-select-editor-content .single-select-option-container {\n width: 100%;\n height: 30px;\n border-radius: 2px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 13px;\n color: #212529;\n padding-left: 12px;\n}\n\n.single-select-editor-container .single-select-editor-content .single-select-option-container:hover {\n background-color: #f5f5f5;\n cursor: pointer;\n}\n\n.single-select-editor-container .single-select-editor-content .single-select-option {\n padding: 0 10px;\n height: 20px;\n line-height: 20px;\n text-align: center;\n border-radius: 10px;\n margin-right: 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.single-select-editor-container .single-select-editor-content .single-select-option-selected {\n width: 20px;\n text-align: center;\n}\n\n",".extra-attributes-dialog .column-name {\n padding-top: 9px;\n}\n\n.extra-attributes-dialog .column-item {\n min-height: 56px;\n}\n",".extra-attributes-dialog {\n margin: 28px 0 0 0;\n}\n\n.extra-attributes-dialog .extra-attributes-content-container {\n height: 100%;\n overflow: hidden;\n}\n\n.extra-attributes-dialog .modal-body {\n overflow-y: scroll;\n padding: 30px;\n}\n\n.extra-attributes-dialog .modal-body .form-control.disabled {\n background-color: #f8f9fa;\n}\n",".apply-properties-dialog .apply-properties {\n justify-content: center;\n align-items: center;\n width: fit-content;\n display: flex;\n height: 38px;\n}\n\n.apply-properties-dialog .apply-properties .loading-tip {\n display: inline-block;\n height: 16px;\n width: 16px;\n margin: 0;\n}\n",".tip-for-new-file {\n margin: 0 auto;\n padding: 2em 1em;\n align-self: flex-start; /* for repo wiki mode */\n}\n@media (min-width: 768px) {\n .tip-for-new-file {\n padding: 5em 8em;\n }\n}\n.big-new-file-button {\n padding: .9em 2em 1em; \n border-radius: 8px; \n margin: 0 0.75em 1.5em;\n cursor: pointer;\n width: 160px;\n background: #fff;\n border: 1px solid #d1d1d1;\n}\n.big-new-file-button:hover,\n.big-new-file-button:focus {\n border-color: #eb9205;\n color: #eb8205;\n}\n",".repo-info-bar {\n padding: 10px;\n margin: 10px 16px 0;\n border: 1px solid #e6e6dd;\n border-radius: 5px;\n /* background: #f8f8f8; */\n}\n\n.used-tag-list {\n list-style: none;\n}\n\n.used-tag-item {\n display: inline-block;\n margin: auto 15px;\n}\n\n.used-tag {\n display: inline-block;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.used-tag-name {\n margin: 0 0.25rem;\n}\n\n.used-tag-files {\n color: #888;\n font-size: 14px;\n}\n\n.used-tag-files:hover {\n cursor: pointer;\n text-decoration: underline;\n}\n\n.file-info {\n margin: 0 15px;\n display: inline-block;\n cursor: pointer;\n}\n\n.file-info a {\n color: #333;\n}\n\n.info-icon {\n color: #888;\n vertical-align: -3px;\n}\n\n.readme-dialog-edit {\n position: absolute;\n right: 16px;\n}\n\n.readme-dialog .modal-body {\n padding: 0 30px;\n}\n",".add-item-btn {\n cursor: pointer;\n display: flex;\n align-items: center;\n font-size: 14px;\n font-weight: 500;\n border-top: 1px solid #dedede;\n background: #fff;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n position: relative;\n height: 30px;\n padding: 0 10px;\n overflow: hidden;\n}\n\n.add-item-btn:hover {\n background-color: #f5f5f5;\n}\n\n.add-item-btn .dtable-icon-add-table {\n margin-right: 10px;\n font-size: 12px;\n font-weight: 600;\n transform: none;\n}\n\n.add-item-btn .add-new-option {\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",".edit-filetag-popover .edit-filetag-popover-input {\n max-height: 30px;\n font-size: 14px;\n color: #212529;\n height: 30px;\n}\n\n.edit-filetag-popover .popover {\n padding: 10px;\n width: 200px;\n padding-bottom: 0px;\n}\n\n.edit-filetag-popover .tag-list-container {\n padding: 10px 0;\n}\n\n.edit-filetag-popover .tag-list-container .tag-not-found {\n opacity: 0.5;\n}\n\n.edit-filetag-popover .tag-list-item {\n height: 30px;\n}\n\n.edit-filetag-popover .tag-item {\n display: flex;\n align-items: center;\n max-width: 130px;\n margin: 0.25rem 0;\n padding: 0 0.5rem;\n width: fit-content;\n border-radius: 10px;\n}\n\n.edit-filetag-popover .tag-item .tag-name {\n color: #fff;\n font-size: 13px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.edit-filetag-popover .add-item-btn {\n margin: 0 -10px;\n}\n",".tr-drop-effect {\n background-color: #f8f8f8;\n}\n\n.star-empty {\n color: #d0d0d0;\n}\n\n.dir-icon {\n position: relative;\n text-align: center;\n max-width: 24px;\n}\n\n.dir-icon .locked {\n position: absolute;\n width: 1rem;\n height: 1rem;\n top: 50%;\n left: 50%;\n}\n\n.tag-list-title {\n overflow: hidden;\n}\n\n.dirent-sdoc-draft-identifier {\n display: inline-block;\n font-size: 14px;\n color: #888;\n background: #eee;\n padding: 0 8px;\n height: 20px;\n line-height: 20px;\n border-radius: 10px;\n margin-left: 6px;\n}\n",".grid-view {\n padding: 0.625rem 1rem 10rem;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n align-content: flex-start;\n}\n\n.grid-item {\n width: 134px;\n padding: 10px 4px;\n text-align: center;\n position: relative;\n line-height: 0;\n}\n\n.grid-item:hover .grid-file-img-link {\n background: #f8f8f8;\n}\n\n.grid-item:hover a {\n color: #eb8205;\n}\n\n.grid-file-img-link {\n width: 96px;\n height: 96px;\n margin: 0 auto 6px;\n position: relative;\n border-radius: 3px;\n font-size: 0;\n text-align: center;\n line-height: 0;\n}\n\n.grid-file-img-link .thumbnail {\n max-width: 88px;\n max-height: 88px;\n padding: 1px;\n background: #fff;\n border: 1px solid #ddd;\n border-radius: 1px;\n}\n\n.grid-file-img-link::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 100%;\n}\n\n.grid-file-name {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 17px;\n font-size: 14px;\n}\n\n.grid-file-name-link {\n color: #333;\n font-size: 0.875rem;\n}\n\n.grid-file-locked-icon {\n position: absolute;\n bottom: 0;\n right: 10px;\n width: 16px;\n}\n\n.grid-selected-active {\n background-color: #f8f8f8;\n}\n\n.grid-link-selected-active {\n color: #eb8205;\n}\n\n.grid-drop-show {\n background: #f8f8f8;\n}\n",".cur-view-content.lib-content-container {\n padding: 0;\n}\n\n.view-mode-container {\n display: flex;\n flex-direction: row !important;\n overflow: hidden !important;\n padding-left: 0 !important;\n min-height: 0;\n}\n\n.dir-colunm-view {\n display: flex;\n width: 100%;\n}\n\n.dir-content-nav {\n flex: 0 0 25%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: #fff;\n border-right: 1px solid #eee;\n}\n\n.dir-content-nav:hover {\n overflow: auto;\n}\n\n.dir-content-main {\n flex: 1 0 74.5%;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n/*tree view */\n.tree-view {\n margin-left: -9px;\n padding: 12px 12px 12px 0;\n line-height: 1.5;\n flex: 1;\n border: 1px solid rgba(69,170,242,0);\n}\n\n.tree-view-drop {\n border: 1px solid rgba(69,170,242);\n}\n\n.tree-view-drop::before {\n border-left: 1px solid rgba(69,170,242);\n content: '';\n margin-left: 8px;\n height: calc(100% + 24px);\n display: block;\n margin-top: -12px;\n float: left;\n}\n\n.tree-node-inner {\n position: relative;\n height: 24px;\n cursor: pointer;\n line-height: 1.625;\n}\n\n.tree-node-inner-hover {\n background-color: #f5f5f5;\n border-radius: 0.25rem;\n}\n\n.tree-node-inner .tree-node-text {\n padding-left: 2.8rem;\n width: calc(100% - 1.5rem);\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 24px;\n}\n\n.tree-node-inner .left-icon {\n position: absolute;\n display:flex;\n align-items:center;\n top: 0;\n left: 0;\n padding-left: 1.5rem;\n}\n\n.folder-toggle-icon {\n position: absolute;\n left: 0;\n color: #c0c0c0;\n line-height: 1.625;\n width: 1.5rem;\n display: flex;\n align-content: center;\n justify-content: center;\n}\n\n.tree-node-drop {\n background-color:rgb(255,239,178);\n}\n\n.tree-node-icon {\n display: inline-block;\n width: 1rem;\n text-align: center;\n color: #b0b0b0;\n}\n\n.tree-node-inner .right-icon {\n position: absolute;\n top: 0;\n right: 0.5rem;\n bottom: 0;\n width: 1rem;\n color: #888; \n z-index: 2; \n font-size: 0.8125rem;\n text-align: center;\n}\n\n.tree-node-inner .right-icon i {\n width: 100%;\n height: 100%;\n vertical-align: middle;\n font-size: 0.8125rem;\n line-height: 1.625rem !important;\n}\n\n.tree-node-hight-light {\n color: #fff;\n border-radius: 4px;\n background-color: #ff9800 !important;\n}\n\n.tree-node-hight-light i {\n color:#fff;\n}\n\n.dropdown-menu {\n min-width: 8rem;\n}\n\n.parent-path {\n position: relative;\n}\n\n.parent-path .form-text {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n margin-top: 0;\n margin-left: 0.25rem;\n font-size: 0.9375rem;\n}\n\n/* file layout */\n.dir-content-main .wiki-page-container {\n padding: 0 1rem 1.25rem;\n display: flex;\n flex: 1;\n}\n\n/* wiki-page-content */\n.wiki-page-content {\n flex: 1;\n}\n\n.wiki-page-content .ml-2 {\n text-decoration: underline;\n}\n\n.wiki-page-content .ml-2:hover {\n text-decoration: underline;\n color:#eb8205;\n}\n\n.wiki-page-content .wiki-open-file {\n width: 40px;\n height: 40px;\n font-size: 16px;\n border-radius: 50%;\n box-shadow: 0 3px 5px -1px rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12);\n user-select: none;\n border: none;\n right: 10px;\n bottom: 10px;\n color: #999;\n z-index: 1050;\n background-color: #fff;\n cursor: pointer;\n}\n\n.wiki-page-content .wiki-open-file i {\n position: absolute;\n top: 12px;\n left: 12px;\n}\n\n.wiki-page-content .wiki-open-file:hover {\n background-color: #f6f6f6;\n}\n\n.dir-content-main .wiki-page-content .article {\n padding: 0 10px;\n}\n\n.wiki-page-content a {\n cursor: pointer;\n}\n.wiki-page-ops {\n position: fixed;\n top: 10px;\n}\n\n@media (min-width: 768px) {\n .wiki-page-ops:before {\n content:'';\n border-left:1px solid #ddd;\n position:absolute;\n top:3px;\n left:-16px;\n bottom:3px;\n }\n}\n\n.wiki-page-list-item {\n word-break:break-all;\n line-height:1.6;\n margin:3px 0;\n}\n\n.wiki-page-link,\n.wiki-page-link:hover {\n font-size:1.15em;\n font-weight:normal;\n color:#444;\n margin-left:5px;\n}\n\n#wiki-page-last-modified {\n padding: 40px 10px;\n font-size:12px;\n color: #666;\n}\n\n.dir-content-resize {\n flex: 0 0 .5%;\n cursor: ew-resize;\n}\n\n.readonly-tip-message {\n display: flex;\n padding: 0.25rem 0;\n background-color: #FEFBDC;\n justify-content: center;\n align-items: center;\n}\n",".container-markdown-container {\n width: 150px !important;\n}\n\n.container-markdown-container .modal-content {\n height: 150px;\n}\n\n.container-markdown-container .modal-content .modal-body {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}",".transfer-group-name {\n line-height: 2rem;\n margin-left: 10px;\n}\n\n.group-transfer-select .true__dropdown-indicator,\n.reviewer-select .true__indicator-separator {\n display: none;\n}\n",".manage-members {\n min-height: 200px;\n max-height: 300px;\n overflow-y: auto;\n padding: 0.5rem 0;\n}\n\n.manage-members-table th,\n.manage-members-table td {\n vertical-align: middle;\n text-align: left;\n}\n\n.add-members-select .true__indicator-separator {\n display: none;\n}\n\n.add-members {\n display: flex;\n justify-content: space-between;\n}\n\n.add-members .add-members-select {\n width: 385px;\n}\n\n.add-members .btn {\n width: 75px;\n}\n\n.group-error {\n margin-top: 10px;\n}\n\n.group-manage-members-dialog .search-group-members {\n color: #999;\n font-size: 14px;\n font-weight: normal;\n background: #f1f1f1;\n border: 1px solid transparent;\n margin: 12px 0 0;\n}\n\n.group-manage-members-dialog .search-group-members.active {\n background: #fff;\n border-color: #ccc;\n}\n\n.group-manage-members-dialog .search-group-members .input-group-text,\n.group-manage-members-dialog .search-group-members .input-group-input {\n background: transparent;\n color: inherit;\n border: none;\n}\n\n.group-manage-members-dialog .search-group-members.active .input-group-input {\n color: #495057;\n}\n\n.group-manage-members-dialog .search-group-members .input-group-input:focus {\n box-shadow: none;\n}\n","#group-setting-popover,\n#group-members-popover {\n top: 42px;\n right: 0;\n}\n.group-member-list-header {\n border-bottom: 1px solid #e3e3e5;\n padding-bottom: 10px;\n margin-bottom: 0px;\n}\n.group-member-list {\n max-height: 400px;\n border-top: 0;\n margin-top: 0;\n padding-top: 0;\n}\n.group-member-list .user-item {\n line-height: 2rem;\n}\n.group-member-list .user-item:hover {\n background-color: #f8f8f8;\n}\n.group-member-list .user-item .group-member-name {\n margin: 0 5px;\n max-width: 70%;\n}\n.group-member-list .user-item .group-member-admin {\n color: #888;\n font-size: 12px;\n}\n",".department-group-icon {\n margin-left: 0.25rem;\n color:#888;\n}\n\n.group-top-op-icon { /* for cur-view-path*/\n display: inline-block;\n font-size: 22px;\n margin: 3px 0 0 10px;\n}\n\n.cur-view-content-groups .group-list-panel {\n padding-bottom: 1rem;\n}\n\n.group-list-panel .group-item-heading {\n font-size: 1rem;\n font-weight: normal;\n padding: 0.25rem; \n border-bottom: 1px solid #e6e6e6;\n margin: 0.75rem 0 0; \n}\n\n.group-list-panel .group-item-empty-tip {\n color: #a4a4a4;\n text-align: center;\n padding: 4px 0;\n border-bottom: 1px solid #e5e5e5;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/commons.css b/media/assets/frontend/static/css/commons.css new file mode 100644 index 00000000000..0ba6e30a629 --- /dev/null +++ b/media/assets/frontend/static/css/commons.css @@ -0,0 +1,15 @@ +@charset "UTF-8";.paginator .btn{min-width:2.375rem}.top-search-file-icon{align-self:center;color:#999;cursor:pointer;font-size:20px;font-weight:800}body{overflow:hidden}.file-view-header{background:#fff;border-bottom:1px solid #c9c9c9;flex-shrink:0;padding:4px 10px}.file-title{font-size:1.2rem;font-weight:700;line-height:1.5;margin-bottom:0}.file-star{color:#999;font-size:.875rem;margin-left:.5rem}.file-star:focus,.file-star:hover{color:#999;text-decoration:none}.file-locked-icon{margin-left:.5rem}.meta-info{font-size:.8125rem}.file-view-content{background:#f4f4f4;border-right:4px solid transparent;padding:30px 0}.file-details-container{-webkit-animation:move .5s ease-in-out 1;animation:move .5s ease-in-out 1;background-color:#fff;box-shadow:-1px 0 3px 0 #ccc;height:100%;position:absolute;right:0;width:300px;z-index:50}.file-view-body .seafile-comment{width:100%}@media (min-width:768px){.file-view-body .seafile-comment{border-left:1px solid #e6e6dd;width:300px}}.image-file-view{position:relative;text-align:center}.image-file-view:before{content:" ";display:inline-block;font-size:0;height:100%;line-height:0;vertical-align:middle}#image-view{background:#fff;border:1px solid #eee;font-size:0;height:auto;line-height:0;max-height:calc(100% - 4px);max-width:calc(100% - 4px);padding:1px;width:auto}#img-next,#img-prev{background:#fff;border-radius:100%;color:#888;height:50px;line-height:50px;position:absolute;text-decoration:none;top:48%;width:50px}#img-prev{left:15px}#img-next{right:15px}#img-next:hover,#img-prev:hover{color:#333}.svg-file-view{position:relative;text-align:center}.svg-file-view:before{content:" ";display:inline-block;font-size:0;height:100%;line-height:0;vertical-align:middle}#svg-view{max-height:100%;max-width:100%}.pdf-file-view{overflow:hidden;position:relative}.pdf-file-view.file-view-content{border:0}.sf-hide{height:0;overflow:hidden}#mainContainer,#outerContainer,#viewerContainer{bottom:0;left:0;position:absolute;right:0;top:0}#viewerContainer{margin-bottom:33px;overflow:auto;padding:10px 0 0}#viewerContainer:focus{outline:none}.pdfViewer .page{background:#fff;border:none;box-shadow:0 0 6px #ccc;margin:0 auto 10px;position:relative}.page .loading-icon{left:50%;position:absolute;top:50%}#toolbarViewerMiddle{left:auto;right:0;-webkit-transform:none;transform:none}select#scaleSelect{background:#fff;font-size:12px;height:24px}#scaleSelectContainer:after{top:4px}#errorWrapper{background:#ff6e6e;color:#0c0c0d;padding:3px 6px}#errorWrapper,.toolbar{left:0;position:absolute;right:0;z-index:998}.toolbar{bottom:0}#toolbarContainer{border-top:1px solid #c9c9c9;box-shadow:none;height:auto}#loadingBar{background:transparent;border:0;height:auto;position:fixed;top:50%;width:auto}input#pageNumber{font-size:12px;height:20px;margin:0 0 0 9px;padding:0 5px}#numPages.toolbarLabel{margin:0;padding:0 7px}#sidebarContainer{background:#fff;border-top:none;bottom:0;position:absolute;top:0}#toolbarSidebar{background:#fff;height:auto}#thumbnailView{padding:0;width:100%}#thumbnails-header .title{font-size:1rem}#thumbnails-header .sf2-icon-x3{font-family:seafile-font2}#thumbnails-header .close-thumbnail-panel{color:#999;font-size:1rem}#thumbnails-header .close-thumbnail-panel:hover{color:#555}#thumbnailView .thumbnail{border:none;border-radius:0;border-radius:initial;float:none;height:auto;margin:0 1px 0 0;max-height:none;max-width:none;padding:10px 0;text-align:center;width:auto}#thumbnailView .thumbnail.selected{background:#f0f0f0}#thumbnailView .thumbnail .thumbnail-page-number{bottom:0;color:#999;font-size:.875rem;position:absolute;right:100%}#thumbnailView .thumbnail .thumbnailImage{border:1px solid #ddd;border-radius:3px}#thumbnailView .thumbnail.selected .thumbnailImage{border:2px solid #ff9800}#sidebarContent{inset-block:51.5px 0}.splitToolbarButton>.toolbarButton{float:none}#overlayContainer{background-color:rgba(0,0,0,.2);display:table;height:100%;position:absolute;width:100%;z-index:999}.dirent-info .img .thumbnail{border:0;border-radius:0;float:none;height:auto;margin:0;padding:0;width:auto}@media print{#wrapper{display:none}}.text-file-view .cm-editor{border:1px solid #ccc;box-shadow:0 0 6px #ccc;height:auto;margin:0 auto;max-width:950px;min-height:300px;width:calc(100% - 40px)}.text-file-view .cm-editor.cm-focused{outline:none}.text-file-view .cm-gutter,.text-file-view .cm-scroll{min-height:300px}.text-file-view{overflow:auto}.sf-editor-toolbar{background-color:#fcfcfc;height:39px}.sf-editor-toolbar .iconfont{font-size:13px}.sf-editor-toolbar .icon-caret-up,.sf-editor-toolbar .icon-drop-down{display:inline-block;-webkit-transform:scale(.8);transform:scale(.8)}.sf-editor-toolbar .menu>*{display:inline-block}.sf-editor-toolbar .menu>*+*{margin-left:10px}.sf-editor-toolbar .menu{margin-right:20px}.seafile-btn-group div button{border:none}.seafile-btn-group div button:not(.dropdown-item){border-bottom:1px solid #e5e5e5;border-radius:0;border-right:1px solid #e5e5e5;border-top:1px solid #e5e5e5}.seafile-btn-group div:first-child button{border-left:1px solid #e5e5e5;border-radius:3px 0 0 3px}.seafile-btn-group div:last-child button{border-radius:0 3px 3px 0;border-right:1px solid #e5e5e5}.seafile-btn-group div button:disabled{border-color:#e5e5e5}.btn-active{color:#0c0c0c;cursor:pointer}.rich-icon-btn[data-active=true]{color:#eb8205}.rich-icon-btn.svg-button{align-items:center;display:inline-flex;justify-content:center}.btn-active[data-active=true]{color:#eb8205}.tableToolBar{display:inline-flex;font-size:12px}.tableToolBar:after{clear:both;content:"";display:block}.tableToolBar div .symbol{font-size:14px}.tableToolBar .btn{color:#555}.tableToolBar div:not(first):not(.drop-list){margin-left:10px}.tableToolBar .table-toolbar-btn{height:30px;line-height:28px;padding:0 15px}.table-toolbar-group{align-items:center;border-right:1px solid #e5e5e5;display:flex;height:100%;padding-right:10px}.sf-editor-table-btn-wrapper{position:relative}.sf-editor-table-count-card{background-color:#fff;border:1px solid rgba(0,40,100,.12);border-radius:2px;box-shadow:0 1px 2px 0 rgb(0 0 0/5%);left:0;min-height:100px;min-width:100px;padding:5px 10px 10px;position:absolute;top:101%;z-index:100}.sf-editor-table-cells-header{font-size:14px;height:20px;text-align:center}.sf-editor-table-card{margin-top:5px}.sf-editor-table-card-row{border-bottom:1px solid #ccc;display:flex;flex-direction:row}.sf-editor-table-card-row:first-child{border-top:1px solid #ccc}.sf-editor-table-card-cell{border-right:1px solid #ccc;height:15px;width:20px}.sf-editor-table-card-row .sf-editor-table-card-cell:first-child{border-left:1px solid #ccc}.sf-editor-table-card-active-cell{background-color:#ffa94d}.rich-menu{align-items:center;background-color:#fcfcfc;display:flex;flex:1 1;height:39px;justify-content:center;padding:0 10px}.topbar-head{border-bottom:1px solid #e5e5e5;display:flex;height:56px;justify-content:space-between;padding:4px 10px;width:100%}.button-container{align-items:center;display:flex;height:100%}.button-container .btn,.button-container .rich-icon-btn{background-color:#fcfcfc}.button-container .dropdown-menu-right .iconfont{display:inline-block;font-size:.875rem;font-weight:900;-webkit-transform:scale(.8);transform:scale(.8)}.header-list-container{border-left:1px solid #e5e5e5;border-right:1px solid #e5e5e5;box-sizing:border-box;height:39px;padding:5px;width:140px}.header-list-container .header-list{height:100%;position:relative;width:100%}.header-list-container .header-list-body-highlight,.header-list-container .header-list-body-hover:hover{background-color:#e5e5e5}.header-list-container .list-body{border-radius:2px;display:flex;height:100%;justify-content:space-between;line-height:100%;padding:0 3px;vertical-align:middle;width:100%}.list-body div{display:inline-block;line-height:30px}.header-list-container .list-dropdown{background-color:#fff;border:1px solid #e5e5e5;border-radius:2px;box-shadow:0 0 10px #ccc;box-sizing:border-box;left:0;min-width:-webkit-max-content;min-width:max-content;padding:8px 0;position:absolute;top:32px}.header-list-container .header-list .list-dropdown-item{cursor:pointer;height:30px;padding:4px 24px;width:100%}.header-list-container .header-list .list-dropdown-item:hover{background-color:#f5f5f5}.rich-icon-btn{border:1px solid transparent;color:#555;height:100%;line-height:30px;margin-right:10px;width:30px}.rich-icon-btn-disabled{color:#999}.rich-icon-btn-hover:hover{background-color:#e5e5e5;border-radius:2px}.rich-dropdown{border:none;color:#555;margin-left:10px}p.tip{color:#bbb}.tag a{color:#fff;text-decoration:underline!important}.tag a:hover{color:#eb8205!important}.custom-dropdown-list{margin-right:10px;position:relative}.custom-dropdown-list .dropdown-list-toggle{font-size:.75rem;height:28px;line-height:28px;text-align:center;width:30px}.custom-dropdown-list .dropdown-list-toggle:hover{background-color:#e5e5e5;border-radius:3px}.custom-dropdown-list .custom-dropdown-menu{background-color:#fff;display:block;font-size:.85rem;left:0;position:absolute;top:28px}@media (max-width:991.8px){.seafile-md-viewer-main-panel{margin:0 2%}.rich-menu{overflow-x:auto}.rich-menu::-webkit-scrollbar{display:none}.rich-menu .button-container{width:-webkit-fill-available;width:-moz-available;width:stretch}.list-body div{margin-left:10px}}.outline-h3,.seafile-editor-outline .outline-h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seafile-editor-outline .outline-h2{color:#364149;cursor:pointer;line-height:2.5;margin-left:20px;white-space:nowrap}.seafile-editor-outline .outline-h2:hover{color:#eb8205}.seafile-editor-outline .outline-h3{color:#364149;cursor:pointer;line-height:2.5;margin-left:40px;white-space:nowrap}.seafile-editor-outline .outline-h3:hover{color:#eb8205}.seafile-editor-help{background-color:#fff;border-left:1px solid #eee;flex:0 0 350px;height:100%;overflow-x:hidden;overflow-y:auto;width:250px}.seafile-editor-help .help-header{background-color:#fafaf9;border-bottom:1px solid #eee;box-sizing:border-box;font-size:1rem;height:50px;justify-content:space-between;line-height:50px;padding:0 10px}.seafile-editor-help .help-title{font-weight:bolder;margin-bottom:0}.seafile-editor-help .help-close{color:#b9b9b9;font-weight:400}.seafile-editor-help .help-close:hover{color:#888}.seafile-editor-help .help-content{box-sizing:border-box;font-size:.8rem;height:calc(100% - 50px);overflow-y:auto;padding:0 15px}.seafile-editor-help .help-shortcut{border-bottom:1px solid #eee;color:#2c2d30;display:flex;justify-content:space-between;padding:10px 0}.seafile-editor-help .help-shortcut-left{line-height:30px;word-break:break-all}.seafile-editor-help .help-content .help-shortcut-type{border-bottom:1px solid #eee;font-weight:bolder;line-height:2;margin:10px 0 0}.seafile-editor-help .help-shortcut .key{background-color:#e8e8e8;border:1px solid #919191;border-radius:3px;box-shadow:0 1px 0 #919193;display:inline-block;height:30px;line-height:20px;margin-left:5px;padding:3px 5px}.seafile-editor-help .help-shortcut-right{min-width:-webkit-max-content;min-width:max-content}.seafile-editor-help .help-shortcut-right-container:not(:first-child){margin-top:10px}.seafile-ed-hovermenu{background-color:#fff;border:1px solid rgba(0,40,100,.12);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);display:flex;height:40px;position:absolute;right:-3000px;top:-3000px;width:250px;z-index:1000}.seafile-ed-hovermenu .seafile-ed-hovermenu-triangle{background:#fff;border-bottom:1px solid rgba(0,40,100,.12);border-right:1px solid rgba(0,40,100,.12);height:8px;position:absolute;right:50%;top:34px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:8px;z-index:1001}.seafile-ed-hovermenu .seafile-ed-hovermenu-link{display:inline-block;height:38px;line-height:28px;max-width:170px;overflow:hidden;padding:6px 12px}.seafile-ed-hovermenu .seafile-ed-hovermenu-btn{background-color:#fff;color:#999;font-size:16px;font-weight:400;line-height:26px;width:35px}.seafile-ed-hovermenu .seafile-ed-hovermenu-btn,.seafile-ed-hovermenu .seafile-ed-hovermenu-btn:focus{border:0;box-shadow:0}.seafile-ed-hovermenu-mouseclick{background-color:#ddd}.seafile-editor-module .selected-formula{outline:2px solid #007bff}.seafile-editor-module .block-formula{display:block;-webkit-user-select:none;user-select:none}.seafile-editor-module .MathJax{margin:0}.formula-preview{border:2px dashed #ebebeb;min-height:40px;overflow-x:auto;padding:10px}.article td{position:relative}.article .selected-cell{background-color:#fff4e6;caret-color:transparent}.article .selected-cell-top:before{border-top:1px double #ffa94d}.article .selected-cell-bottom:before,.article .selected-cell-top:before{bottom:0;content:"";left:0;margin:-1px;position:absolute;right:0;top:0;z-index:2}.article .selected-cell-bottom:before{border-bottom:1px double #ffa94d}.article .selected-cell-left:before{border-left:1px double #ffa94d}.article .selected-cell-left:before,.article .selected-cell-right:before{bottom:0;content:"";left:0;margin:-1px;position:absolute;right:0;top:0;z-index:2}.article .selected-cell-right:before{border-right:1px double #ffa94d}.seafile-menu-container{background:#fff;border:1px solid #e5e5e5;border-radius:4px;box-shadow:0 4px 10px #eee;color:#333;display:flex;flex-direction:column;min-width:80px;overflow-x:hidden;overflow-y:auto;padding:8px 0;position:fixed;width:150px;z-index:1080}.seafile-menu-container .seafile-menu-item{cursor:pointer;display:flex;height:32px;line-height:32px;padding:0 10px;position:relative}.seafile-menu-container .seafile-menu-item:hover{background-color:#f5f5f5}.seafile-menu-container .seafile-menu-item .menu-item-icon{color:#aaa;margin-right:5px}.seafile-menu-container .seafile-menu-item .checked-icon{color:#aaa;height:32px;line-height:32px;position:absolute;right:10px}@-webkit-keyframes commonLoading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes commonLoading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.common-loading-icon{-webkit-animation:commonLoading .9s linear infinite;animation:commonLoading .9s linear infinite;border:2px solid #eee;border-left-color:#aaa;border-radius:50%;display:inline-block;height:20px;width:20px}.common-loading-tip{display:block;margin:0 auto}.sdoc-dropdown-item-with-left-icon .sdoc-dropdown-item-content .sdoc-dropdown-item-content-icon{color:#444}.link-op-menu{background-color:#fff;border:1px solid #e5e5e5;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);display:flex;height:36px;padding:7px 8px;position:absolute;z-index:1000}.link-op-menu .link-op-menu-triangle{background:#fff;border-bottom:1px solid rgba(0,40,100,.12);border-right:1px solid rgba(0,40,100,.12);height:8px;position:absolute;right:50%;top:31px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:8px;z-index:1001}.link-op-menu-link{border-radius:2px;color:#212529;font-size:12px;line-height:20px;padding:0 5px}.link-op-menu-link:hover{background:#f1f1f1;color:#212529;text-decoration:none}.link-op-icons{border-left:1px solid #e5e5e5;margin-left:8px}.link-op-icon{align-items:center;border-radius:2px;color:#999;display:flex;margin-left:8px;padding:4px}.link-op-icon .sdocfont{color:#444;font-size:12px}.link-op-icon:hover{background:#f2f2f2}.seafile-ed-hovermenu-mouseclick{background-color:#e5e5e5}.sdoc-tooltip .tooltip-inner{background-color:#303133;font-weight:lighter;text-align:start}.sdoc-tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow:before{border-bottom-color:#303133}.sdoc-tooltip.bs-tooltip-auto[x-placement^=top] .arrow:before{border-top-color:#303133}.sdoc-tooltip.bs-tooltip-auto[x-placement^=right] .arrow:before{border-right-color:#303133}.sdoc-tooltip.bs-tooltip-auto[x-placement^=left] .arrow:before{border-left-color:#303133}.menu-group .sdoc-color-menu.menu-show{background:#e5e5e5;border-radius:2px}.menu-group .sdoc-color-menu .last-used-color-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.menu-group .sdoc-color-menu .last-used-color-container.disabled{padding-right:0}.menu-group .sdoc-color-menu .sdoc-color-toggle{align-items:center;display:flex;height:100%;justify-content:center}.menu-group .sdoc-color-menu .last-used-color-container:not(.disabled):hover,.menu-group .sdoc-color-menu .sdoc-color-toggle:hover{background-color:#e5e5e5}.menu-group .sdoc-color-menu.disabled .sdoc-color-toggle{display:none}.sdoc-color-menu .sdoc-color-icon{height:12px;line-height:12px;-webkit-transform:scale(.85);transform:scale(.85);width:12px}.sdoc-color-menu .last-used-color{border:1px solid rgba(0,0,0,.08);border-radius:1px;height:3px;margin-top:1px;width:14px}.sdoc-color-menu-popover .popover{left:-24px!important}.sdoc-color-menu-popover .sdoc-color-dropdown-menu{padding:0 0 12px;width:251px}.sdoc-color-menu-popover .sdoc-color-no-color-container{height:24px;margin-bottom:5px;width:100%}.sdoc-color-menu-popover .sdoc-color-no-color-content{border:1px solid rgba(0,0,0,.12);border-radius:2px;cursor:pointer;font-size:12px;height:100%;line-height:22px;text-align:center;width:100%}.sdoc-color-menu-popover .sdoc-color-default-colors-container{display:flex;flex-wrap:wrap}.sdoc-color-menu-popover .sdoc-color-item{border:.5px solid rgba(0,0,0,.08);height:20px;margin-bottom:3px;margin-right:3px;position:relative;width:20px}.sdoc-color-menu-popover .sdoc-color-item:not(.selected):hover:before{border:1px solid rgba(0,0,0,.24);content:"";height:calc(100% + 5px);left:-2.5px;pointer-events:none;position:absolute;top:-2.5px;width:calc(100% + 5px)}.sdoc-color-menu-popover .sdoc-color-item.selected:after{border:1px solid rgba(0,0,0,.88);content:"";height:calc(100% + 5px);left:-2.5px;pointer-events:none;position:absolute;top:-2.5px;width:calc(100% + 5px)}.sdoc-color-menu-popover .sdoc-color-item:hover{cursor:pointer}.sdoc-color-menu-popover .sdoc-color-item:nth-child(10n){margin-right:0}.sdoc-color-menu-popover .sdoc-color-sub-title{color:rgba(0,0,0,.4);font-size:11px;line-height:16px;margin:7px 0}.sdoc-color-menu-popover .sdoc-colors-divider{border-bottom:1px solid rgba(0,0,0,.08);height:1px;margin:0 0 8px;width:100%}.sdoc-color-menu-popover .sdoc-more-colors{align-items:center;display:flex;font-size:12px;height:30px;justify-content:space-between;padding:0 12px}.sdoc-color-menu-popover .sdoc-more-colors .sdocfont{color:#888;font-size:12px;-webkit-transform:scale(.6);transform:scale(.6)}.sdoc-color-menu-popover .sdoc-more-colors.show-pick{background-color:rgba(51,77,102,.06);cursor:pointer}.sdoc-more-colors-popover .popover{left:10px!important}.menu-group #button-sdoc-highlight-color .sdoc-color-icon{left:1px;position:relative}.menu-group{align-items:center;border-right:1px solid #e5e6e8;color:#444;display:flex;font-size:.75rem;height:100%;justify-content:center;padding:6px 0 6px 8px}.menu-group .menu-group-item{background-color:#fff;border:none!important;color:#444;height:24px;line-height:24px;margin-right:8px;width:24px}.menu-group .menu-group-item:disabled{color:#bdbdbd}.menu-group .menu-group-item:hover{background-color:#f2f2f2;border-radius:2px}.menu-group .menu-group-item[data-active=true]{color:#eb8205}.menu-group .menu-group-item .sdocfont,.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon .sdocfont{font-size:12px}.menu-group .menu-group-item.sdoc-menu-with-dropdown{align-items:center;border:0!important;display:flex;height:24px;justify-content:center;margin-right:10px;overflow:hidden;padding:0!important;width:36px}.menu-group .menu-group-item.sdoc-menu-with-dropdown.disabled{color:#999;width:24px!important}.sdoc-menu-with-dropdown:not(.disabled):hover{background:#f2f2f2;border-radius:2px}.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle{align-items:center;display:flex;height:24px;justify-content:center;width:12px}.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle .sdoc-menu-with-dropdown-triangle-icon{color:#999;font-size:12px}.sdoc-code-block-hover-menu-container{height:42px;max-width:250px;position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:101}.sdoc-code-block-hover-menu-container .hover-menu-container{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);display:flex;height:36px;justify-content:space-around;padding:7px 8px;width:100%}.sdoc-code-block-hover-menu-container .hover-menu-container .active{background:#f2f2f2;color:#212529;text-decoration:none}.sdoc-code-block-hover-menu-container .hover-menu-container .op-item{border-radius:2px;color:#212529;font-size:12px;height:100%;line-height:20px;position:relative;text-align:center;width:100%}.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item.sdoc-code-block-hover-operation-lang .op-item{padding:0 5px}.sdoc-code-block-hover-menu-container .hover-menu-container .sdoc-code-block-hover-operation-lang .icon-font{align-items:center;display:inline-flex;justify-content:center;margin-left:8px}.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item{height:20px;justify-content:center;text-align:center;width:20px}.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item.sdoc-code-block-hover-operation-lang{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-lang .icon-font{color:#999}.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-divider{background-color:#e5e5e5;height:20px;margin:0 8px;width:1px}.sdoc-code-block-hover-menu-container .hover-menu-container .op-item:hover{background:#f2f2f2;color:#212529;text-decoration:none}.sdoc-code-block-hover-menu-container .hover-menu-container .op-tooltip:hover:after{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 0 5px #ccc;color:#212529;content:attr(op-item-tooltip);display:flex;font-size:12px;height:30px;justify-content:center;left:-20px;position:absolute;top:-40px;width:70px}.sdoc-code-block-hover-menu-container .icon-font{color:#444;font-size:12px}.sdoc-langs-list-container{background-color:#fff;border:1px solid #dedede;border-radius:4px;box-shadow:0 0 5px #ccc;left:0;overflow-y:hidden;position:absolute;top:38px;width:200px}.sdoc-langs-list-container .sdoc-search-langs{padding:10px 10px 0}.sdoc-langs-list-container .sdoc-search-langs input{font-size:14px;max-height:30px}.sdoc-langs-list-container .langs-list-ul{list-style:none;max-height:280px;min-height:100px;overflow-y:auto;padding:10px}.sdoc-langs-list-container .langs-list-ul .langs-list-li{cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:space-between;line-height:30px;padding-left:12px;position:relative;white-space:nowrap}.sdoc-langs-list-container .langs-list-ul .langs-list-li .active,.sdoc-langs-list-container .langs-list-ul .langs-list-li:hover{background-color:#f5f5f5}.sdoc-langs-list-container .langs-list-ul .langs-list-li .li-check-mark{opacity:0;padding:0 10px}.sdoc-langs-list-container .langs-list-ul .langs-list-li .li-checked{opacity:1}.sdoc-code-block-container{position:relative}.sdoc-code-block-pre{background:#fafafa;border:1px solid #f0f0f0}.sdoc-code-block-pre .sdoc-code-no-wrap{white-space:nowrap}.sdoc-code-block-pre .sdoc-code-no-wrap .sdoc-code-line>span{white-space:pre}.sdoc-code-block-code .sdoc-code-line{counter-increment:number;position:relative}.sdoc-code-block-code .sdoc-code-line:before{color:#ccc;content:counter(number);display:inline-block;margin-left:-16px;margin-right:20px;text-align:end;width:40px}.sdoc-code-line +.token.comment,.token.cdata,.token.doctype,.token.prolog{color:#708090}.sdoc-code-line +.token.punctuation{color:#999}.sdoc-code-line +.token.namespace{opacity:.7}.sdoc-code-line +.token.property,.token.boolean,.token.constant,.token.deleted,.token.number,.token.symbol,.token.tag{color:#905;padding:0}.sdoc-code-line +.token.selector,.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.string{color:#690}.language-css .token.string,.sdoc-code-line +.token.operator,.style .token.string,.token.entity,.token.url{color:#9a6e3a}.sdoc-code-line +.token.atrule,.token.attr-value,.token.keyword{color:#07a}.sdoc-code-line +.token.function,.token.class-name{color:#dd4a68}.sdoc-code-line +.token.regex,.token.important,.token.variable{color:#e90}.sdoc-code-line +.sdoc-code-line +.token.important,.token.bold{font-weight:700}.sdoc-code-line +.token.italic{font-style:italic}.sdoc-code-line +.token.entity{cursor:help}@-webkit-keyframes closeWindow{0%{opacity:1}to{opacity:0}}@keyframes closeWindow{0%{opacity:1}to{opacity:0}}.ril__outer{-ms-content-zooming:none;-ms-touch-select:none;background-color:rgba(0,0,0,.85);bottom:0;height:100%;left:0;outline:none;right:0;top:0;-ms-touch-action:none;touch-action:none;-ms-user-select:none;width:100%;z-index:1000}.ril__outerClosing{opacity:0}.ril__image,.ril__imageNext,.ril__imagePrev,.ril__inner{bottom:0;left:0;position:absolute;right:0;top:0}.ril__image,.ril__imageNext,.ril__imagePrev{-ms-content-zooming:none;-ms-touch-select:none;margin:auto;max-width:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none}.ril__imageDiscourager{background-position:50%;background-repeat:no-repeat;background-size:contain}.ril__navButtons{border:none;bottom:0;cursor:pointer;height:34px;margin:auto;opacity:.7;padding:40px 30px;position:absolute;top:0;width:20px}.ril__navButtons:hover{opacity:1}.ril__navButtons:active{opacity:.7}.ril__outer .ril__navButtonPrev{background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Im00MTIgNTE1LjIgMzYxLjYtMzYxLjZjMjIuNC0xOS4yIDIyLjQtNTQuNCAwLTc2LjhzLTU3LjYtMjIuNC03Ni44IDBsLTQwNi40IDQwMGMtMjIuNCAyMi40LTIyLjQgNTcuNiAwIDc2LjhsNDA2LjQgNDAzLjJjMjIuNCAyMi40IDU3LjYgMjIuNCA3Ni44IDBzMjIuNC01Ny42IDAtNzYuOEw0MTIgNTE1LjJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+) no-repeat 50%;left:0}.ril__outer .ril__navButtonNext{background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik02NDAgNTE1LjIgMjc4LjQgMTUzLjZjLTIyLjQtMTkuMi0yMi40LTU0LjQgMC03Ni44czU3LjYtMjIuNCA3Ni44IDBsNDA2LjQgNDAwYzIyLjQgMjIuNCAyMi40IDU3LjYgMCA3Ni44TDM1NS4yIDk1Ni44Yy0yMi40IDIyLjQtNTcuNiAyMi40LTc2LjggMHMtMjIuNC01Ny42IDAtNzYuOEw2NDAgNTE1LjJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+) no-repeat 50%;right:0}.ril__downloadBlocker{background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);background-size:cover;bottom:0;left:0;position:absolute;right:0;top:0}.ril__caption,.ril__toolbar{-ms-flex-pack:justify;background-color:rgba(0,0,0,.5);display:-ms-flexbox;display:flex;justify-content:space-between;left:0;position:absolute;right:0}.ril__caption{-ms-flex-pack:center;bottom:0;justify-content:center;max-height:150px;overflow:auto}.ril__captionContent{color:#fff;margin:0 auto;padding:10px 20px}.ril__toolbar{height:50px;top:0}.ril__toolbarSide{height:50px;margin:0}.ril__toolbarLeftSide{-ms-flex:0 1 auto;flex:0 1 auto;overflow:hidden;padding-left:20px;padding-right:0;text-overflow:ellipsis}.ril__toolbarRightSide{-ms-flex:0 0 auto;flex:0 0 auto;padding-left:0;padding-right:20px}.ril__toolbarItem{color:#fff;display:inline-block;font-size:120%;line-height:50px;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.ril__toolbarItemChild{vertical-align:middle}.ril__builtinButton{border:none;cursor:pointer;height:35px;opacity:.7;width:40px}.mobile-image-footer-choice .ril__builtinButton,.ril__builtinButton:hover{opacity:1}.ril__builtinButton:active{outline:none}.ril-toolbar .ril__builtinButton{width:30px}.ril__builtinButtonDisabled{cursor:default;opacity:.5}.ril__builtinButtonDisabled:hover{opacity:.5}.ril__deleteButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNMTAuMi41Yy40MDIgMCAuOC4zNTIuODUuNzVsLjIgMS4zNTJoMy42MDJjLjM0NyAwIC42NDguMjk2LjY0OC41OTdzLS4zLjYwMi0uNjQ4LjYwMmgtMS4yNXYxMGMwIC4zOTgtLjIwNC44NDctLjUgMS4xOTktLjM1Mi4zNTItLjc1LjQ1LTEuMjA0LjQ1aC03Ljc1Yy0uNDQ5IDAtLjg5OC0uMi0xLjE5OS0uNDUtLjM0Ny0uMzUyLS41LS43NS0uNS0xLjJ2LTEwaC0xLjNBLjU4MS41ODEgMCAwIDEgLjUgMy4yNWMwLS4zLjMtLjYwMi42NDgtLjYwMkg0Ljd2LS4wOTdsLjItMS4zNTJDNC45NDguODUyIDUuMy41IDUuNzUuNVptLS41NTIgNS42MDJjLS4zOTggMC0uNjk5LjI5Ni0uNjk5LjY5OVYxMmMwIC4zOTguMzAxLjcuNy43LjQwMiAwIC43MDMtLjMwMi43MDMtLjdWNi44NTJjMC0uNDAzLS4zMDEtLjc1LS43MDQtLjc1Wm0tMy4yOTYgMGEuNjgzLjY4MyAwIDAgMC0uNzA0LjY5OVYxMmMwIC4zOTguMzAxLjcuNzA0LjcuMzk4IDAgLjY5OS0uMzAyLjY5OS0uN1Y2Ljg1MmMwLS40MDMtLjMwMS0uNzUtLjctLjc1Wm0wIDAiLz48L3N2Zz4=) no-repeat 50%}.ril__downloadButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNOS4xMDIgOC44OThWMS42MDJDOS4xMDIuOTQ5IDguNjAyLjUgOCAuNWMtLjYwMiAwLTEuMTAyLjQ1LTEuMTAyIDEuMTAydjcuMjk2TDQuMiA2LjJhMS4wNDUgMS4wNDUgMCAwIDAtMS41LjA1MWMtLjM5OC4zOTgtLjM5OCAxLjEwMiAwIDEuNUw3LjI1IDEyLjNjLjM5OC40IDEuMTAyLjQgMS41IDBsNC41NS00LjU1Yy40LS4zOTguNC0xLjEwMi4wNTItMS41LS40MDMtLjM5OC0xLjEwMi0uMzk4LTEuNS0uMDVsLS4wNTEuMDVabS03LjUgNC40NTRoMTIuODQ3Yy42MDIgMCAxLjEwMi40NDkgMS4xMDIgMS4wOTcgMCAuNjUzLS41IDEuMDUxLTEuMTUzIDEuMDUxSDEuNjAyQy45NDkgMTUuNS41IDE1LjA1LjUgMTQuMzk4YzAtLjU0Ni40NS0xLjA0NiAxLjEwMi0xLjA0NlptMCAwIi8+PC9zdmc+) no-repeat 50%}.ril__downMoveButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNOCAxNS41QTcuNDkyIDcuNDkyIDAgMCAxIC41IDhDLjUgMy44NTIgMy44NTIuNSA4IC41czcuNSAzLjM1MiA3LjUgNy41LTMuMzUyIDcuNS03LjUgNy41Wk04IDIuMTQ4QzQuOCAyLjE0OCAyLjE0OCA0LjgwMSAyLjE0OCA4YzAgMy4yIDIuNjUzIDUuODUyIDUuODUyIDUuODUyIDMuMiAwIDUuODUyLTIuNjUzIDUuODUyLTUuODUyIDAtMy4yLTIuNjUzLTUuODUyLTUuODUyLTUuODUyWm0wIDAiLz48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNOC41NSAxMGEuOTEuOTEgMCAwIDEtMS4xOTggMEw0LjQ0OSA3LjEwMkM0LjIgNi43NSA0LjIgNi4yNSA0LjUgNS45NDljLjMtLjMuOC0uMzQ3IDEuMTQ4LS4wNWwyLjMwMSAyLjMgMi4zMDEtMi4zYy4yLS4yNS41NS0uMzQ4Ljg1Mi0uMjk3LjI5Ni4wNDYuNTQ2LjI5Ni42NDguNjQ4LjA1LjMtLjA1LjY0OC0uMy44NTJabTAgMCIvPjwvc3ZnPg==) no-repeat 50%}.ril__upMoveButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNOCAuNUE3LjQ5MiA3LjQ5MiAwIDAgMCAuNSA4YzAgNC4xNDggMy4zNTIgNy41IDcuNSA3LjVzNy41LTMuMzUyIDcuNS03LjVTMTIuMTQ4LjUgOCAuNVptMCAxMy4zNTJjLTMuMiAwLTUuODUyLTIuNjUzLTUuODUyLTUuODUyIDAtMy4yIDIuNjUzLTUuODUyIDUuODUyLTUuODUyIDMuMiAwIDUuODUyIDIuNjUzIDUuODUyIDUuODUyIDAgMy4yLTIuNjUzIDUuODUyLTUuODUyIDUuODUyWm0wIDAiLz48cGF0aCBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIiBkPSJNOC41NSA2YS45MS45MSAwIDAgMC0xLjE5OCAwTDQuNDQ5IDguODk4Yy0uMjUuMzUyLS4yNS44NTIuMDUxIDEuMTUzLjMuMy44LjM0NyAxLjE0OC4wNWwyLjMwMS0yLjMgMi4zMDEgMi4zYy4yLjI1LjU1LjM0OC44NTIuMjk3LjI5Ni0uMDQ2LjU0Ni0uMjk2LjY0OC0uNjQ4LjA1LS4zLS4wNS0uNjQ4LS4zLS44NTJabTAgMCIvPjwvc3ZnPg==) no-repeat 50%}.ril__closeButton{background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik02MTEuMiA1MTIgOTEyIDIxMS4yYzI4LjgtMjguOCAyOC44LTczLjYgMC05OS4ycy03My42LTI4LjgtOTkuMiAwTDUxMiA0MTIuOCAyMTEuMiAxMTJjLTI4LjgtMjguOC03My42LTI4LjgtOTkuMiAwcy0yOC44IDczLjYgMCA5OS4yTDQxMi44IDUxMiAxMTIgODEyLjhjLTI4LjggMjguOC0yOC44IDczLjYgMCA5OS4yIDI4LjggMjUuNiA3My42IDI4LjggOTkuMiAwTDUxMiA2MTEuMiA4MTIuOCA5MTJjMjguOCAyOC44IDczLjYgMjguOCA5OS4yIDAgMjguOC0yOC44IDI4LjgtNzMuNiAwLTk5LjJMNjExLjIgNTEyeiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==) no-repeat 50%}.ril__zoomInButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0ibTEgMTkgNi02TTkgOGg2TTEyIDV2NiIvPjwvZz48Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9zdmc+) no-repeat 50%}.ril__zoomOutButton{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0ibTEgMTkgNi02TTkgOGg2Ii8+PC9nPjxjaXJjbGUgY3g9IjEyIiBjeT0iOCIgcj0iNyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=) no-repeat 50%}.ril__rotateButton{background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGQ9Im0xMjQuOCAxNjAgNTQuNCA1MS4yQzM0NS42IDI4LjggNjMwLjQgMTYgODEyLjggMTgyLjRTMTAwOCA2MzMuNiA4NDEuNiA4MTYgMzkwLjQgMTAxMS4yIDIwOCA4NDQuOGMtMzguNC0zNS4yLTczLjYtNzYuOC05Ni0xMjQuOC02LjQtOS42LTkuNi0xNi05LjYtMjguOCAwLTMyIDI1LjYtNTQuNCA1NC40LTU0LjQgMTkuMiAwIDM4LjQgOS42IDU0LjQgMzIgODMuMiAxNjYuNCAyODggMjMwLjQgNDU0LjQgMTQ0czIzMC40LTI5MS4yIDE0NC00NTcuNi0yODgtMjMwLjQtNDU0LjQtMTQ0Yy0zNS4yIDE5LjItNjcuMiA0MS42LTk2IDczLjZsNTEuMiA0NC44YzEyLjggMTIuOCAxNiAzOC40IDMuMiA1MS4yLTYuNCA2LjQtMTYgOS42LTI1LjYgOS42TDEwNS42IDQwMGMtMTkuMiAwLTM1LjItMTIuOC0zOC40LTMyTDY0IDE4OC44Yy0zLjItMTkuMiAxMi44LTM1LjIgMzItMzguNCAxMi44LTMuMiAyMi40IDMuMiAyOC44IDkuNnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=) no-repeat 50%}.ril__outerAnimating{-webkit-animation-name:closeWindow;animation-name:closeWindow}@-webkit-keyframes pointFade{0%,19.999%,to{opacity:0}20%{opacity:1}}@keyframes pointFade{0%,19.999%,to{opacity:0}20%{opacity:1}}.ril__loadingCircle{height:60px;position:relative;width:60px}.ril__loadingCirclePoint{height:100%;left:0;position:absolute;top:0;width:100%}.ril__loadingCirclePoint:before{-webkit-animation:pointFade .8s ease-in-out infinite both;animation:pointFade .8s ease-in-out infinite both;background-color:#fff;border-radius:30%;content:"";display:block;height:30%;margin:0 auto;width:11%}.ril__loadingCirclePoint:first-of-type{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.ril__loadingCirclePoint:first-of-type:before,.ril__loadingCirclePoint:nth-of-type(7):before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.ril__loadingCirclePoint:nth-of-type(2){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.ril__loadingCirclePoint:nth-of-type(8){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.ril__loadingCirclePoint:nth-of-type(2):before,.ril__loadingCirclePoint:nth-of-type(8):before{-webkit-animation-delay:-666ms;animation-delay:-666ms}.ril__loadingCirclePoint:nth-of-type(3){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.ril__loadingCirclePoint:nth-of-type(9){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.ril__loadingCirclePoint:nth-of-type(3):before,.ril__loadingCirclePoint:nth-of-type(9):before{-webkit-animation-delay:-533ms;animation-delay:-533ms}.ril__loadingCirclePoint:nth-of-type(4){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ril__loadingCirclePoint:nth-of-type(10){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ril__loadingCirclePoint:nth-of-type(10):before,.ril__loadingCirclePoint:nth-of-type(4):before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.ril__loadingCirclePoint:nth-of-type(5){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.ril__loadingCirclePoint:nth-of-type(11){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.ril__loadingCirclePoint:nth-of-type(11):before,.ril__loadingCirclePoint:nth-of-type(5):before{-webkit-animation-delay:-266ms;animation-delay:-266ms}.ril__loadingCirclePoint:nth-of-type(6){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.ril__loadingCirclePoint:nth-of-type(12){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.ril__loadingCirclePoint:nth-of-type(12):before,.ril__loadingCirclePoint:nth-of-type(6):before{-webkit-animation-delay:-133ms;animation-delay:-133ms}.ril__loadingCirclePoint:nth-of-type(7){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ril__loadingCirclePoint:nth-of-type(13){-webkit-transform:rotate(1turn);transform:rotate(1turn)}.ril__loadingCirclePoint:nth-of-type(13):before,.ril__loadingCirclePoint:nth-of-type(7):before{-webkit-animation-delay:0ms;animation-delay:0ms}.ril__loadingContainer{bottom:0;left:0;position:absolute;right:0;top:0}.ril__imageNext .ril__loadingContainer,.ril__imagePrev .ril__loadingContainer{display:none}.ril__errorContainer{-ms-flex-align:center;-ms-flex-pack:center;align-items:center;bottom:0;color:#fff;display:-ms-flexbox;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.ril__imageNext .ril__errorContainer,.ril__imagePrev .ril__errorContainer{display:none}.ril__loadingContainer__icon{color:#fff;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.mobile-image-previewer .ril-toolbar .ril__toolbarRightSide{padding-right:14px}.image-footer-choice.mobile-image-footer-choice{background-color:#000;height:100px;padding:0;z-index:1052}.mobile-image-footer-choice{-ms-flex-pack:justify;-ms-flex-align:center;align-items:center;background:rgba(0,0,0,.6);border-radius:2px;border-top-left-radius:0;border-top-right-radius:0;bottom:0;color:#fff;display:-ms-flexbox;display:flex;height:30px;justify-content:space-between;padding:0 3px;position:absolute;width:100%}.mobile-image-footer-choice .image-footer-icon,.mobile-image-footer-choice .image-footer-icon span{-ms-flex-pack:center;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;justify-content:center}.mobile-image-footer-choice .image-footer-icon span{color:#dbdbdb;cursor:pointer;height:24px;width:24px}.image-footer-choice.mobile-image-footer-choice .image-footer-icon{-ms-flex-pack:justify;-ms-flex-direction:row-reverse;flex-direction:row-reverse;justify-content:space-between;margin:0 20px;width:100%}.mobile-image-footer-choice .image-footer-icon .image-footer-choice-item{background-color:#333;border-radius:5px;height:40px;width:40px}.ril__outer .ril-toolbar .ril-close{height:53px;width:30px}.ril__outer .ril__toolbarItem{height:50px}.ril__outer .ril__toolbarItem button{opacity:.7}.ril__outer .ril__toolbarItem button:hover{opacity:1}.sdoc-image-hover-menu-container{height:42px;position:absolute;width:auto;z-index:101}.sdoc-image-hover-menu-container .hover-menu-container{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);display:flex;height:36px;justify-content:flex-start;padding:7px 8px}.sdoc-image-hover-menu-container .hover-menu-container>span:not(:last-of-type){border-right:1px solid #e5e5e5;padding:0 8px}.sdoc-image-hover-menu-container .hover-menu-container .op-item{align-items:center;border-radius:2px;color:#212529;display:inline-flex;font-size:12px;height:24px;justify-content:center;min-width:24px;padding:0 5px;position:relative}.sdoc-image-hover-menu-container .hover-menu-container .op-item:hover{background:#f1f1f1;color:#212529;text-decoration:none}.sdoc-image-hover-menu-container .op-group-item:last-child .op-item{margin-left:8px}.sdoc-image-hover-menu-container .hover-menu-container .active{background:#f1f1f1}.sdoc-image-hover-menu-container .hover-menu-container .icon-font{color:#999;font-size:12px}.sdoc-image-hover-menu-container .sdoc-image-popover{align-items:flex-start;background-color:#fff;border:1px solid #e5e6e8;border-radius:2px;box-shadow:0 0 10px #ccc;display:flex;flex-direction:column;position:absolute;top:37px;white-space:nowrap;z-index:101}.sdoc-image-hover-menu-container .align-popover{left:80px;min-width:6rem}.sdoc-image-hover-menu-container .border-popover{align-items:center;flex-direction:row;height:80px;left:115px;padding:0 8px}.sdoc-image-hover-menu-container .border-popover .sdoc-dropdown-menu-item .sdoc-dropdown-item-content .sdoc-check-mark{-webkit-transform:translateX(-24px);transform:translateX(-24px)}.sdoc-image-hover-menu-container .border-popover .sdoc-dropdown-menu-item:hover{background-color:transparent}.sdoc-selected-table-size-popover .popover{background-color:#fff;border-radius:2px;max-width:222px;min-height:100px;min-width:100px}.sdoc-selected-table-size-popover .sdoc-selected-table-size-tip{font-size:14px;height:35px;padding:5px 10px 10px;text-align:center}.sdoc-selected-table-size-popover .sdoc-table-size-select{padding:0 10px}.sdoc-selected-table-size-popover .sdoc-table-size-row{border-bottom:1px solid #ccc;flex-direction:row;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.sdoc-selected-table-size-popover .sdoc-table-size-row:first-child{border-top:1px solid #ccc}.sdoc-selected-table-size-popover .sdoc-table-size-cell{border-right:1px solid #ccc;height:15px;width:20px}.sdoc-selected-table-size-popover .sdoc-table-size-row .sdoc-table-size-cell:first-child{border-left:1px solid #ccc}.sdoc-selected-table-size-popover .sdoc-table-size-cell.active{background-color:#ffa94d}.sdoc-selected-table-size-popover .sdoc-table-size-select{margin-top:5px}.sdoc-selected-table-size-popover .sdoc-selected-table-size-custom{border-top:1px solid #dedede;margin-top:10px;min-height:40px;padding:8px 10px}.sdoc-selected-table-size-popover .sdoc-selected-table-size-custom:hover{cursor:pointer}.sdoc-table-menu-group.menu-group .menu-group-item:not(.sdoc-remove-table){width:36px}.sdoc-table-menu-group .sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon{width:24px}.sdoc-table-menu-group .sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle{width:12px}.sdoc-table-menu-group .sdoc-color-menu .last-used-color-container{height:100%}.sdoc-table-menu-popover .sdoc-dropdown-menu-item{font-size:14px}.sdoc-context-menu .sdoc-table-context-menu{display:block;font-size:.875rem}.sdoc-table-context-menu .insert-number{margin-left:50px}.sdoc-table-context-menu .insert-number-input{height:20px;margin-right:.25rem;padding-left:4px;padding-right:4px;text-align:center;transition:none;width:36px}.sdoc-table-context-menu .dropdown-item:hover .insert-number-input{background-color:transparent;border:1px solid #fff;color:#fff}.sdoc-table-context-menu .dropdown-item:disabled .insert-number-input{color:#adb5bd}.sdoc-table-wrapper .sdoc-table-columns-header{height:12px;overflow:hidden;top:-12px;width:100%}.sdoc-table-wrapper .sdoc-table-columns-header .sdoc-table-column-header{background-color:#f3f5f7;border-right:1px solid rgba(0,0,0,.08);flex-shrink:0}.sdoc-table-wrapper .sdoc-table-rows-header{height:100%;left:-12px;position:absolute;top:1px;width:12px}.sdoc-table-wrapper .sdoc-table-row-header{background-color:#f3f5f7;border-bottom:1px solid rgba(0,0,0,.08);width:100%}.sdoc-table-wrapper .sdoc-table-rows-columns-header{background-color:#f3f5f7;border-bottom:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08);border-top-left-radius:3px;height:13px;left:-12px;position:absolute;top:-12px;width:13px}.sdoc-table-wrapper .sdoc-table-column-header.range-selected,.sdoc-table-wrapper .sdoc-table-row-header.range-selected,.sdoc-table-wrapper .sdoc-table-rows-columns-header.range-selected{background-color:#81868f!important}.sdoc-table-wrapper .sdoc-table-column-header.range-selected-tip,.sdoc-table-wrapper .sdoc-table-row-header.range-selected-tip,.sdoc-table-wrapper .sdoc-table-rows-columns-header.range-selected-tip{background-color:#e9ebed}.sdoc-table-wrapper .sdoc-table-add-element-icon-content{background-color:#ccc;border-radius:50%;color:#fff;cursor:default;height:12px;line-height:10px;text-align:center;width:12px;z-index:1}.sdoc-table-wrapper .sdoc-table-add-element-icon-content:hover{cursor:pointer}.sdoc-table-wrapper{margin:16px 0;width:100%}.sdoc-table-wrapper+.sdoc-table-wrapper{margin-top:32px}.sdoc-table-wrapper .sdoc-table-scroll-wrapper{cursor:default;max-width:100%;overflow-x:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-center:before,.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-right:before{background:linear-gradient(270deg,transparent,rgba(0,0,0,.1));content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:8px}.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-center:after,.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-left:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1));content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:8px}.sdoc-table-wrapper .sdoc-table-container{cursor:text;display:table;overflow:hidden;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.sdoc-table-wrapper .table-row{display:table-row;height:auto}.sdoc-table-wrapper .table-cell{border-bottom:1px solid #ccc;border-right:1px solid #ccc;display:table-cell;line-height:1.5;padding:10px;vertical-align:top}.sdoc-table-wrapper .table-row:first-child .table-cell{border-top:1px solid #ddd}.sdoc-table-wrapper .table-row .table-cell:first-child{border-left:1px solid #ddd}.sdoc-table-wrapper .cell-selected{caret-color:transparent;position:relative}.sdoc-table-wrapper .table-row-height-just{bottom:-2.5px;height:5px;left:0;width:100%;z-index:1}.sdoc-table-wrapper .table-row-height-just:hover{cursor:row-resize;z-index:2}.sdoc-table-wrapper .table-row-height-just.resizing .table-row-height-just-color-tip{background-color:#2d7ff9;border-radius:1px;height:2px;margin-top:1.5;width:100%}.sdoc-table-wrapper .table-cell-width-just{height:100%;top:0;width:5px;z-index:1}.sdoc-table-wrapper .table-cell-width-just:hover{cursor:col-resize;z-index:2}.sdoc-table-wrapper .table-cell-width-just.resizing .table-cell-width-just-color-tip{background-color:#2d7ff9;border-radius:1px;height:100%;margin-left:1.5px;width:2px}.sdoc-table-wrapper .background-color-tip-blue{background-color:#2d7ff9!important}.sdoc-table-wrapper .sdoc-table-selected-range .table-cell ::selection{background-color:transparent;background-color:initial}.sdoc-link-hover-menu-container{height:42px;position:absolute;width:auto;z-index:101}.sdoc-link-hover-menu-container .hover-menu-container{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);display:flex;height:36px;justify-content:flex-start;padding:7px 8px}.sdoc-link-hover-menu-container .hover-menu-container>span:not(:last-of-type){border-right:1px solid #e5e5e5;padding-right:8px}.sdoc-link-hover-menu-container .hover-menu-container .op-item{align-items:center;border-radius:2px;color:#212529;display:inline-flex;font-size:12px;height:24px;justify-content:center;min-width:24px;padding:0 5px;position:relative}.sdoc-link-hover-menu-container .hover-menu-container .op-item:hover{background:#f1f1f1;color:#212529;text-decoration:none}.sdoc-link-hover-menu-container .op-group-item:last-child .op-item{margin-left:8px}.sdoc-link-hover-menu-container .hover-menu-container .link-style-icon-active{background:#f1f1f1}.sdoc-link-hover-menu-container .hover-menu-container .op-tooltip:hover:after{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 0 5px #ccc;color:#212529;content:attr(op-item-tooltip);display:flex;font-size:12px;height:30px;justify-content:center;left:-20px;position:absolute;top:-40px;width:70px}.sdoc-link-hover-menu-container .hover-menu-container .icon-font{color:#999;font-size:12px}.sdoc-link-hover-menu-container .sdoc-file-display-style-popover{align-items:flex-start;background-color:#fff;border:1px solid #e5e6e8;border-radius:2px;box-shadow:0 0 10px #ccc;display:flex;flex-direction:column;padding:8px 0;position:absolute;right:-80px;top:37px;white-space:nowrap;z-index:101}.sdoc-file-render:hover{background-color:#e5e5e5}.sdoc-file-render .sdoc-file-link-icon{color:#ff9800;padding-right:5px}.sdoc-file-link-hover-menu-container{height:42px;position:absolute;width:auto;z-index:101}.sdoc-file-link-hover-menu-container .hover-menu-container{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);display:flex;height:36px;justify-content:flex-start;padding:7px 8px}.sdoc-file-link-hover-menu-container .hover-menu-container>span:not(:last-of-type){border-right:1px solid #e5e5e5;padding-right:8px}.sdoc-file-link-hover-menu-container .hover-menu-container .op-item{align-items:center;border-radius:2px;color:#212529;display:inline-flex;font-size:12px;height:24px;justify-content:center;min-width:24px;padding:0 5px;position:relative}.sdoc-file-link-hover-menu-container .hover-menu-container .op-item:hover{background:#f1f1f1;color:#212529;text-decoration:none}.sdoc-file-link-hover-menu-container .op-group-item:last-child .op-item{margin-left:8px}.sdoc-file-link-hover-menu-container .hover-menu-container .link-style-icon-active{background:#f1f1f1}.sdoc-file-link-hover-menu-container .hover-menu-container .op-tooltip:hover:after{align-items:center;background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 0 5px #ccc;color:#212529;content:attr(op-item-tooltip);display:flex;font-size:12px;height:30px;justify-content:center;left:-20px;position:absolute;top:-40px;width:70px}.sdoc-file-link-hover-menu-container .hover-menu-container .icon-font{color:#999;font-size:12px}.sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover{align-items:flex-start;background-color:#fff;border:1px solid #e5e6e8;border-radius:2px;box-shadow:0 0 10px #ccc;display:flex;flex-direction:column;padding:8px 0;position:absolute;right:-80px;top:37px;white-space:nowrap;z-index:101}.sdoc-file-link-render:hover{background-color:#e5e5e5}.sdoc-file-card-link{background-color:#f3f3f3;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;height:50px;margin-bottom:-3px;position:relative;width:420px}.sdoc-file-link-render .sdoc-file-link-icon{color:#ff9800;padding-right:5px}.sdoc-file-card-link .sdoc-file-link-icon :first-child{font-size:24px}.sdoc-file-card-link .sdoc-file-link-icon{left:12px;position:absolute;top:6px}.sdoc-file-card-link .sdoc-file-text-link{left:42px;overflow:hidden;position:absolute;text-overflow:ellipsis;top:16px;white-space:nowrap;width:330px}.sdoc-file-card-link .sdoc-file-text-link a{color:#333;text-decoration:none}.sdoc-rebase-btn-group{color:#aaa}.sdoc-rebase-btn-group .sdoc-rebase-btn{cursor:pointer}.sdoc-rebase-current-changes-start{background-color:#cae8fe}.sdoc-rebase-current-changes{background-color:rgba(202,232,254,.8)}.sdoc-rebase-incoming-changes{background-color:#dee8fe}.sdoc-rebase-current-changes>:first-child,.sdoc-rebase-incoming-changes>:first-child{margin:0;padding:.8em 0 .8em .2em}.sdoc-rebase-incoming-changes-end{background-color:#d4d4fe}.header-menu{align-items:center;border-right:1px solid #e5e6e8;display:flex;height:100%;padding:6px 8px;position:relative;width:140px}.header-menu .header-toggle{align-items:center;cursor:pointer;display:flex;flex:1 1;height:24px;justify-content:space-between;padding-left:5px}.header-menu .header-toggle .active{font-size:14px}.header-menu .header-toggle-disabled{color:#bdbdbd;cursor:inherit}.header-menu .header-toggle:not(.header-toggle-disabled):hover{background:#f2f2f2;border-radius:2px}.header-menu .header-toggle .sdocfont{align-items:center;color:#999;cursor:pointer;display:inline-flex;font-size:12px;height:24px;justify-content:center;margin-left:8px;width:12px}.header-menu .header-popover{align-items:flex-start;background-color:#fff;border:1px solid #e5e6e8;border-radius:2px;box-shadow:0 0 10px #ccc;display:flex;flex-direction:column;left:8px;padding:8px 0;position:absolute;top:42px;width:180px;z-index:101}.header-menu .header-popover .sdoc-dropdown-menu-item{font-size:14px;height:auto;line-height:1;padding:9px 16px 9px 28px}.header-menu .header-popover .sdoc-dropdown-menu-item .sdoc-check-mark{color:#798d99;left:8px;position:absolute;-webkit-transform:scale(.8);transform:scale(.8)}.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu{max-width:76px;width:76px}.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled{width:70px!important}.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon,.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon div{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:64px}.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon div{color:#212529;padding-left:5px}.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled .sdoc-menu-with-dropdown-icon{width:70px!important}.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled .sdoc-menu-with-dropdown-icon div{color:#bdbdbd;padding-right:5px;width:70px}.sdoc-font-family-menu-popover .sdoc-dropdown-menu-title-name{color:gray;cursor:default;font-size:14px;padding:8px 10px}.menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu{width:46px}.menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu.disabled{width:34px!important}.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon,.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon div{font-size:14px;width:34px}.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon div{color:#212529;padding-left:5px}.menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu.disabled .sdoc-menu-with-dropdown-icon div{color:#bdbdbd;padding-right:5px}.sdoc-font-size-menu-popover .sdoc-dropdown-menu-item .sdoc-check-mark{color:#798d99;left:8px;position:absolute;-webkit-transform:scale(.8);transform:scale(.8)}.sdoc-font-size-menu-popover .sdoc-font-size-menu-container{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;overflow-x:hidden;overflow-y:scroll;padding:8px 0}.sdoc-font-size-menu-popover .sdoc-dropdown-menu-item{font-size:14px}.menu-group .menu-group-item.sdoc-insert-toolbar-btn{align-items:center;display:flex;justify-content:space-between;width:76px}.menu-group .menu-group-item.sdoc-insert-toolbar-btn.disabled{color:#bdbdbd;width:64px!important}.menu-group .sdoc-insert-toolbar-btn .sdoc-menu-with-dropdown-icon{flex:1 1;font-size:14px;justify-content:flex-start;padding-left:6px;padding-right:2px}.sdoc-insert-menu-popover .popover{min-width:200px}.sdoc-context-toolbar{background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:0 0 0 0 hsla(0,0%,6%,.05),0 3px 6px hsla(0,0%,6%,.1),0 9px 24px hsla(0,0%,6%,.2);display:none;height:42px;position:absolute;width:auto;z-index:101}.sdoc-side-menu,.sdoc-side-menu-popover{position:absolute}.sdoc-side-menu{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 2px 12px 2px rgba(68,73,77,.16);padding:8px 0;-webkit-transform:translateX(-200px);transform:translateX(-200px);width:200px;z-index:999}.sdoc-side-menu-insert-below-popover .popover{background-color:#fff;border-radius:2px;cursor:pointer;left:-6px!important;min-height:120px;min-width:150px}.sdoc-side-toolbar-container{left:0;position:absolute;top:0}.sdoc-side-toolbar-container .sdoc-side-op-icon{border-radius:3px;color:#bdbdbd;cursor:pointer;height:24px;margin-right:1px;padding:0 3px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sdoc-side-toolbar-container .sdoc-side-op-icon :first-child{font-size:14px}.sdoc-side-toolbar-container .side-op-icon-active{background-color:#f2f2f2;border-radius:2px}.sdoc-custom-table-size-dialog .sdoc-custom-table-size-container{width:100%}.sdoc-custom-table-size-dialog .sdoc-custom-table-size-item{width:calc(50% - 16px)}.sdoc-files-tree{display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:16px;width:100%}.sdoc-files-tree .sdoc-file-info{border-radius:2px;height:1.5rem;line-height:1.625;overflow:hidden;padding-left:2.8rem;position:relative;text-overflow:ellipsis;white-space:nowrap}.sdoc-files-tree .sdoc-file-info:hover{background:#fdefb9;box-shadow:inset 0 0 1px #999;cursor:pointer}.sdoc-files-tree .sdoc-file-info .sdoc-file-icon-container{height:100%;left:0;padding-left:1.5rem;position:absolute;width:2.8rem}.sdoc-files-tree .sdoc-file-info .sdoc-file-icon{color:#9aa0ac}.sdoc-files-tree .sdoc-file-info.active{background:#ff8000;box-shadow:inset 0 0 1px #999;color:#fff}.sdoc-files-tree .sdoc-file-info.active .sdoc-file-icon{color:#fff}.sdoc-files-tree .sdoc-file-icon-toggle{font-size:12px!important;height:1.5rem;left:0;line-height:1.5rem!important;position:absolute;text-align:center;-webkit-transform:scale(.8);transform:scale(.8);width:1.5rem}.sdoc-files-tree .sdoc-file-info.expanded .sdoc-file-icon-toggle{-webkit-transform:rotate(90deg) scale(.8);transform:rotate(90deg) scale(.8)}.sdoc-files-tree .sdoc-file-info .sdoc-file-name{font-size:14px}.sdoc-files-tree .sdoc-folder-children{padding-left:20px}.sdoc-files-tree .sdoc-folder-children-empty{color:#999;padding:4px 20px}.sdoc-file-select-dialog{max-width:620px}.sdoc-file-select-dialog .sdoc-file-select-modal{width:620px}.sdoc-file-select-dialog .sdoc-file-select-container{display:flex}.sdoc-file-select-dialog .sdoc-file-select-left{border-right:1px solid #e9ecef;padding:12px 8px;width:150px}.sdoc-file-select-dialog .sdoc-file-select-left .sdoc-file-select-nav-item{border-radius:3px;cursor:pointer;display:inline-block;padding:5px 0 5px 8px;width:100%}.sdoc-file-select-dialog .sdoc-file-select-left .sdoc-file-select-nav-item:hover{background-color:#f5f5f5}.sdoc-file-select-dialog .sdoc-file-select-container .sdoc-file-select-left .selected-sdoc-file-select-nav-item{background-color:#ff8000;color:#fff}.sdoc-file-select-dialog .sdoc-file-select-right{display:flex;flex-direction:column;height:440px;padding:0;width:468px}.sdoc-file-select-dialog .sdoc-file-select-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:1rem}.sdoc-file-select-dialog .highlight-bg-color{background-color:#ff8000;border-color:#ff8000}.sdoc-outline-wrapper{bottom:0;display:flex;margin:20px 30px 20px 16px;min-height:0;position:absolute;top:0;z-index:101}.sdoc-outline{display:flex;flex:1 1;flex-direction:column;font-size:14px;min-height:0;position:relative;width:220px}.sdoc-outline-header{align-items:center;border-bottom:1px solid #dbdbdb;color:#999;display:flex;justify-content:space-between;padding:.25rem 0}.sdoc-outline-header__title{font-size:14px;line-height:1.1;margin:0!important}.sdoc-outline-header__close{cursor:pointer;font-size:14px}.sdoc-outline-header__close:hover{color:#555}.sdoc-outline-list-container{display:flex;flex:1 1;flex-direction:column;list-style:none;overflow:auto;padding:.5rem 0}.sdoc-outline-item{cursor:pointer;padding:4px 0}.sdoc-outline-item.active{color:#ff8000}.sdoc-outline-menu{align-items:center;background:#fff;border-radius:0 50% 50% 0;box-shadow:0 0 6px rgba(0,0,0,.12);color:#888;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;left:-16px;line-height:1;position:absolute;top:20px;width:28px}.sdoc-outline-menu.disabled{opacity:.65}.sdoc-outline-menu:not(.disabled):hover{color:#333}.sdoc-editor-container .article{font-size:11pt}.sdoc-editor-container .sdoc-code-block-pre{font-size:10pt}.sdoc-editor-container .article p{margin:0;padding:5px 0}.element-icon{color:#444!important}.sdoc-editor-container{display:flex;flex:1 1;flex-direction:column;min-height:0}.sdoc-editor-container .sdoc-editor-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #e5e6e8;display:flex;height:44px;justify-content:center;padding:0 10px;position:relative;-webkit-user-select:none;user-select:none;z-index:102}.sdoc-editor-container .sdoc-editor-content{background:#f5f5f5;display:flex;height:calc(100% - 44px);position:relative;width:100%}.sdoc-editor-container .sdoc-absolute-wrapper{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.sdoc-editor-container .sdoc-scroll-container{bottom:0;left:0;overflow:auto;position:absolute;right:0;top:0;z-index:100}.sdoc-editor-container .sdoc-article-container{margin:0 auto;padding-bottom:20px;padding-top:20px;position:relative;top:0;width:794px}.sdoc-editor-container .sdoc-editor-content .article{background-color:#fff;border:1px solid #e5e6e8;box-shadow:0 0 15px rgba(0,0,0,.06);min-height:800px;padding:40px 60px;width:794px}.sdoc-editor-container .sdoc-editor-content .article>div{caret-color:blue}.sdoc-editor-container .seafile-block-container{position:relative}.sdoc-editor-container .seafile-block-container .comment-count{align-items:center;background:rgba(0,0,0,.3);border-radius:4px;color:#fff;display:flex;height:15px;justify-content:center;line-height:18px;pointer-events:none;position:absolute;right:-55px;top:0;width:15px}.sdoc-editor-container .seafile-block-container .comment-count__btn{font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.sdoc-editor-container .article .sdoc-header-1,.sdoc-editor-container .article .sdoc-header-2,.sdoc-editor-container .article .sdoc-header-3,.sdoc-editor-container .article .sdoc-header-4,.sdoc-editor-container .article .sdoc-header-5,.sdoc-editor-container .article .sdoc-header-6,.sdoc-editor-container .article .sdoc-header-subtitle,.sdoc-editor-container .article .sdoc-header-title{font-weight:700;line-height:1.1;margin:1.2em 0 .4em}.sdoc-editor-container .article .sdoc-header-2,.sdoc-editor-container .article .sdoc-header-3{line-height:1.5}.sdoc-editor-container .article .sdoc-header-4{line-height:1.125}.sdoc-editor-container .article .list-container{-webkit-padding-start:24px;margin:0;padding-inline-start:24px}.sdoc-editor-container .article .sdoc-checkbox-container .sdoc-checkbox-input-wrapper{margin-right:6px}.sdoc-editor-container .article .sdoc-checkbox-container .sdoc-checkbox-input-wrapper :first-child{vertical-align:middle}.sdoc-editor-container .article .sdoc-image-wrapper{display:inline-block;margin:0 3px;position:relative}.sdoc-editor-container .article .sdoc-image-inner{display:inline-block;position:relative}.sdoc-editor-container .article .image-selected{box-shadow:0 0 0 2px #007bff}.sdoc-editor-container .article .image-resizer{background-color:#007bff;border:1px solid #fff;bottom:-5px;cursor:se-resize;height:10px;position:absolute;right:-5px;width:10px}.sdoc-editor-container .article .image-full-screen{background-color:#fff;border:1px solid rgba(0,40,100,.12);border-radius:3px;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);display:inline-block;height:26px;line-height:20px;padding:2px;position:absolute;right:-32px;text-align:center;top:0;-webkit-user-select:none!important;user-select:none!important;width:26px;z-index:1000}.sdoc-editor-container .article .image-full-screen:hover{background-color:#efefef;display:block}.sdoc-editor-container .article .image-size{background-color:#4c4c4c;border-radius:3px;bottom:-25px;color:#fff;display:inline-block;font-size:12px;height:22px;left:100%;line-height:12px;padding:5px;position:absolute;-webkit-transform:translateX(5px);transform:translateX(5px);white-space:nowrap;z-index:1}.sdoc-editor-container .article .caret-item .caret-name{display:none}.sdoc-editor-container .article .caret-item:hover .caret-name{display:block}.sdoc-dropdown-menu,.sdoc-dropdown-menu .sdoc-dropdown-menu-container{min-width:12rem;padding:8px 0}.sdoc-dropdown-menu .sdoc-dropdown-menu-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden;width:100%}.sdoc-dropdown-menu .sdoc-dropdown-menu-item{align-items:center;display:flex;height:28px;padding:4px 24px;-webkit-user-select:none;user-select:none;width:100%}.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled,.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled .sdoc-dropdown-item-content-icon{color:#c2c2c2!important}.sdoc-dropdown-menu .sdoc-dropdown-menu-item:hover{background-color:#f5f5f5;cursor:pointer}.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled:hover{background-color:transparent;background-color:initial;color:#c2c2c2;cursor:default}.sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdocfont{font-size:12px;line-height:12px}.sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdoc-dropdown-item-content{align-items:center;display:flex;flex:1 1;font-size:14px;justify-content:flex-start}.sdoc-dropdown-menu .sdoc-dropdown-item-content .sdoc-dropdown-item-content-icon{margin-right:10px}.sdoc-dropdown-menu .sdoc-dropdown-item-right-icon{color:#999;-webkit-transform:scale(.6);transform:scale(.6)}.sdoc-dropdown-menu .sdoc-dropdown-item-with-left-icon{min-height:32px;padding:3px 12px}.sdoc-dropdown-menu .sdoc-check-mark{color:#798d99;-webkit-transform:scale(.8);transform:scale(.8)}.sdoc-sub-dropdown-menu .popover{left:-8px!important}.sdoc-sub-dropdown-menu .bs-popover-auto[x-placement^=left]{left:8px!important}.sdoc-comment-list-container{position:absolute}.sdoc-comment-list-container .comment-ui-container{background-color:#edf2fa;border-radius:8px;box-shadow:0 0 2px rgba(0,0,0,.04);cursor:pointer;margin-bottom:10px;padding:16px 0}.sdoc-comment-list-container .comment-ui-container.active{background:hsla(0,0%,100%,.92);box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);left:-24px;position:relative}.sdoc-comment-list-container .comment-item-list{margin:0;max-height:350px;min-width:280px;overflow-x:hidden;overflow-y:auto}.sdoc-comment-list-container .comment-item{cursor:pointer;padding:16px 16px 0;position:relative}.sdoc-comment-list-container .comment-delete-shadow{align-items:center;background-color:rgba(0,0,0,.7);color:#fff;display:flex;flex-direction:column;inset:0;padding-top:10px;position:absolute;z-index:1}.sdoc-comment-list-container .comment-delete-shadow .delete-tip{margin-bottom:10px}.sdoc-comment-list-container .comment-ui-container.active .comment-item:hover{background:#fafafa}.sdoc-comment-list-container .comment-item .comment-author,.sdoc-comment-list-container .comment-item .comment-header{align-items:center;display:flex;justify-content:space-between}.sdoc-comment-list-container .comment-item .comment-content{margin-left:30px;margin-top:10px;padding-bottom:10px;width:222px;word-break:break-all}.sdoc-comment-list-container .comment-header .comment-author__avatar{align-items:center;display:flex}.sdoc-comment-list-container .comment-header .comment-author__avatar img{border-radius:50%;height:32px;width:32px}.sdoc-comment-list-container .comment-header .comment-author__info{align-items:flex-start;cursor:pointer;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-left:10px;text-overflow:ellipsis;white-space:nowrap}.sdoc-comment-list-container .comment-header .comment-author__info .name{color:#1f1f1f;font-size:14px;font-weight:500;line-height:20px}.sdoc-comment-list-container .comment-header .comment-author__info .time{color:#444746;font-size:12px;line-height:16px}.sdoc-comment-list-container .comment-header .comment-operation{color:#464d5a;cursor:pointer;font-size:20px;height:20px;line-height:20px;width:20px}.sdoc-comment-list-container .comment-ui-container .comment-operation{align-items:center;display:flex;height:32px;justify-content:center;width:32px}.sdoc-comment-list-container .comment-ui-container.active .comment-operation:hover{background-color:#f0f0f0;border-radius:100%}.sdoc-comment-list-container .comment-ui-container .comment-operation .sdoc-confirm{color:#20a0ff;font-weight:800}.sdoc-comment-menu{border-radius:2px;padding:0}.sdoc-popover-menu{background:#fff;height:auto;padding:8px 0;width:140px}.sdoc-popover-menu__item{background-color:transparent;background-color:#fff;color:#202428;cursor:default;font-size:14px;height:28px;padding:4px 24px;vertical-align:middle}.sdoc-popover-menu__item:hover{background-color:#20a0ff;color:#fff}.sdoc-comment-list-container .comment-editor-wrapper{cursor:text;display:flex;flex-direction:column;justify-content:center;padding:0 16px}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin-bottom:10px;max-height:120px;min-height:40px;min-width:240px;overflow:auto;padding:8px;word-break:break-all}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:empty:before{content:attr(placeholder);opacity:.6}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:focus-visible{outline:none}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:focus{border:1px solid rgba(0,0,0,.12)}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info{align-items:center;display:flex;margin-bottom:10px}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info .comment-editor-user-img{border-radius:50%;height:30px;margin-right:8px;overflow:hidden;width:30px}.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info .comment-editor-user-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.sdoc-comment-list-container .comment-editor-wrapper .comment-operations{display:flex;justify-content:flex-end}.sdoc-comment-container .comment-container-right .element-comments-count{align-items:center;color:#999;display:flex;height:16px;justify-content:center;left:-22px;position:absolute;width:16px}.sdoc-comment-container .comment-container-right .element-comments-count:hover{color:#333;cursor:pointer}.sdoc-comment-container .comment-container-right .element-comments-count-value{color:#fff;cursor:pointer;font-size:12px;height:14px;left:0;line-height:13px;pointer-events:none;position:absolute;text-align:center;top:0;width:16px}.sdoc-comment-container{left:0}.sdoc-comment-container,.sdoc-comment-container .comment-container-main{position:absolute;top:0;width:794px}.sdoc-comment-container .comment-container-right{left:100%;position:absolute}.sdoc-comment-container .comment-container-right .comment-add-wrapper{left:-22px;position:absolute;width:20px}.sdoc-comment-container .comment-container-right .comment-add-wrapper .sdocfont{color:#999}.sdoc-comment-container .comment-container-right .comment-add-wrapper .sdocfont:hover{color:#333;cursor:pointer}.sdoc-comment-container .comment-container-right .comment-list-wrapper{left:14px;position:absolute;width:280px}.global-comments-popover{height:540px;position:absolute;right:10px;top:50px;width:340px;z-index:103}.global-comments-popover .comments-panel-wrapper{background:#fff;border:1px solid #eaecef;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12);display:flex;flex-direction:column;height:100%}.global-comments-popover .comments-panel-header{align-items:center;border-bottom:1px solid #eaecef;display:flex;height:46px;justify-content:space-between;padding:0 16px}.global-comments-popover .comments-panel-header .title{color:#212529;font-size:16px;font-weight:500}.global-comments-popover .comments-panel-header .sdoc-sm-close{align-items:center;color:#999;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center}.global-comments-popover .comments-panel-header .sdoc-sm-close:hover{color:#5a5a5a}.global-comments-popover .comments-panel-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.global-comments-popover .comments-panel-body__header{align-items:center;display:flex;height:38px;justify-content:space-between;padding:16px}.global-comments-popover .comments-panel-body__header .comment-type{color:#212529;font-size:12px}.global-comments-popover .comments-panel-body__header .comment-count-tip{color:#999;font-size:12px}.global-comments-popover .comments-panel-body__content{display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:16px}.global-comments-popover .comments-panel-body__content .sdoc-comment-list-container{position:relative}.global-comments-popover .comments-panel-body__content .comment-item-list{max-width:308px}.global-comments-popover .comments-panel-body__content .comment-ui-container.active{left:0}.global-comments-popover .comments-panel-body__content .comment-ui-container.active.sdoc-resolved,.global-comments-popover .comments-panel-body__content .comment-ui-container.sdoc-resolved{background:#f5f5f5}.sdoc-dropdown-menu .dropdown-item{color:#212529;font-size:14px}.sdoc-editor-container .sdoc-editor-content.readonly{height:100%}.sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-absolute-wrapper{display:flex;min-height:0;position:relative}.sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-article-container{margin-left:0!important}.sdoc-editor-container.mobile .sdoc-editor-content.readonly .sdoc-article-container{padding:0;width:auto}.sdoc-editor-container.mobile .sdoc-editor-content.readonly .article{padding:1rem;width:100%!important}.sdoc-diff{margin:0 -5px;overflow:hidden;padding:0 5px}.empty-loading-page{height:100%;position:fixed;width:100%}.page-centered{left:50%;position:fixed;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.lds-ripple{display:inline-block;height:64px;position:relative;width:64px}.lds-ripple div{-webkit-animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #eb8205;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){-webkit-animation-delay:-.5s;animation-delay:-.5s}@-webkit-keyframes lds-ripple{0%{height:0;left:28px;opacity:1;top:28px;width:0}to{height:58px;left:-1px;opacity:0;top:-1px;width:58px}}@keyframes lds-ripple{0%{height:0;left:28px;opacity:1;top:28px;width:0}to{height:58px;left:-1px;opacity:0;top:-1px;width:58px}}.sdoc-editor-page-wrapper .tip-message{color:#999;display:inline-flex;font-size:12px;height:27px;line-height:27px;margin-left:12px;opacity:.75;width:-webkit-max-content;width:max-content}.sdoc-editor-page-wrapper .tip-message .sdocfont{font-size:14px;padding-top:1px}.sdoc-draft-menu{margin-left:.5rem;position:relative}.sdoc-draft-identifier{background:#eee;border-radius:10px;color:#888;cursor:pointer;display:inline-block;font-size:14px;height:20px;line-height:20px;padding:0 8px}.sdoc-draft-identifier:hover{background:#dbdbdb}.sdoc-draft-menu .draft-popover{background-color:#fff;border:1px solid #e5e6e8;border-radius:2px;box-shadow:0 0 10px #e5e6e8;left:0;padding:8px 0;position:absolute;top:25px;width:178px;z-index:10}.sdoc-draft-menu .draft-popover .draft-menu-item{cursor:pointer;padding:4px 12px;width:100%}.sdoc-draft-menu .draft-popover .draft-menu-item:hover{background-color:#f5f5f5}.sdoc-tip-dialog .highlight-bg-color{background-color:#ff8000;border-color:#ff8000}.seadoc-switch.small .custom-switch-indicator{border-radius:6px;height:12px;width:22px}.seadoc-switch.small .custom-switch-indicator:before{height:8px;width:8px}.seadoc-switch.small .custom-switch-input:checked~.custom-switch-indicator:before{left:12px}.sdoc-toggle-revision-changes .custom-switch{padding-left:0}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle{align-items:center;background-color:#f0f0f0;border-radius:15px;color:#666;display:flex;height:30px;justify-content:center;width:66px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle:hover{color:#333;cursor:pointer}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle .sdoc-revise{margin-right:10px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle .sdocfont{font-size:14px}.sdoc-more-revision-operations-dropdown .dropdown-item{min-height:32px;padding:12px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation{align-items:flex-start;display:flex;flex-direction:column;width:373px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-title .sdocfont{font-size:14px;margin-right:6px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-title-name{color:#212529;font-size:14px}.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-describe{color:#999;font-size:13px;padding-left:20px;white-space:break-spaces;width:100%}.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation,.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation-describe,.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation-title-name{color:#fff}.revisions-dialog{height:calc(100% - 56px);max-width:700px;width:700px}.revisions-dialog .modal-content{height:100%;overflow:hidden}.revisions-dialog .revisions-body{height:calc(100% - 50px);overflow:hidden;padding:0}.revisions-dialog .sdoc-revisions-container{display:flex;flex-direction:column;height:100%;width:100%}.revisions-dialog .sdoc-revisions-container .sdoc-revisions-header{align-items:center;border-bottom:1px solid rgba(0,40,100,.12);display:flex;height:41px;justify-content:center;margin:0 16px;width:calc(100% - 32px)}.revisions-dialog .sdoc-revisions-container .sdoc-revisions-content{flex:1 1;overflow-x:hidden;overflow-y:scroll;padding:0 16px 16px}.revisions-dialog .sdoc-revisions-container .sdoc-revisions-list{align-items:center;display:flex;flex-direction:column;justify-content:center}.revisions-dialog .sdoc-revisions-container.loading{align-items:center;justify-content:center}.revisions-dialog .revisions-body .sdoc-revision{align-items:flex-start;border-bottom:1px solid rgba(0,40,100,.12);display:flex;height:41px;justify-content:center;width:100%}.revisions-dialog .revisions-body .sdoc-revision:hover{background-color:#f5f5f5;cursor:pointer}.revisions-dialog .sdoc-revision-name-header,.revisions-dialog .sdoc-revision-time-header,.revisions-dialog .sdoc-revision-user-header{color:#999;padding-left:9px}.revisions-dialog .sdoc-revision .sdoc-revision-name,.revisions-dialog .sdoc-revision .sdoc-revision-user{align-items:center;display:flex;height:100%;overflow:hidden;padding-left:9px}.revisions-dialog .sdoc-revision .sdoc-revision-name-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revisions-dialog .sdoc-revision .sdoc-revision-time{align-items:center;display:flex;height:100%;overflow:hidden;padding-left:9px}.revisions-dialog .revisions-body .sdoc-revision.loading{align-items:center;border-bottom:none;height:40px}.revisions-dialog .sdoc-revision.loading:hover{background-color:transparent;background-color:initial}.sdoc-revisions-count{border:1px solid #e5e5e5;border-radius:3px;color:#666;height:30px;line-height:28px;margin-left:1rem;padding:0 16px;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.sdoc-revisions-count:hover{color:#333;cursor:pointer}.sdoc-revision-changes-container{border:1px solid #e5e5e5;border-radius:3px;height:32px}.sdoc-revision-changes-container .sdoc-revision-changes-divider{border-right:1px solid #e5e5e5;height:100%;width:1px}.sdoc-revision-changes-container .sdoc-revision-changes-last,.sdoc-revision-changes-container .sdoc-revision-changes-next{height:100%;padding:0 8px}.sdoc-revision-changes-container .sdoc-revision-changes-last .sdocfont,.sdoc-revision-changes-container .sdoc-revision-changes-next .sdocfont{color:#000;opacity:.5}.sdoc-revision-changes-container .sdoc-revision-changes-last:hover,.sdoc-revision-changes-container .sdoc-revision-changes-next:hover{background-color:#f5f5f5;cursor:pointer}.sdoc-revision-changes-container .sdoc-revision-changes-last:hover .sdocfont,.sdoc-revision-changes-container .sdoc-revision-changes-next:hover .sdocfont{opacity:.75}.collaborators-popover.popover{max-width:300px;width:300px}.collaborators-popover .popover-container{display:flex;flex-direction:column;justify-content:center;margin:0;max-height:360px;padding:0}.collaborators-popover .popover-header{align-items:center;background:#fff;border-bottom:1px solid #ededed;color:#212529;display:flex;font-size:16px;font-weight:600;height:50px;justify-content:center;min-height:50px}.collaborators-popover .popover-container .content-list{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;padding:5px 0}.content-list .collaborator-details{align-items:center;display:flex;height:32px;line-height:32px;padding:3px 12px;width:100%}.content-list .collaborator-details:hover{background-color:#f8f8f8}.content-list .collaborator-details .collaborator-tag{background-color:#08db6b;border-radius:50%;height:5px;margin-right:8px;overflow:hidden;width:5px}.content-list .collaborator-details .collaborator-avatar{border-radius:50%;height:20px;margin-right:8px;overflow:hidden;width:20px}.content-list .collaborator-details .collaborator-name{color:#212529;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-ops,.doc-ops .op-item{align-items:center;display:flex}.doc-ops .op-item{cursor:pointer;margin-left:1rem;position:relative}.doc-ops .op-item .sdocfont{color:#666;cursor:pointer;font-size:18px}.doc-ops .op-item .sdocfont:hover{color:#333;cursor:pointer}.doc-ops .popover-wrapper{width:300px}.doc-info .sdoc-revision-order{background:#eee;border-radius:10px;color:#888;cursor:default;display:inline-block;font-size:14px;height:20px;line-height:20px;margin-left:.5rem;padding:0 8px}#root,#wrapper,body,html{height:100%;width:100%}#root,#wrapper{display:flex}.sdoc-editor-page-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0}.sdoc-editor-page-wrapper .sdoc-editor-page-header{background-color:#fff;border-bottom:1px solid #e5e6e8;flex-shrink:0;height:56px;position:relative;z-index:103}.sdoc-editor-page-wrapper .sdoc-editor-page-content{display:flex;flex:1 1;min-height:0}.error-page{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden}.error-page .error-tip{color:red}.error-page .error-button{margin-top:20px}.sdoc-editor-page-header .doc-info{align-items:center;display:flex}.sdoc-editor-page-header .doc-info .doc-name{color:#212529;font-size:18px;font-weight:700}.sdoc-editor-page-header .doc-info .doc-icon{color:#999;cursor:pointer;font-size:14px;line-height:1;margin-left:.5rem}.sdoc-editor-page-header .doc-info .doc-icon:hover{color:#333;margin-left:.5rem}.sdoc-editor-page-header .doc-info .sdoc-link{font-size:14px}.sdoc-editor-page-header .doc-state{font-size:.8125rem}.sdoc-context-menu .dropdown-item,.sdoc-editor-page-wrapper .dropdown-item{color:#212529}.sdoc-context-menu .dropdown-item:hover{color:#fff}.sdoc-share-permission{border:1px solid rgba(0,0,0,.12);border-radius:4px;font-size:12px;padding:2px 6px}.select-container{display:inline-block;font-weight:400;margin:0 5px;position:relative}.select-container .control-container{align-items:center;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:inline-flex;font-size:13px;height:24px;justify-content:center;line-height:1.5;padding:0 10px;-webkit-user-select:none;user-select:none}.select-container .control-container.active,.select-container .control-container:hover{border:1px solid #3c88fd;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.select-container .control-container .placeholder{color:#bfbfbf}.select-container .control-container .control-icon{color:#aaa;cursor:default;font-size:13px;margin-right:5px}.select-container .control-container .operation{align-items:center;display:inline-flex;justify-content:center;margin-left:8px}.select-container .control-container .arrow{color:#949494;display:inline-block;font-size:12px;-webkit-transform:scale(.8);transform:scale(.8);transition:all .1s}.select-container .control-container .arrow:hover{color:#666}.select-container .select-popover{background:#fff;border:1px solid #e5e5e5;border-radius:4px;box-shadow:0 4px 10px #eee;display:flex;flex-direction:column;left:0;margin-top:4px;max-height:265px;min-width:80px;padding:8px 0;position:absolute;z-index:10}.select-popover .option-item-divider{border-top:1px solid #efefef;margin-top:8px}.select-popover .field-setting{align-items:center;display:flex;position:relative}.select-popover .field-setting .icon-container{align-items:center;display:flex;justify-content:center;position:absolute;right:10px}.select-popover .field-setting .op-icon{color:#aaa;font-size:12px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.select-popover .option-item-wrapper{flex:1 1;min-height:0;min-width:0;overflow:auto}.select-popover .option-item{align-items:center;cursor:pointer;display:flex;flex-shrink:0;height:32px;min-width:80px;overflow-wrap:normal;padding:0 12px;white-space:nowrap}.select-popover .option-item:hover{background-color:#f5f5f5}.select-popover .option-item.active{background-color:#39a0ff;color:#fff}.select-popover .option-item.disable{color:#aaa;cursor:default}.select-popover .option-item .item-icon{color:#aaa;cursor:default;font-size:14px}.select-popover .option-item.active .item-icon{color:#fff}.select-popover .option-item .label{margin:0 5px}.notification-wrapper .popover{max-width:300px}.notification-container{background:#fff;border-radius:3px;box-shadow:0 0 5px #ccc;position:absolute;right:-10px;top:-1px;width:320px}.notification-container .notification-header{align-items:center;border-bottom:1px solid #ededed;display:flex;font-size:16px;font-weight:600;height:50px;justify-content:center;position:relative}.notification-container .notification-header .notification-close-icon{color:#000;cursor:pointer;font-weight:700;height:24px;opacity:.5;position:absolute;right:14px;text-align:center;width:24px}.notification-container .notification-header .notification-close-icon:hover{opacity:.75}.notification-container .notification-body{padding:0}.notification-container .notification-body .show-weixin-qrcode{align-items:center;border-bottom:1px solid #ededed;cursor:pointer;display:flex;height:40px;justify-content:flex-start;padding-left:10px}.show-weixin-qrcode .weixin-icon{color:#999;font-size:20px;margin-left:20px}.notification-container .notification-body .mark-notifications{align-items:center;border-bottom:1px solid #ededed;color:#b4b4b4;cursor:pointer;display:flex;height:36px;justify-content:flex-end;padding-right:1rem}.notification-container .notification-body .mark-notifications:hover{text-decoration:underline}.notification-body .notification-list-container{max-height:260px;overflow:auto}.notification-list-container .notification-item{border-bottom:1px solid #ededed;cursor:pointer;padding:14px 16px 14px 10px;position:relative}.notification-list-container .notification-item:last-child{border-bottom:none}.notification-list-container .notification-item:hover{background:#f5f5f5}.notification-list-container .notification-item .notification-item-header{align-items:center;display:flex}.notification-list-container .notification-item .notification-point{background:red;border-radius:50%;display:inline-block;height:8px;margin-right:12px;position:absolute;width:8px}.notification-list-container .notification-item .notification-header-info{display:flex;flex:1 1;justify-content:space-between;margin-left:20px;width:calc(100% - 20px)}.notification-user-detail{display:flex;width:65%}.notification-user-detail img{margin-top:3px}.notification-user-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item .notification-header-info .notification-time{color:#b4b4b4;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-list-container .notification-item .notification-content-wrapper{font-size:13px}.notification-item .notification-content-quotes{width:8px}.notification-list-container .notification-item .notification-comment-content{max-width:calc(100% - 16px)}.notification-list-container .notification-item .notification-comment-content p{display:inline-block;letter-spacing:1px;margin-bottom:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-list-container .notification-item .notification-comment-content p img{height:auto;max-height:60px;max-width:70%}.notification-body .notification-footer{align-items:center;background:#f9f9f9;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ededed;cursor:pointer;display:flex;height:40px;justify-content:center}.notification-body .notification-footer:hover{text-decoration:underline}.upload-localimg .btn{border:none;color:#555;height:30px;line-height:20px;margin-left:-1px;margin-right:5px;min-width:30px;padding:0;width:30px}.upload-localimg-disabled .btn{cursor:default}.upload-localimg-hover .btn:hover{background-color:#e5e5e5}.upload-localimg-disable .btn{color:#999}.editor-btn-group .image-uploader{display:none}.editor-btn-group .image-uploader-label{margin-bottom:0;padding:.25rem 1.5rem;width:100%}.editor-btn-group .image-uploader-btn{padding:0}.editor-btn-group .editor-clear-format{margin-right:5px}.insert-file{align-items:center;display:inline-block;display:flex;justify-content:center;margin-right:10px;overflow:hidden;position:relative}.insert-file input{filter:alpha(opacity=0);height:40px;opacity:0;position:absolute;right:-7px;top:-7px;width:40px}.insert-file:hover{background-color:#e5e5e5}.insert-file-disabled:hover{background-color:#fff}.insert-file-disabled input{color:#999}.button-container .toggle-side-panle-icon{position:absolute}.rich-menu .side-panel-btn{display:none}@media (max-width:991.8px){.button-container .toggle-side-panle-icon{display:none}.rich-menu .side-panel-btn{display:block}}.seafile-ed-image{display:inline-block;max-width:100%;position:relative}.seafile-ed-image .seafile-ed-image-inResizing{box-shadow:0 0 0 2px #007bff}.seafile-ed-image .image-resizer{background-color:#007bff;border:1px solid #fff;bottom:-5px;cursor:se-resize;height:10px;position:absolute;right:-5px;-webkit-transform:();transform:();width:10px}.image-size{background-color:#4c4c4c;bottom:-25px;color:#fff;font-size:12px;height:22px;left:100%;line-height:12px;padding:5px;-webkit-transform:translateX(5px);transform:translateX(5px)}.image-size,.seafile-ed-image .image-full-button{border-radius:3px;display:inline-block;position:absolute}.seafile-ed-image .image-full-button{background-color:#fff;border:1px solid rgba(0,40,100,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);height:26px;line-height:20px;padding:2px;right:-32px;text-align:center;top:0;-webkit-user-select:none!important;user-select:none!important;width:26px;z-index:1000}.seafile-ed-image-viwer:hover .image-full-button{display:inline-block}.seafile-ed-image-viwer .image-full-button{background-color:#efefef;cursor:pointer;display:none;position:absolute;right:5px;top:5px}.image-full-button:hover{background-color:#efefef;display:block}.image-tooltip{background:#fff;border-radius:2px;bottom:-10px;box-shadow:0 0 5px rgba(0,0,0,.2);display:none;left:50%;padding:2px;position:absolute;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%);white-space:nowrap}.image-tooltip:before{border-color:#fff transparent transparent #fff;border-style:solid;border-width:5px;box-shadow:-2px -2px 3px rgba(0,0,0,.1);content:"";left:50%;margin-left:-5px;position:absolute;top:-5px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.image-full-button:hover .image-tooltip{display:inline}.sf-editor-image-previewer .dtable-icon-left,.sf-editor-image-previewer .dtable-icon-right,.sf-editor-image-previewer button.dtable-icon-fork-number{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:iconfont!important;font-style:normal}.sf-editor-image-previewer button.dtable-icon-fork-number{font-size:16px;line-height:normal}.sf-editor-image-previewer .dtable-icon-left:before{content:"\e756"}.sf-editor-image-previewer .dtable-icon-right:before{content:"\e755"}.sf-editor-image-previewer .dtable-icon-fork-number:before{content:"\e6ce"}.sf-editor-image-previewer.ril__outer .ril__navButtonNext.dtable-font,.sf-editor-image-previewer.ril__outer .ril__navButtonPrev.dtable-font{padding:40px 30px 80px}.permission-editor-explanation{word-wrap:break-word;color:#9c9c9c;font-size:12px;padding-left:10px;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:pre-wrap;word-break:keep-all}.permission-editor .permission-editor__option{padding-bottom:2px;padding-top:2px}.permission-editor .permission-editor__control .permission-editor-explanation{display:none}.cur-view-content .permission-editor-select .permission-editor__control,.cur-view-content .permission-editor-select .permission-editor__control .permission-editor__input,.cur-view-content .permission-editor-select .permission-editor__control div,.cur-view-content .permission-editor-select .permission-editor__indicators{height:1.5rem;min-height:1.5rem}.cur-view-content .permission-editor-select .permission-editor__value-container div:nth-child(2){margin:0;padding:0}.cur-view-content .permission-editor-select .permission-editor__indicators .permission-editor__indicator{padding:0 .5rem}.permission-editor__menu .permission-editor__option--is-disabled{border-top:1px solid #dedede;color:#9c9c9c}.permission-editor__menu .permission-editor__option--is-disabled:hover{background-color:#f0f0f0!important;color:#9c9c9c!important}.permission-editor-btn-add-custom-permission{align-items:center;display:flex;font-size:12px;line-height:13px;padding:.5rem 0}.permission-editor-btn-add-custom-permission .fa{font-size:12px;line-height:13px;margin-right:.25rem}.permission-editor .btn-add-custom-permission span,.share-dialog-main .permission-editor .permission-editor__placeholder,.share-dialog-main .true__menu,.share-dialog-main .true__placeholder{word-break:keep-all}.article .virtual-link{color:#eb8205}.article .virtual-link:hover{text-decoration:underline}.seafile-editor-module .tree-view{line-height:1.5;padding-left:10px}.seafile-editor-module .tree-view-loading{font-size:1.5rem;margin-top:2rem;text-align:center}.seafile-editor-module .tree-view-loading i{-webkit-animation:rotate 1.5s ease infinite;animation:rotate 1.5s ease infinite;color:#b0b0b0}.seafile-editor-module .tree-node{min-width:-webkit-max-content;min-width:max-content}.seafile-editor-module .tree-node:not([type=dir]):hover{background-color:#ffefb2}.seafile-editor-module .tree-node-inner{padding-left:12px;position:relative}.seafile-editor-module .tree-node-icon{color:#b0b0b0;display:inline-block;margin-left:.1rem;margin-right:.4rem;text-align:center;width:1rem}.folder-toggle-icon{color:silver;left:0;line-height:1.5;position:absolute}.seafile-editor-module .folder-toggle-icon.folder-caret-right{left:-2.5px}.plain-editor{display:flex;flex:1 1;min-height:0;min-width:0;position:relative}.plain-editor-main{inset:0;position:absolute}.plain-editor-left-panel{background-color:#fff;border-right:1px solid #e6e6dd}.plain-editor-left-panel,.plain-editor-right-panel{height:100%;overflow-x:hidden;overflow-y:scroll;width:50%}.plain-editor-right-panel{background-color:#fafaf9}.cur-view-toolbar{align-items:center;display:flex;flex:1 1;height:32px;position:relative}.border-left-show:before{background-color:#ddd;content:"";height:30px;left:-1px;position:absolute;top:10px;width:1px}.operation-item{background-color:#fff;border:1px solid #ccc;border-radius:2px;font-weight:400;height:30px;line-height:29px;min-width:55px;padding:0 .5rem}.group-operations,.operation-item{margin-right:.25rem}.group-operations .group-op-item{font-size:1.125rem;font-weight:400;min-width:46px;padding:0 .5rem}.detail-btn button,.group-operations .group-op-item,.sf-view-mode-btn{background-color:#fff;border:1px solid #ccc;border-radius:2px;height:30px;line-height:29px}.detail-btn button,.sf-view-mode-btn{color:#aaa;font-size:18px;min-width:2rem;padding:0}.detail-btn button{font-size:15px;padding-top:1px}.sf-view-mode-btn.current-mode{background-color:#ccc!important;color:#fff!important}.common-toolbar{align-items:center;display:flex;margin-left:auto}.common-toolbar>div{margin-left:.5rem}.common-toolbar .logout-icon{align-items:center;color:#ccc;display:flex;height:32px;justify-content:center;margin-left:8px;text-decoration:none;width:32px}.path-toolbar{list-style:none}.path-toolbar .toolbar-item{display:inline-block;margin-left:.75rem;text-align:center}.path-toolbar .toolbar-item a{color:#8a8a8a;font-size:22px}.path-toolbar .toolbar-item a:hover{color:#eb8205;text-decoration:none}@media (max-width:767px){.border-left-show:before{width:0}}.search-mask{background-color:rgba(0,0,0,.2);height:100%;left:0;position:fixed;top:0;width:100%;z-index:1}.search-container{position:relative;z-index:2}.search-container.show{background-color:#fff;border-radius:3px;box-shadow:0 3px 8px 0 rgba(116,129,141,.1);cursor:default;display:flex;flex-direction:column;min-height:200px;overflow:hidden;padding:1rem 0 0 1rem;position:absolute;right:110px;top:10px;width:600px}.search-icon-left{display:flex}.search-icon-right{color:#999;cursor:pointer;display:flex;font-style:normal;min-width:25px;pointer-events:all}.search-icon-right:hover{color:#333;text-decoration:none}.search-icon-arrow{left:auto;right:40px}.search-input{font-size:.875rem;height:1.875rem;width:15rem}.search-container.show .search-input{height:38px}.search-result-container{background-color:#fff;border-radius:0 0 3px 3px;box-shadow:0 3px 8px 0 rgba(116,129,141,.1);left:0;position:absolute;top:2rem;top:60px;width:100%}.dropdown-search-result-container{box-shadow:none;max-height:300px;overflow:auto;position:relative;top:0}.search-result-container .search-result-none{line-height:4rem;text-align:center}.search-result-container .search-result-list{list-style:none;margin:4px 0;padding:0}.search-result-list .item-content .item-name{color:#eb8205!important}.search-result-container .search-result-item{border-radius:4px;cursor:pointer;display:flex;font-size:.8125rem;margin-right:1rem;padding:10px 0 10px 8px}.search-result-container .search-result-item.search-result-item-highlight,.search-result-container .search-result-item:hover{background-color:#f0f0f0}.search-result-item .item-img{height:36px;width:36px}.search-result-item .lib-item-img{height:36px;padding:4px;width:36px}.search-result-item .item-content{flex:1 1;margin-left:.25rem;overflow-x:hidden}.item-content .item-name a{color:#ea8102!important}.item-content .item-link{color:#7d7d7d;margin:0}.item-content .item-text{margin:0}.item-content .item-text b{font-weight:700}.search-result-container .item-content .item-text{font-size:.8125rem;line-height:1.5;padding:0}.main-panel-south{flex:auto;height:calc(100% - 50px);overflow:auto}.search-page{margin:30px auto;width:65%}.search-page .search-result-container{border-radius:0;box-shadow:none;padding:1.25rem 1rem}.search-page .search-page-container{background:#f7f7f8;padding:1.25rem 1rem}.search-page .search-page-container .search-input{padding-left:.5rem;width:30rem}.search-page .search-page-container .fa-angle-double-down,.search-page .search-page-container .fa-angle-double-up{font-size:1rem}.search-page .advanced-search .search-file-types .search-input{max-width:100%;padding-left:.5rem;width:30rem}.search-page .search-page-container .search-icon-right{left:28rem}.search-page .paginator{margin:1rem 0;text-align:center}.search-page .advanced-search,.search-page .search-filters{color:#747474}.search-page .search-filters{padding-top:10px}.search-page .advanced-search .search-file-types,.search-page .advanced-search .search-repo{padding:5px 0}.search-file-types .search-file-types-form{top:10px}.search-page .advanced-search .search-catalog{border-top:1px dashed #e2e2e2;padding:10px 0}.search-page .advanced-search .search-catalog:first-child{border:none}.search-page .custom-checkbox .custom-control-input:checked~.custom-control-label:before{background-color:#3b88fd}.search-date .ant-input{border:1px solid rgba(0,40,100,.12);border-radius:3px;height:2.375rem;line-height:1.6;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.search-date .select-data-icon{color:#b2b2b2;position:absolute;right:1.5rem;top:.5rem}.search-page .search-result-container .search-result-item{margin-bottom:1rem;padding:0}.search-page .search-result-container .search-result-item:hover{background-color:inherit}.search-page .search-result-item .item-content{margin-left:.8rem}.search-page .search-result-item .item-content .item-link a{color:#8b8b8b!important}.search-page .search-result-container .search-result-item{cursor:default}.rc-calendar tbody tr{height:1.75rem}@media (max-width:767px){.common-toolbar .search{margin:0}.search-icon-container{align-items:center;display:flex;justify-content:center;width:2rem}.search-icon{color:#999;font-size:1.25rem;line-height:1}.search-container{display:flex;justify-content:center;left:0;position:fixed;right:0;top:5rem;z-index:2}.search-input{box-shadow:5px 5px 5px #888;height:2.5rem;width:20rem!important}.search-result-container{left:auto;position:absolute;top:2.5rem;width:20rem}.search-page{height:100%;margin:0;width:100%}.search-page .search-page-container .search-input{box-shadow:none;width:95%!important}.search-page .search-page-container .search-icon-right{left:85%}.search-page .search-result-container{left:0;top:0;width:100%}}.notification-list-dialog{height:calc(100% - 56px);max-width:720px;width:720px}.notification-list-dialog .notification-list-content{height:100%}.notification-header-close{display:flex}.notification-header-close .notification-dropdown-toggle{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.notification-header-close .item-dropdown-icon,.notification-header-close .notification-close-icon{color:#000;cursor:pointer;height:24px;opacity:.5;width:24px}.notification-header-close .item-dropdown-icon:hover,.notification-header-close .notification-close-icon:hover{color:#000;opacity:.75}.notification-header-close .item-dropdown-icon{font-weight:400}.notification-header-close .notification-close-icon{font-weight:700}.notification-header-close .dropdown-menu{box-shadow:0 1px 2px 0 rgba(0,0,0,.05);min-width:8rem}.notification-header-close .dtable-dropdown-menu.large.dropdown-menu .dropdown-item{min-height:0;min-height:auto;padding:.25rem 1.5rem}.notification-list-content .notification-modal-body{height:100%;overflow:hidden;padding:0}.notification-modal-body .notification-dialog-body{height:100%;overflow:auto;padding:2rem 1rem}.notification-dialog-body table{overflow-y:auto;table-layout:fixed;width:100%}.notification-modal-body .notification-dialog-body .paginator{height:38px}.notification-dialog-body table thead tr{height:2.1875rem}.notification-dialog-body table th{border-bottom:1px solid #eee;color:#9c9c9c;font-weight:400;line-height:1.6;padding:.3125rem .1875rem;text-align:left}.notification-dialog-body table tbody tr:hover{background:#f5f5f5;cursor:pointer}.notification-dialog-body table td{border-bottom:1px solid #eee;color:#333;font-size:14px;padding:.5rem .1875rem;word-break:break-all}.wechat-dialog-body{padding:3rem}.wechat-dialog-body,.wechat-dialog-message{align-items:center;display:flex;flex-direction:column;justify-content:center}.wechat-dialog-message{color:#666;font-size:14px;margin-top:1rem;width:100%}.notification-dialog-body .empty-tip{background-color:#fff;border-radius:3px;margin:5.5em 1em;padding:30px;text-align:center}.notification-dialog-body .empty-tip .no-items-img-tip{height:100px;width:100px}@media (min-width:768px){.notification-dialog-body .empty-tip{padding:30px 80px}}#notifications{position:relative;width:32px}#notice-icon{display:block;position:relative}@media (max-width:390px){#notifications{margin-left:8px}}#notifications .title{color:#322;font-size:1rem;font-weight:400;line-height:1.5}#notifications .sf2-icon-bell{color:#999;font-size:24px;line-height:1;vertical-align:middle}#notifications .num{background:#fc6440;border-radius:100%;color:#fff;font-size:9px;height:16px;left:12px;line-height:16px;min-width:16px;padding:0 2px;position:absolute;text-align:center;top:-3px}#notice-popover{right:-12px;top:38px}#notice-popover .outer-caret{right:18px}#notice-popover a{font-weight:400}#notice-popover li{border-bottom:1px solid #dfdfe1;padding:9px 0 3px}#notice-popover li.unread{border-left:2px solid #feac74;padding-left:10px;padding-right:10px}#notice-popover li.read{border-left:2px solid transparent;padding-left:10px;padding-right:10px}#notice-popover li:hover{background:#f5f5f7}#notice-popover li.read:hover{background:#f5f5f7;border-left:2px solid #dfdfe1}#notice-popover .avatar{border-radius:1000px;float:left}#notice-popover .brief{font-size:.8125rem;line-height:1.5rem;margin-bottom:1rem;margin-left:40px}#notice-popover .time{clear:both;color:#999;font-size:.8125rem;line-height:1.5rem;margin:0;text-align:right}#notice-popover .view-all{color:#a4a4a4;display:block;padding:7px 0;text-align:center}#notice-popover .sf-popover-close{position:absolute;right:10px;top:17px}#notice-popover .sf-popover-hd{border-bottom:1px solid #dfdfe1;margin:0 10px}#notice-popover .sf-popover-con{max-height:25rem}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:none;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;-webkit-font-feature-settings:"calt";font-feature-settings:"calt";background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.btn-qr-code-icon{font-size:1.5rem;font-weight:400;line-height:1;padding:.375rem}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#000;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#b3d4fc;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:hsla(0,0%,100%,.5);color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.rc-calendar,.rc-calendar *{box-sizing:border-box}.rc-calendar-hidden{display:none}.rc-calendar-input-wrap{border-bottom:1px solid #e9e9e9;padding:6px;position:relative}.rc-calendar-input-wrap:after{clear:both;content:""}.rc-calendar-date-input-wrap{overflow:hidden}.rc-calendar-time-picker{background-color:#fff;height:217px;position:absolute;top:34px;width:100%}.rc-calendar-time-picker-panel{position:relative;width:100%}.rc-calendar-time-picker-panel .rc-time-picker-panel-input-wrap{display:none}.rc-calendar-time-picker-panel .rc-time-picker-panel-inner{border:none;box-shadow:none}.rc-calendar-time-picker-panel .rc-time-picker-panel-select{max-height:217px;width:84px}.rc-calendar-time-picker-panel .rc-time-picker-panel-select li{padding:0;text-align:center}.rc-calendar-time-picker-wrap{float:left;width:100%}.rc-calendar-time-picker-wrap .rc-time-picker{width:100%}.rc-calendar-time-picker-wrap .rc-time-picker-input{border:1px solid transparent;height:22px;outline:0;padding:0}.rc-calendar-time-picker-wrap .rc-time-picker-icon{display:none}.rc-calendar-input{border:1px solid transparent;color:#666;cursor:text;height:22px;line-height:1.5;outline:0;width:100%}.rc-calendar-input-invalid{border-color:red}.rc-calendar-clear-btn{cursor:pointer;height:20px;line-height:20px;margin:0;overflow:hidden;position:absolute;right:6px;text-align:center;top:6px;width:20px;z-index:9999}.rc-calendar-clear-btn:after{color:#aaa;content:"x";display:inline-block;font-size:12px;line-height:1;transition:color .3s ease;width:20px}.rc-calendar-clear-btn:hover:after{color:#666}.rc-calendar-picker{left:-9999px;position:absolute;top:-9999px;z-index:1000}.rc-calendar-picker-hidden{display:none}.rc-calendar-picker-slide-up-appear,.rc-calendar-picker-slide-up-enter{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1);display:block!important;opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0}.rc-calendar-picker-slide-up-leave{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused;-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34);display:block!important;opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0}.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomLeft,.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomRight,.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomLeft,.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomRight{-webkit-animation-name:rcDropdownSlideUpIn;animation-name:rcDropdownSlideUpIn;-webkit-animation-play-state:running;animation-play-state:running}.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topLeft,.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topRight,.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topLeft,.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topRight{-webkit-animation-name:rcDropdownSlideDownIn;animation-name:rcDropdownSlideDownIn;-webkit-animation-play-state:running;animation-play-state:running}.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomLeft,.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomRight{-webkit-animation-name:rcDropdownSlideUpOut;animation-name:rcDropdownSlideUpOut;-webkit-animation-play-state:running;animation-play-state:running}.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topLeft,.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topRight{-webkit-animation-name:rcDropdownSlideDownOut;animation-name:rcDropdownSlideDownOut;-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes rcDropdownSlideUpIn{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}}@keyframes rcDropdownSlideUpIn{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}}@-webkit-keyframes rcDropdownSlideUpOut{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}}@keyframes rcDropdownSlideUpOut{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}}@-webkit-keyframes rcDropdownSlideDownIn{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}}@keyframes rcDropdownSlideDownIn{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}to{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}}@-webkit-keyframes rcDropdownSlideDownOut{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}}@keyframes rcDropdownSlideDownOut{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}}.rc-calendar{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 5px #ccc;font-family:Arial,Hiragino Sans GB,Microsoft Yahei,"Microsoft Sans Serif",WenQuanYi Micro Hei,sans-serif;font-size:12px;line-height:1.5;list-style:none;outline:none;position:relative;text-align:left;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rc-calendar-date-panel,.rc-calendar-date-panel-container{display:flex}.rc-calendar-date-panel,.rc-calendar-panel{display:block;outline:none;position:relative}.rc-calendar-week-number{width:286px}.rc-calendar-week-number-cell{text-align:center}.rc-calendar-header{border-bottom:1px solid #ccc;height:34px;line-height:30px;padding:0 10px;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-header>a{display:inline-block;font-weight:700;line-height:34px;padding:0 5px;text-align:center;width:30px}.rc-calendar-header>a:hover{color:#f09f4g;cursor:pointer}.rc-calendar-header .rc-calendar-prev-month-btn{left:25px;position:absolute}.rc-calendar-header .rc-calendar-prev-month-btn:after{content:"‹"}.rc-calendar-header .rc-calendar-next-month-btn{position:absolute;right:25px}.rc-calendar-header .rc-calendar-next-month-btn:after{content:"›"}.rc-calendar-day-select,.rc-calendar-month-select,.rc-calendar-year-select{color:#666;display:inline-block;font-size:12px;font-weight:700;line-height:34px;padding:0 8px}.rc-calendar-day-select:hover,.rc-calendar-month-select:hover,.rc-calendar-year-select:hover{color:#f09f4g;cursor:pointer}.rc-calendar-day-select.rc-calendar-time-status:hover,.rc-calendar-month-select.rc-calendar-time-status:hover,.rc-calendar-year-select.rc-calendar-time-status:hover{color:#666;cursor:pointer}.rc-calendar-next-month-btn,.rc-calendar-next-year-btn,.rc-calendar-prev-month-btn,.rc-calendar-prev-year-btn{color:#999;cursor:pointer;display:inline-block;font-family:Arial,Hiragino Sans GB,Microsoft Yahei,"Microsoft Sans Serif",sans-serif;font-size:16px;line-height:34px;padding:0 5px;position:absolute;top:0}.rc-calendar-next-month-btn:hover,.rc-calendar-next-year-btn:hover,.rc-calendar-prev-month-btn:hover,.rc-calendar-prev-year-btn:hover{color:#f09f4g}.rc-calendar-next-year-btn{right:0}.rc-calendar-next-year-btn:after{content:"»"}.rc-calendar-prev-year-btn{left:0}.rc-calendar-prev-year-btn:after{content:"«"}.rc-calendar-body{height:217px;padding:9px 10px 10px}.rc-calendar-right-panel{height:inherit;width:68px}.rc-calendar-right-panel-header{height:34px;line-height:34px}.rc-calendar-right-panel-header span{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.rc-calendar-right-panel-body{border-left:1px solid #ccc;height:217px;overflow-y:scroll}.rc-calendar-right-panel-body ul{box-sizing:border-box;list-style:none;margin:0;padding:0;width:100%}.rc-calendar-right-panel-body ul li{cursor:pointer;padding:8px 0;text-align:center}.rc-calendar-right-panel-body ul li:hover{color:#e8bf6a}.rc-calendar-right-panel-body .rc-calendar-selected-time{color:#f09f3f}.rc-calendar-right-panel-body::-webkit-scrollbar{width:0}.rc-calendar-right-panel-footer{border-left:1px solid #ccc;height:39px;line-height:34px}.rc-calendar-right-panel-footer span{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rc-calendar-right-panel-footer,.rc-calendar-right-panel-header{color:#999;cursor:pointer;display:flex;font-size:16px;justify-content:center}.rc-calendar-right-panel-footer span:after,.rc-calendar-right-panel-header span:after{content:"›"}.rc-calendar table{background-color:transparent;border-collapse:collapse;max-width:100%;width:100%}.rc-calendar table,.rc-calendar td,.rc-calendar th{border:none}.rc-calendar-table{border-spacing:0;margin-bottom:0}.rc-calendar-column-header{line-height:18px;padding:6px 0;text-align:center;width:33px}.rc-calendar-column-header .rc-calendar-column-header-inner{display:block;font-weight:400}.rc-calendar-week-number-header .rc-calendar-column-header-inner{display:none}.rc-calendar-cell{padding:1px 0}.rc-calendar-date{background:transparent;border-radius:4px 4px;color:#666;display:block;height:26px;line-height:26px;margin:0 auto;padding:0;text-align:center;width:26px}.rc-calendar-date:hover{background:#fcecd9;cursor:pointer}.rc-calendar-selected-day .rc-calendar-date{background:#fcecd9}.rc-calendar-selected-date .rc-calendar-date{background:#f09f3f;color:#fff}.rc-calendar-selected-date .rc-calendar-date:hover{background:#f09f3f}.rc-calendar-today .rc-calendar-date{border:1px solid #f09f3f}.rc-calendar-disabled-cell .rc-calendar-date{background:#f3f3f3;border-radius:0;color:#bcbcbc;cursor:not-allowed;width:auto}.rc-calendar-disabled-cell .rc-calendar-date:hover{background:#f3f3f3}.rc-calendar-disabled-cell-first-of-row .rc-calendar-date{border-bottom-left-radius:4px;border-top-left-radius:4px}.rc-calendar-disabled-cell-last-of-row .rc-calendar-date{border-bottom-right-radius:4px;border-top-right-radius:4px}.rc-calendar-last-month-cell .rc-calendar-date,.rc-calendar-next-month-btn-day .rc-calendar-date{color:#bbb}.rc-calendar-footer{border-top:1px solid #ccc;padding:10px 0;position:relative;text-align:center}.rc-calendar-footer .rc-time-picker{width:90px}.rc-calendar-footer .rc-time-picker-input{height:24px}.rc-calendar-footer-show-ok{text-align:right}.rc-calendar-footer-show-ok .rc-calendar-footer-btn{padding-right:12px}.rc-calendar-footer-show-ok .rc-calendar-time-picker-btn{margin-left:0;padding:0 12px}.rc-calendar-footer-show-ok .rc-calendar-today-btn{float:left;padding-left:12px}.rc-calendar-footer-btn{margin-top:2px}.rc-calendar-footer-btn:after{clear:both;content:"x";font-size:0;height:0;overflow:hidden}.rc-calendar-time-picker-btn{margin-left:10px}.rc-calendar-ok-btn,.rc-calendar-time-picker-btn,.rc-calendar-today-btn{color:#f46830;display:inline-block;text-align:center}.rc-calendar-ok-btn:hover,.rc-calendar-time-picker-btn:hover,.rc-calendar-today-btn:hover{color:#f09f4g;cursor:pointer}.rc-calendar-ok-btn-disabled,.rc-calendar-ok-btn-disabled:hover,.rc-calendar-time-picker-btn-disabled,.rc-calendar-time-picker-btn-disabled:hover,.rc-calendar-today-btn-disabled,.rc-calendar-today-btn-disabled:hover{color:#bbb}.rc-calendar-today-btn{padding-left:10px}.rc-calendar-time-input{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px 6px;color:#666;display:inline-block;height:25px;line-height:1.5;margin:0;padding:4px 10px;position:relative;-webkit-transform:border .3s cubic-bezier(.35,0,.25,1),background .3s cubic-bezier(.35,0,.25,1),box-shadow .3s cubic-bezier(.35,0,.25,1);transform:border .3s cubic-bezier(.35,0,.25,1),background .3s cubic-bezier(.35,0,.25,1),box-shadow .3s cubic-bezier(.35,0,.25,1);width:40px}.rc-calendar-time-input:hover{border-color:#f09f4g}.rc-calendar-time-input:focus{border-color:#f09f4g;box-shadow:0 0 3px #f09f4g}.rc-calendar-time-panel{background:#fff;bottom:0;left:0;outline:none;position:absolute;right:0;top:0;z-index:10}.rc-calendar-time-panel-header{border-bottom:1px solid #ccc;height:34px;line-height:34px;padding:0 10px;position:relative;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-time-panel-body{padding:9px 10px 10px}.rc-calendar-time-panel-title{border-radius:4px;display:inline-block;font-weight:700;height:30px;line-height:22px;padding:4px 5px;text-align:center;width:180px}.rc-calendar-time-panel-table{border-collapse:separate;height:255px;table-layout:fixed;width:100%}.rc-calendar-time-panel-cell{height:42px;text-align:center;vertical-align:middle}.rc-calendar-time-panel-time{border-radius:4px;display:block;line-height:26px;margin:0 auto;width:26px}.rc-calendar-time-panel-time:hover{background:#fcecd9;cursor:pointer}.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time,.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time:hover{background:#f09f3f;color:#fff}.rc-calendar-month-panel{background:#fff;bottom:0;left:0;outline:none;position:absolute;right:0;top:0;z-index:10}.rc-calendar-month-panel>div{display:flex;flex-direction:column;height:100%}.rc-calendar-month-panel-hidden{display:none}.rc-calendar-month-panel-header{border-bottom:1px solid #ccc;height:34px;line-height:30px;padding:0 10px;position:relative;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-month-panel-header>a{display:inline-block;font-weight:700;padding:4px 5px;text-align:center;width:30px}.rc-calendar-month-panel-header>a:hover{color:#f09f4g;cursor:pointer}.rc-calendar-month-panel-next-year-btn,.rc-calendar-month-panel-prev-year-btn{position:absolute;top:0}.rc-calendar-month-panel-next-year-btn:after{content:"»"}.rc-calendar-month-panel-prev-year-btn{left:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-month-panel-prev-year-btn:after{content:"«"}.rc-calendar-month-panel .rc-calendar-month-panel-year-select{width:180px}.rc-calendar-month-panel-year-select-arrow{display:none}.rc-calendar-month-panel-next-year-btn{right:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-month-panel-body{flex:1 1;padding:9px 10px 10px}.rc-calendar-month-panel-footer{border-top:1px solid #ccc;line-height:38px}.rc-calendar-month-panel-table{border-collapse:separate;height:100%;table-layout:fixed;width:100%}.rc-calendar-month-panel-cell{text-align:center}.rc-calendar-month-panel-cell .rc-calendar-month-panel-month{background:transparent;border-radius:4px 4px;color:#666;display:block;height:36px;line-height:36px;margin:0 auto;padding:0;text-align:center;width:46px}.rc-calendar-month-panel-cell .rc-calendar-month-panel-month:hover{background:#fcecd9;cursor:pointer}.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month{color:#bfbfbf}.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month:hover{background:#fff;cursor:not-allowed}.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month,.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month:hover{background:#f09f3f;color:#fff}.rc-calendar-month-header-wrap{height:308px;position:relative}.rc-calendar-year-panel{background:#fff;bottom:0;left:0;outline:none;position:absolute;right:0;top:0;z-index:10}.rc-calendar-year-panel>div{display:flex;flex-direction:column;height:100%}.rc-calendar-year-panel-hidden{display:none}.rc-calendar-year-panel-header{border-bottom:1px solid #ccc;height:34px;line-height:30px;padding:0 10px;position:relative;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-year-panel-header>a{display:inline-block;font-weight:700;padding:4px 5px;text-align:center;width:30px}.rc-calendar-year-panel-header>a:hover{color:#f09f4g;cursor:pointer}.rc-calendar-year-panel-next-decade-btn,.rc-calendar-year-panel-prev-decade-btn{position:absolute;top:0}.rc-calendar-year-panel-next-decade-btn:after{content:"»"}.rc-calendar-year-panel-prev-decade-btn{left:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-year-panel-prev-decade-btn:after{content:"«"}.rc-calendar-year-panel .rc-calendar-year-panel-decade-select{width:180px}.rc-calendar-year-panel-decade-select-arrow{display:none}.rc-calendar-year-panel-next-decade-btn{right:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-year-panel-body{flex:1 1;padding:9px 10px 10px}.rc-calendar-year-panel-footer{border-top:1px solid #ccc;line-height:38px}.rc-calendar-year-panel-table{border-collapse:separate;height:100%;table-layout:fixed;width:100%}.rc-calendar-year-panel-cell{text-align:center}.rc-calendar-year-panel-year{background:transparent;border-radius:4px 4px;color:#666;display:block;height:36px;line-height:36px;margin:0 auto;padding:0;text-align:center;width:46px}.rc-calendar-year-panel-year:hover{background:#fcecd9;cursor:pointer}.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year,.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year:hover{background:#f09f3f;color:#fff}.rc-calendar-year-panel-last-decade-cell .rc-calendar-year-panel-year,.rc-calendar-year-panel-next-decade-cell .rc-calendar-year-panel-year{color:rgba(0,0,0,.25);-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-decade-panel{background:#fff;bottom:0;display:flex;flex-direction:column;left:0;outline:none;position:absolute;right:0;top:0;z-index:10}.rc-calendar-decade-panel-hidden{display:none}.rc-calendar-decade-panel-header{border-bottom:1px solid #ccc;height:34px;line-height:34px;padding:0 10px;position:relative;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-decade-panel-header>a{display:inline-block;font-weight:700;padding:1px 5px;text-align:center;width:30px}.rc-calendar-decade-panel-header>a:hover{color:#f09f4g;cursor:pointer}.rc-calendar-decade-panel-next-century-btn,.rc-calendar-decade-panel-prev-century-btn{position:absolute;top:0}.rc-calendar-decade-panel-next-century-btn:after{content:"»"}.rc-calendar-decade-panel-prev-century-btn{left:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-decade-panel-prev-century-btn:after{content:"«"}.rc-calendar-decade-panel-next-century-btn{right:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.rc-calendar-decade-panel-body{flex:1 1;padding:9px 10px 10px}.rc-calendar-decade-panel-footer{border-top:1px solid #ccc;line-height:38px}.rc-calendar-decade-panel-table{border-collapse:separate;height:100%;table-layout:fixed;width:100%}.rc-calendar-decade-panel-cell{text-align:center}.rc-calendar-decade-panel-decade{background:transparent;border-radius:4px 4px;color:#666;display:block;height:36px;line-height:36px;margin:0 auto;padding:0;text-align:center}.rc-calendar-decade-panel-decade:hover{background:#fcecd9;cursor:pointer}.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade,.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade:hover{background:#f09f3f;color:#fff}.rc-calendar-decade-panel-last-century-cell .rc-calendar-decade-panel-decade,.rc-calendar-decade-panel-next-century-cell .rc-calendar-decade-panel-decade{color:rgba(0,0,0,.25);-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-range{overflow:hidden;width:502px}.rc-calendar-range-part{position:relative;width:250px}.rc-calendar-range-part .rc-calendar-time-picker{top:69px}.rc-calendar-range-part .rc-calendar-time-picker-panel-select{width:77px}.rc-calendar-range-left{float:left}.rc-calendar-range-left .rc-calendar-time-picker-panel-select:last-child{border-right:1px solid #e9e9e9}.rc-calendar-range-right{float:right}.rc-calendar-range-right .rc-calendar-time-picker-panel{left:21px}.rc-calendar-range-right .rc-calendar-time-picker-panel-select:first-child{border-left:1px solid #e9e9e9}.rc-calendar-range-middle{height:35px;line-height:35px;margin-left:-10px;position:absolute;text-align:center}.rc-calendar-range .rc-calendar-date-panel:after{clear:both;content:".";display:block;height:0;visibility:hidden}.rc-calendar-range .rc-calendar-input-wrap{height:35px}.rc-calendar-range .rc-calendar-input,.rc-calendar-range .rc-time-picker-input{height:22px;padding:1px 7px}.rc-calendar-range .rc-calendar-body,.rc-calendar-range .rc-calendar-decade-panel-body,.rc-calendar-range .rc-calendar-month-panel-body,.rc-calendar-range .rc-calendar-year-panel-body{border-bottom:1px solid #e9e9e9}.rc-calendar-range.rc-calendar-week-number{width:574px}.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part{width:286px}.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker{top:69px}.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker-panel-select{width:89px}.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-right .rc-calendar-time-picker-panel{left:36px}.rc-calendar-range .rc-calendar-decade-panel,.rc-calendar-range .rc-calendar-month-panel,.rc-calendar-range .rc-calendar-year-panel{top:35px}.rc-calendar-range .rc-calendar-month-panel .rc-calendar-year-panel{top:0}.rc-calendar-range .rc-calendar-decade-panel-table,.rc-calendar-range .rc-calendar-month-panel-table,.rc-calendar-range .rc-calendar-year-panel-table{height:198px}.rc-calendar-range .rc-calendar-in-range-cell{background:#ebf4f8;border-radius:0}.rc-calendar-range-bottom{text-align:right}.rc-calendar-range .rc-calendar-footer{border-top:none;padding:0}.rc-calendar-range .rc-calendar-footer-btn{padding:10px 12px 10px 0}.rc-calendar-range .rc-calendar-ok-btn{position:static}.rc-calendar-range .rc-calendar-today-btn{float:left}.rc-calendar-full{width:275px}.rc-calendar-full-header{border-bottom:1px solid #ccc;overflow:hidden;padding:5px 10px;text-align:center;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rc-calendar-full-header-month-select,.rc-calendar-full-header-year-select{float:right;margin-right:5px;width:70px}.rc-calendar-full-header-switcher{display:inline-block;float:right}.rc-calendar-full-header-switcher-normal:hover{border-color:#f09f4g;box-shadow:0 0 2px rgba(45,183,245,.8);cursor:pointer}.rc-calendar-full-header-switcher-focus{background-color:#f09f3f;border-color:#f09f3f;color:#fff}.rc-calendar-full-header-switcher>span{border:1px solid #d9d9d9;color:#666;float:left;height:28px;line-height:24px;padding:0 10px}.rc-calendar-full-header-switcher>span:first-child{border-bottom-left-radius:4px;border-right:none;border-top-left-radius:4px}.rc-calendar-full-header-switcher>span:last-child{border-bottom-right-radius:4px;border-left:none;border-top-right-radius:4px}.rc-calendar-fullscreen{width:auto}.rc-calendar-fullscreen .rc-calendar-full-header{border-bottom:none}.rc-calendar-fullscreen .rc-calendar-column-header{padding-right:12px;text-align:right}.rc-calendar-fullscreen .rc-calendar-cell{padding:0}.rc-calendar-fullscreen .rc-calendar-cell .rc-calendar-date,.rc-calendar-fullscreen .rc-calendar-month-panel-cell .rc-calendar-month-panel-month{border:none;border-radius:0;border-top:2px solid #eee;display:block;height:116px;margin:0 4px;padding-right:8px;text-align:right;width:auto}.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month,.rc-calendar-fullscreen .rc-calendar-selected-day .rc-calendar-date{background-color:#fcecd9;color:#666}.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month,.rc-calendar-fullscreen .rc-calendar-today .rc-calendar-date{border-top-color:#f09f3f;color:#f09f3f}.rendered-markdown.article{padding:0 20px 20px}.rendered-markdown tbody tr:first-child{font-weight:400}.CodeMirror{font-size:.8125rem;height:auto}.rc-calendar-table{table-layout:auto}.rc-calendar-table tbody tr{height:auto}.rc-calendar-input:focus{border-color:transparent}.keyboard-shortcut-dialog{max-width:500px}.keyboard-shortcut-dialog .modal-body{max-height:390px;overflow:auto}.keyboard-shortcut-container{align-items:center;background-color:#f8f8f8;border-radius:3px;box-sizing:border-box;display:flex;line-height:1.5;margin-top:3px;padding-bottom:.5rem;padding-top:.5rem}.keyboard-shortcut-title{font-size:.9rem}.keyboard-shortcut-container>div:first-child{text-align:right}.keyboard-shortcut-container>div:last-child{padding-left:1rem;padding-right:1rem}.keyboard-shortcut{display:inline-block}.keyboard-shortcut kbd{background-color:hsla(0,0%,100%,.25);border:solid rgba(0,0,0,.1);border-radius:3px;border-width:1px 1px 2px;box-sizing:border-box;color:#333;display:inline-block;font:inherit;font-size:12px;margin-bottom:0;margin-left:1px;margin-right:1px;min-width:12px;padding:1px 3px;text-align:center;text-transform:uppercase}.user-option-name{font-size:14px;font-weight:500}.user-option-email{font-size:12px}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.invite-accept-icon{color:green;font-size:1.25rem;font-style:normal;line-height:1;margin-left:.5rem;vertical-align:middle}.invite-link-in-popup,.invite-link-in-popup:hover{text-decoration:none}.invite-link-icon-in-popup{color:#f89a68;cursor:pointer;font-size:.875rem;font-style:normal;line-height:1;margin-left:.5rem;vertical-align:middle}.submit-btn .loading-icon{height:21px;margin:1px auto;width:21px}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}.user-details-popover{background:#fff;border:1px solid #eee;border-radius:4px;box-shadow:0 0 14px rgba(0,0,0,.14);left:2px;z-index:1000}.user-details-main{border-bottom:1px solid #eee}.user-details-name{font-size:1rem;font-weight:500}.seatable-simple-editor{border:1px solid #e5e5e5;display:flex;flex:1 1;flex-direction:column;height:100%;min-width:768px;overflow:hidden}.seatable-simple-editor .seafile-editor-topbar{background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 3px 2px -2px hsla(0,0%,78%,.15);display:flex;justify-content:space-between;position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:3}.seatable-simple-editor .seafile-editor-topbar .use-help-icon{background-color:#fff;box-sizing:border-box}.seatable-simple-editor .seafile-editor-topbar .editor-btn-group{border-right:1px solid #e5e5e5;color:#555;font-size:.75rem;height:100%;padding:5px 0 5px 5px}.seatable-simple-editor .header-list-container{border-left:0}.seatable-simple-editor .editor{border:none;height:100%;margin:0;padding:10px}.editor-container::-webkit-scrollbar{height:8px;width:8px}.editor-container::-webkit-scrollbar-button{display:none}.editor-container::-webkit-scrollbar-thumb{background-color:#ceced4;border-radius:10px}.share-dialog .share-dialog-content{display:flex;flex-direction:column;min-height:27rem;padding:0}@media (min-width:768px){.share-dialog .share-dialog-content{flex-direction:row}}.share-dialog-content .share-dialog-side{border-bottom:1px solid #eee;flex-basis:22%;padding:1rem}.share-dialog .nav .nav-item .nav-link{padding:.3125rem .25rem}@media (min-width:768px){.share-dialog-content .share-dialog-side{border:0;border-right:1px solid #eee;padding:12px 8px}.share-dialog-side .nav{flex-direction:column}.share-dialog-side .nav-pills .nav-item .nav-link{margin:0;padding:.3125rem .5rem;width:100%}}.share-dialog-content .share-dialog-main{display:flex;flex-basis:78%;padding:1rem}.share-dialog-content .share-dialog-main .tab-content{flex:1 1}.share-dialog-content .share-dialog-main .tab-pane{height:100%;overflow:auto}.share-list-container{max-height:18rem;min-height:10rem}.share-dialog-content label{padding:.5rem 0 .25rem}.share-dialog-content label.form-check-label{padding:.25rem 0}.link-operation-content{margin-left:1.25rem}.link-operation-icon{color:#9aa0ac}.tip{color:grey;margin-bottom:1rem}.generate-share-link .passwd,.generate-upload-link .passwd{width:60%}.generate-share-link .permission{margin-left:2.5rem}.generate-link-btn{margin-top:1.125rem}input.expire-input{display:inline-block;height:1.5rem;margin:0 .25rem 0 1.25rem;padding:.25rem;width:4rem}.expire-input-border{border-bottom-right-radius:0;border-top-right-radius:0;height:2.375rem!important;padding:.375rem .75rem!important}.share-dialog-main .permission-editor .permission-editor__menu{width:240px}.expir-span{border:1px solid rgba(0,40,100,.12);border-bottom-right-radius:3px;border-left:none;border-top-right-radius:3px;display:inline-block;font-size:.9375rem;height:2.375rem;line-height:2.25;margin-left:-5px;min-width:2.375rem;padding:0 8px;position:absolute;text-align:center;top:4px}.custom-permission .permission-header{align-items:center;border-bottom:1px solid #efefef;display:flex;justify-content:space-between;padding:.375rem 0}.custom-permission .permission-header .back-icon{color:#999;cursor:pointer;margin-right:10px}.custom-permission .permission-name-desc{margin-top:.375rem}.custom-permission .permission-name-desc label{color:#999;font-size:14px}.custom-permission .permission-name-desc .permission-desc,.custom-permission .permission-name-desc .permission-name{flex:1 1}.custom-permission .permission-name-desc .permission-desc{margin-left:.4rem}.custom-permission .permissions-list-body{max-height:350px;overflow-y:scroll}.seafile-simple-editor{border:1px solid #e5e5e5;display:flex;flex:1 1;flex-direction:column;height:100%;min-width:768px;overflow:hidden}.seafile-simple-editor .seafile-editor-topbar{background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 3px 2px -2px hsla(0,0%,78%,.15);display:flex;justify-content:space-between;position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:3}.seafile-simple-editor .seafile-editor-topbar .use-help-icon{background-color:#fff;box-sizing:border-box}.seafile-simple-editor .seafile-editor-topbar .editor-btn-group{border-right:1px solid #e5e5e5;color:#555;font-size:.75rem;height:100%;padding:5px 0 5px 5px}.seafile-simple-editor .header-list-container{border-left:0}.seafile-simple-editor .editor{border:none;height:100%;margin:0;padding:10px}.seafile-simple-editor ::-webkit-scrollbar{height:8px;width:8px}.seafile-simple-editor ::-webkit-scrollbar-button{display:none}.seafile-simple-editor ::-webkit-scrollbar-thumb{background-color:#ceced4;border-radius:10px}.editor-container{flex:1 1 auto;height:100%;overflow-y:auto;position:relative}.editor{background:#fff;border:1px solid #e6e6dd;margin:20px 40px;min-height:calc(100% - 40px);overflow-x:hidden;padding:40px 60px}.sf-editor-image-previewer .ril__caption{justify-content:center!important}.file-chooser-container{border:1px solid rgba(0,40,100,.12);border-radius:3px;font-size:1rem;height:20rem;overflow:auto;padding:.5rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.item-toggle{color:silver;cursor:pointer;height:1.5rem;left:0;line-height:1.5rem!important;position:absolute;text-align:center;top:0;width:1.5rem}.file-chooser-container .list-view{margin-top:.25rem}.list-view-header{padding-left:1.5rem;position:relative}.list-view-header:hover{background-color:#fdefb9}.list-view-header .name{color:#eb8205}.list-view-content{list-style:none;margin:0;padding:0}.file-chooser-item{padding-left:22px;position:relative}.file-chooser-item .item-info{cursor:pointer;height:1.5rem;line-height:1.625;position:relative}.file-chooser-item .item-active{background:#f3af7d!important;border-radius:2px;box-shadow:inset 0 0 1px #999;color:#fff}.file-chooser-item .item-info:hover{background:#fdefb9;border-radius:2px;box-shadow:inset 0 0 1px #999}.file-chooser-item .item-info .name{flex:1 1}.file-chooser-item .item-active .icon{color:#fff!important}.file-chooser-search-input{position:relative}.file-chooser-search-input .search-control{position:absolute;right:.7rem;top:.5rem}.file-chooser-search-input .search-input{width:100%}.file-chooser-search-container{border:1px solid #eee;height:20rem;overflow:auto;padding:10px;position:relative}.file-chooser-search-close{position:absolute;right:-.5rem;top:-.5rem}.searched-active{background:#f3af7d!important;border-radius:2px;box-shadow:inset 0 0 1px #999}.searched-active td{color:#fff}.searched-active .icon{color:#fff!important}.select-open-repo{background:#fdefb9}.file-chooser-table td{border-bottom:1px solid transparent}.file-chooser-item .item-info .item-text{font-size:15px;line-height:24px;overflow:hidden;padding-left:2.8rem;text-overflow:ellipsis;white-space:nowrap}.file-chooser-item .item-info .item-left-icon{align-items:center;display:flex;left:0;padding-left:1.5rem;position:absolute;top:0}#wrapper{height:100%}.shared-file-view-md{height:100%;overflow-y:hidden}.shared-file-view-md-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;height:53px;justify-content:space-between;padding:8px 16px 4px}.shared-file-view-md-main{height:calc(100% - 53px)}.shared-file-view-head{align-items:center;background:#fff;display:flex;height:60px;justify-content:space-between;margin:0 auto;width:950px}.shared-file-view-head h2{color:#222;font-size:1.4em;font-weight:400;margin-bottom:0}.shared-file-view-head .share-by{margin:0}.shared-file-view-body{background:#f4f4f4;border:1px solid #ededed;height:calc(100% - 60px);overflow:auto;padding:30px 0 15px}.shared-file-view-body .article{background:#fff;border:1px solid #e6e6dd;margin:0 340px 15px 40px;min-height:calc(100% - 15px);padding:40px 60px}.shared-file-view-body .article-no-outline{margin:0 auto 15px;max-width:950px}.shared-file-view-body .seafile-markdown-outline{bottom:30px;height:auto;top:145px;width:300px}@media (max-width:991.98px){.shared-file-view-head{padding:10px 20px;width:100%}.shared-file-view-body .md-view{padding:55px 50px;width:95%}}@media (max-width:768px){.shared-file-view-body .md-view{padding:0 10px;width:100%}.shared-file-view-body .md-view .article{display:flex;margin:0;padding:20px}.shared-file-view-body .seafile-markdown-outline{display:none}}.dialog-operation{align-items:center;display:flex}.dialog-operation .file-internal-link{color:#999;cursor:pointer;font-size:12px;font-weight:700;margin-left:.5rem;margin-top:2px}.dialog-operation .file-internal-link:hover{color:#333}.diff-added{background-color:#e6ffed}.diff-added,.diff-removed{margin:0 -5px;overflow:hidden;padding:0 5px}.diff-removed{background-color:#ffeef0}.diff-added *,.diff-removed *{border-left:none;padding-left:0}.diff-replaced{border-left:3px solid #f9c513;margin-left:-5px;padding-left:2px}.diff-replaced .diff-added{background-color:#e6ffed;margin-left:0;overflow:visible;padding-left:0}.diff-replaced .diff-removed{background-color:#ffeef0;color:#cb2431;margin-left:0;overflow:visible;padding-left:0}.diff-replaced .diff-replaced{border-left:none;margin-left:0;overflow:visible}.diff-replaced .diff-removed-container{background-color:#ffeef0;box-sizing:border-box;margin:0 -5px;overflow:hidden;padding:0 5px}.diff-replaced .diff-added-container{background-color:#e6ffed;box-sizing:border-box;margin:0 -5px;overflow:hidden;padding:0 5px}.diff-replaced table .diff-added{background-color:#e6ffed;margin:0;padding:0}.diff-replaced table .diff-removed{background-color:#ffeef0;margin:0;padding:0}.diff-replaced table tr.diff-replaced{padding-left:0}.diff-replaced del{background-color:#fdb8c0;color:#cb2431;text-decoration:none}.diff-replaced ins{background-color:#acf2bd;text-decoration:none}.article .diff-replaced .old-paragraph{background-color:#ffeef0;margin-bottom:0}.article .diff-replaced .new-paragraph{background-color:#e6ffed;margin-top:0}.file-tag-list .file-tag-item{align-items:center;border-radius:10px;display:flex;margin:.25rem 0;max-width:180px;padding:0 .5rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.file-tag-list .file-tag-item .tag-name{color:#fff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#root{height:100%}.seafile-md-viewer-content .article{padding:0}.seafile-md-viewer-content{background:#fff;border:1px solid #e6e6dd;min-height:calc(100% - 60px);padding:70px 75px}.seafile-md-viewer-outline-heading2,.seafile-md-viewer-outline-heading3{color:#666;cursor:pointer;line-height:2.5;margin-left:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seafile-md-viewer-outline-heading3{margin-left:2rem}.seafile-md-viewer-outline-heading2:hover,.seafile-md-viewer-outline-heading3:hover{color:#eb8205}.seafile-markdown-outline{height:80%;overflow:auto;padding-right:1rem;position:fixed;right:0;top:97px;width:200px}.seafile-editor-outline{border-left:1px solid #ddd}.seafile-markdown-outline .active{border-left:1px solid #eb8205;color:#eb8205}.seafile-markdown-outline .outline-h2,.seafile-markdown-outline .outline-h3{font-size:14px;height:30px;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seafile-markdown-outline .outline-h2{padding-left:20px}.seafile-markdown-outline .outline-h3{padding-left:40px}@media (max-width:991.8px){.seafile-md-viewer-content{padding:40px}}@media (max-width:768px){.seafile-md-viewer-content{padding:20px}}.detail-container{border-left:1px solid #e8e8e8;display:flex;flex:1 1;flex-direction:column}.detail-header{align-items:center;background-color:#f9f9f9;border-bottom:1px solid #e8e8e8;display:flex;height:40px;justify-content:center;line-height:2.5rem;position:relative}.detail-header .detail-control{color:#b9b9b9;font-size:16px;padding-left:.5rem}.detail-header .detail-control:hover{color:#888}.detail-header .detail-title{align-items:center;display:flex;flex:1 1;justify-content:center;margin-left:.25rem;width:0}.detail-header .detail-title .name{color:#322;font-size:1rem;line-height:1.5rem;margin:0 .5rem 0 .25rem;vertical-align:middle}.detail-body{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto}.dirent-info .img{align-items:center;display:flex;height:10rem;justify-content:center;padding:.5rem 0}.dirent-info .img .thumbnail{display:inline-block;max-height:100%;max-width:calc(100% - 4px)}.dirent-table-container{display:flex;padding:10px 20px 20px}.dirent-table-container tr{border:none}.dirent-table-container table{flex:1 1}.dirent-table-container td,.dirent-table-container th{border:none;padding:5px 3px}.dirent-table-container th{color:#9c9c9c;font-size:13px;font-weight:400;text-align:left}.dirent-table-container td{color:#333;font-size:14px;word-break:break-all}.dirent-table-container .file-tag-container th{list-style:none;padding-top:8px;vertical-align:top}.dirent-table-container .file-tag-container .tag-list{list-style:none}.dirent-table-container .seafile-multicolor-icon.seafile-multicolor-icon-tag{cursor:pointer;height:20px;width:20px}.file-related-files th{vertical-align:top}.file-related-files td i{padding:0}.file-related-files td ul{list-style:none;max-height:100px;overflow-y:scroll;white-space:nowrap}.file-related-files td ul li{margin-bottom:5px;overflow-x:hidden;text-overflow:ellipsis}.file-related-files ul li a,.list-related-file-table tr td a{color:#333}.list-related-file-body{max-height:500px;min-height:200px;overflow-y:scroll}.no-related-file{text-align:center}.sf-add-related-file .alert{margin:.5rem}.sf-add-related-file .related-file-subtitle{display:inline-block;margin-bottom:.5rem}.detail-container .nav-item .nav-link,.detail-container .nav-item .nav-link i{margin:0 auto}.detail-container .edit-file-extra-attributes-btn{background-color:#f0f0f0;border-radius:3px;color:#929292;cursor:pointer;font-size:14px;height:28px;line-height:28px;max-width:100%;min-width:80px;padding:0 10px;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.detail-container .edit-file-extra-attributes-btn:hover{background-color:#dbdbdb;color:#666;cursor:pointer}.file-uploader-container{display:flex}.file-uploader{bottom:99999px;position:fixed}.uploader-list-view{background-color:#fff;border:1px solid #ddd;border-radius:3px;bottom:1px;box-shadow:0 0 6px #ddd;display:flex;flex-direction:column;height:20rem;position:fixed;right:1px;width:35rem;z-index:1050}.uploader-list-header{background-color:#f0f0f0;color:#322;display:flex;font-size:1rem;justify-content:space-between;line-height:1.5;min-height:2.25rem;padding:.375rem .625rem}.uploader-list-header .uploader-options span{color:#b8b8b8;cursor:pointer;display:inline-block;font-size:18px;margin-left:.25rem}.uploader-list-content{background-color:#fff;overflow:auto;padding:0 1rem 1.25rem}.file-upload-item{height:44px}.upload-progress .progress-container{height:24px;padding:4px 0}.upload-progress .progress{height:5px;width:80%}.upload-progress .progress .progress-bar{color:#e83}.upload-progress .progress-text{color:#666;font-size:12px;line-height:12px;margin-top:2px}.upload-operation .saving{word-wrap:break-word;color:#ee8204}.disabled-link{color:#999}#wrapper,.wrapper{display:flex;flex-direction:column;height:100%;width:100%}#header{display:flex}#main{flex:1 1;min-height:0}#main,.side-panel{display:flex;overflow:hidden}.side-panel{flex:0 0 22%;flex-direction:column}.main-panel{display:flex;flex:1 0 78%;flex-direction:column}@media (max-width:767px){.side-panel{background:#f8f8f8;height:100%;left:-300px;max-width:calc(100% - 40px);position:fixed;transition:all .3s ease;width:300px;z-index:1031}}.main-panel-north,.side-panel-north{background:#f4f4f7;border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0;padding:.5rem 1rem;position:relative;z-index:100}@media (max-width:767px){.side-panel-north{border-right:1px solid #eee}.main-panel-north{padding-bottom:.25rem}}.main-panel-center,.side-panel-center{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.side-panel-center,.side-panel-footer{border-right:1px solid #eee;min-height:0}.cur-view-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.cur-view-path{align-items:center;background:#f9f9f9;display:flex;flex-shrink:0;justify-content:space-between;max-height:40px;padding:8px 16px;position:relative}.cur-view-path:after{border-bottom:1px solid #e8e8e8;bottom:0;content:"";left:16px;position:absolute;right:16px}.cur-view-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;padding:0 1rem}.table-container{flex:1 1;padding:0 1rem 10rem;position:relative}.table-drop-active:before{border:1px solid #45aaf2;content:"";display:block;height:100%;left:0;position:absolute;width:100%;z-index:-1}.cur-view-content .article{padding:40px}.cur-view-content .hd{background:#f2f2f2;border-radius:2px;height:48px;margin-bottom:.5em;padding:9px 10px}.cur-view-content .tip{font-size:14px}.cur-view-detail{-webkit-animation:move .5s ease-in-out 1;animation:move .5s ease-in-out 1;background-color:#fff;box-shadow:-1px 0 3px 0 #ccc;display:block;height:100%;position:absolute;right:0;width:300px;z-index:50}@-webkit-keyframes move{0%{opacity:.5;right:-500px}to{opacity:1;right:0}}@keyframes move{0%{opacity:.5;right:-500px}to{opacity:1;right:0}}.cur-view-detail .detail-container{height:100%}.reach-router,div[tabindex="-1"][role=group]{display:flex;flex:1 1;flex-direction:column;min-height:0}.header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 3px 2px -2px hsla(0,0%,78%,.15);display:flex;flex-shrink:0;justify-content:space-between;padding:.625rem}.header .cur-file-info{display:flex;margin-left:.5rem}.header .info-item{align-items:center;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;margin-right:.5rem}.header .file-copywriting{color:#999;font-size:1rem;font-weight:400;margin-left:.5rem}.header .file-feature{background-color:#fbcb09;color:#fff;font-size:1.8rem;height:2.9375rem;width:2.9375rem}.header .file-operation-btn{margin-right:.25rem}.review{padding:0}.review .cur-file-info{margin:0}.review .file-feature{font-size:3rem;height:4.1875rem;width:4.1875rem}.review-state{border:1px solid transparent;border-radius:3px;margin:auto .5rem;position:relative}.review-state-finished{background-color:#dff1cc;border-color:#d2ecb8;color:#316100}.review-state-closed{background-color:#f5d2d2;border-color:#f1c1c0;color:#6b1110}.review-state-closed:focus,.review-state-finished:focus{box-shadow:0 0 0 0}img:not([src]),img[src=""]{opacity:0}.cur-view-path.draft-review-nav,.cur-view-path.share-upload-nav{padding:0 1rem}.cur-view-container .fa-star.fas{color:#999}.path-container{align-items:center;display:flex;max-width:80%;word-break:keep-all}.path-container a,.path-container span{flex-shrink:1;max-height:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-container span:first-child,.path-container span:last-child{flex-shrink:0}.path-container span.path-file-name,.path-container span.path-repo-name{flex-shrink:1}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.vjs-modal-dialog .vjs-modal-dialog-content{height:100%;left:0;position:absolute;top:0;width:100%}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.vjs-button>.vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;font-style:normal;font-weight:400;src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff")}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder,.vjs-icon-play{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before{content:"\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play-circle:before{content:"\f102"}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder,.vjs-icon-pause{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before,.vjs-icon-pause:before{content:"\f103"}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder,.vjs-icon-volume-mute{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before,.vjs-icon-volume-mute:before{content:"\f104"}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder,.vjs-icon-volume-low{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before,.vjs-icon-volume-low:before{content:"\f105"}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder,.vjs-icon-volume-mid{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before,.vjs-icon-volume-mid:before{content:"\f106"}.video-js .vjs-mute-control .vjs-icon-placeholder,.vjs-icon-volume-high{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-mute-control .vjs-icon-placeholder:before,.vjs-icon-volume-high:before{content:"\f107"}.video-js .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-enter{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-enter:before{content:"\f108"}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-exit{font-family:VideoJS;font-style:normal;font-weight:400}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-exit:before{content:"\f109"}.vjs-icon-square{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-square:before{content:"\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-spinner:before{content:"\f10b"}.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-subtitles{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-subtitles:before{content:"\f10c"}.video-js .vjs-captions-button .vjs-icon-placeholder,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-captions{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-captions-button .vjs-icon-placeholder:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-captions:before{content:"\f10d"}.video-js .vjs-chapters-button .vjs-icon-placeholder,.vjs-icon-chapters{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-chapters-button .vjs-icon-placeholder:before,.vjs-icon-chapters:before{content:"\f10e"}.vjs-icon-share{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-share:before{content:"\f10f"}.vjs-icon-cog{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cog:before{content:"\f110"}.video-js .vjs-play-progress,.video-js .vjs-volume-level,.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-play-progress:before,.video-js .vjs-volume-level:before,.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before{content:"\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-outline:before{content:"\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-inner-circle:before{content:"\f113"}.vjs-icon-hd{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-hd:before{content:"\f114"}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder,.vjs-icon-cancel{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before,.vjs-icon-cancel:before{content:"\f115"}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder,.vjs-icon-replay{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before,.vjs-icon-replay:before{content:"\f116"}.vjs-icon-facebook{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-facebook:before{content:"\f117"}.vjs-icon-gplus{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-gplus:before{content:"\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-linkedin:before{content:"\f119"}.vjs-icon-twitter{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-twitter:before{content:"\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-tumblr:before{content:"\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pinterest:before{content:"\f11c"}.video-js .vjs-descriptions-button .vjs-icon-placeholder,.vjs-icon-audio-description{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-descriptions-button .vjs-icon-placeholder:before,.vjs-icon-audio-description:before{content:"\f11d"}.video-js .vjs-audio-button .vjs-icon-placeholder,.vjs-icon-audio{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-audio-button .vjs-icon-placeholder:before,.vjs-icon-audio:before{content:"\f11e"}.vjs-icon-next-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-next-item:before{content:"\f11f"}.vjs-icon-previous-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-previous-item:before{content:"\f120"}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-enter{font-family:VideoJS;font-style:normal;font-weight:400}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-enter:before{content:"\f121"}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-exit{font-family:VideoJS;font-style:normal;font-weight:400}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-exit:before{content:"\f122"}.video-js{background-color:#000;box-sizing:border-box;color:#fff;display:block;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:400;line-height:1;padding:0;position:relative;vertical-align:top;word-break:normal}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{height:100%!important;width:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js :after,.video-js :before{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-1-1,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-fluid{max-width:100%;width:100%}.video-js.vjs-1-1:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-fluid:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js .vjs-tech,.video-js.vjs-fill:not(.vjs-audio-only-mode){height:100%;width:100%}.video-js .vjs-tech{left:0;position:absolute;top:0}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window{height:100%;margin:0;padding:0}.vjs-full-window .video-js.vjs-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs){height:100%!important;padding-top:0!important;width:100%!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{cursor:default;opacity:.5}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{background-color:#000;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;height:150px;margin:0 auto;padding:20px;text-align:center;width:300px}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{background-color:#2b333f;background-color:rgba(43,51,63,.7);border:.06666em solid #fff;border-radius:.3em;cursor:pointer;display:block;font-size:3em;height:1.63332em;left:10px;line-height:1.5em;opacity:1;padding:0;position:absolute;top:10px;transition:all .4s;width:3em}.vjs-big-play-centered .vjs-big-play-button{left:50%;margin-left:-1.5em;margin-top:-.81666em;top:50%}.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{background-color:#73859f;background-color:rgba(115,133,159,.5);border-color:#fff;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-error .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{-webkit-appearance:none;appearance:none;background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-decoration:none;text-transform:none;transition:none}.vjs-control .vjs-button{height:100%;width:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),hsla(0,0%,100%,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;font-family:Arial,Helvetica,sans-serif;margin:0;overflow:auto;padding:0}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{font-size:1.2em;line-height:1.4em;list-style:none;margin:0;padding:.2em 0;text-align:center;text-transform:lowercase}.js-focus-visible .vjs-menu li.vjs-menu-item:hover,.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:rgba(115,133,159,.5)}.js-focus-visible .vjs-menu li.vjs-selected:hover,.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible),.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible){background:none}.vjs-menu li.vjs-menu-title{cursor:default;font-size:1em;font-weight:700;line-height:2em;margin:0 0 .3em;padding:0;text-align:center;text-transform:uppercase}.vjs-menu-button-popup .vjs-menu{border-top-color:rgba(43,51,63,.7);bottom:0;display:none;height:0;left:-3em;margin-bottom:1.5em;position:absolute;width:10em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:rgba(43,51,63,.7);bottom:1.5em;max-height:15em;position:absolute;width:100%}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-menu-button-popup .vjs-menu.vjs-lock-showing,.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu{display:block}.video-js .vjs-menu-button-inline{overflow:hidden;transition:all .4s}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{height:100%;left:4em;margin:0;opacity:0;padding:0;position:absolute;top:0;transition:all .4s;width:auto}.vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline:hover .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{height:100%;margin:0;overflow:hidden;width:auto}.video-js .vjs-control-bar{background-color:#2b333f;background-color:rgba(43,51,63,.7);bottom:0;display:none;height:3em;left:0;position:absolute;right:0;width:100%}.vjs-audio-only-mode .vjs-control-bar,.vjs-has-started .vjs-control-bar{display:flex;opacity:1;transition:visibility .1s,opacity .1s;visibility:visible}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s;visibility:visible}.vjs-controls-disabled .vjs-control-bar,.vjs-error .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar{display:none!important}.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;pointer-events:auto;visibility:visible}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{flex:none;height:100%;margin:0;padding:0;position:relative;text-align:center;width:4em}.video-js .vjs-control.vjs-visible-text{padding-left:1em;padding-right:1em;width:auto}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.video-js .vjs-control:focus,.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{clip:rect(0 0 0 0);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{align-items:center;cursor:pointer;display:flex;flex:auto;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{align-items:center;display:flex}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{flex:auto;height:.3em;transition:all .2s}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress{display:block;height:100%;margin:0;padding:0;position:absolute;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.3333333333em;z-index:1}.video-js .vjs-load-progress{background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:hsla(0,0%,100%,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{background-color:#000;display:none;height:100%;position:absolute;width:1px;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{opacity:0;transition:visibility 1s,opacity 1s;visibility:hidden}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{background-color:#000;background-color:rgba(0,0,0,.8);color:#fff}.video-js .vjs-slider{-webkit-touch-callout:none;background-color:#73859f;background-color:rgba(115,133,159,.5);cursor:pointer;margin:0 .45em;padding:0;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{box-shadow:0 0 1em #fff;text-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;display:flex;margin-right:1em}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{height:1px;margin-left:-1px;opacity:0;visibility:visible;width:1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control{opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s;visibility:visible}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal{height:3em;margin-right:0;width:5em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active{transition:width .1s;width:10em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;width:3em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{height:3em;opacity:1;position:relative;transition:none;visibility:visible;width:5em}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{bottom:3em;left:.5em;position:absolute}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{height:.3em;width:5em}.vjs-volume-bar.vjs-slider-vertical{height:5em;margin:1.35em auto;width:.3em}.video-js .vjs-volume-level{background-color:#fff;bottom:0;left:0;position:absolute}.video-js .vjs-volume-level:before{font-size:.9em;position:absolute;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{left:-.3em;top:-.5em;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{right:-.5em;top:-.3em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{background-color:#2b333f;background-color:rgba(43,51,63,.7);bottom:8em;height:8em;width:3em}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:hsla(0,0%,100%,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{background-color:#000;display:none;height:1px;position:absolute;width:100%;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{height:100%;width:1px}.vjs-no-flex .vjs-volume-control .vjs-mouse-display{z-index:0}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{opacity:0;transition:visibility 1s,opacity 1s;visibility:hidden}.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-volume-tooltip{background-color:#000;background-color:rgba(0,0,0,.8);color:#fff}.vjs-poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;bottom:0;cursor:pointer;display:inline-block;height:100%;left:0;margin:0;padding:0;position:absolute;right:0;top:0;vertical-align:middle}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster{display:block}.video-js .vjs-live-control{align-items:flex-start;display:flex;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;text-align:left;width:auto}.video-js.vjs-liveui .vjs-live-control,.video-js:not(.vjs-live) .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;display:inline-flex;flex:none;font-size:1em;height:100%;line-height:3em;min-width:4em;padding-left:.5em;padding-right:.5em;width:auto}.vjs-no-flex .vjs-seek-to-live-control{display:table-cell;text-align:left;width:auto}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{color:#888;margin-right:.5em}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;padding-left:1em;padding-right:1em;width:auto}.video-js .vjs-current-time,.video-js .vjs-duration,.vjs-live .vjs-time-control,.vjs-no-flex .vjs-current-time,.vjs-no-flex .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{bottom:3em;left:0;pointer-events:none;position:absolute;right:0;top:0}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;margin-bottom:.1em;text-align:center}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{-webkit-transform:translateY(-3em);transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{-webkit-transform:translateY(-1.5em);transform:translateY(-1.5em)}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control{display:none}.vjs-playback-rate .vjs-playback-rate-value,.vjs-playback-rate>.vjs-menu-button{height:100%;left:0;position:absolute;top:0;width:100%}.vjs-playback-rate .vjs-playback-rate-value{font-size:1.5em;line-height:2;pointer-events:none;text-align:center}.vjs-playback-rate .vjs-menu{left:0;width:4em}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:"X";font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-align:center;text-shadow:.05em .05em .1em #000;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{background-clip:padding-box;border:6px solid rgba(43,51,63,.7);border-radius:25px;box-sizing:border-box;display:none;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.85;position:absolute;text-align:left;top:50%;visibility:hidden;width:50px}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{-webkit-animation:vjs-spinner-show 0s linear .3s forwards;animation:vjs-spinner-show 0s linear .3s forwards;display:block}.vjs-loading-spinner:after,.vjs-loading-spinner:before{border:inherit;border-color:#fff transparent transparent;border-radius:inherit;box-sizing:inherit;content:"";height:inherit;margin:-6px;opacity:1;position:absolute;width:inherit}.vjs-seeking .vjs-loading-spinner:after,.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{-webkit-animation-delay:.44s;animation-delay:.44s;border-top-color:#fff}@keyframes vjs-spinner-show{to{visibility:visible}}@-webkit-keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes vjs-spinner-spin{to{-webkit-transform:rotate(1turn)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{display:inline-block;margin-bottom:-.1em;vertical-align:middle}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:"";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{display:inline-block;margin-bottom:-.1em;vertical-align:middle}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:" ";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:auto}.video-js.vjs-layout-tiny .vjs-progress-control,.video-js.vjs-layout-x-small .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{display:block;flex:auto}.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer{width:auto}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:rgba(43,51,63,.75);color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-controls,.vjs-text-track-settings .vjs-track-settings-font{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-bottom:.5em;margin-right:1em}.vjs-text-track-settings fieldset{border:none;margin:5px;padding:3px}.vjs-text-track-settings fieldset span{display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px}.vjs-text-track-settings .vjs-label{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;display:block;height:1px;margin:0 0 5px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-track-settings-controls button:active,.vjs-track-settings-controls button:focus{background-image:linear-gradient(0deg,#fff 88%,#73859f);outline-style:solid;outline-width:medium}.vjs-track-settings-controls button:hover{color:rgba(43,51,63,.75)}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f);border-radius:2px;color:#2b333f;cursor:pointer}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{border:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1000}.js-focus-visible .video-js :focus:not(.focus-visible){outline:none}.video-js :focus:not(:focus-visible){outline:none}.video-js{max-height:100%;max-width:800px}.audio-file-view .video-js,.video-js{margin:0 auto;width:calc(100% - 40px)}.audio-file-view .video-js{height:3em;max-width:500px}.audio-file-view .video-js .vjs-fullscreen-control{display:none} +/*# sourceMappingURL=commons.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/commons.css.map b/media/assets/frontend/static/css/commons.css.map new file mode 100644 index 00000000000..0da4da9939f --- /dev/null +++ b/media/assets/frontend/static/css/commons.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/commons.css","mappings":"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","sources":["../node_modules/@seafile/seafile-calendar/assets/index.css","css/pagination.css","css/top-search-by-name.css","css/file-view.css","css/image-file-view.css","css/svg-file-view.css","css/pdf-file-view.css","components/seafile-codemirror/style.css","css/text-file-view.css","../node_modules/@seafile/seafile-editor/dist/assets/css/topbar.css","../node_modules/@seafile/seafile-editor/dist/assets/css/outline.css","../node_modules/@seafile/seafile-editor/dist/assets/css/user-help.css","../node_modules/@seafile/seafile-editor/dist/assets/css/textlink-hovermenu.css","../node_modules/@seafile/seafile-editor/dist/assets/css/formula.css","../node_modules/@seafile/seafile-editor/dist/assets/css/table.css","../node_modules/@seafile/seafile-editor/dist/components/menu/style.css","../node_modules/@seafile/sdoc-editor/dist/components/common-loading/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/dropdown-menu-item/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/textlink-hovermenu.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/tooltip/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/color-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/menu/menu.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/code-block.css","../node_modules/@seafile/sdoc-editor/node_modules/@seafile/react-image-lightbox/style.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/image/hover-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/render/table-header/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/render/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/sdoc-link/render-elem.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/file-link/render-elem.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/header/menu/style.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/font/menu/font-family/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/font/menu/font-size/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/toolbar/context-toolbar/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/toolbar/side-toolbar/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/extension/commons/select-file-dialog/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/outline/style.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/default.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/layout.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/sdoc-editor-plugins.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/dropdown-menu.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/comment/comment/comment-list.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/comment/comment/elements-comment-count/index.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/comment/comment/style.css","../node_modules/@seafile/sdoc-editor/dist/basic-sdk/assets/css/simple-viewer.css","../node_modules/@seafile/sdoc-editor/dist/assets/css/diff-viewer.css","../node_modules/@seafile/sdoc-editor/dist/components/loading/style.css","../node_modules/@seafile/sdoc-editor/dist/components/tip-message/style.css","../node_modules/@seafile/sdoc-editor/dist/components/draft-dropdown/style.css","../node_modules/@seafile/sdoc-editor/dist/components/tip-dialog/index.css","../node_modules/@seafile/sdoc-editor/dist/components/switch/index.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/revision-operations/view-changes/index.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/revision-operations/more-revision-operations/index.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/revision-operations/revisions/index.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/revision-operations/changes-count/index.css","../node_modules/@seafile/sdoc-editor/dist/assets/css/collaborator-popover.css","../node_modules/@seafile/sdoc-editor/dist/components/doc-operations/style.css","../node_modules/@seafile/sdoc-editor/dist/layout/layout.css","../node_modules/@seafile/sdoc-editor/dist/assets/css/error-page.css","../node_modules/@seafile/sdoc-editor/dist/assets/css/simple-editor.css","../node_modules/@seafile/sdoc-editor/dist/assets/css/simple-viewer.css","../node_modules/@seafile/seafile-editor/dist/components/select/style.css","components/common/notification-popover/index.css","../node_modules/@seafile/seafile-editor/dist/assets/css/navbar-imgbutton.css","../node_modules/@seafile/seafile-editor/dist/assets/css/image.css","css/select-editor.css","../node_modules/@seafile/seafile-editor/dist/assets/css/link.css","../node_modules/@seafile/seafile-editor/dist/assets/css/tree-view.css","../node_modules/@seafile/seafile-editor/dist/assets/editor/plain-editor.css","css/toolbar.css","css/search.css","css/user-notifications.css","css/notification.css","../node_modules/codemirror/lib/codemirror.css","css/btn-qr-code.css","../node_modules/prismjs/themes/prism.css","../node_modules/@seafile/seafile-editor/dist/assets/css/markdown-editor.css","css/date-and-time-picker.css","../node_modules/@seafile/seafile-editor/dist/assets/css/keyboard-shortcuts.css","css/user-select.css","../node_modules/prismjs/plugins/toolbar/prism-toolbar.css","css/invitations.css","../node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css","css/share-to-user.css","../node_modules/@seafile/seafile-editor/dist/assets/editor/seatable-editor.css","css/share-link-dialog.css","../node_modules/@seafile/seafile-editor/dist/assets/editor/simple-editor.css","../node_modules/@seafile/seafile-editor/dist/containers/viewer-widgets/viewer-image/viewer-image.css","css/file-chooser.css","css/shared-file-view.css","components/operations/style.css","../node_modules/@seafile/seafile-editor/dist/assets/css/diff-viewer.css","css/file-tag-list.css","../node_modules/@seafile/seafile-editor/dist/assets/css/markdown-viewer.css","css/dirent-detail.css","css/file-uploader.css","css/layout.css","../node_modules/video.js/dist/video-js.css","css/video-file-view.css","css/audio-file-view.css"],"sourcesContent":[".rc-calendar {\n box-sizing: border-box;\n}\n.rc-calendar * {\n box-sizing: border-box;\n}\n.rc-calendar-hidden {\n display: none;\n}\n.rc-calendar-input-wrap {\n position: relative;\n padding: 6px;\n border-bottom: 1px solid #e9e9e9;\n}\n.rc-calendar-input-wrap:after {\n content: '';\n clear: both;\n}\n.rc-calendar-date-input-wrap {\n overflow: hidden;\n}\n.rc-calendar-time-picker {\n position: absolute;\n width: 100%;\n top: 34px;\n background-color: white;\n height: 217px;\n}\n.rc-calendar-time-picker-panel {\n width: 100%;\n position: relative;\n}\n.rc-calendar-time-picker-panel .rc-time-picker-panel-input-wrap {\n display: none;\n}\n.rc-calendar-time-picker-panel .rc-time-picker-panel-inner {\n border: none;\n box-shadow: none;\n}\n.rc-calendar-time-picker-panel .rc-time-picker-panel-select {\n width: 84px;\n max-height: 217px;\n}\n.rc-calendar-time-picker-panel .rc-time-picker-panel-select li {\n text-align: center;\n padding: 0;\n}\n.rc-calendar-time-picker-wrap {\n float: left;\n width: 100%;\n}\n.rc-calendar-time-picker-wrap .rc-time-picker {\n width: 100%;\n}\n.rc-calendar-time-picker-wrap .rc-time-picker-input {\n padding: 0;\n border: 1px solid transparent;\n outline: 0;\n height: 22px;\n}\n.rc-calendar-time-picker-wrap .rc-time-picker-icon {\n display: none;\n}\n.rc-calendar-input {\n border: 1px solid transparent;\n width: 100%;\n color: #666;\n cursor: text;\n line-height: 1.5;\n outline: 0;\n height: 22px;\n}\n.rc-calendar-input-invalid {\n border-color: red;\n}\n.rc-calendar-clear-btn {\n z-index: 9999;\n position: absolute;\n right: 6px;\n cursor: pointer;\n overflow: hidden;\n width: 20px;\n height: 20px;\n text-align: center;\n line-height: 20px;\n top: 6px;\n margin: 0;\n}\n.rc-calendar-clear-btn:after {\n content: \"x\";\n font-size: 12px;\n color: #aaa;\n display: inline-block;\n line-height: 1;\n width: 20px;\n transition: color 0.3s ease;\n}\n.rc-calendar-clear-btn:hover:after {\n color: #666;\n}\n.rc-calendar-picker {\n position: absolute;\n left: -9999px;\n top: -9999px;\n z-index: 1000;\n}\n.rc-calendar-picker-hidden {\n display: none;\n}\n.rc-calendar-picker-slide-up-enter {\n animation-duration: .3s;\n animation-fill-mode: both;\n transform-origin: 0 0;\n display: block !important;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n animation-play-state: paused;\n}\n.rc-calendar-picker-slide-up-appear {\n animation-duration: .3s;\n animation-fill-mode: both;\n transform-origin: 0 0;\n display: block !important;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n animation-play-state: paused;\n}\n.rc-calendar-picker-slide-up-leave {\n animation-duration: .3s;\n animation-fill-mode: both;\n transform-origin: 0 0;\n display: block !important;\n opacity: 1;\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n animation-play-state: paused;\n}\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomLeft,\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomRight,\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomLeft,\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomRight {\n animation-name: rcDropdownSlideUpIn;\n animation-play-state: running;\n}\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topLeft,\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topRight,\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topLeft,\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topRight {\n animation-name: rcDropdownSlideDownIn;\n animation-play-state: running;\n}\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomLeft,\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomRight {\n animation-name: rcDropdownSlideUpOut;\n animation-play-state: running;\n}\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topLeft,\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topRight {\n animation-name: rcDropdownSlideDownOut;\n animation-play-state: running;\n}\n@keyframes rcDropdownSlideUpIn {\n 0% {\n opacity: 0;\n transform-origin: 0% 0%;\n transform: scaleY(0);\n }\n 100% {\n opacity: 1;\n transform-origin: 0% 0%;\n transform: scaleY(1);\n }\n}\n@keyframes rcDropdownSlideUpOut {\n 0% {\n opacity: 1;\n transform-origin: 0% 0%;\n transform: scaleY(1);\n }\n 100% {\n opacity: 0;\n transform-origin: 0% 0%;\n transform: scaleY(0);\n }\n}\n@keyframes rcDropdownSlideDownIn {\n 0% {\n opacity: 0;\n transform-origin: 100% 100%;\n transform: scaleY(0);\n }\n 100% {\n opacity: 1;\n transform-origin: 100% 100%;\n transform: scaleY(1);\n }\n}\n@keyframes rcDropdownSlideDownOut {\n 0% {\n opacity: 1;\n transform-origin: 100% 100%;\n transform: scaleY(1);\n }\n 100% {\n opacity: 0;\n transform-origin: 100% 100%;\n transform: scaleY(0);\n }\n}\n.rc-calendar {\n position: relative;\n outline: none;\n font-family: Arial, \"Hiragino Sans GB\", \"Microsoft Yahei\", \"Microsoft Sans Serif\", \"WenQuanYi Micro Hei\", sans-serif;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n list-style: none;\n font-size: 12px;\n text-align: left;\n background-color: #fff;\n border-radius: 3px;\n box-shadow: 0 1px 5px #ccc;\n background-clip: padding-box;\n border: 1px solid #ccc;\n line-height: 1.5;\n}\n.rc-calendar-date-panel,\n.rc-calendar-date-panel-container {\n display: -ms-flexbox;\n display: flex;\n}\n.rc-calendar-date-panel,\n.rc-calendar-panel {\n position: relative;\n outline: none;\n display: block;\n}\n.rc-calendar-week-number {\n width: 286px;\n}\n.rc-calendar-week-number-cell {\n text-align: center;\n}\n.rc-calendar-header {\n padding: 0 10px;\n height: 34px;\n line-height: 30px;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n}\n.rc-calendar-header > a {\n font-weight: bold;\n display: inline-block;\n padding: 0px 5px;\n line-height: 34px;\n text-align: center;\n width: 30px;\n}\n.rc-calendar-header > a:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-header .rc-calendar-prev-month-btn {\n position: absolute;\n left: 25px;\n}\n.rc-calendar-header .rc-calendar-prev-month-btn:after {\n content: '‹';\n}\n.rc-calendar-header .rc-calendar-next-month-btn {\n position: absolute;\n right: 25px;\n}\n.rc-calendar-header .rc-calendar-next-month-btn:after {\n content: '›';\n}\n.rc-calendar-year-select,\n.rc-calendar-month-select,\n.rc-calendar-day-select {\n display: inline-block;\n font-size: 12px;\n font-weight: bold;\n color: #666;\n padding: 0 8px;\n line-height: 34px;\n}\n.rc-calendar-year-select:hover,\n.rc-calendar-month-select:hover,\n.rc-calendar-day-select:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-year-select.rc-calendar-time-status:hover,\n.rc-calendar-month-select.rc-calendar-time-status:hover,\n.rc-calendar-day-select.rc-calendar-time-status:hover {\n cursor: pointer;\n color: #666;\n}\n.rc-calendar-prev-month-btn,\n.rc-calendar-next-month-btn,\n.rc-calendar-prev-year-btn,\n.rc-calendar-next-year-btn {\n position: absolute;\n top: 0;\n cursor: pointer;\n color: #999;\n font-family: Arial, \"Hiragino Sans GB\", \"Microsoft Yahei\", \"Microsoft Sans Serif\", sans-serif;\n padding: 0 5px;\n font-size: 16px;\n display: inline-block;\n line-height: 34px;\n}\n.rc-calendar-prev-month-btn:hover,\n.rc-calendar-next-month-btn:hover,\n.rc-calendar-prev-year-btn:hover,\n.rc-calendar-next-year-btn:hover {\n color: #f09f4g;\n}\n.rc-calendar-next-year-btn {\n right: 0;\n}\n.rc-calendar-next-year-btn:after {\n content: '»';\n}\n.rc-calendar-prev-year-btn {\n left: 0;\n}\n.rc-calendar-prev-year-btn:after {\n content: '«';\n}\n.rc-calendar-body {\n padding: 9px 10px 10px;\n height: 217px;\n}\n.rc-calendar-right-panel {\n width: 68px;\n height: inherit;\n}\n.rc-calendar-right-panel-header {\n height: 34px;\n line-height: 34px;\n}\n.rc-calendar-right-panel-header span {\n transform: rotate(-90deg);\n}\n.rc-calendar-right-panel-body {\n height: 217px;\n border-left: 1px solid #ccc;\n overflow-y: scroll;\n}\n.rc-calendar-right-panel-body ul {\n list-style: none;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n.rc-calendar-right-panel-body ul li {\n text-align: center;\n padding: 8px 0;\n cursor: pointer;\n}\n.rc-calendar-right-panel-body ul li:hover {\n color: #e8bf6a;\n}\n.rc-calendar-right-panel-body .rc-calendar-selected-time {\n color: #f09f3f;\n}\n.rc-calendar-right-panel-body::-webkit-scrollbar {\n width: 0;\n}\n.rc-calendar-right-panel-footer {\n height: 39px;\n line-height: 34px;\n border-left: 1px solid #ccc;\n}\n.rc-calendar-right-panel-footer span {\n transform: rotate(90deg);\n}\n.rc-calendar-right-panel-header,\n.rc-calendar-right-panel-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n color: #999;\n font-size: 16px;\n}\n.rc-calendar-right-panel-header span:after,\n.rc-calendar-right-panel-footer span:after {\n content: '›';\n}\n.rc-calendar table {\n border-collapse: collapse;\n max-width: 100%;\n background-color: transparent;\n width: 100%;\n}\n.rc-calendar table,\n.rc-calendar td,\n.rc-calendar th,\n.rc-calendar td {\n border: none;\n}\n.rc-calendar-table {\n border-spacing: 0;\n margin-bottom: 0;\n}\n.rc-calendar-column-header {\n line-height: 18px;\n padding: 6px 0;\n width: 33px;\n text-align: center;\n}\n.rc-calendar-column-header .rc-calendar-column-header-inner {\n display: block;\n font-weight: normal;\n}\n.rc-calendar-week-number-header .rc-calendar-column-header-inner {\n display: none;\n}\n.rc-calendar-cell {\n padding: 1px 0;\n}\n.rc-calendar-date {\n display: block;\n margin: 0 auto;\n color: #666;\n border-radius: 4px 4px;\n width: 26px;\n height: 26px;\n padding: 0;\n background: transparent;\n line-height: 26px;\n text-align: center;\n}\n.rc-calendar-date:hover {\n background: #fcecd9;\n cursor: pointer;\n}\n.rc-calendar-selected-day .rc-calendar-date {\n background: #fcecd9;\n}\n.rc-calendar-selected-date .rc-calendar-date {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-selected-date .rc-calendar-date:hover {\n background: #f09f3f;\n}\n.rc-calendar-today .rc-calendar-date {\n border: 1px solid #f09f3f;\n}\n.rc-calendar-disabled-cell .rc-calendar-date {\n cursor: not-allowed;\n color: #bcbcbc;\n background: #f3f3f3;\n border-radius: 0;\n width: auto;\n}\n.rc-calendar-disabled-cell .rc-calendar-date:hover {\n background: #f3f3f3;\n}\n.rc-calendar-disabled-cell-first-of-row .rc-calendar-date {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.rc-calendar-disabled-cell-last-of-row .rc-calendar-date {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.rc-calendar-last-month-cell .rc-calendar-date,\n.rc-calendar-next-month-btn-day .rc-calendar-date {\n color: #bbb;\n}\n.rc-calendar-footer {\n border-top: 1px solid #ccc;\n padding: 10px 0;\n text-align: center;\n position: relative;\n}\n.rc-calendar-footer .rc-time-picker {\n width: 90px;\n}\n.rc-calendar-footer .rc-time-picker-input {\n height: 24px;\n}\n.rc-calendar-footer-show-ok {\n text-align: right;\n}\n.rc-calendar-footer-show-ok .rc-calendar-footer-btn {\n padding-right: 12px;\n}\n.rc-calendar-footer-show-ok .rc-calendar-time-picker-btn {\n margin-left: 0;\n padding: 0 12px;\n}\n.rc-calendar-footer-show-ok .rc-calendar-today-btn {\n float: left;\n padding-left: 12px;\n}\n.rc-calendar-footer-btn {\n margin-top: 2px;\n}\n.rc-calendar-footer-btn:after {\n content: 'x';\n height: 0;\n font-size: 0;\n overflow: hidden;\n clear: both;\n}\n.rc-calendar-time-picker-btn {\n margin-left: 10px;\n}\n.rc-calendar-today-btn,\n.rc-calendar-ok-btn,\n.rc-calendar-time-picker-btn {\n display: inline-block;\n text-align: center;\n color: #f46830;\n}\n.rc-calendar-today-btn:hover,\n.rc-calendar-ok-btn:hover,\n.rc-calendar-time-picker-btn:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-today-btn-disabled,\n.rc-calendar-ok-btn-disabled,\n.rc-calendar-time-picker-btn-disabled {\n color: #bbb;\n}\n.rc-calendar-today-btn-disabled:hover,\n.rc-calendar-ok-btn-disabled:hover,\n.rc-calendar-time-picker-btn-disabled:hover {\n color: #bbb;\n}\n.rc-calendar-today-btn {\n padding-left: 10px;\n}\n.rc-calendar-time-input {\n height: 25px;\n position: relative;\n display: inline-block;\n margin: 0 0;\n padding: 4px 10px;\n border-radius: 6px 6px;\n border: 1px solid #d9d9d9;\n background-color: #ffffff;\n color: #666;\n line-height: 1.5;\n transform: border 0.3s cubic-bezier(0.35, 0, 0.25, 1), background 0.3s cubic-bezier(0.35, 0, 0.25, 1), box-shadow 0.3s cubic-bezier(0.35, 0, 0.25, 1);\n width: 40px;\n}\n.rc-calendar-time-input:hover {\n border-color: #f09f4g;\n}\n.rc-calendar-time-input:focus {\n border-color: #f09f4g;\n box-shadow: 0 0 3px #f09f4g;\n}\n.rc-calendar-time-panel {\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: #ffffff;\n z-index: 10;\n position: absolute;\n outline: none;\n}\n.rc-calendar-time-panel-header {\n padding: 0 10px;\n height: 34px;\n line-height: 34px;\n position: relative;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n}\n.rc-calendar-time-panel-body {\n padding: 9px 10px 10px;\n}\n.rc-calendar-time-panel-title {\n width: 180px;\n font-weight: bold;\n display: inline-block;\n padding: 4px 5px;\n text-align: center;\n height: 30px;\n line-height: 22px;\n border-radius: 4px;\n}\n.rc-calendar-time-panel-table {\n table-layout: fixed;\n width: 100%;\n height: 255px;\n border-collapse: separate;\n}\n.rc-calendar-time-panel-cell {\n text-align: center;\n height: 42px;\n vertical-align: middle;\n}\n.rc-calendar-time-panel-time {\n line-height: 26px;\n display: block;\n border-radius: 4px;\n width: 26px;\n margin: 0 auto;\n}\n.rc-calendar-time-panel-time:hover {\n background: #fcecd9;\n cursor: pointer;\n}\n.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time:hover {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-month-panel {\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: #ffffff;\n z-index: 10;\n position: absolute;\n outline: none;\n}\n.rc-calendar-month-panel > div {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.rc-calendar-month-panel-hidden {\n display: none;\n}\n.rc-calendar-month-panel-header {\n padding: 0 10px;\n height: 34px;\n line-height: 30px;\n position: relative;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n}\n.rc-calendar-month-panel-header > a {\n font-weight: bold;\n display: inline-block;\n padding: 4px 5px;\n text-align: center;\n width: 30px;\n}\n.rc-calendar-month-panel-header > a:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-month-panel-prev-year-btn,\n.rc-calendar-month-panel-next-year-btn {\n position: absolute;\n top: 0;\n}\n.rc-calendar-month-panel-next-year-btn:after {\n content: '»';\n}\n.rc-calendar-month-panel-prev-year-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n left: 0;\n}\n.rc-calendar-month-panel-prev-year-btn:after {\n content: '«';\n}\n.rc-calendar-month-panel .rc-calendar-month-panel-year-select {\n width: 180px;\n}\n.rc-calendar-month-panel-year-select-arrow {\n display: none;\n}\n.rc-calendar-month-panel-next-year-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n right: 0;\n}\n.rc-calendar-month-panel-body {\n -ms-flex: 1;\n flex: 1;\n padding: 9px 10px 10px;\n}\n.rc-calendar-month-panel-footer {\n border-top: 1px solid #ccc;\n line-height: 38px;\n}\n.rc-calendar-month-panel-table {\n table-layout: fixed;\n width: 100%;\n height: 100%;\n border-collapse: separate;\n}\n.rc-calendar-month-panel-cell {\n text-align: center;\n}\n.rc-calendar-month-panel-cell .rc-calendar-month-panel-month {\n display: block;\n width: 46px;\n margin: 0 auto;\n color: #666;\n border-radius: 4px 4px;\n height: 36px;\n padding: 0;\n background: transparent;\n line-height: 36px;\n text-align: center;\n}\n.rc-calendar-month-panel-cell .rc-calendar-month-panel-month:hover {\n background: #fcecd9;\n cursor: pointer;\n}\n.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month {\n color: #bfbfbf;\n}\n.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month:hover {\n background: white;\n cursor: not-allowed;\n}\n.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month:hover {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-month-header-wrap {\n position: relative;\n height: 308px;\n}\n.rc-calendar-year-panel {\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: #ffffff;\n z-index: 10;\n position: absolute;\n outline: none;\n}\n.rc-calendar-year-panel > div {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.rc-calendar-year-panel-hidden {\n display: none;\n}\n.rc-calendar-year-panel-header {\n padding: 0 10px;\n height: 34px;\n line-height: 30px;\n position: relative;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n}\n.rc-calendar-year-panel-header > a {\n font-weight: bold;\n display: inline-block;\n padding: 4px 5px;\n text-align: center;\n width: 30px;\n}\n.rc-calendar-year-panel-header > a:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-year-panel-prev-decade-btn,\n.rc-calendar-year-panel-next-decade-btn {\n position: absolute;\n top: 0;\n}\n.rc-calendar-year-panel-next-decade-btn:after {\n content: '»';\n}\n.rc-calendar-year-panel-prev-decade-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n left: 0;\n}\n.rc-calendar-year-panel-prev-decade-btn:after {\n content: '«';\n}\n.rc-calendar-year-panel .rc-calendar-year-panel-decade-select {\n width: 180px;\n}\n.rc-calendar-year-panel-decade-select-arrow {\n display: none;\n}\n.rc-calendar-year-panel-next-decade-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n right: 0;\n}\n.rc-calendar-year-panel-body {\n -ms-flex: 1;\n flex: 1;\n padding: 9px 10px 10px;\n}\n.rc-calendar-year-panel-footer {\n border-top: 1px solid #ccc;\n line-height: 38px;\n}\n.rc-calendar-year-panel-table {\n table-layout: fixed;\n width: 100%;\n height: 100%;\n border-collapse: separate;\n}\n.rc-calendar-year-panel-cell {\n text-align: center;\n}\n.rc-calendar-year-panel-year {\n display: block;\n width: 46px;\n margin: 0 auto;\n color: #666;\n border-radius: 4px 4px;\n height: 36px;\n padding: 0;\n background: transparent;\n line-height: 36px;\n text-align: center;\n}\n.rc-calendar-year-panel-year:hover {\n background: #fcecd9;\n cursor: pointer;\n}\n.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year:hover {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-year-panel-last-decade-cell .rc-calendar-year-panel-year,\n.rc-calendar-year-panel-next-decade-cell .rc-calendar-year-panel-year {\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n color: rgba(0, 0, 0, 0.25);\n}\n.rc-calendar-decade-panel {\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: #ffffff;\n z-index: 10;\n position: absolute;\n outline: none;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.rc-calendar-decade-panel-hidden {\n display: none;\n}\n.rc-calendar-decade-panel-header {\n padding: 0 10px;\n height: 34px;\n line-height: 34px;\n position: relative;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n}\n.rc-calendar-decade-panel-header > a {\n font-weight: bold;\n display: inline-block;\n padding: 1px 5px;\n text-align: center;\n width: 30px;\n}\n.rc-calendar-decade-panel-header > a:hover {\n cursor: pointer;\n color: #f09f4g;\n}\n.rc-calendar-decade-panel-prev-century-btn,\n.rc-calendar-decade-panel-next-century-btn {\n position: absolute;\n top: 0;\n}\n.rc-calendar-decade-panel-next-century-btn:after {\n content: '»';\n}\n.rc-calendar-decade-panel-prev-century-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n left: 0;\n}\n.rc-calendar-decade-panel-prev-century-btn:after {\n content: '«';\n}\n.rc-calendar-decade-panel-next-century-btn {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n right: 0;\n}\n.rc-calendar-decade-panel-body {\n -ms-flex: 1;\n flex: 1;\n padding: 9px 10px 10px;\n}\n.rc-calendar-decade-panel-footer {\n border-top: 1px solid #ccc;\n line-height: 38px;\n}\n.rc-calendar-decade-panel-table {\n table-layout: fixed;\n width: 100%;\n height: 100%;\n border-collapse: separate;\n}\n.rc-calendar-decade-panel-cell {\n text-align: center;\n}\n.rc-calendar-decade-panel-decade {\n display: block;\n margin: 0 auto;\n color: #666;\n border-radius: 4px 4px;\n height: 36px;\n padding: 0;\n background: transparent;\n line-height: 36px;\n text-align: center;\n}\n.rc-calendar-decade-panel-decade:hover {\n background: #fcecd9;\n cursor: pointer;\n}\n.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade:hover {\n background: #f09f3f;\n color: #fff;\n}\n.rc-calendar-decade-panel-last-century-cell .rc-calendar-decade-panel-decade,\n.rc-calendar-decade-panel-next-century-cell .rc-calendar-decade-panel-decade {\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n color: rgba(0, 0, 0, 0.25);\n}\n.rc-calendar-range {\n width: 502px;\n overflow: hidden;\n}\n.rc-calendar-range-part {\n width: 250px;\n position: relative;\n}\n.rc-calendar-range-part .rc-calendar-time-picker {\n top: 69px;\n}\n.rc-calendar-range-part .rc-calendar-time-picker-panel-select {\n width: 77px;\n}\n.rc-calendar-range-left {\n float: left;\n}\n.rc-calendar-range-left .rc-calendar-time-picker-panel-select:last-child {\n border-right: 1px solid #e9e9e9;\n}\n.rc-calendar-range-right {\n float: right;\n}\n.rc-calendar-range-right .rc-calendar-time-picker-panel {\n left: 21px;\n}\n.rc-calendar-range-right .rc-calendar-time-picker-panel-select:first-child {\n border-left: 1px solid #e9e9e9;\n}\n.rc-calendar-range-middle {\n position: absolute;\n margin-left: -10px;\n text-align: center;\n height: 35px;\n line-height: 35px;\n}\n.rc-calendar-range .rc-calendar-date-panel::after {\n content: \".\";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n}\n.rc-calendar-range .rc-calendar-input-wrap {\n height: 35px;\n}\n.rc-calendar-range .rc-calendar-input,\n.rc-calendar-range .rc-time-picker-input {\n padding: 1px 7px;\n height: 22px;\n}\n.rc-calendar-range .rc-calendar-body,\n.rc-calendar-range .rc-calendar-decade-panel-body,\n.rc-calendar-range .rc-calendar-year-panel-body,\n.rc-calendar-range .rc-calendar-month-panel-body {\n border-bottom: 1px solid #e9e9e9;\n}\n.rc-calendar-range.rc-calendar-week-number {\n width: 574px;\n}\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part {\n width: 286px;\n}\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker {\n top: 69px;\n}\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker-panel-select {\n width: 89px;\n}\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-right .rc-calendar-time-picker-panel {\n left: 36px;\n}\n.rc-calendar-range .rc-calendar-year-panel,\n.rc-calendar-range .rc-calendar-month-panel,\n.rc-calendar-range .rc-calendar-decade-panel {\n top: 35px;\n}\n.rc-calendar-range .rc-calendar-month-panel .rc-calendar-year-panel {\n top: 0;\n}\n.rc-calendar-range .rc-calendar-decade-panel-table,\n.rc-calendar-range .rc-calendar-year-panel-table,\n.rc-calendar-range .rc-calendar-month-panel-table {\n height: 198px;\n}\n.rc-calendar-range .rc-calendar-in-range-cell {\n background: #ebf4f8;\n border-radius: 0;\n}\n.rc-calendar-range-bottom {\n text-align: right;\n}\n.rc-calendar-range .rc-calendar-footer {\n border-top: none;\n padding: 0;\n}\n.rc-calendar-range .rc-calendar-footer-btn {\n padding: 10px 12px 10px 0;\n}\n.rc-calendar-range .rc-calendar-ok-btn {\n position: static;\n}\n.rc-calendar-range .rc-calendar-today-btn {\n float: left;\n}\n.rc-calendar-full {\n width: 275px;\n}\n.rc-calendar-full-header {\n padding: 5px 10px;\n text-align: center;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-user-select: none;\n border-bottom: 1px solid #ccc;\n overflow: hidden;\n}\n.rc-calendar-full-header-month-select,\n.rc-calendar-full-header-year-select {\n width: 70px;\n float: right;\n margin-right: 5px;\n}\n.rc-calendar-full-header-switcher {\n float: right;\n display: inline-block;\n}\n.rc-calendar-full-header-switcher-normal:hover {\n border-color: #f09f4g;\n box-shadow: 0 0 2px rgba(45, 183, 245, 0.8);\n cursor: pointer;\n}\n.rc-calendar-full-header-switcher-focus {\n border-color: #f09f3f;\n background-color: #f09f3f;\n color: #fff;\n}\n.rc-calendar-full-header-switcher > span {\n float: left;\n height: 28px;\n line-height: 24px;\n border: 1px solid #d9d9d9;\n padding: 0 10px;\n color: #666;\n}\n.rc-calendar-full-header-switcher > span:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-right: none;\n}\n.rc-calendar-full-header-switcher > span:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left: none;\n}\n.rc-calendar-fullscreen {\n width: auto;\n}\n.rc-calendar-fullscreen .rc-calendar-full-header {\n border-bottom: none;\n}\n.rc-calendar-fullscreen .rc-calendar-column-header {\n text-align: right;\n padding-right: 12px;\n}\n.rc-calendar-fullscreen .rc-calendar-cell {\n padding: 0;\n}\n.rc-calendar-fullscreen .rc-calendar-cell .rc-calendar-date,\n.rc-calendar-fullscreen .rc-calendar-month-panel-cell .rc-calendar-month-panel-month {\n display: block;\n height: 116px;\n width: auto;\n border-radius: 0;\n margin: 0 4px;\n border: none;\n border-top: 2px solid #eee;\n text-align: right;\n padding-right: 8px;\n}\n.rc-calendar-fullscreen .rc-calendar-selected-day .rc-calendar-date,\n.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\n background-color: #fcecd9;\n color: #666;\n}\n.rc-calendar-fullscreen .rc-calendar-today .rc-calendar-date,\n.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\n border-top-color: #f09f3f;\n color: #f09f3f;\n}\n",".paginator .btn {\n min-width: 2.375rem;\n}\n",".top-search-file-icon {\n color: #999;\n font-size: 20px;\n align-self: center;\n font-weight: 800;\n cursor: pointer;\n}\n","body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.file-view-header {\n padding: 4px 10px;\n background: #fff;\n border-bottom: 1px solid #c9c9c9;\n flex-shrink: 0;\n}\n.file-title {\n font-size: 1.2rem;\n font-weight: bold;\n line-height: 1.5;\n margin-bottom: 0;\n}\n.file-star {\n font-size: .875rem;\n color: #999; \n margin-left: .5rem;\n}\n.file-star:hover,\n.file-star:focus {\n text-decoration: none;\n color: #999;\n}\n.file-locked-icon {\n margin-left: .5rem;\n}\n.meta-info {\n font-size: .8125rem;\n}\n.file-view-content {\n padding: 30px 0;\n background: #f4f4f4;\n border-right: 4px solid transparent;\n}\n.tip {\n color: #808080;\n}\n\n.file-details-container {\n position: absolute;\n right: 0;\n background-color: #fff;\n width: 300px;\n height: 100%;\n box-shadow: -1px 0 3px 0 #ccc;\n animation: move .5s ease-in-out 1;\n z-index: 50;\n}\n@keyframes move {\n from {\n right: -500px;\n opacity: 0.5;\n }\n to {\n right: 0px;\n opacity: 1;\n }\n}\n /* for mobile */\n.file-view-body .seafile-comment {\n width: 100%;\n}\n@media (min-width: 768px) {\n .file-view-body .seafile-comment {\n width: 300px;\n border-left: 1px solid #e6e6dd;\n }\n}\n",".image-file-view {\n position: relative;\n text-align: center;\n}\n.image-file-view:before {\n content: ' '; \n display: inline-block;\n vertical-align: middle;\n height: 100%;\n font-size: 0;\n line-height: 0;\n}\n#image-view {\n padding: 1px; \n background: #fff;\n border: 1px solid #eee;\n width: auto;\n height: auto;\n max-width: calc(100% - 4px);\n max-height: calc(100% - 4px);\n font-size: 0;\n line-height: 0;\n}\n#img-prev,\n#img-next {\n position:absolute;\n top:48%;\n text-decoration:none;\n color:#888;\n width:50px;\n height:50px;\n background:#fff;\n border-radius:100%;\n line-height:50px;\n}\n#img-prev {\n left:15px;\n}\n#img-next {\n right:15px;\n}\n#img-prev:hover,\n#img-next:hover {\n color:#333;\n}\n",".svg-file-view {\n position: relative;\n text-align: center;\n}\n.svg-file-view:before {\n content: ' '; \n display: inline-block;\n vertical-align: middle;\n height: 100%;\n font-size: 0;\n line-height: 0;\n}\n#svg-view {\n max-width: 100%;\n max-height: 100%;\n}\n",".pdf-file-view {\n overflow: hidden;\n position: relative;\n}\n\n/* for pdf online file view */\n.pdf-file-view.file-view-content {\n border: 0;\n}\n\n.sf-hide {\n height: 0;\n overflow: hidden;\n}\n\n#outerContainer,\n#mainContainer,\n#viewerContainer {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n#viewerContainer {\n padding: 10px 0 0;\n overflow: auto;\n margin-bottom: 33px;\n}\n\n#viewerContainer:focus {\n outline: none;\n}\n\n.pdfViewer .page {\n position: relative;\n background: #fff;\n border: none;\n box-shadow: 0 0 6px #ccc;\n margin: 0 auto 10px;\n}\n\n.page .loading-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n}\n\n/* the following lines overwrite lines from web/viewer.css */\n#toolbarViewerMiddle {\n left: auto;\n right: 0;\n transform: none;\n}\n\nselect#scaleSelect {\n background: #fff;\n height: 24px;\n font-size: 12px;\n}\n\n#scaleSelectContainer::after {\n top: 4px;\n}\n\n/* errorWrapper starts */\n#errorWrapper {\n background: #ff6e6e;\n color: #0c0c0d;\n left: 0;\n position: absolute;\n right: 0;\n /*z-index: 1000;*/\n z-index: 998; /* for seahub */\n padding: 3px 6px;\n}\n/* errorWrapper ends */\n\n/* toolbar */\n.toolbar {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n /*z-index: 9999;*/\n z-index: 998; /* 1048: for seahub 'file view' */\n}\n\n#toolbarContainer {\n box-shadow: none;\n border-top: 1px solid #c9c9c9;\n height: auto;\n}\n\n#loadingBar {\n position: fixed;\n top: 50%;\n width: auto;\n height: auto;\n border: 0;\n background: transparent;\n}\n\ninput#pageNumber {\n font-size: 12px;\n height: 20px;\n padding: 0 5px;\n margin: 0 0 0 9px;\n}\n\n#numPages.toolbarLabel {\n margin: 0;\n padding: 0 7px;\n}\n\n/* toolbar ends */\n\n/* sidebar starts */\n#sidebarContainer {\n position: absolute;\n top: 0;\n bottom: 0;\n border-top: none;\n background: #fff;\n}\n\n#toolbarSidebar {\n height: auto;\n background: #fff;\n}\n\n#thumbnailView {\n width: 100%;\n padding: 0;\n}\n\n#thumbnails-header {\n}\n\n#thumbnails-header .title {\n font-size: 1rem;\n}\n\n#thumbnails-header .sf2-icon-x3 {\n font-family: 'seafile-font2';\n}\n\n#thumbnails-header .close-thumbnail-panel {\n font-size: 1rem;\n color: #999;\n}\n\n#thumbnails-header .close-thumbnail-panel:hover {\n color: #555;\n}\n\n#thumbnailView .thumbnail {\n float: none;\n max-width: unset;\n max-height: unset;\n width: auto;\n height: auto;\n padding: 10px 0;\n border: none;\n border-radius: unset;\n margin: 0 1px 0 0;\n text-align: center;\n}\n\n#thumbnailView .thumbnail.selected {\n background: #f0f0f0; \n}\n\n#thumbnailView .thumbnail .thumbnail-page-number {\n font-size: .875rem;\n color: #999;\n position: absolute;\n right: 100%;\n bottom: 0;\n}\n\n#thumbnailView .thumbnail .thumbnailImage {\n border: 1px solid #ddd;\n border-radius: 3px;\n}\n\n#thumbnailView .thumbnail.selected .thumbnailImage {\n border: 2px solid #ff9800;\n}\n\n#sidebarContent {\n inset-block: 51.5px 0;\n}\n\n.splitToolbarButton > .toolbarButton {\n float: none;\n}\n/* sidebar ends */\n\n/* overlay, passwordOverlay */\n#overlayContainer {\n display: table;\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.2);\n /*z-index: 40000;*/\n z-index: 999; /* 1049: for seahub 'share' dialog */\n}\n\n.dirent-info .img .thumbnail {\n float: none;\n width: auto;\n height: auto;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: 0;\n}\n\n@media print {\n #wrapper {\n display: none;\n }\n}\n",".text-file-view .cm-editor {\n margin: 0 auto;\n border: 1px solid #ccc;\n box-shadow: 0 0 6px #ccc;\n}\n\n.text-file-view .cm-editor {\n height: auto;\n min-height: 300px;\n width: calc(100% - 40px);\n max-width: 950px;\n}\n\n.text-file-view .cm-editor.cm-focused {\n outline: none;\n}\n\n.text-file-view .cm-scroll {\n min-height: 300px;\n}\n\n.text-file-view .cm-gutter {\n min-height: 300px;\n}\n",".text-file-view {\n overflow: auto;\n}\n",".sf-editor-toolbar {\n height: 39px;\n background-color: #fcfcfc;\n}\n\n.sf-editor-toolbar .iconfont {\n font-size: 13px;\n}\n\n.sf-editor-toolbar .icon-drop-down {\n display: inline-block;\n transform: scale(0.8);\n}\n\n.sf-editor-toolbar .icon-caret-up {\n display: inline-block;\n transform: scale(0.8);\n}\n\n/* reset menu style*/\n.sf-editor-toolbar .menu > * {\n display: inline-block;\n}\n\n.sf-editor-toolbar .menu > * + * {\n margin-left: 10px;\n}\n\n.sf-editor-toolbar .menu {\n margin-right: 20px;\n}\n\n.seafile-btn-group div button {\n border: none;\n}\n\n.seafile-btn-group div button:not(.dropdown-item) {\n border-top: 1px solid #e5e5e5;\n border-bottom: 1px solid #e5e5e5;\n border-right: 1px solid #e5e5e5;\n border-radius: 0;\n}\n\n.seafile-btn-group div:first-child button {\n border-radius: 3px 0 0 3px;\n border-left: 1px solid #e5e5e5;\n}\n\n.seafile-btn-group div:last-child button {\n border-radius: 0 3px 3px 0;\n border-right: 1px solid #e5e5e5;\n}\n\n.seafile-btn-group div button:disabled {\n border-color: #e5e5e5;\n}\n\n.btn-active {\n color: #0c0c0c;\n cursor: pointer;\n}\n\n.rich-icon-btn[data-active='true'] {\n color: #eb8205;\n}\n\n.rich-icon-btn.svg-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.btn-active[data-active='true'] {\n color: #eb8205;\n}\n\n.tableToolBar {\n font-size: 12px;\n display: inline-flex;\n}\n\n.tableToolBar:after {\n content: '';\n display: block;\n clear: both;\n}\n\n.tableToolBar div .symbol {\n font-size: 14px;\n}\n\n.tableToolBar .btn {\n color: #555555;\n}\n\n.tableToolBar div:not(first):not(.drop-list) {\n /*display: inline-block;*/\n margin-left:10px;\n}\n\n.tableToolBar .table-toolbar-btn {\n line-height: 28px;\n padding: 0 15px;\n height: 30px;\n}\n\n.table-toolbar-group {\n height: 100%;\n display: flex;\n align-items: center;\n border-right: 1px solid #e5e5e5;\n padding-right: 10px;\n}\n\n.sf-editor-table-btn-wrapper {\n position: relative;\n}\n\n.sf-editor-table-count-card {\n background-color: #ffffff;\n min-width: 100px;\n min-height: 100px;\n position: absolute;\n top: 101%;\n left: 0;\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);\n border: 1px solid rgba(0, 40, 100, 0.12);\n z-index: 100;\n padding: 5px 10px 10px 10px;\n border-radius: 2px;\n}\n\n.sf-editor-table-cells-header {\n text-align: center;\n height: 20px;\n font-size: 14px;\n}\n\n.sf-editor-table-card {\n margin-top: 5px;\n}\n\n.sf-editor-table-card-row {\n display: flex;\n flex-direction: row;\n border-bottom: 1px solid #cccccc;\n}\n\n.sf-editor-table-card-row:first-child {\n border-top: 1px solid #cccccc;\n}\n\n.sf-editor-table-card-cell {\n border-right: 1px solid #cccccc;\n width: 20px;\n height: 15px;\n}\n\n.sf-editor-table-card-row .sf-editor-table-card-cell:first-child {\n border-left: 1px solid #cccccc;\n}\n\n.sf-editor-table-card-active-cell {\n background-color: #ffa94d;\n}\n\n.rich-menu {\n flex: 1;\n display: flex;\n justify-content: center;\n height: 39px;\n align-items: center;\n padding: 0 10px;\n background-color: #fcfcfc;\n}\n\n.topbar-head {\n width: 100%;\n height: 56px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #e5e5e5;\n padding: 4px 10px;\n}\n\n.button-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.button-container .btn {\n background-color: #fcfcfc;\n}\n\n.button-container .rich-icon-btn {\n background-color: #fcfcfc;\n}\n\n.button-container .dropdown-menu-right .iconfont {\n display: inline-block;\n transform: scale(0.8);\n font-size: 0.875rem;\n font-weight: 900;\n}\n\n.header-list-container {\n height: 39px;\n border-right: 1px solid #e5e5e5;\n width: 140px;\n padding: 5px 5px;\n box-sizing: border-box;\n border-left: 1px solid #e5e5e5;\n}\n\n.header-list-container .header-list {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.header-list-container .header-list-body-highlight {\n background-color: #e5e5e5;\n}\n\n.header-list-container .header-list-body-hover:hover {\n background-color: #e5e5e5;\n}\n\n.header-list-container .list-body {\n width: 100%;\n height: 100%;\n display: flex;\n line-height: 100%;\n vertical-align: middle;\n justify-content: space-between;\n border-radius: 2px;\n padding: 0 3px;\n}\n\n.list-body div {\n display: inline-block;\n line-height: 30px;\n}\n\n.header-list-container .list-dropdown {\n position: absolute;\n left: 0;\n top: 32px;\n border: 1px solid #e5e5e5;\n border-radius: 2px;\n padding: 8px 0;\n box-shadow: 0 0 10px #ccc;\n background-color: #ffffff;\n min-width: max-content;\n box-sizing: border-box;\n}\n\n.header-list-container .header-list .list-dropdown-item {\n cursor: pointer;\n height: 30px;\n width: 100%;\n padding: 4px 24px;\n}\n\n.header-list-container .header-list .list-dropdown-item:hover {\n background-color: rgb(245, 245, 245);\n}\n\n.rich-icon-btn {\n border: 1px solid transparent;\n height: 100%;\n width: 30px;\n line-height: 30px;\n margin-right: 10px;\n color: #555555;\n}\n\n.rich-icon-btn-disabled {\n color: #999999;\n}\n\n.rich-icon-btn-hover:hover {\n background-color: #e5e5e5;\n border-radius: 2px;\n}\n\n.rich-dropdown {\n border: none;\n margin-left: 10px;\n color: #555555;\n}\n\np.tip {\n color: #bbb;\n}\n\n.tag a {\n color: #fff; \n text-decoration: underline !important;\n}\n\n.tag a:hover {\n color: #eb8205 !important;\n}\n\n.custom-dropdown-list {\n position: relative;\n margin-right: 10px;\n}\n\n.custom-dropdown-list .dropdown-list-toggle {\n width: 30px;\n height: 28px;\n text-align: center;\n line-height: 28px;\n font-size: 0.75rem;\n}\n\n.custom-dropdown-list .dropdown-list-toggle:hover {\n background-color: #e5e5e5;\n border-radius: 3px;\n}\n\n.custom-dropdown-list .custom-dropdown-menu {\n position: absolute;\n left: 0;\n font-size: 0.85rem;\n top: 28px;\n display: block;\n background-color: #ffffff;\n}\n\n@media (max-width: 991.8px) {\n .seafile-md-viewer-main-panel {\n margin: 0 2%;\n }\n .rich-menu {\n overflow-x: auto;\n }\n .rich-menu::-webkit-scrollbar{\n display: none;\n }\n .rich-menu .button-container {\n width: stretch;\n }\n .list-body div {\n margin-left: 10px;\n }\n}\n",".seafile-editor-outline .outline-h2, .outline-h3 {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.seafile-editor-outline .outline-h2 {\n margin-left: 20px;\n line-height: 2.5;\n color:#364149;\n white-space: nowrap;\n cursor:pointer;\n}\n\n.seafile-editor-outline .outline-h2:hover {\n color: #eb8205;\n}\n\n.seafile-editor-outline .outline-h3 {\n margin-left: 40px;\n line-height: 2.5;\n color:#364149;\n white-space: nowrap;\n cursor:pointer;\n}\n\n.seafile-editor-outline .outline-h3:hover {\n color: #eb8205;\n}\n","\n.seafile-editor-help {\n width: 250px;\n height: 100%;\n flex: 0 0 350px;\n background-color: #fff;\n overflow-y: auto;\n overflow-x: hidden;\n border-left: 1px solid #eee;\n}\n\n.seafile-editor-help .help-header{\n height: 50px;\n background-color: rgb(250,250,249);\n justify-content: space-between;\n padding: 0 10px;\n box-sizing: border-box;\n border-bottom: 1px solid #eee;\n line-height: 50px;\n font-size: 1rem;\n}\n\n.seafile-editor-help .help-title {\n font-weight: bolder;\n margin-bottom: 0;\n}\n\n.seafile-editor-help .help-close {\n font-weight: normal;\n color: #b9b9b9;\n}\n\n.seafile-editor-help .help-close:hover {\n color: #888;\n}\n\n.seafile-editor-help .help-content {\n height: calc(100% - 50px);\n overflow-y: auto;\n padding: 0 15px;\n box-sizing: border-box;\n font-size: 0.8rem;\n}\n\n.seafile-editor-help .help-shortcut {\n display: flex;\n border-bottom: 1px solid #eee;\n justify-content: space-between;\n color: #2c2d30;\n padding: 10px 0;\n}\n\n.seafile-editor-help .help-shortcut-left {\n word-break: break-all;\n line-height: 30px;\n}\n\n.seafile-editor-help .help-content .help-shortcut-type {\n border-bottom: 1px solid #eee;\n /*height: 50px;*/\n line-height: 2;\n font-weight: bolder;\n margin: 10px 0 0 0;\n}\n\n.seafile-editor-help .help-shortcut .key {\n display: inline-block;\n border-radius: 3px;\n background-color: #e8e8e8;\n border: 1px solid #919191;\n box-shadow: 0 1px 0 #919193;\n padding: 3px 5px;\n margin-left: 5px;\n height: 30px;\n line-height: 20px;\n}\n\n.seafile-editor-help .help-shortcut-right {\n min-width: max-content;\n}\n\n.seafile-editor-help .help-shortcut-right-container:not(:first-child) {\n margin-top: 10px;\n}\n",".seafile-ed-hovermenu {\n width: 250px;\n height: 40px;\n display: flex;\n position: absolute;\n background-color: #fff;\n border: 1px solid rgba(0, 40, 100, 0.12);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n top: -3000px;\n right: -3000px;\n z-index: 1000;\n}\n.seafile-ed-hovermenu .seafile-ed-hovermenu-triangle {\n width: 8px;\n height: 8px;\n transform: rotate(45deg);\n background: #fff;\n border-right: 1px solid rgba(0, 40, 100, 0.12);\n border-bottom: 1px solid rgba(0, 40, 100, 0.12);\n position: absolute;\n top: 34px;\n right: 50%;\n z-index: 1001;\n}\n.seafile-ed-hovermenu .seafile-ed-hovermenu-link {\n height: 38px;\n max-width: 170px;\n padding: 6px 12px;\n display: inline-block;\n line-height: 28px;\n overflow: hidden;\n}\n.seafile-ed-hovermenu .seafile-ed-hovermenu-btn {\n background-color: #fff;\n width: 35px;\n font-weight: normal;\n color: #999999;\n line-height: 26px;\n font-size: 16px;\n}\n.seafile-ed-hovermenu .seafile-ed-hovermenu-btn, .seafile-ed-hovermenu .seafile-ed-hovermenu-btn:focus {\n border: 0;\n box-shadow: 0;\n}\n.seafile-ed-hovermenu-mouseclick {\n background-color: #ddd;\n}\n",".seafile-editor-module .selected-formula {\n outline: 2px solid #007bff;\n}\n\n.seafile-editor-module .block-formula {\n display: block;\n user-select: none;\n}\n\n.seafile-editor-module .MathJax {\n margin: 0;\n}\n\n.formula-preview {\n padding: 10px;\n border: 2px dashed #ebebeb;\n min-height: 40px;\n overflow-x: auto;\n}\n","\n.article td {\n position: relative;\n}\n\n.article .selected-cell {\n caret-color: transparent;\n background-color: #fff4e6;\n}\n\n.article .selected-cell-top:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: -1px;\n border-top: 1px double #ffa94d;\n z-index: 2;\n}\n\n.article .selected-cell-bottom:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: -1px;\n border-bottom: 1px double #ffa94d;\n z-index: 2;\n}\n\n.article .selected-cell-left:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: -1px;\n border-left: 1px double #ffa94d;\n z-index: 2;\n}\n\n.article .selected-cell-right:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n margin: -1px;\n border-right: 1px double #ffa94d;\n z-index: 2;\n}\n",".seafile-menu-container {\n position: fixed;\n display: flex;\n flex-direction: column;\n width: 150px;\n padding: 8px 0;\n min-width: 80px;\n overflow-y: auto;\n overflow-x: hidden;\n border: 1px solid #e5e5e5;\n box-shadow: 0 4px 10px #eee;\n border-radius: 4px;\n background: #fff;\n color: #333;\n z-index: 1080;\n}\n\n.seafile-menu-container .seafile-menu-item {\n height: 32px;\n line-height: 32px;\n display: flex;\n padding: 0 10px;\n cursor: pointer;\n position: relative;\n}\n\n.seafile-menu-container .seafile-menu-item:hover {\n background-color: #f5f5f5;\n}\n\n.seafile-menu-container .seafile-menu-item .menu-item-icon {\n margin-right: 5px;\n color: #aaa;\n}\n\n.seafile-menu-container .seafile-menu-item .checked-icon {\n position: absolute;\n right: 10px;\n height: 32px;\n line-height: 32px;\n color: #aaa;\n}\n","/** common loading **/\n@-moz-keyframes commonLoading {\n 0% {\n -moz-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes commonLoading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes commonLoading {\n 0% {\n -moz-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.common-loading-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n border: 2px solid #eee;\n border-left-color: #aaa;\n border-radius: 50%;\n -moz-animation: commonLoading 0.9s infinite linear;\n -webkit-animation: commonLoading 0.9s infinite linear;\n animation: commonLoading 0.9s infinite linear;\n}\n\n.common-loading-tip {\n display: block;\n margin: 0 auto;\n}\n","/* insert element dropdown item */\n.sdoc-dropdown-item-with-left-icon .sdoc-dropdown-item-content .sdoc-dropdown-item-content-icon {\n color: #444;\n}\n",".link-op-menu {\n height: 36px;\n padding: 7px 8px;\n display: flex;\n position: absolute;\n background-color: #fff;\n border: 1px solid #e5e5e5;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n z-index: 1000;\n}\n\n.link-op-menu .link-op-menu-triangle {\n width: 8px;\n height: 8px;\n transform: rotate(45deg);\n background: #fff;\n border-right: 1px solid rgba(0, 40, 100, 0.12);\n border-bottom: 1px solid rgba(0, 40, 100, 0.12);\n position: absolute;\n top: 31px;\n right: 50%;\n z-index: 1001;\n}\n\n.link-op-menu-link {\n font-size: 12px;\n color: #212529;\n padding: 0 5px;\n border-radius: 2px;\n line-height: 20px;\n}\n\n.link-op-menu-link:hover {\n color: #212529;\n text-decoration: none;\n background: #f1f1f1;\n}\n\n.link-op-icons {\n margin-left: 8px;\n border-left: 1px solid #e5e5e5;\n}\n\n.link-op-icon {\n color: #999999;\n padding: 4px;\n border-radius: 2px;\n margin-left: 8px;\n display: flex;\n align-items: center;\n}\n\n.link-op-icon .sdocfont {\n font-size: 12px;\n color: #444;\n}\n\n.link-op-icon:hover {\n background: #f2f2f2;\n}\n\n.seafile-ed-hovermenu-mouseclick {\n background-color: #e5e5e5;\n}\n",".sdoc-tooltip .tooltip-inner {\n font-weight: lighter;\n text-align: start;\n background-color: #303133;\n}\n\n.sdoc-tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n border-bottom-color: #303133;\n}\n\n.sdoc-tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n border-top-color: #303133;\n}\n\n.sdoc-tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n border-right-color: #303133;\n}\n\n.sdoc-tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n border-left-color: #303133;\n}\n",".menu-group .sdoc-color-menu.menu-show {\n background: #e5e5e5;\n border-radius: 2px;\n}\n\n.menu-group .sdoc-color-menu .last-used-color-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.menu-group .sdoc-color-menu .last-used-color-container.disabled {\n padding-right: 0;\n}\n\n.menu-group .sdoc-color-menu .sdoc-color-toggle {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.menu-group .sdoc-color-menu .sdoc-color-toggle:hover,\n.menu-group .sdoc-color-menu .last-used-color-container:not(.disabled):hover {\n background-color: #E5E5E5;\n}\n\n.menu-group .sdoc-color-menu.disabled .sdoc-color-toggle {\n display: none;\n}\n\n.sdoc-color-menu .sdoc-color-icon {\n height: 12px;\n width: 12px;\n transform: scale(.85);\n line-height: 12px;\n}\n\n.sdoc-color-menu .last-used-color {\n width: 14px;\n height: 3px;\n border-radius: 1px;\n margin-top: 1px;\n border: 1px solid rgba(0, 0, 0, .08);\n}\n\n.sdoc-color-menu-popover .popover {\n left: -24px !important;\n}\n\n.sdoc-color-menu-popover .sdoc-color-dropdown-menu {\n width: 251px;\n padding: 0 0 12px 0;\n}\n\n.sdoc-color-menu-popover .sdoc-color-no-color-container {\n width: 100%;\n height: 24px;\n margin-bottom: 5px;\n}\n\n.sdoc-color-menu-popover .sdoc-color-no-color-content {\n height: 100%;\n width: 100%;\n text-align: center;\n border: 1px solid rgba(0, 0, 0, .12);\n border-radius: 2px;\n font-size: 12px;\n line-height: 22px;\n cursor: pointer;\n}\n\n.sdoc-color-menu-popover .sdoc-color-default-colors-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.sdoc-color-menu-popover .sdoc-color-item {\n position: relative;\n height: 20px;\n width: 20px;\n margin-right: 3px;\n margin-bottom: 3px;\n border: 0.5px solid rgba(0, 0, 0, .08);\n}\n\n.sdoc-color-menu-popover .sdoc-color-item:not(.selected):hover::before {\n content: '';\n position: absolute;\n width: calc(100% + 5px);\n height: calc((100% + 5px));\n top: -2.5px;\n left: -2.5px;\n pointer-events: none;\n border: 1px solid rgba(0, 0, 0, .24);\n}\n\n.sdoc-color-menu-popover .sdoc-color-item.selected::after {\n content: '';\n position: absolute;\n width: calc(100% + 5px);\n height: calc((100% + 5px));\n top: -2.5px;\n left: -2.5px;\n pointer-events: none;\n border: 1px solid rgba(0, 0, 0, .88);\n}\n\n.sdoc-color-menu-popover .sdoc-color-item:hover {\n cursor: pointer;\n}\n\n.sdoc-color-menu-popover .sdoc-color-item:nth-child(10n) {\n margin-right: 0px;\n}\n\n.sdoc-color-menu-popover .sdoc-color-sub-title {\n font-size: 11px;\n line-height: 16px;\n margin: 7px 0;\n color: rgba(0, 0, 0, 0.4);\n}\n\n.sdoc-color-menu-popover .sdoc-colors-divider {\n width: 100%;\n height: 1px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n margin: 0px 0 8px 0;\n}\n\n.sdoc-color-menu-popover .sdoc-more-colors {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 30px;\n font-size: 12px;\n padding: 0 12px;\n}\n\n.sdoc-color-menu-popover .sdoc-more-colors .sdocfont {\n font-size: 12px;\n transform: scale(.6);\n color: #888;\n}\n\n.sdoc-color-menu-popover .sdoc-more-colors.show-pick {\n cursor: pointer;\n background-color: rgba(51, 77, 102, .06);\n}\n\n.sdoc-more-colors-popover .popover {\n left: 10px !important;\n}\n\n/* commission */\n.menu-group #button-sdoc-highlight-color .sdoc-color-icon {\n position: relative;\n left: 1px;\n}\n",".menu-group {\n height: 100%;\n padding: 6px 0 6px 8px;\n font-size: 0.75rem;\n border-right: 1px solid #e5e6e8;\n color: #444;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.menu-group .menu-group-item {\n width: 24px;\n height: 24px;\n line-height: 24px;\n margin-right: 8px;\n border: none !important;\n color: #444;\n background-color: #fff;\n}\n\n.menu-group .menu-group-item:disabled {\n color: #BDBDBD;\n}\n\n.menu-group .menu-group-item:hover {\n background-color: #F2F2F2;\n border-radius: 2px;\n}\n\n.menu-group .menu-group-item[data-active='true'] {\n color: #eb8205;\n}\n\n.menu-group .menu-group-item .sdocfont,\n.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon .sdocfont {\n font-size: 12px;\n}\n\n/* sdoc-menu-with-dropdown */\n.menu-group .menu-group-item.sdoc-menu-with-dropdown {\n width: 36px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 0 !important;\n padding: 0 !important;\n margin-right: 10px;\n overflow: hidden;\n}\n\n.menu-group .menu-group-item.sdoc-menu-with-dropdown.disabled {\n color: #999;\n width: 24px !important;\n}\n\n.sdoc-menu-with-dropdown:not(.disabled):hover {\n background: #F2F2F2;\n border-radius: 2px;\n}\n\n.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle {\n width: 12px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle .sdoc-menu-with-dropdown-triangle-icon {\n font-size: 12px;\n color: #999;\n}\n",".sdoc-code-block-hover-menu-container {\n position: absolute;\n height: 42px;\n z-index: 101;\n width: fit-content;\n max-width: 250px;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container {\n height: 36px;\n width: 100%;\n padding: 7px 8px;\n background-color: #fff;\n display: flex;\n justify-content: space-around;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n border: 1px solid #e8e8e8;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container .active {\n color: #212529;\n text-decoration: none;\n background: #f2f2f2;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container .op-item {\n position: relative;\n height: 100%;\n width: 100%;\n font-size: 12px;\n color: #212529;\n border-radius: 2px;\n text-align: center;\n line-height: 20px;\n}\n\n.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item.sdoc-code-block-hover-operation-lang .op-item {\n padding: 0 5px;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container .sdoc-code-block-hover-operation-lang .icon-font {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: 8px;\n}\n\n.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item {\n height: 20px;\n width: 20px;\n text-align: center;\n justify-content: center;\n}\n\n.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-item.sdoc-code-block-hover-operation-lang {\n width: fit-content;\n}\n\n.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-lang .icon-font {\n color: #999;\n}\n\n.sdoc-code-block-hover-menu-container .sdoc-code-block-hover-operation-divider {\n height: 20px;\n width: 1px;\n background-color: #e5e5e5;\n margin: 0 8px;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container .op-item:hover {\n color: #212529;\n text-decoration: none;\n background: #f2f2f2;\n}\n\n.sdoc-code-block-hover-menu-container .hover-menu-container .op-tooltip:hover::after {\n position: absolute;\n color: #212529;\n content: attr(op-item-tooltip);\n top: -40px;\n left: -20px;\n width: 70px;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n border-radius: 3px;\n border: 1px solid #e8e8e8;\n font-size: 12px;\n box-shadow: 0 0 5px #ccc;\n}\n\n.sdoc-code-block-hover-menu-container .icon-font {\n font-size: 12px;\n color: #444;\n}\n\n.sdoc-langs-list-container {\n position: absolute;\n top: 38px;\n left: 0px;\n width: 200px;\n overflow-y: hidden;\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0 0 5px #ccc;\n border: 1px solid #dedede;\n}\n\n.sdoc-langs-list-container .sdoc-search-langs {\n padding: 10px 10px 0;\n}\n\n.sdoc-langs-list-container .sdoc-search-langs input {\n max-height: 30px;\n font-size: 14px;\n}\n\n.sdoc-langs-list-container .langs-list-ul {\n list-style: none;\n overflow-y: auto;\n max-height: 280px;\n min-height: 100px;\n padding: 10px;\n}\n\n.sdoc-langs-list-container .langs-list-ul .langs-list-li {\n position: relative;\n white-space: nowrap;\n cursor: pointer;\n line-height: 30px;\n height: 30px;\n font-size: 13px;\n padding-left: 12px;\n display: flex;\n justify-content: space-between;\n}\n\n.sdoc-langs-list-container .langs-list-ul .langs-list-li:hover {\n background-color: #f5f5f5;;\n}\n\n.sdoc-langs-list-container .langs-list-ul .langs-list-li .active {\n background-color: #f5f5f5;;\n}\n\n.sdoc-langs-list-container .langs-list-ul .langs-list-li .li-check-mark {\n opacity: 0;\n padding: 0 10px;\n}\n\n.sdoc-langs-list-container .langs-list-ul .langs-list-li .li-checked {\n opacity: 1;\n}\n",".sdoc-code-block-container {\n position: relative;\n}\n\n.sdoc-code-block-pre {\n background: #FAFAFA;\n border: 1px solid #f0f0f0;\n}\n\n.sdoc-code-block-pre .sdoc-code-no-wrap {\n white-space: nowrap;\n}\n\n.sdoc-code-block-pre .sdoc-code-no-wrap .sdoc-code-line > span {\n white-space: pre;\n}\n\n.sdoc-code-block-code .sdoc-code-line {\n position: relative;\n counter-increment: number;\n}\n\n.sdoc-code-block-code .sdoc-code-line::before {\n content: counter(number);\n color: #ccc;\n display: inline-block;\n width: 40px;\n text-align: end;\n margin-left: -16px;\n margin-right: 20px;\n}\n\n.sdoc-code-line\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n color: slategray;\n}\n\n.sdoc-code-line\n.token.punctuation {\n color: #999;\n}\n\n.sdoc-code-line\n.token.namespace {\n opacity: .7;\n}\n\n.sdoc-code-line\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n color: #905;\n padding: 0rem;\n}\n\n.sdoc-code-line\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n color: #690;\n}\n\n.sdoc-code-line\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n color: #9a6e3a;\n}\n\n.sdoc-code-line\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n color: #07a;\n}\n\n.sdoc-code-line\n.token.function,\n.token.class-name {\n color: #DD4A68;\n}\n\n.sdoc-code-line\n.token.regex,\n.token.important,\n.token.variable {\n color: #e90;\n}\n\n.sdoc-code-line\n.sdoc-code-line\n.token.important,\n.token.bold {\n font-weight: bold;\n}\n\n.sdoc-code-line\n.token.italic {\n font-style: italic;\n}\n\n.sdoc-code-line\n.token.entity {\n cursor: help;\n}\n","@keyframes closeWindow {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n.ril__outer {\n background-color: rgba(0, 0, 0, 0.85);\n outline: none;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n width: 100%;\n height: 100%;\n -ms-content-zooming: none;\n -ms-user-select: none;\n -ms-touch-select: none;\n touch-action: none;\n}\n\n.ril__outerClosing {\n opacity: 0;\n}\n\n.ril__inner {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ril__image,\n.ril__imagePrev,\n.ril__imageNext {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: auto;\n max-width: none;\n -ms-content-zooming: none;\n -ms-user-select: none;\n -ms-touch-select: none;\n touch-action: none;\n}\n\n.ril__imageDiscourager {\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n}\n\n.ril__navButtons {\n border: none;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 20px;\n height: 34px;\n padding: 40px 30px;\n margin: auto;\n cursor: pointer;\n opacity: 0.7;\n}\n.ril__navButtons:hover {\n opacity: 1;\n}\n.ril__navButtons:active {\n opacity: 0.7;\n}\n\n.ril__outer .ril__navButtonPrev {\n left: 0;\n background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjcyMzkyNjY0MTMzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyNDkwIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNDEyIDUxNS4ybDM2MS42LTM2MS42YzIyLjQtMTkuMiAyMi40LTU0LjQgMC03Ni44cy01Ny42LTIyLjQtNzYuOCAwbC00MDYuNCA0MDBjLTIyLjQgMjIuNC0yMi40IDU3LjYgMCA3Ni44bDQwNi40IDQwMy4yYzIyLjQgMjIuNCA1Ny42IDIyLjQgNzYuOCAwczIyLjQtNTcuNiAwLTc2LjhsLTM2MS42LTM2NC44eiIgZmlsbD0iI2ZmZmZmZiIgcC1pZD0iMTI0OTEiPjwvcGF0aD48L3N2Zz4=)\n no-repeat center;\n}\n\n.ril__outer .ril__navButtonNext {\n right: 0;\n background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjcyMzkxOTM4MzIwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExOTg2IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNjQwIDUxNS4yTDI3OC40IDE1My42Yy0yMi40LTE5LjItMjIuNC01NC40IDAtNzYuOHM1Ny42LTIyLjQgNzYuOCAwbDQwNi40IDQwMGMyMi40IDIyLjQgMjIuNCA1Ny42IDAgNzYuOEwzNTUuMiA5NTYuOGMtMjIuNCAyMi40LTU3LjYgMjIuNC03Ni44IDBzLTIyLjQtNTcuNiAwLTc2LjhMNjQwIDUxNS4yeiIgZmlsbD0iI2ZmZmZmZiIgcC1pZD0iMTE5ODciPjwvcGF0aD48L3N2Zz4=)\n no-repeat center;\n}\n\n.ril__downloadBlocker {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7');\n background-size: cover;\n}\n\n.ril__caption,\n.ril__toolbar {\n background-color: rgba(0, 0, 0, 0.5);\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n}\n\n.ril__caption {\n bottom: 0;\n max-height: 150px;\n overflow: auto;\n justify-content: center;\n}\n\n.ril__captionContent {\n padding: 10px 20px;\n color: #fff;\n margin: 0 auto;\n}\n\n.ril__toolbar {\n top: 0;\n height: 50px;\n}\n\n.ril__toolbarSide {\n height: 50px;\n margin: 0;\n}\n\n.ril__toolbarLeftSide {\n padding-left: 20px;\n padding-right: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ril__toolbarRightSide {\n padding-left: 0;\n padding-right: 20px;\n flex: 0 0 auto;\n}\n\n.ril__toolbarItem {\n display: inline-block;\n line-height: 50px;\n padding: 0;\n color: #fff;\n font-size: 120%;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ril__toolbarItemChild {\n vertical-align: middle;\n}\n\n.ril__builtinButton {\n width: 40px;\n height: 35px;\n cursor: pointer;\n border: none;\n opacity: 0.7;\n}\n\n.mobile-image-footer-choice .ril__builtinButton {\n opacity: 1;\n}\n\n.ril__builtinButton:hover {\n opacity: 1;\n}\n\n.ril__builtinButton:active {\n outline: none;\n}\n\n.ril-toolbar .ril__builtinButton {\n width: 30px;\n}\n\n.ril__builtinButtonDisabled {\n cursor: default;\n opacity: 0.5;\n}\n\n.ril__builtinButtonDisabled:hover {\n opacity: 0.5;\n}\n\n/* ril-toolbar icons: size: 16px * 16px, color: #FFF */\n.ril__deleteButton {\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgo8ZyBpZD0ic3VyZmFjZTEiPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMTAwJSwxMDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gMTAuMTk5MjE5IDAuNSBDIDEwLjYwMTU2MiAwLjUgMTEgMC44NTE1NjIgMTEuMDUwNzgxIDEuMjUgTCAxMS4yNSAyLjYwMTU2MiBMIDE0Ljg1MTU2MiAyLjYwMTU2MiBDIDE1LjE5OTIxOSAyLjYwMTU2MiAxNS41IDIuODk4NDM4IDE1LjUgMy4xOTkyMTkgQyAxNS41IDMuNSAxNS4xOTkyMTkgMy44MDA3ODEgMTQuODUxNTYyIDMuODAwNzgxIEwgMTMuNjAxNTYyIDMuODAwNzgxIEwgMTMuNjAxNTYyIDEzLjgwMDc4MSBDIDEzLjYwMTU2MiAxNC4xOTkyMTkgMTMuMzk4NDM4IDE0LjY0ODQzOCAxMy4xMDE1NjIgMTUgQyAxMi43NSAxNS4zNTE1NjIgMTIuMzUxNTYyIDE1LjQ0OTIxOSAxMS44OTg0MzggMTUuNDQ5MjE5IEwgNC4xNDg0MzggMTUuNDQ5MjE5IEMgMy42OTkyMTkgMTUuNDQ5MjE5IDMuMjUgMTUuMjUgMi45NDkyMTkgMTUgQyAyLjYwMTU2MiAxNC42NDg0MzggMi40NDkyMTkgMTQuMjUgMi40NDkyMTkgMTMuODAwNzgxIEwgMi40NDkyMTkgMy44MDA3ODEgTCAxLjE0ODQzOCAzLjgwMDc4MSBDIDAuODAwNzgxIDMuODUxNTYyIDAuNSAzLjU1MDc4MSAwLjUgMy4yNSBDIDAuNSAyLjk0OTIxOSAwLjgwMDc4MSAyLjY0ODQzOCAxLjE0ODQzOCAyLjY0ODQzOCBMIDQuNjk5MjE5IDIuNjQ4NDM4IEwgNC42OTkyMTkgMi41NTA3ODEgTCA0Ljg5ODQzOCAxLjE5OTIxOSBDIDQuOTQ5MjE5IDAuODUxNTYyIDUuMzAwNzgxIDAuNSA1Ljc1IDAuNSBaIE0gOS42NDg0MzggNi4xMDE1NjIgQyA5LjI1IDYuMTAxNTYyIDguOTQ5MjE5IDYuMzk4NDM4IDguOTQ5MjE5IDYuODAwNzgxIEwgOC45NDkyMTkgMTIgQyA4Ljk0OTIxOSAxMi4zOTg0MzggOS4yNSAxMi42OTkyMTkgOS42NDg0MzggMTIuNjk5MjE5IEMgMTAuMDUwNzgxIDEyLjY5OTIxOSAxMC4zNTE1NjIgMTIuMzk4NDM4IDEwLjM1MTU2MiAxMiBMIDEwLjM1MTU2MiA2Ljg1MTU2MiBDIDEwLjM1MTU2MiA2LjQ0OTIxOSAxMC4wNTA3ODEgNi4xMDE1NjIgOS42NDg0MzggNi4xMDE1NjIgWiBNIDYuMzUxNTYyIDYuMTAxNTYyIEMgNS45NDkyMTkgNi4xMDE1NjIgNS42NDg0MzggNi4zOTg0MzggNS42NDg0MzggNi44MDA3ODEgTCA1LjY0ODQzOCAxMiBDIDUuNjQ4NDM4IDEyLjM5ODQzOCA1Ljk0OTIxOSAxMi42OTkyMTkgNi4zNTE1NjIgMTIuNjk5MjE5IEMgNi43NSAxMi42OTkyMTkgNy4wNTA3ODEgMTIuMzk4NDM4IDcuMDUwNzgxIDEyIEwgNy4wNTA3ODEgNi44NTE1NjIgQyA3LjA1MDc4MSA2LjQ0OTIxOSA2Ljc1IDYuMTAxNTYyIDYuMzUxNTYyIDYuMTAxNTYyIFogTSA2LjM1MTU2MiA2LjEwMTU2MiAiLz4KPC9nPgo8L3N2Zz4K\")\n no-repeat center;\n}\n\n.ril__downloadButton {\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgo8ZyBpZD0ic3VyZmFjZTEiPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMTAwJSwxMDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gOS4xMDE1NjIgOC44OTg0MzggTCA5LjEwMTU2MiAxLjYwMTU2MiBDIDkuMTAxNTYyIDAuOTQ5MjE5IDguNjAxNTYyIDAuNSA4IDAuNSBDIDcuMzk4NDM4IDAuNSA2Ljg5ODQzOCAwLjk0OTIxOSA2Ljg5ODQzOCAxLjYwMTU2MiBMIDYuODk4NDM4IDguODk4NDM4IEwgNC4xOTkyMTkgNi4xOTkyMTkgQyAzLjgwMDc4MSA1LjgwMDc4MSAzLjEwMTU2MiA1LjgwMDc4MSAyLjY5OTIxOSA2LjI1IEMgMi4zMDA3ODEgNi42NDg0MzggMi4zMDA3ODEgNy4zNTE1NjIgMi42OTkyMTkgNy43NSBMIDcuMjUgMTIuMzAwNzgxIEMgNy42NDg0MzggMTIuNjk5MjE5IDguMzUxNTYyIDEyLjY5OTIxOSA4Ljc1IDEyLjMwMDc4MSBMIDEzLjMwMDc4MSA3Ljc1IEMgMTMuNjk5MjE5IDcuMzUxNTYyIDEzLjY5OTIxOSA2LjY0ODQzOCAxMy4zNTE1NjIgNi4yNSBDIDEyLjk0OTIxOSA1Ljg1MTU2MiAxMi4yNSA1Ljg1MTU2MiAxMS44NTE1NjIgNi4xOTkyMTkgQyAxMS44NTE1NjIgNi4xOTkyMTkgMTEuODUxNTYyIDYuMTk5MjE5IDExLjgwMDc4MSA2LjI1IFogTSAxLjYwMTU2MiAxMy4zNTE1NjIgTCAxNC40NDkyMTkgMTMuMzUxNTYyIEMgMTUuMDUwNzgxIDEzLjM1MTU2MiAxNS41NTA3ODEgMTMuODAwNzgxIDE1LjU1MDc4MSAxNC40NDkyMTkgQyAxNS41NTA3ODEgMTUuMTAxNTYyIDE1LjA1MDc4MSAxNS41IDE0LjM5ODQzOCAxNS41IEwgMS42MDE1NjIgMTUuNSBDIDAuOTQ5MjE5IDE1LjUgMC41IDE1LjA1MDc4MSAwLjUgMTQuMzk4NDM4IEMgMC41IDEzLjg1MTU2MiAwLjk0OTIxOSAxMy4zNTE1NjIgMS42MDE1NjIgMTMuMzUxNTYyIFogTSAxLjYwMTU2MiAxMy4zNTE1NjIgIi8+CjwvZz4KPC9zdmc+Cg==\")\n no-repeat center;\n}\n\n.ril__downMoveButton {\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgo8ZyBpZD0ic3VyZmFjZTEiPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMTAwJSwxMDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gOCAxNS41IEMgMy44NTE1NjIgMTUuNSAwLjUgMTIuMTQ4NDM4IDAuNSA4IEMgMC41IDMuODUxNTYyIDMuODUxNTYyIDAuNSA4IDAuNSBDIDEyLjE0ODQzOCAwLjUgMTUuNSAzLjg1MTU2MiAxNS41IDggQyAxNS41IDEyLjE0ODQzOCAxMi4xNDg0MzggMTUuNSA4IDE1LjUgWiBNIDggMi4xNDg0MzggQyA0LjgwMDc4MSAyLjE0ODQzOCAyLjE0ODQzOCA0LjgwMDc4MSAyLjE0ODQzOCA4IEMgMi4xNDg0MzggMTEuMTk5MjE5IDQuODAwNzgxIDEzLjg1MTU2MiA4IDEzLjg1MTU2MiBDIDExLjE5OTIxOSAxMy44NTE1NjIgMTMuODUxNTYyIDExLjE5OTIxOSAxMy44NTE1NjIgOCBDIDEzLjg1MTU2MiA0LjgwMDc4MSAxMS4xOTkyMTkgMi4xNDg0MzggOCAyLjE0ODQzOCBaIE0gOCAyLjE0ODQzOCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigxMDAlLDEwMCUsMTAwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDguNTUwNzgxIDEwIEMgOC4xOTkyMTkgMTAuMzAwNzgxIDcuNjk5MjE5IDEwLjMwMDc4MSA3LjM1MTU2MiAxMCBMIDQuNDQ5MjE5IDcuMTAxNTYyIEMgNC4xOTkyMTkgNi43NSA0LjE5OTIxOSA2LjI1IDQuNSA1Ljk0OTIxOSBDIDQuODAwNzgxIDUuNjQ4NDM4IDUuMzAwNzgxIDUuNjAxNTYyIDUuNjQ4NDM4IDUuODk4NDM4IEwgNy45NDkyMTkgOC4xOTkyMTkgTCAxMC4yNSA1Ljg5ODQzOCBDIDEwLjQ0OTIxOSA1LjY0ODQzOCAxMC44MDA3ODEgNS41NTA3ODEgMTEuMTAxNTYyIDUuNjAxNTYyIEMgMTEuMzk4NDM4IDUuNjQ4NDM4IDExLjY0ODQzOCA1Ljg5ODQzOCAxMS43NSA2LjI1IEMgMTEuODAwNzgxIDYuNTUwNzgxIDExLjY5OTIxOSA2Ljg5ODQzOCAxMS40NDkyMTkgNy4xMDE1NjIgWiBNIDguNTUwNzgxIDEwICIvPgo8L2c+Cjwvc3ZnPgo=\")\n no-repeat center;\n}\n\n.ril__upMoveButton {\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSJweCIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgo8ZyBpZD0ic3VyZmFjZTEiPgo8cGF0aCBzdHlsZT0iIHN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6cmdiKDEwMCUsMTAwJSwxMDAlKTtmaWxsLW9wYWNpdHk6MTsiIGQ9Ik0gOCAwLjUgQyAzLjg1MTU2MiAwLjUgMC41IDMuODUxNTYyIDAuNSA4IEMgMC41IDEyLjE0ODQzOCAzLjg1MTU2MiAxNS41IDggMTUuNSBDIDEyLjE0ODQzOCAxNS41IDE1LjUgMTIuMTQ4NDM4IDE1LjUgOCBDIDE1LjUgMy44NTE1NjIgMTIuMTQ4NDM4IDAuNSA4IDAuNSBaIE0gOCAxMy44NTE1NjIgQyA0LjgwMDc4MSAxMy44NTE1NjIgMi4xNDg0MzggMTEuMTk5MjE5IDIuMTQ4NDM4IDggQyAyLjE0ODQzOCA0LjgwMDc4MSA0LjgwMDc4MSAyLjE0ODQzOCA4IDIuMTQ4NDM4IEMgMTEuMTk5MjE5IDIuMTQ4NDM4IDEzLjg1MTU2MiA0LjgwMDc4MSAxMy44NTE1NjIgOCBDIDEzLjg1MTU2MiAxMS4xOTkyMTkgMTEuMTk5MjE5IDEzLjg1MTU2MiA4IDEzLjg1MTU2MiBaIE0gOCAxMy44NTE1NjIgIi8+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMTAwJSwxMDAlLDEwMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSA4LjU1MDc4MSA2IEMgOC4xOTkyMTkgNS42OTkyMTkgNy42OTkyMTkgNS42OTkyMTkgNy4zNTE1NjIgNiBMIDQuNDQ5MjE5IDguODk4NDM4IEMgNC4xOTkyMTkgOS4yNSA0LjE5OTIxOSA5Ljc1IDQuNSAxMC4wNTA3ODEgQyA0LjgwMDc4MSAxMC4zNTE1NjIgNS4zMDA3ODEgMTAuMzk4NDM4IDUuNjQ4NDM4IDEwLjEwMTU2MiBMIDcuOTQ5MjE5IDcuODAwNzgxIEwgMTAuMjUgMTAuMTAxNTYyIEMgMTAuNDQ5MjE5IDEwLjM1MTU2MiAxMC44MDA3ODEgMTAuNDQ5MjE5IDExLjEwMTU2MiAxMC4zOTg0MzggQyAxMS4zOTg0MzggMTAuMzUxNTYyIDExLjY0ODQzOCAxMC4xMDE1NjIgMTEuNzUgOS43NSBDIDExLjgwMDc4MSA5LjQ0OTIxOSAxMS42OTkyMTkgOS4xMDE1NjIgMTEuNDQ5MjE5IDguODk4NDM4IFogTSA4LjU1MDc4MSA2ICIvPgo8L2c+Cjwvc3ZnPgo=\")\n no-repeat center;\n}\n\n.ril__closeButton {\n background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjcyMzk1NTkwMTc0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEzNjUyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNNjExLjIgNTEybDMwMC44LTMwMC44YzI4LjgtMjguOCAyOC44LTczLjYgMC05OS4ycy03My42LTI4LjgtOTkuMiAwTDUxMiA0MTIuOCAyMTEuMiAxMTJjLTI4LjgtMjguOC03My42LTI4LjgtOTkuMiAwcy0yOC44IDczLjYgMCA5OS4ybDMwMC44IDMwMC44LTMwMC44IDMwMC44Yy0yOC44IDI4LjgtMjguOCA3My42IDAgOTkuMiAyOC44IDI1LjYgNzMuNiAyOC44IDk5LjIgMGwzMDAuOC0zMDAuOCAzMDAuOCAzMDAuOGMyOC44IDI4LjggNzMuNiAyOC44IDk5LjIgMCAyOC44LTI4LjggMjguOC03My42IDAtOTkuMkw2MTEuMiA1MTJ6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSIxMzY1MyI+PC9wYXRoPjwvc3ZnPg==)\n no-repeat center;\n}\n\n/* ril-caption icons: size: 20px * 20px, color: #FFF */\n.ril__zoomInButton {\n background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTEgMTlsNi02Ii8+PHBhdGggZD0iTTkgOGg2Ii8+PHBhdGggZD0iTTEyIDV2NiIvPjwvZz48Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9zdmc+')\n no-repeat center;\n}\n\n.ril__zoomOutButton {\n background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTEgMTlsNi02Ii8+PHBhdGggZD0iTTkgOGg2Ii8+PC9nPjxjaXJjbGUgY3g9IjEyIiBjeT0iOCIgcj0iNyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=')\n no-repeat center;\n}\n\n.ril__rotateButton {\n background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjcyMzkyNzI4MTMyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyODc1IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTI0LjggMTYwbDU0LjQgNTEuMkMzNDUuNiAyOC44IDYzMC40IDE2IDgxMi44IDE4Mi40czE5NS4yIDQ1MS4yIDI4LjggNjMzLjYtNDUxLjIgMTk1LjItNjMzLjYgMjguOGMtMzguNC0zNS4yLTczLjYtNzYuOC05Ni0xMjQuOC02LjQtOS42LTkuNi0xNi05LjYtMjguOCAwLTMyIDI1LjYtNTQuNCA1NC40LTU0LjQgMTkuMiAwIDM4LjQgOS42IDU0LjQgMzIgODMuMiAxNjYuNCAyODggMjMwLjQgNDU0LjQgMTQ0czIzMC40LTI5MS4yIDE0NC00NTcuNi0yODgtMjMwLjQtNDU0LjQtMTQ0Yy0zNS4yIDE5LjItNjcuMiA0MS42LTk2IDczLjZsNTEuMiA0NC44YzEyLjggMTIuOCAxNiAzOC40IDMuMiA1MS4yLTYuNCA2LjQtMTYgOS42LTI1LjYgOS42bC0xODIuNCA5LjZjLTE5LjIgMC0zNS4yLTEyLjgtMzguNC0zMkw2NCAxODguOGMtMy4yLTE5LjIgMTIuOC0zNS4yIDMyLTM4LjQgMTIuOC0zLjIgMjIuNCAzLjIgMjguOCA5LjZ6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSIxMjg3NiI+PC9wYXRoPjwvc3ZnPg==)\n no-repeat center;\n}\n\n.ril__outerAnimating {\n animation-name: closeWindow;\n}\n\n/* .ril_rotateImageButton {\n transform: rotateY(180deg);\n} */\n\n@keyframes pointFade {\n 0%,\n 19.999%,\n 100% {\n opacity: 0;\n }\n 20% {\n opacity: 1;\n }\n}\n\n.ril__loadingCircle {\n width: 60px;\n height: 60px;\n position: relative;\n}\n\n.ril__loadingCirclePoint {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n}\n.ril__loadingCirclePoint::before {\n content: '';\n display: block;\n margin: 0 auto;\n width: 11%;\n height: 30%;\n background-color: #fff;\n border-radius: 30%;\n animation: pointFade 800ms infinite ease-in-out both;\n}\n.ril__loadingCirclePoint:nth-of-type(1) {\n transform: rotate(0deg);\n}\n.ril__loadingCirclePoint:nth-of-type(7) {\n transform: rotate(180deg);\n}\n.ril__loadingCirclePoint:nth-of-type(1)::before,\n.ril__loadingCirclePoint:nth-of-type(7)::before {\n animation-delay: -800ms;\n}\n.ril__loadingCirclePoint:nth-of-type(2) {\n transform: rotate(30deg);\n}\n.ril__loadingCirclePoint:nth-of-type(8) {\n transform: rotate(210deg);\n}\n.ril__loadingCirclePoint:nth-of-type(2)::before,\n.ril__loadingCirclePoint:nth-of-type(8)::before {\n animation-delay: -666ms;\n}\n.ril__loadingCirclePoint:nth-of-type(3) {\n transform: rotate(60deg);\n}\n.ril__loadingCirclePoint:nth-of-type(9) {\n transform: rotate(240deg);\n}\n.ril__loadingCirclePoint:nth-of-type(3)::before,\n.ril__loadingCirclePoint:nth-of-type(9)::before {\n animation-delay: -533ms;\n}\n.ril__loadingCirclePoint:nth-of-type(4) {\n transform: rotate(90deg);\n}\n.ril__loadingCirclePoint:nth-of-type(10) {\n transform: rotate(270deg);\n}\n.ril__loadingCirclePoint:nth-of-type(4)::before,\n.ril__loadingCirclePoint:nth-of-type(10)::before {\n animation-delay: -400ms;\n}\n.ril__loadingCirclePoint:nth-of-type(5) {\n transform: rotate(120deg);\n}\n.ril__loadingCirclePoint:nth-of-type(11) {\n transform: rotate(300deg);\n}\n.ril__loadingCirclePoint:nth-of-type(5)::before,\n.ril__loadingCirclePoint:nth-of-type(11)::before {\n animation-delay: -266ms;\n}\n.ril__loadingCirclePoint:nth-of-type(6) {\n transform: rotate(150deg);\n}\n.ril__loadingCirclePoint:nth-of-type(12) {\n transform: rotate(330deg);\n}\n.ril__loadingCirclePoint:nth-of-type(6)::before,\n.ril__loadingCirclePoint:nth-of-type(12)::before {\n animation-delay: -133ms;\n}\n.ril__loadingCirclePoint:nth-of-type(7) {\n transform: rotate(180deg);\n}\n.ril__loadingCirclePoint:nth-of-type(13) {\n transform: rotate(360deg);\n}\n.ril__loadingCirclePoint:nth-of-type(7)::before,\n.ril__loadingCirclePoint:nth-of-type(13)::before {\n animation-delay: 0ms;\n}\n\n.ril__loadingContainer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.ril__imagePrev .ril__loadingContainer,\n.ril__imageNext .ril__loadingContainer {\n display: none;\n}\n\n.ril__errorContainer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n}\n.ril__imagePrev .ril__errorContainer,\n.ril__imageNext .ril__errorContainer {\n display: none;\n}\n\n.ril__loadingContainer__icon {\n color: #fff;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n\n/* mobile */\n.mobile-image-previewer .ril-toolbar .ril__toolbarRightSide {\n padding-right: 14px;\n}\n\n.image-footer-choice.mobile-image-footer-choice {\n height: 100px;\n background-color: #000;\n z-index: 1052;\n padding: 0;\n}\n\n.mobile-image-footer-choice {\n height: 30px;\n width: 100%;\n border-radius: 2px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n bottom: 0;\n position: absolute;\n color: #fff;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n padding:0 3px;\n justify-content: space-between;\n align-items: center;\n}\n\n.mobile-image-footer-choice .image-footer-icon {\n display: flex;\n justify-content: center;\n align-items: center\n}\n\n.mobile-image-footer-choice .image-footer-icon span {\n cursor: pointer;\n display: flex;\n width: 24px;\n height: 24px;\n justify-content: center;\n align-items: center;\n color: #dbdbdb;\n}\n\n.image-footer-choice.mobile-image-footer-choice .image-footer-icon {\n width: 100%;\n justify-content: space-between;\n flex-direction: row-reverse;\n margin: 0 20px;\n}\n\n.mobile-image-footer-choice .image-footer-icon .image-footer-choice-item {\n height: 40px;\n width: 40px;\n border-radius: 5px;\n background-color: #333;\n}\n\n.ril__outer .ril-toolbar .ril-close {\n width: 30px;\n height: 53px;\n}\n\n.ril__outer .ril__toolbarItem {\n height: 50px;\n}\n\n.ril__outer .ril__toolbarItem button {\n opacity: 0.7;\n}\n\n.ril__outer .ril__toolbarItem button:hover {\n opacity: 1;\n}\n",".sdoc-image-hover-menu-container {\n position: absolute;\n height: 42px;\n z-index: 101;\n width: auto;\n}\n \n.sdoc-image-hover-menu-container .hover-menu-container {\n height: 36px;\n padding: 7px 8px;\n background-color: #fff;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n border: 1px solid #e8e8e8;\n}\n\n.sdoc-image-hover-menu-container .hover-menu-container > span:not(:last-of-type) {\n padding: 0 8px;\n border-right: 1px solid #e5e5e5;\n}\n\n.sdoc-image-hover-menu-container .hover-menu-container .op-item {\n position: relative;\n font-size: 12px;\n color: #212529;\n padding: 0 5px;\n border-radius: 2px;\n min-width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-image-hover-menu-container .hover-menu-container .op-item:hover {\n color: #212529;\n text-decoration: none;\n background: #f1f1f1;\n}\n\n.sdoc-image-hover-menu-container .op-group-item:last-child .op-item {\n margin-left: 8px;\n}\n\n.sdoc-image-hover-menu-container .hover-menu-container .active {\n background: #f1f1f1;\n}\n\n.sdoc-image-hover-menu-container .hover-menu-container .icon-font {\n font-size: 12px;\n color: #999999;\n}\n\n.sdoc-image-hover-menu-container .sdoc-image-popover {\n position: absolute;\n top: 37px;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 2px;\n box-shadow: 0 0 10px #ccc;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n z-index: 101;\n white-space: nowrap;\n}\n\n.sdoc-image-hover-menu-container .align-popover {\n left: 80px;\n min-width: 6rem;\n}\n\n.sdoc-image-hover-menu-container .border-popover {\n left: 115px;\n flex-direction: row;\n height: 80px;\n align-items: center;\n padding: 0 8px;\n}\n\n.sdoc-image-hover-menu-container .border-popover .sdoc-dropdown-menu-item .sdoc-dropdown-item-content .sdoc-check-mark {\n transform: translateX(-24px);\n}\n\n.sdoc-image-hover-menu-container .border-popover .sdoc-dropdown-menu-item:hover {\n background-color: transparent;\n}\n",".sdoc-selected-table-size-popover .popover {\n background-color: #fff;\n min-width: 100px;\n min-height: 100px;\n max-width: 222px;\n border-radius: 2px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-selected-table-size-tip {\n text-align: center;\n height: 35px;\n font-size: 14px;\n padding: 5px 10px 10px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-select {\n padding: 0 10px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-row {\n flex-direction: row;\n border-bottom: 1px solid #ccc;\n width: fit-content;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-row:first-child {\n border-top: 1px solid #ccc;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-cell {\n border-right: 1px solid #ccc;\n width: 20px;\n height: 15px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-row .sdoc-table-size-cell:first-child {\n border-left: 1px solid #ccc;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-cell.active {\n background-color: #ffa94d;\n}\n\n.sdoc-selected-table-size-popover .sdoc-table-size-select {\n margin-top: 5px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-selected-table-size-custom {\n min-height: 40px;\n margin-top: 10px;\n border-top: 1px solid #dedede;\n padding: 8px 10px;\n}\n\n.sdoc-selected-table-size-popover .sdoc-selected-table-size-custom:hover {\n cursor: pointer;\n}\n",".sdoc-table-menu-group.menu-group .menu-group-item:not(.sdoc-remove-table) {\n width: 36px;\n}\n\n.sdoc-table-menu-group .sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-icon {\n width: 24px;\n}\n\n.sdoc-table-menu-group .sdoc-menu-with-dropdown .sdoc-menu-with-dropdown-triangle {\n width: 12px;\n}\n\n.sdoc-table-menu-group .sdoc-color-menu .last-used-color-container {\n height: 100%;\n}\n\n.sdoc-table-menu-popover .sdoc-dropdown-menu-item {\n font-size: 14px;\n}\n",".sdoc-context-menu .sdoc-table-context-menu {\n display: block;\n font-size: 0.875rem;\n}\n\n.sdoc-table-context-menu .insert-number {\n margin-left: 50px;\n}\n\n.sdoc-table-context-menu .insert-number-input {\n width: 36px;\n height: 20px;\n margin-right: .25rem;\n padding-left: 4px;\n padding-right: 4px;\n text-align: center;\n transition: none;\n}\n\n.sdoc-table-context-menu .dropdown-item:hover .insert-number-input {\n background-color: transparent;\n border: 1px solid #fff;\n color: #fff;\n}\n\n.sdoc-table-context-menu .dropdown-item:disabled .insert-number-input {\n color: #adb5bd;\n}\n","/* column-header */\n.sdoc-table-wrapper .sdoc-table-columns-header {\n height: 12px;\n top: -12px;\n width: 100%;\n overflow: hidden;\n}\n\n.sdoc-table-wrapper .sdoc-table-columns-header .sdoc-table-column-header {\n flex-shrink: 0;\n border-right: 1px solid rgba(0, 0, 0, .08);\n background-color: rgb(243, 245, 247);\n}\n\n/* row-header */\n.sdoc-table-wrapper .sdoc-table-rows-header {\n width: 12px;\n height: 100%;\n position: absolute;\n left: -12px;\n top: 1px;\n}\n\n.sdoc-table-wrapper .sdoc-table-row-header {\n width: 100%;\n background-color: rgb(243, 245, 247);\n border-bottom: 1px solid rgba(0, 0, 0, .08);\n}\n\n.sdoc-table-wrapper .sdoc-table-rows-columns-header {\n height: 13px;\n width: 13px;\n position: absolute;\n left: -12px;\n top: -12px;\n background-color: rgb(243, 245, 247);\n border-right: 1px solid rgba(0, 0, 0, .08);\n border-bottom: 1px solid rgba(0, 0, 0, .08);\n border-top-left-radius: 3px;\n}\n\n/* common */\n.sdoc-table-wrapper .sdoc-table-row-header.range-selected,\n.sdoc-table-wrapper .sdoc-table-column-header.range-selected,\n.sdoc-table-wrapper .sdoc-table-rows-columns-header.range-selected {\n background-color: #81868F !important;\n}\n\n.sdoc-table-wrapper .sdoc-table-row-header.range-selected-tip,\n.sdoc-table-wrapper .sdoc-table-column-header.range-selected-tip,\n.sdoc-table-wrapper .sdoc-table-rows-columns-header.range-selected-tip {\n background-color: rgb(233, 235, 237);\n}\n\n/* add-icon */\n.sdoc-table-wrapper .sdoc-table-add-element-icon-content {\n height: 12px;\n width: 12px;\n border-radius: 50%;\n background-color: #ccc;\n color: #fff;\n z-index: 1;\n line-height: 10px;\n text-align: center;\n cursor: default;\n}\n\n.sdoc-table-wrapper .sdoc-table-add-element-icon-content:hover {\n cursor: pointer;\n}\n",".sdoc-table-wrapper {\n width: 100%;\n margin: 16px 0;\n}\n\n.sdoc-table-wrapper + .sdoc-table-wrapper {\n margin-top: 32px;\n}\n\n.sdoc-table-wrapper .sdoc-table-scroll-wrapper {\n max-width: 100%;\n width: fit-content;\n overflow-x: auto;\n cursor: default;\n}\n\n.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-right::before,\n.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-center::before {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 8px;\n height: 100%;\n background: linear-gradient(to left, transparent, rgba(0, 0, 0, .1));\n}\n\n.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-center::after,\n.sdoc-table-wrapper.scroll .sdoc-table-scroll-wrapper.scroll-at-left::after {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 0;\n right: 0;\n width: 8px;\n height: 100%;\n background: linear-gradient(to right, transparent, rgba(0, 0, 0, .1));\n}\n\n.sdoc-table-wrapper .sdoc-table-container {\n width: fit-content;\n display: table;\n overflow: hidden;\n cursor: text;\n}\n\n.sdoc-table-wrapper .table-row {\n display: table-row ;\n height: auto;\n}\n\n.sdoc-table-wrapper .table-cell {\n display: table-cell;\n padding: 10px 10px;\n border-right: 1px solid #ccc;\n border-bottom: 1px solid #ccc;\n line-height: 1.5;\n vertical-align: top;\n}\n\n.sdoc-table-wrapper .table-row:first-child .table-cell {\n border-top: 1px solid #ddd;\n}\n\n.sdoc-table-wrapper .table-row .table-cell:first-child {\n border-left: 1px solid #ddd;\n}\n\n.sdoc-table-wrapper .cell-selected {\n caret-color: transparent;\n position: relative;\n}\n\n.sdoc-table-wrapper .table-row-height-just {\n width: 100%;\n height: 5px;\n bottom: -2.5px;\n left: 0;\n z-index: 1;\n}\n\n.sdoc-table-wrapper .table-row-height-just:hover {\n cursor: row-resize;\n z-index: 2;\n}\n\n.sdoc-table-wrapper .table-row-height-just.resizing .table-row-height-just-color-tip {\n margin-top: 1.5;\n height: 2px;\n width: 100%;\n background-color: #2d7ff9;\n border-radius: 1px;\n}\n\n.sdoc-table-wrapper .table-cell-width-just {\n height: 100%;\n width: 5px;\n top: 0;\n z-index: 1;\n}\n\n.sdoc-table-wrapper .table-cell-width-just:hover {\n cursor: col-resize;\n z-index: 2;\n}\n\n.sdoc-table-wrapper .table-cell-width-just.resizing .table-cell-width-just-color-tip {\n margin-left: 1.5px;\n height: 100%;\n width: 2px;\n background-color: #2d7ff9;\n border-radius: 1px;\n}\n\n.sdoc-table-wrapper .background-color-tip-blue {\n background-color: #2d7ff9 !important;\n}\n\n.sdoc-table-wrapper .sdoc-table-selected-range .table-cell *::selection {\n background-color: unset;\n}\n",".sdoc-link-hover-menu-container {\n position: absolute;\n height: 42px;\n z-index: 101;\n width: auto;\n}\n \n.sdoc-link-hover-menu-container .hover-menu-container {\n height: 36px;\n padding: 7px 8px;\n background-color: #fff;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n border: 1px solid #e8e8e8;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container > span:not(:last-of-type) {\n padding-right: 8px;\n border-right: 1px solid #e5e5e5;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container .op-item {\n position: relative;\n font-size: 12px;\n color: #212529;\n padding: 0 5px;\n border-radius: 2px;\n min-width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container .op-item:hover {\n color: #212529;\n text-decoration: none;\n background: #f1f1f1;\n}\n\n.sdoc-link-hover-menu-container .op-group-item:last-child .op-item {\n margin-left: 8px;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container .link-style-icon-active {\n background: #f1f1f1;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container .op-tooltip:hover::after {\n position: absolute;\n color: #212529;\n content: attr(op-item-tooltip);\n top: -40px;\n left: -20px;\n width: 70px;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n border-radius: 3px;\n border: 1px solid #e8e8e8;\n font-size: 12px;\n box-shadow: 0 0 5px #ccc;\n}\n\n.sdoc-link-hover-menu-container .hover-menu-container .icon-font {\n font-size: 12px;\n color: #999999;\n}\n\n.sdoc-link-hover-menu-container .sdoc-file-display-style-popover {\n position: absolute;\n top: 37px;\n right: -80px;\n padding: 8px 0;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 2px;\n box-shadow: 0 0 10px #ccc;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n z-index: 101;\n white-space: nowrap;\n}\n",".sdoc-file-render:hover {\n background-color: #e5e5e5\n}\n\n.sdoc-file-card-link {\n position: relative;\n background-color: #f3f3f3;\n border: 1px solid transparent;\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n height: 50px;\n width: 420px;\n margin-bottom: -3px;\n}\n\n.sdoc-file-render .sdoc-file-link-icon {\n padding-right: 5px;\n color: #ff9800;\n}\n\n.sdoc-file-card-link .sdoc-file-link-icon :first-child {\n font-size: 24px;\n}\n\n.sdoc-file-card-link .sdoc-file-link-icon {\n position: absolute;\n top: 6px;\n left: 12px;\n}\n\n.sdoc-file-card-link .sdoc-file-text-link {\n position: absolute;\n top: 16px;\n left: 42px;\n}\n\n.sdoc-file-card-link .sdoc-file-text-link a {\n text-decoration: none;\n color: #333;\n}\n",".sdoc-file-link-hover-menu-container {\n position: absolute;\n height: 42px;\n z-index: 101;\n width: auto;\n}\n \n.sdoc-file-link-hover-menu-container .hover-menu-container {\n height: 36px;\n padding: 7px 8px;\n background-color: #fff;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n border: 1px solid #e8e8e8;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container > span:not(:last-of-type) {\n padding-right: 8px;\n border-right: 1px solid #e5e5e5;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container .op-item {\n position: relative;\n font-size: 12px;\n color: #212529;\n padding: 0 5px;\n border-radius: 2px;\n min-width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container .op-item:hover {\n color: #212529;\n text-decoration: none;\n background: #f1f1f1;\n}\n\n.sdoc-file-link-hover-menu-container .op-group-item:last-child .op-item {\n margin-left: 8px;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container .link-style-icon-active {\n background: #f1f1f1;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container .op-tooltip:hover::after {\n position: absolute;\n color: #212529;\n content: attr(op-item-tooltip);\n top: -40px;\n left: -20px;\n width: 70px;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n border-radius: 3px;\n border: 1px solid #e8e8e8;\n font-size: 12px;\n box-shadow: 0 0 5px #ccc;\n}\n\n.sdoc-file-link-hover-menu-container .hover-menu-container .icon-font {\n font-size: 12px;\n color: #999999;\n}\n\n.sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover {\n position: absolute;\n top: 37px;\n right: -80px;\n padding: 8px 0;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 2px;\n box-shadow: 0 0 10px #ccc;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n z-index: 101;\n white-space: nowrap;\n}\n",".sdoc-file-link-render:hover {\n background-color: #e5e5e5\n}\n\n.sdoc-file-card-link {\n position: relative;\n background-color: #f3f3f3;\n border: 1px solid transparent;\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n height: 50px;\n width: 420px;\n margin-bottom: -3px;\n}\n\n.sdoc-file-link-render .sdoc-file-link-icon {\n padding-right: 5px;\n color: #ff9800;\n}\n\n.sdoc-file-card-link .sdoc-file-link-icon :first-child {\n font-size: 24px;\n}\n\n.sdoc-file-card-link .sdoc-file-link-icon {\n position: absolute;\n top: 6px;\n left: 12px;\n}\n\n.sdoc-file-card-link .sdoc-file-text-link {\n position: absolute;\n top: 16px;\n left: 42px;\n width: 330px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.sdoc-file-card-link .sdoc-file-text-link a {\n text-decoration: none;\n color: #333;\n}\n",".sdoc-rebase-btn-group {\n color: #aaa;\n}\n\n.sdoc-rebase-btn-group .sdoc-rebase-btn {\n cursor: pointer;\n}\n\n.sdoc-rebase-current-changes-start {\n background-color: rgb(202, 232, 254);\n}\n\n.sdoc-rebase-current-changes {\n background-color: rgba(202, 232, 254, .8);\n}\n\n.sdoc-rebase-incoming-changes {\n background-color: rgb(222, 232, 254);\n}\n\n.sdoc-rebase-incoming-changes > *:first-child,\n.sdoc-rebase-current-changes > *:first-child {\n margin: 0;\n padding: 0.8em 0 0.8em 0.2em;\n}\n\n.sdoc-rebase-incoming-changes-end {\n background-color: rgb(212, 212, 254);\n}\n",".header-menu {\n display: flex;\n height: 100%;\n width: 140px;\n padding: 6px 8px;\n border-right: 1px solid #e5e6e8;\n position: relative;\n align-items: center;\n}\n\n.header-menu .header-toggle {\n flex: 1;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-left: 5px;\n height: 24px;\n cursor: pointer;\n}\n\n.header-menu .header-toggle .active {\n font-size: 14px;\n}\n\n.header-menu .header-toggle-disabled {\n color: #BDBDBD;\n cursor: unset;\n}\n\n.header-menu .header-toggle:not(.header-toggle-disabled):hover {\n background: #F2F2F2;\n border-radius: 2px;\n}\n\n.header-menu .header-toggle .sdocfont {\n color: #999;\n width: 12px;\n height: 24px;\n margin-left: 8px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-size: 12px;\n cursor: pointer;\n}\n\n.header-menu .header-popover {\n position: absolute;\n top: 42px;\n left: 8px;\n padding: 8px 0;\n width: 180px;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 2px;\n box-shadow: 0 0 10px #ccc;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n z-index: 101;\n}\n\n.header-menu .header-popover .sdoc-dropdown-menu-item {\n font-size: 14px;\n height: auto;\n padding: 9px 16px 9px 28px;\n line-height: 1;\n}\n\n.header-menu .header-popover .sdoc-dropdown-menu-item .sdoc-check-mark {\n position: absolute;\n left: 8px;\n transform: scale(.8);\n color: #798d99;\n}\n",".menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu {\n width: 76px;\n max-width: 76px;\n}\n\n.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled {\n width: 70px !important;\n}\n\n.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon,\n.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon div {\n width: 64px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n}\n\n.sdoc-font-family-menu .sdoc-menu-with-dropdown-icon div {\n padding-left: 5px;\n color: #212529;\n}\n\n.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled .sdoc-menu-with-dropdown-icon {\n width: 70px !important;\n}\n\n.menu-group .menu-group-item.sdoc-menu-with-dropdown.sdoc-font-family-menu.disabled .sdoc-menu-with-dropdown-icon div {\n padding-right: 5px;\n width: 70px;\n color: #BDBDBD;\n}\n\n/* sdoc-font-family-menu-popover */\n.sdoc-font-family-menu-popover .sdoc-dropdown-menu-title-name {\n padding: 8px 10px;\n color: gray;\n cursor: default;\n font-size: 14px;\n}\n",".menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu {\n width: 46px;\n}\n\n.menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu.disabled {\n width: 34px !important;\n}\n\n.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon,\n.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon div {\n width: 34px;\n font-size: 14px;\n}\n\n.menu-group .sdoc-font-size-menu .sdoc-menu-with-dropdown-icon div {\n padding-left: 5px;\n color: #212529;\n}\n\n.menu-group .sdoc-menu-with-dropdown.sdoc-font-size-menu.disabled .sdoc-menu-with-dropdown-icon div {\n padding-right: 5px;\n color: #BDBDBD;\n}\n\n.sdoc-font-size-menu-popover .sdoc-dropdown-menu-item .sdoc-check-mark {\n position: absolute;\n left: 8px;\n transform: scale(.8);\n color: #798d99;\n}\n\n.sdoc-font-size-menu-popover .sdoc-font-size-menu-container {\n height: fit-content;\n padding: 8px 0;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.sdoc-font-size-menu-popover .sdoc-dropdown-menu-item {\n font-size: 14px;\n}\n",".menu-group .menu-group-item.sdoc-insert-toolbar-btn {\n width: 76px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.menu-group .menu-group-item.sdoc-insert-toolbar-btn.disabled {\n width: 64px !important; /* 64: 76 - 12 */\n color: #BDBDBD;\n}\n\n.menu-group .sdoc-insert-toolbar-btn .sdoc-menu-with-dropdown-icon {\n flex: 1;\n justify-content: flex-start;\n padding-left: 6px;\n padding-right: 2px;\n font-size: 14px;\n}\n\n.sdoc-insert-menu-popover .popover {\n min-width: 200px;\n}\n",".sdoc-context-toolbar {\n position: absolute;\n display: none;\n width: auto;\n height: 42px;\n z-index: 101;\n background-color: #fff;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 0px, rgba(15, 15, 15, 0.1) 0px 3px 6px, rgba(15, 15, 15, 0.2) 0px 9px 24px;\n}\n",".sdoc-side-menu-popover {\n position: absolute;\n}\n\n.sdoc-side-menu {\n position: absolute;\n width: 200px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, .12);\n border-radius: 4px;\n transform: translateX(-200px);\n padding: 8px 0px;\n box-shadow: 0 2px 12px 2px rgba(68, 73, 77, .16);\n z-index: 999;\n}\n\n.sdoc-side-menu-insert-below-popover .popover {\n background-color: #fff;\n min-width: 150px;\n min-height: 120px;\n border-radius: 2px;\n left: -6px !important;\n cursor: pointer;\n}\n",".sdoc-side-toolbar-container {\n position: absolute;\n left: 0px;\n top: 0px;\n}\n\n.sdoc-side-toolbar-container .sdoc-side-op-icon {\n border-radius: 3px;\n padding: 0px 3px;\n height: 24px;\n color: #BDBDBD;\n margin-right: 1px;\n transform: rotate(180deg);\n cursor: pointer;\n}\n\n.sdoc-side-toolbar-container .sdoc-side-op-icon :first-child {\n font-size: 14px;\n}\n\n.sdoc-side-toolbar-container .side-op-icon-active {\n background-color: #F2F2F2;\n border-radius: 2px;\n}\n",".sdoc-custom-table-size-dialog .sdoc-custom-table-size-container {\n width: 100%;\n}\n\n.sdoc-custom-table-size-dialog .sdoc-custom-table-size-item {\n width: calc(50% - 16px);\n}\n",".sdoc-files-tree {\n flex: 1;\n padding: 16px;\n overflow: auto;\n width: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.sdoc-files-tree .sdoc-file-info {\n border-radius: 2px;\n height: 1.5rem;\n line-height: 1.625;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n padding-left: 2.8rem;\n}\n\n.sdoc-files-tree .sdoc-file-info:hover {\n cursor: pointer;\n background: #fdefb9;\n box-shadow: inset 0 0 1px #999;\n}\n\n.sdoc-files-tree .sdoc-file-info .sdoc-file-icon-container {\n width: 2.8rem;\n height: 100%;\n padding-left: 1.5rem;\n position: absolute;\n left: 0;\n}\n\n.sdoc-files-tree .sdoc-file-info .sdoc-file-icon {\n color: #9aa0ac;\n}\n\n.sdoc-files-tree .sdoc-file-info.active {\n background: #ff8000;\n box-shadow: inset 0 0 1px #999;\n color: #fff;\n}\n\n.sdoc-files-tree .sdoc-file-info.active .sdoc-file-icon {\n color: #fff;\n}\n\n.sdoc-files-tree .sdoc-file-icon-toggle {\n height: 1.5rem;\n width: 1.5rem;\n line-height: 1.5rem !important;\n font-size: 12px !important;\n transform: scale(.8);\n text-align: center;\n position: absolute;\n left: 0;\n}\n\n.sdoc-files-tree .sdoc-file-info.expanded .sdoc-file-icon-toggle {\n transform: rotate(90deg) scale(.8);\n}\n\n.sdoc-files-tree .sdoc-file-info .sdoc-file-name {\n font-size: 14px;\n}\n\n.sdoc-files-tree .sdoc-folder-children {\n padding-left: 20px;\n}\n\n.sdoc-files-tree .sdoc-folder-children-empty {\n color: #999;\n padding: 4px 20px;\n}\n",".sdoc-file-select-dialog {\n max-width: 620px;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-modal {\n width: 620px;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-container {\n display: flex;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-left {\n border-right: 1px solid #e9ecef;\n width: 150px;\n padding: 12px 8px;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-left .sdoc-file-select-nav-item {\n padding: 5px 0 5px 8px;\n border-radius: 3px;\n display: inline-block;\n cursor: pointer;\n width: 100%;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-left .sdoc-file-select-nav-item:hover {\n background-color: #f5f5f5;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-container .sdoc-file-select-left .selected-sdoc-file-select-nav-item {\n background-color: #ff8000;\n color: #fff;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-right {\n height: 440px;\n width: 468px;\n display: flex;\n padding: 0;\n flex-direction: column;\n}\n\n.sdoc-file-select-dialog .sdoc-file-select-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.sdoc-file-select-dialog .highlight-bg-color {\n background-color: #FF8000;\n border-color: #FF8000;\n}\n",".sdoc-outline-wrapper {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n margin: 20px 30px 20px 16px;\n min-height: 0;\n z-index: 101;\n}\n\n.sdoc-outline {\n flex: 1;\n width: 220px; \n display: flex;\n min-height: 0;\n flex-direction: column;\n font-size: 14px;\n position: relative;\n}\n\n.sdoc-outline-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.25rem 0;\n color: #999;\n border-bottom: 1px solid #dbdbdb;\n}\n\n.sdoc-outline-header__title {\n font-size: 14px;\n line-height: 1.1;\n margin: 0 !important;\n}\n\n.sdoc-outline-header__close {\n cursor: pointer;\n font-size: 14px;\n}\n\n.sdoc-outline-header__close:hover {\n color: #555;\n}\n\n.sdoc-outline-list-container {\n list-style: none;\n padding: 0.5rem 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.sdoc-outline-item {\n padding: 4px 0;\n cursor: pointer;\n}\n\n.sdoc-outline-item.active {\n color: #ff8000;\n}\n\n.sdoc-outline-menu {\n line-height: 1;\n font-size: 14px;\n color: #888;\n cursor: pointer;\n width: 28px;\n height: 28px;\n background: #fff;\n border-radius: 0 50% 50% 0;\n box-shadow: 0 0 6px rgba(0,0,0, 0.12);\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 20px;\n left: -16px;\n}\n\n.sdoc-outline-menu.disabled {\n opacity: .65;\n}\n\n.sdoc-outline-menu:not(.disabled):hover {\n color: #333;\n}\n","/* modify default css */\n.sdoc-editor-container .article {\n font-size: 11pt;\n}\n\n.sdoc-editor-container .sdoc-code-block-pre {\n font-size: 10pt;\n}\n\n.sdoc-editor-container .article p {\n padding: 5px 0;\n margin: 0;\n}\n\n.element-icon {\n color: #444 !important;\n}\n",".sdoc-editor-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.sdoc-editor-container .sdoc-editor-toolbar {\n display: flex;\n justify-content: center;\n height: 44px;\n align-items: center;\n padding: 0 10px;\n background-color: #fff;\n user-select: none;\n border-bottom: 1px solid #e5e6e8;\n position: relative;\n z-index: 102;\n}\n\n.sdoc-editor-container .sdoc-editor-content {\n width: 100%;\n height: calc(100% - 44px);\n display: flex;\n background: #f5f5f5;\n position: relative;\n}\n\n.sdoc-editor-container .sdoc-absolute-wrapper {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n}\n\n.sdoc-editor-container .sdoc-scroll-container {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 100;\n overflow: auto;\n}\n\n.sdoc-editor-container .sdoc-article-container {\n position: relative;\n top: 0;\n width: 794px;\n margin: 0 auto;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n.sdoc-editor-container .sdoc-editor-content .article {\n width: 794px;\n min-height: 800px;\n padding: 40px 60px;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);\n}\n\n.sdoc-editor-container .sdoc-editor-content .article > div {\n caret-color: blue;\n}\n\n.sdoc-editor-container .seafile-block-container {\n position: relative;\n}\n\n.sdoc-editor-container .seafile-block-container .comment-count {\n position: absolute;\n right: -55px;\n top: 0px;\n border-radius: 4px;\n width: 15px;\n height: 15px;\n line-height: 18px;\n pointer-events: none;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n background: rgba(0, 0, 0, .3);\n}\n\n.sdoc-editor-container .seafile-block-container .comment-count__btn {\n font-size: 12px;\n transform: scale(.75);\n}\n","/* header */ \n.sdoc-editor-container .article .sdoc-header-title,\n.sdoc-editor-container .article .sdoc-header-subtitle,\n.sdoc-editor-container .article .sdoc-header-1,\n.sdoc-editor-container .article .sdoc-header-2,\n.sdoc-editor-container .article .sdoc-header-3,\n.sdoc-editor-container .article .sdoc-header-4,\n.sdoc-editor-container .article .sdoc-header-5,\n.sdoc-editor-container .article .sdoc-header-6 {\n line-height: 1.1;\n margin: 1.2em 0 0.4em;\n font-weight: bold;\n}\n\n.sdoc-editor-container .article .sdoc-header-2,\n.sdoc-editor-container .article .sdoc-header-3 {\n line-height: 1.5;\n}\n\n.sdoc-editor-container .article .sdoc-header-4 {\n line-height: 1.125;\n}\n\n/* list */\n.sdoc-editor-container .article .list-container {\n margin: 0;\n padding-inline-start: 24px;\n}\n\n/* check list */\n.sdoc-editor-container .article .sdoc-checkbox-container .sdoc-checkbox-input-wrapper {\n margin-right: 6px;\n}\n\n.sdoc-editor-container .article .sdoc-checkbox-container .sdoc-checkbox-input-wrapper :first-child {\n vertical-align: middle;\n}\n\n/* image */\n.sdoc-editor-container .article .sdoc-image-wrapper {\n position: relative;\n display: inline-block;\n margin: 0 3px;\n}\n\n.sdoc-editor-container .article .sdoc-image-inner {\n position: relative;\n display: inline-block;\n}\n\n.sdoc-editor-container .article .image-selected {\n box-shadow: 0 0 0 2px #007bff;\n}\n\n.sdoc-editor-container .article .image-resizer {\n width: 10px;\n height: 10px;\n position: absolute;\n right: -5px;\n bottom: -5px;\n background-color: #007bff;\n border: 1px solid #fff;\n cursor: se-resize;\n}\n\n.sdoc-editor-container .article .image-full-screen {\n position: absolute;\n height: 26px;\n display: inline-block;\n width: 26px;\n top: 0;\n right: -32px;\n text-align: center;\n line-height: 20px;\n padding: 2px;\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n border: 1px solid rgba(0, 40, 100, 0.12);\n background-color: #fff;\n user-select: none!important;\n z-index: 1000;\n}\n\n.sdoc-editor-container .article .image-full-screen:hover {\n display: block;\n background-color: #efefef;\n}\n\n.sdoc-editor-container .article .image-size {\n display: inline-block;\n padding: 5px;\n white-space: nowrap;\n height: 22px;\n position: absolute;\n bottom: -25px;\n left: 100%;\n z-index: 1;\n transform: translateX(5px);\n border-radius: 3px;\n line-height: 12px;\n color: #fff;\n background-color: #4c4c4c;\n font-size: 12px;\n}\n\n/* caret */\n.sdoc-editor-container .article .caret-item .caret-name {\n display: none;\n}\n\n.sdoc-editor-container .article .caret-item:hover .caret-name {\n display: block;\n}\n\n",".sdoc-dropdown-menu,\n.sdoc-dropdown-menu .sdoc-dropdown-menu-container {\n padding: 8px 0;\n min-width: 12rem;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-divider {\n width: 100%;\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item {\n height: 28px;\n width: 100%;\n padding: 4px 24px;\n user-select: none;\n display: flex;\n align-items: center;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled,\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled .sdoc-dropdown-item-content-icon {\n color: #c2c2c2 !important;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item:hover {\n background-color: rgb(245, 245, 245);\n cursor: pointer;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item.disabled:hover {\n background-color: unset;\n cursor: default;\n color: #c2c2c2;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdocfont {\n font-size: 12px;\n line-height: 12px;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdoc-dropdown-item-content {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1;\n font-size: 14px;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-item-content .sdoc-dropdown-item-content-icon {\n margin-right: 10px;\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-item-right-icon {\n color: #999;\n transform: scale(.6);\n}\n\n.sdoc-dropdown-menu .sdoc-dropdown-item-with-left-icon {\n min-height: 32px;\n padding: 3px 12px;\n}\n\n.sdoc-dropdown-menu .sdoc-check-mark {\n transform: scale(.8);\n color: #798d99;\n}\n\n/* sub menu */\n.sdoc-sub-dropdown-menu .popover {\n left: -8px !important;\n}\n\n.sdoc-sub-dropdown-menu .bs-popover-auto[x-placement^=\"left\"] {\n left: 8px !important;\n}\n",".sdoc-comment-list-container {\n position: absolute;\n}\n\n.sdoc-comment-list-container .comment-ui-container {\n background-color: #edf2fa;\n border-radius: 8px;\n box-shadow: 0 0 2px rgba(0,0,0,.04);\n padding: 16px 0;\n margin-bottom: 10px;\n cursor: pointer;\n}\n\n.sdoc-comment-list-container .comment-ui-container.active {\n position: relative;\n left: -24px;\n background: rgba(255, 255, 255, .92);\n box-shadow: 0 1px 3px rgba(0,0,0,.3), 0 4px 8px 3px rgba(0,0,0,.15);\n}\n\n.sdoc-comment-list-container .comment-item-list {\n max-height: 350px;\n min-width: 280px;\n overflow-x: hidden;\n overflow-y: auto;\n margin: 0;\n}\n\n.sdoc-comment-list-container .comment-item {\n position: relative;\n padding: 16px 16px 0;\n cursor: pointer;\n}\n\n.sdoc-comment-list-container .comment-delete-shadow {\n position: absolute;\n inset: 0;\n background-color: rgba(0, 0, 0, .7);\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-top: 10px;\n color: #fff;\n z-index: 1;\n}\n\n.sdoc-comment-list-container .comment-delete-shadow .delete-tip {\n margin-bottom: 10px;\n}\n\n.sdoc-comment-list-container .comment-ui-container.active .comment-item:hover {\n background: #fafafa;\n}\n\n.sdoc-comment-list-container .comment-item .comment-header,\n.sdoc-comment-list-container .comment-item .comment-author {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.sdoc-comment-list-container .comment-item .comment-content {\n padding-bottom: 10px;\n margin-top: 10px;\n margin-left: 30px;\n width: 222px;\n word-break: break-all;\n}\n\n.sdoc-comment-list-container .comment-header .comment-author__avatar {\n display: flex;\n align-items: center;\n}\n\n.sdoc-comment-list-container .comment-header .comment-author__avatar img {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n}\n\n.sdoc-comment-list-container .comment-header .comment-author__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding-left: 10px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n}\n\n.sdoc-comment-list-container .comment-header .comment-author__info .name {\n color: #1f1f1f;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n}\n\n.sdoc-comment-list-container .comment-header .comment-author__info .time {\n color: #444746;\n font-size: 12px;\n line-height: 16px;\n}\n\n.sdoc-comment-list-container .comment-header .comment-operation {\n line-height: 20px;\n font-size: 20px;\n color: rgb(70, 77, 90);\n width: 20px;\n height: 20px;\n cursor: pointer;\n}\n\n.sdoc-comment-list-container .comment-ui-container .comment-operation {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sdoc-comment-list-container .comment-ui-container.active .comment-operation:hover {\n border-radius: 100%;\n background-color: #f0f0f0;\n}\n\n.sdoc-comment-list-container .comment-ui-container .comment-operation .sdoc-confirm {\n color: #20a0ff;\n font-weight: 800;\n}\n\n.sdoc-comment-menu {\n padding: 0;\n border-radius: 2px;\n}\n\n.sdoc-popover-menu {\n background: rgb(255, 255, 255);\n width: 140px;\n padding: 8px 0;\n height: auto;\n}\n\n.sdoc-popover-menu__item {\n padding: 4px 24px;\n height: 28px;\n vertical-align: middle;\n font-size: 14px;\n background-color: transparent;\n cursor: default;\n color: #202428;\n background-color: #fff;\n}\n\n.sdoc-popover-menu__item:hover {\n background-color: #20a0ff;\n color: #fff;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 16px;\n cursor: text;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor {\n margin-bottom: 10px;\n min-height: 40px;\n max-height: 120px;\n min-width: 240px;\n overflow: auto;\n background: #fff;\n border: 1px solid rgba(0, 0, 0, .12);\n border-radius: 4px;\n padding: 8px;\n word-break: break-all;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:empty:before {\n content: attr(placeholder);\n opacity: .6;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:focus-visible {\n outline: none;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor:focus {\n border: 1px solid rgba(0, 0, 0, .12);\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info {\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info .comment-editor-user-img {\n height: 30px;\n width: 30px;\n border-radius: 50%;\n overflow: hidden;\n margin-right: 8px;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-editor-user-info .comment-editor-user-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: none;\n}\n\n.sdoc-comment-list-container .comment-editor-wrapper .comment-operations {\n display: flex;\n justify-content: flex-end;\n}\n",".sdoc-comment-container .comment-container-right .element-comments-count {\n position: absolute;\n left: -22px;\n height: 16px;\n width: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #999;\n}\n\n.sdoc-comment-container .comment-container-right .element-comments-count:hover {\n color: #333;\n cursor: pointer;\n}\n\n.sdoc-comment-container .comment-container-right .element-comments-count-value {\n width: 16px;\n height: 14px;\n position: absolute;\n left: 0;\n top: 0;\n cursor: pointer;\n pointer-events: none;\n font-size: 12px;\n color: #fff;\n line-height: 13px;\n text-align: center;\n}\n","/* editor-comment css */\n.sdoc-comment-container {\n position: absolute;\n left: 0;\n top: 0;\n width: 794px;\n}\n\n.sdoc-comment-container .comment-container-main {\n position: absolute;\n width: 794px;\n top: 0;\n}\n\n.sdoc-comment-container .comment-container-right {\n position: absolute;\n left: 100%;\n}\n\n.sdoc-comment-container .comment-container-right .comment-add-wrapper {\n position: absolute;\n left: -22px;\n width: 20px;\n}\n\n.sdoc-comment-container .comment-container-right .comment-add-wrapper .sdocfont {\n color: #999;\n}\n\n.sdoc-comment-container .comment-container-right .comment-add-wrapper .sdocfont:hover {\n color: #333;\n cursor: pointer;\n}\n\n.sdoc-comment-container .comment-container-right .comment-list-wrapper {\n position: absolute;\n left: 14px;\n width: 280px;\n}\n\n/* global comment css */\n.global-comments-popover {\n position: absolute;\n right: 10px;\n top: 50px;\n z-index: 103;\n width: 340px;\n height: 540px;\n}\n\n.global-comments-popover .comments-panel-wrapper {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: #fff;\n border: 1px solid #EAECEF;\n border-radius: 4px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, .12);\n}\n\n.global-comments-popover .comments-panel-header {\n padding: 0 16px;\n height: 46px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #EAECEF;\n}\n\n.global-comments-popover .comments-panel-header .title {\n color: #212529;\n font-size: 16px;\n font-weight: 500;\n}\n\n.global-comments-popover .comments-panel-header .sdoc-sm-close {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n font-weight: 700;\n color: #999;\n cursor: pointer;\n}\n\n.global-comments-popover .comments-panel-header .sdoc-sm-close:hover {\n color: #5a5a5a;\n}\n\n.global-comments-popover .comments-panel-body {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.global-comments-popover .comments-panel-body__header {\n height: 38px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n}\n\n.global-comments-popover .comments-panel-body__header .comment-type {\n color: #212529;\n font-size: 12px;\n}\n\n.global-comments-popover .comments-panel-body__header .comment-type{\n color: #212529;\n font-size: 12px;\n}\n\n.global-comments-popover .comments-panel-body__header .comment-count-tip {\n color: #999;\n font-size: 12px;\n}\n\n.global-comments-popover .comments-panel-body__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 16px;\n overflow: auto;\n}\n\n.global-comments-popover .comments-panel-body__content .sdoc-comment-list-container {\n position: relative;\n}\n\n.global-comments-popover .comments-panel-body__content .comment-item-list {\n max-width: 308px;\n}\n\n.global-comments-popover .comments-panel-body__content .comment-ui-container.active {\n left: 0;\n}\n\n.global-comments-popover .comments-panel-body__content .comment-ui-container.sdoc-resolved {\n background: #f5f5f5;\n}\n\n.global-comments-popover .comments-panel-body__content .comment-ui-container.active.sdoc-resolved {\n background: #f5f5f5;\n}\n\n.sdoc-dropdown-menu .dropdown-item {\n font-size: 14px;\n color: #212529;\n}\n",".sdoc-editor-container .sdoc-editor-content.readonly {\n height: 100%;\n}\n\n.sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-absolute-wrapper {\n display: flex;\n position: relative;\n min-height: 0;\n}\n\n.sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-article-container {\n margin-left: 0 !important;\n}\n\n.sdoc-editor-container.mobile .sdoc-editor-content.readonly .sdoc-article-container {\n padding: 0;\n width: auto;\n}\n\n.sdoc-editor-container.mobile .sdoc-editor-content.readonly .article {\n width: 100% !important;\n padding: 1rem;\n}\n",".sdoc-diff {\n padding: 0 5px;\n margin: 0 -5px;\n overflow: hidden;\n}\n",".empty-loading-page {\n position: fixed;\n height: 100%;\n width: 100%;\n}\n\n.page-centered {\n position: fixed;\n top: 50%;\n left: 50%;\n /* bring your own prefixes */\n transform: translate(-50%, -50%);\n}\n\n.lds-ripple {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n}\n\n.lds-ripple div {\n position: absolute;\n border: 4px solid #eb8205;\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n}\n\n.lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n}\n\n@keyframes lds-ripple {\n 0% {\n top: 28px;\n left: 28px;\n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: -1px;\n left: -1px;\n width: 58px;\n height: 58px;\n opacity: 0;\n }\n}\n",".sdoc-editor-page-wrapper .tip-message {\n margin-left: 12px;\n font-size: 12px;\n opacity: 0.75;\n color: #999;\n width: max-content;\n height: 27px;\n line-height: 27px;\n display: inline-flex;\n}\n\n.sdoc-editor-page-wrapper .tip-message .sdocfont {\n padding-top: 1px;\n font-size: 14px;\n}\n",".sdoc-draft-menu {\n position: relative;\n margin-left: 0.5rem;\n}\n\n.sdoc-draft-identifier {\n display: inline-block;\n font-size: 14px;\n color: #888;\n background: #eee;\n padding: 0 8px; \n height: 20px;\n line-height: 20px;\n border-radius: 10px;\n cursor: pointer;\n}\n\n.sdoc-draft-identifier:hover {\n background: #dbdbdb;\n}\n\n.sdoc-draft-menu .draft-popover {\n position: absolute;\n top: 25px;\n left: 0;\n width: 178px;\n background-color: #fff;\n border: 1px solid #e5e6e8;\n border-radius: 2px;\n padding: 8px 0;\n box-shadow: 0 0 10px #e5e6e8;\n z-index: 10;\n}\n\n.sdoc-draft-menu .draft-popover .draft-menu-item {\n cursor: pointer;\n width: 100%;\n padding: 4px 12px;\n}\n\n.sdoc-draft-menu .draft-popover .draft-menu-item:hover {\n background-color: rgb(245, 245, 245);\n}\n",".sdoc-tip-dialog .highlight-bg-color {\n background-color: #FF8000;\n border-color: #FF8000;\n}\n",".seadoc-switch.small .custom-switch-indicator {\n width: 22px;\n height: 12px;\n border-radius: 6px;\n}\n\n.seadoc-switch.small .custom-switch-indicator:before {\n height: 8px;\n width: 8px;\n}\n\n.seadoc-switch.small .custom-switch-input:checked~.custom-switch-indicator:before {\n left: 12px;\n}\n",".sdoc-toggle-revision-changes .custom-switch {\n padding-left: 0;\n}\n",".sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle {\n width: 66px;\n height: 30px;\n border-radius: 15px;\n background-color: #F0F0F0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #666;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle:hover {\n cursor: pointer;\n color: #333;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle .sdoc-revise {\n margin-right: 10px;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle .sdocfont {\n font-size: 14px;\n}\n\n.sdoc-more-revision-operations-dropdown .dropdown-item {\n padding: 12px;\n min-height: 32px;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation {\n width: 373px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-title .sdocfont {\n font-size: 14px;\n margin-right: 6px;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-title-name {\n color: #212529;\n font-size: 14px;\n}\n\n.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operation-describe {\n padding-left: 20px;\n color: #999;\n font-size: 13px;\n width: 100%;\n white-space: break-spaces;\n}\n\n.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation,\n.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation-title-name,\n.sdoc-more-revision-operations-dropdown .dropdown-item:hover .sdoc-more-revision-operation-describe {\n color: #fff;\n}\n",".revisions-dialog {\n width: 700px;\n max-width: 700px;\n height: calc(100% - 56px);\n}\n\n.revisions-dialog .modal-content {\n height: 100%;\n overflow: hidden;\n}\n\n.revisions-dialog .revisions-body {\n height: calc(100% - 50px);\n padding: 0;\n overflow: hidden;\n}\n\n.revisions-dialog .sdoc-revisions-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.revisions-dialog .sdoc-revisions-container .sdoc-revisions-header {\n height: 41px;\n width: calc(100% - 32px);\n border-bottom: 1px solid rgba(0, 40, 100, 0.12);\n margin: 0 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.revisions-dialog .sdoc-revisions-container .sdoc-revisions-content {\n flex: 1;\n overflow-x: hidden;\n overflow-y: scroll;\n padding: 0 16px 16px 16px;\n}\n\n.revisions-dialog .sdoc-revisions-container .sdoc-revisions-list {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.revisions-dialog .sdoc-revisions-container.loading {\n align-items: center;\n justify-content: center;\n}\n\n.revisions-dialog .revisions-body .sdoc-revision {\n height: 41px;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border-bottom: 1px solid rgba(0, 40, 100, 0.12);\n}\n\n.revisions-dialog .revisions-body .sdoc-revision:hover {\n cursor: pointer;\n background-color: #f5f5f5;\n}\n\n.revisions-dialog .sdoc-revision-name-header,\n.revisions-dialog .sdoc-revision-user-header,\n.revisions-dialog .sdoc-revision-time-header {\n padding-left: 9px;\n color: #999;\n}\n\n.revisions-dialog .sdoc-revision .sdoc-revision-user {\n height: 100%;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding-left: 9px;\n}\n\n.revisions-dialog .sdoc-revision .sdoc-revision-name {\n height: 100%;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding-left: 9px;\n}\n\n.revisions-dialog .sdoc-revision .sdoc-revision-name-content {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.revisions-dialog .sdoc-revision .sdoc-revision-time {\n height: 100%;\n padding-left: 9px;\n overflow: hidden;\n display: flex;\n align-items: center;\n}\n\n.revisions-dialog .revisions-body .sdoc-revision.loading {\n height: 40px;\n align-items: center;\n border-bottom: none;\n}\n\n.revisions-dialog .sdoc-revision.loading:hover {\n background-color: unset;\n}\n",".sdoc-revisions-count {\n height: 30px;\n width: fit-content;\n border: 1px solid #E5E5E5;\n border-radius: 3px;\n line-height: 28px;\n text-align: center;\n padding: 0 16px;\n margin-left: 1rem;\n color: #666;\n}\n\n.sdoc-revisions-count:hover {\n cursor: pointer;\n color: #333;\n}\n",".sdoc-revision-changes-container {\n height: 32px;\n border: 1px solid #e5e5e5;\n border-radius: 3px;\n}\n\n.sdoc-revision-changes-container .sdoc-revision-changes-divider {\n border-right: 1px solid #e5e5e5;\n height: 100%;\n width: 1px;\n}\n\n.sdoc-revision-changes-container .sdoc-revision-changes-last,\n.sdoc-revision-changes-container .sdoc-revision-changes-next {\n padding: 0 8px;\n height: 100%;\n}\n\n.sdoc-revision-changes-container .sdoc-revision-changes-last .sdocfont,\n.sdoc-revision-changes-container .sdoc-revision-changes-next .sdocfont {\n color: #000;\n opacity: .5;\n}\n\n.sdoc-revision-changes-container .sdoc-revision-changes-last:hover,\n.sdoc-revision-changes-container .sdoc-revision-changes-next:hover {\n cursor: pointer;\n background-color: #f5f5f5;\n}\n\n.sdoc-revision-changes-container .sdoc-revision-changes-last:hover .sdocfont,\n.sdoc-revision-changes-container .sdoc-revision-changes-next:hover .sdocfont {\n opacity: .75;\n}\n",".collaborators-popover.popover {\n width: 300px;\n max-width: 300px;\n}\n\n.collaborators-popover .popover-container {\n padding: 0;\n margin: 0;\n max-height: 360px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.collaborators-popover .popover-header {\n height: 50px;\n min-height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 16px;\n border-bottom: 1px solid #ededed;\n color: #212529;\n background: #fff;\n}\n\n.collaborators-popover .popover-container .content-list {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: auto;\n padding: 5px 0;\n}\n\n.content-list .collaborator-details {\n height: 32px;\n line-height: 32px;\n width: 100%;\n display: flex;\n align-items: center;\n padding: 3px 12px;\n \n}\n\n.content-list .collaborator-details:hover {\n background-color: #f8f8f8;\n}\n\n.content-list .collaborator-details .collaborator-tag {\n margin-right: 8px;\n height: 5px;\n width: 5px;\n background-color: #08DB6B;\n border-radius: 50%;\n overflow: hidden;\n}\n\n.content-list .collaborator-details .collaborator-avatar {\n margin-right: 8px;\n height: 20px;\n width: 20px;\n border-radius: 50%;\n overflow: hidden;\n}\n\n.content-list .collaborator-details .collaborator-name {\n max-width: calc(100% - 20px);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #212529;\n}\n\n\n",".doc-ops {\n display: flex;\n align-items: center;\n}\n\n.doc-ops .op-item {\n margin-left: 1rem;\n display: flex;\n align-items: center;\n position: relative;\n cursor: pointer;\n}\n\n.doc-ops .op-item .sdocfont {\n font-size: 18px;\n color: #666;\n cursor: pointer;\n}\n\n.doc-ops .op-item .sdocfont:hover {\n color: #333;\n cursor: pointer;\n}\n\n.doc-ops .popover-wrapper {\n width: 300px;\n}\n\n.doc-info .sdoc-revision-order {\n display: inline-block;\n font-size: 14px;\n color: #888;\n background: #eee;\n padding: 0 8px; \n height: 20px;\n line-height: 20px;\n border-radius: 10px;\n margin-left: 0.5rem;\n cursor: default;\n}\n\n","html, body {\n height: 100%;\n width: 100%;\n}\n\n#root, #wrapper {\n height: 100%;\n width: 100%;\n display: flex;\n}\n\n.sdoc-editor-page-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.sdoc-editor-page-wrapper .sdoc-editor-page-header {\n border-bottom: 1px solid #e5e6e8;\n flex-shrink: 0;\n height: 56px;\n position: relative;\n z-index: 103;\n background-color: #fff;\n}\n\n.sdoc-editor-page-wrapper .sdoc-editor-page-content {\n flex: 1;\n min-height: 0;\n display: flex;\n}\n",".error-page {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n}\n\n.error-page .error-tip {\n color: red;\n}\n\n.error-page .error-button {\n margin-top: 20px;\n}\n",".sdoc-editor-page-header .doc-info {\n display: flex;\n align-items: center;\n}\n\n.sdoc-editor-page-header .doc-info .doc-name {\n font-size: 18px;\n font-weight: 700;\n color: #212529;\n}\n\n.sdoc-editor-page-header .doc-info .doc-icon {\n margin-left: 0.5rem;\n color: #999;\n cursor: pointer;\n font-size: 14px;\n line-height: 1;\n}\n\n.sdoc-editor-page-header .doc-info .doc-icon:hover {\n margin-left: 0.5rem;\n color: #333;\n}\n\n.sdoc-editor-page-header .doc-info .sdoc-link {\n font-size: 14px;\n}\n\n.sdoc-editor-page-header .doc-state {\n font-size: 0.8125rem;\n}\n\n/* reset common css */\n.sdoc-editor-page-wrapper .dropdown-item,\n.sdoc-context-menu .dropdown-item {\n color: #212529;\n}\n\n.sdoc-context-menu .dropdown-item:hover {\n color: #fff;\n}\n",".sdoc-share-permission {\n font-size: 12px;\n padding: 2px 6px;\n border-radius: 4px;\n border: solid 1px rgba(0, 0, 0, 0.12);\n}\n",".select-container {\n position: relative;\n display: inline-block;\n margin: 0 5px;\n font-weight: normal;\n}\n\n.select-container .control-container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 0 10px;\n height: 24px;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n user-select: none;\n}\n\n.select-container .control-container.active,\n.select-container .control-container:hover {\n border: 1px solid #3C88FD;\n box-shadow: 0 0 0 2px rgb(70 127 207 / 25%);\n}\n\n.select-container .control-container .placeholder {\n color: #BFBFBF;\n}\n\n.select-container .control-container .control-icon {\n font-size: 13px;\n color: rgb(170, 170, 170);\n cursor: default;\n margin-right: 5px;\n}\n\n.select-container .control-container .operation {\n margin-left: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.select-container .control-container .arrow {\n color: #949494;\n display: inline-block;\n font-size: 12px;\n transform: scale(.8);\n transition: all .1s;\n}\n\n.select-container .control-container .arrow:hover {\n color: #666;\n}\n\n.select-container .select-popover {\n position: absolute;\n left: 0;\n display: flex;\n min-width: 80px;\n max-height: 265px;\n margin-top: 4px;\n padding: 8px 0;\n flex-direction: column;\n border: 1px solid #e5e5e5;\n box-shadow: 0 4px 10px #eee;\n border-radius: 4px;\n background: #fff;\n z-index: 10;\n}\n\n.select-popover .option-item-divider {\n margin-top: 8px;\n border-top: 1px solid #EFEFEF;\n}\n\n.select-popover .field-setting {\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-popover .field-setting .icon-container {\n position: absolute;\n right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.select-popover .field-setting .op-icon {\n font-size: 12px;\n transform: rotate(90deg);\n color: #aaa;\n}\n\n.select-popover .option-item-wrapper {\n flex: 1;\n min-height: 0;\n min-width: 0;\n overflow: auto;\n}\n\n.select-popover .option-item {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n min-width: 80px;\n height: 32px;\n padding: 0 12px;\n cursor: pointer;\n overflow-wrap: normal;\n white-space: nowrap;\n}\n\n.select-popover .option-item:hover {\n background-color: #F5F5F5;\n}\n\n.select-popover .option-item.active {\n background-color: #39A0FF;\n color: #fff;\n}\n\n.select-popover .option-item.disable {\n color: #aaa;\n cursor: default;\n}\n\n.select-popover .option-item .item-icon {\n font-size: 14px;\n color: rgb(170, 170, 170);\n cursor: default;\n}\n\n.select-popover .option-item.active .item-icon {\n color: #fff;\n}\n\n.select-popover .option-item .label {\n margin: 0 5px;\n}\n",".notification-wrapper .popover {\n max-width: 300px;\n}\n\n.notification-container {\n position: absolute;\n background: #fff;\n width: 320px;\n right: -10px;\n top: -1px;\n border-radius: 3px;\n box-shadow: 0 0 5px #ccc;\n}\n\n.notification-container .notification-header {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 50px;\n border-bottom: 1px solid #ededed;\n font-size: 16px;\n font-weight: 600;\n position: relative;\n}\n\n.notification-container .notification-header .notification-close-icon {\n position: absolute;\n right: 14px;\n height: 24px;\n width: 24px;\n text-align: center;\n cursor: pointer;\n color: #000;\n opacity: 0.5;\n font-weight: 700;\n}\n\n.notification-container .notification-header .notification-close-icon:hover {\n opacity: 0.75;\n}\n\n.notification-container .notification-body {\n padding: 0;\n}\n\n.notification-container .notification-body .show-weixin-qrcode {\n cursor: pointer;\n border-bottom: 1px solid #ededed;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding-left: 10px;\n}\n\n.show-weixin-qrcode .weixin-icon {\n color: #999;\n font-size: 20px;\n margin-left: 20px;\n}\n\n.notification-container .notification-body .mark-notifications {\n color: #b4b4b4;\n cursor: pointer;\n border-bottom: 1px solid #ededed;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding-right: 1rem;\n}\n\n.notification-container .notification-body .mark-notifications:hover {\n text-decoration: underline;\n}\n\n.notification-body .notification-list-container {\n max-height: 260px;\n overflow: auto;\n}\n\n.notification-list-container .notification-item {\n padding: 14px 16px 14px 10px;\n border-bottom: 1px solid #ededed;\n position: relative;\n cursor: pointer;\n}\n\n.notification-list-container .notification-item:last-child {\n border-bottom: none;\n}\n\n.notification-list-container .notification-item:hover {\n background: #f5f5f5;\n}\n\n.notification-list-container .notification-item .notification-item-header {\n display: flex;\n align-items: center\n}\n\n.notification-list-container .notification-item .notification-point {\n display: inline-block;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: red;\n margin-right: 12px;\n position: absolute;\n}\n\n.notification-list-container .notification-item .notification-header-info {\n display: flex;\n justify-content: space-between;\n flex: 1;\n margin-left: 20px;\n width: calc(100% - 20px);\n}\n\n.notification-user-detail {\n display: flex;\n width: 65%;\n}\n\n.notification-user-detail img {\n margin-top: 3px;\n}\n\n.notification-user-name {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n font-weight: 500;\n}\n\n.notification-item .notification-header-info .notification-time {\n color: #b4b4b4;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n font-size: 13px;\n}\n\n.notification-list-container .notification-item .notification-content-wrapper {\n font-size: 13px;\n}\n\n.notification-item .notification-content-quotes {\n width: 8px;\n}\n\n.notification-list-container .notification-item .notification-comment-content {\n max-width: calc(100% - 16px);\n}\n\n.notification-list-container .notification-item .notification-comment-content p {\n display: inline-block;\n letter-spacing: 1px;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-bottom: 0;\n}\n\n.notification-list-container .notification-item .notification-comment-content p img {\n max-width: 70%;\n height: auto;\n max-height: 60px;\n}\n\n.notification-body .notification-footer {\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f9f9f9;\n cursor: pointer;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n border-top: 1px solid #ededed;\n}\n\n.notification-body .notification-footer:hover {\n text-decoration: underline;\n}\n",".upload-localimg .btn {\n margin-left: -1px;\n border: none;\n line-height: 20px;\n margin-right: 5px;\n padding: 0;\n color: #555;\n min-width: 30px;\n height: 30px;\n width: 30px;\n}\n\n.upload-localimg-disabled .btn {\n cursor: default;\n}\n\n.upload-localimg-hover .btn:hover {\n background-color: #e5e5e5;\n}\n\n.upload-localimg-disable .btn {\n color: #999999;\n}\n\n.editor-btn-group .image-uploader {\n display: none;\n}\n\n.editor-btn-group .image-uploader-label {\n margin-bottom: 0;\n width: 100%;\n padding: 0.25rem 1.5rem;\n}\n\n.editor-btn-group .image-uploader-btn {\n padding: 0;\n}\n\n.editor-btn-group .editor-clear-format {\n margin-right: 5px; \n}\n\n.insert-file {\n position: relative;\n display: inline-block;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n}\n.insert-file input {\n position: absolute;\n right: -7px;\n top: -7px;\n opacity: 0;\n filter: alpha(opacity=0);\n width: 40px;\n height: 40px;\n}\n.insert-file:hover {\n background-color: #e5e5e5;\n}\n.insert-file-disabled:hover {\n background-color: #fff;\n}\n.insert-file-disabled input {\n color: #999;\n}\n.button-container .toggle-side-panle-icon {\n position: absolute;\n}\n.rich-menu .side-panel-btn {\n display: none;\n}\n@media (max-width: 991.8px) {\n .button-container .toggle-side-panle-icon {\n display: none;\n }\n .rich-menu .side-panel-btn {\n display: block;\n }\n}\n",".seafile-ed-image {\n position: relative;\n display: inline-block;\n max-width: 100%;\n}\n\n.seafile-ed-image .seafile-ed-image-inResizing {\n box-shadow: 0 0 0 2px #007bff;\n}\n\n.seafile-ed-image .image-resizer {\n width: 10px;\n height: 10px;\n position: absolute;\n right: -5px;\n bottom: -5px;\n transform: ();\n background-color: #007bff;\n border: 1px solid #fff;\n cursor: se-resize;\n}\n\n.image-size {\n display: inline-block;\n padding: 5px;\n height: 22px;\n position: absolute;\n bottom: -25px;\n left: 100%;\n transform: translateX(5px);\n border-radius: 3px;\n line-height: 12px;\n color: #fff;\n background-color: #4c4c4c;\n font-size: 12px;\n}\n\n.seafile-ed-image .image-full-button {\n position: absolute;\n height: 26px;\n display: inline-block;\n width: 26px;\n top: 0;\n right: -32px;\n text-align: center;\n line-height: 20px;\n padding: 2px;\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n border: 1px solid rgba(0, 40, 100, 0.12);\n background-color: #fff;\n user-select: none!important;\n z-index: 1000;\n}\n\n.seafile-ed-image-viwer:hover .image-full-button {\n display: inline-block;\n}\n\n.seafile-ed-image-viwer .image-full-button {\n position: absolute;\n top: 5px;\n right: 5px;\n display: none;\n background-color: #efefef;\n cursor: pointer;\n}\n\n.image-full-button:hover{\n display: block;\n background-color: #efefef;\n}\n\n.image-tooltip {\n display: none;\n position: absolute;\n box-shadow: 0 0px 5px rgba(0, 0, 0, 0.2);\n left: 50%;\n bottom: -10px;\n transform: translate(-50%, 100%);\n background: #fff;\n padding: 2px;\n border-radius: 2px;\n white-space:nowrap;\n}\n\n.image-tooltip::before{\n position: absolute;\n content: '';\n top: -5px;\n left: 50%;\n margin-left: -5px;\n transform: rotate(45deg);\n border-width: 5px;\n border-style: solid;\n box-shadow: -2px -2px 3px rgba(0, 0, 0, 0.1);\n border-color:#fff transparent transparent #fff;\n}\n\n.image-full-button:hover .image-tooltip {\n display: inline;\n}\n\n/* set button font style in image previewer */\n.sf-editor-image-previewer button.dtable-icon-fork-number,\n.sf-editor-image-previewer .dtable-icon-right,\n.sf-editor-image-previewer .dtable-icon-left {\n font-family: \"iconfont\" !important;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.sf-editor-image-previewer button.dtable-icon-fork-number {\n font-size: 16px;\n line-height: normal;\n}\n\n.sf-editor-image-previewer .dtable-icon-left:before {\n content: \"\\e756\";\n}\n\n.sf-editor-image-previewer .dtable-icon-right:before {\n content: \"\\e755\";\n}\n\n.sf-editor-image-previewer .dtable-icon-fork-number:before {\n content: \"\\e6ce\";\n}\n\n.sf-editor-image-previewer.ril__outer .ril__navButtonPrev.dtable-font,\n.sf-editor-image-previewer.ril__outer .ril__navButtonNext.dtable-font {\n padding: 40px 30px 80px;\n}\n",".permission-editor-explanation {\n user-select: none;\n padding-left: 10px;\n color: #9c9c9c;\n font-size: 12px;\n word-break: keep-all;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n.permission-editor .permission-editor__option {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.permission-editor .permission-editor__control .permission-editor-explanation {\n display: none;\n}\n\n.cur-view-content .permission-editor-select .permission-editor__control,\n.cur-view-content .permission-editor-select .permission-editor__control div,\n.cur-view-content .permission-editor-select .permission-editor__control .permission-editor__input,\n.cur-view-content .permission-editor-select .permission-editor__indicators {\n height: 1.5rem;\n min-height: 1.5rem;\n}\n\n.cur-view-content .permission-editor-select .permission-editor__value-container div:nth-child(2) {\n margin: 0;\n padding: 0;\n}\n\n.cur-view-content .permission-editor-select .permission-editor__indicators .permission-editor__indicator {\n padding: 0 0.5rem;\n}\n\n.permission-editor__menu .permission-editor__option--is-disabled {\n color: #9c9c9c;\n border-top: 1px solid #dedede;\n}\n\n.permission-editor__menu .permission-editor__option--is-disabled:hover {\n background-color: #f0f0f0 !important;\n color: #9c9c9c !important;\n}\n\n.permission-editor-btn-add-custom-permission {\n display: flex;\n align-items: center;\n padding: .5rem 0;\n font-size: 12px;\n line-height: 13px;\n}\n\n.permission-editor-btn-add-custom-permission .fa {\n font-size: 12px;\n line-height: 13px;\n margin-right: .25rem;\n}\n\n.share-dialog-main .permission-editor .permission-editor__placeholder,\n.share-dialog-main .true__menu,\n.share-dialog-main .true__placeholder,\n.permission-editor .btn-add-custom-permission span {\n word-break: keep-all;\n}\n",".article .virtual-link {\n color: #eb8205;\n}\n\n.article .virtual-link:hover {\n text-decoration: underline;\n}\n","/*tree view */\n/* \n* .tree-view .tree\n* .tree-node\n* .tree-node-inner\n* .tree-node-icon\n* .folder-toggle-icon\n* .tree-node-text \n* \n*/\n.seafile-editor-module .tree-view {\n padding-left: 10px;\n line-height: 1.5;\n}\n\n.seafile-editor-module .tree-view-loading {\n text-align: center;\n margin-top: 2rem;\n font-size: 1.5rem;\n}\n\n.seafile-editor-module .tree-view-loading i {\n color: #b0b0b0;\n -moz-animation: rotate 1.5s ease infinite;\n -webkit-animation: rotate 1.5s ease infinite;\n animation: rotate 1.5s ease infinite;\n}\n\n.seafile-editor-module .tree-node {\n min-width: -moz-max-content;\n min-width: -webkit-max-content;\n min-width: max-content;\n}\n\n.seafile-editor-module .tree-node:not([type = 'dir']):hover {\n background-color: rgb(255,239,178);\n}\n\n.seafile-editor-module .tree-node-inner {\n position: relative;\n padding-left: 12px;\n}\n\n/*\n the main reason to icon can not be align is that .folder has a real width it take the place\n of .tree-node-inner causing tree-node-icon not aligned , use absolute can make sure .tree-node-icon\n is always at the far left of .tree-node-inner\n*/\n.seafile-editor-module .tree-node-icon {\n margin-right: 0.4rem;\n margin-left: 0.1rem;\n display: inline-block;\n width: 1rem;\n text-align: center;\n color: #b0b0b0;\n}\n\n.folder-toggle-icon {\n position: absolute;\n left: 0;\n line-height: 1.5;\n color: silver;\n}\n\n.seafile-editor-module .folder-toggle-icon.folder-caret-right {\n left: -2.5px;\n}\n",".plain-editor {\n flex: 1;\n display: flex;\n min-height: 0;\n min-width: 0;\n position: relative;\n}\n\n/* fix plain editor main height */\n.plain-editor-main {\n position: absolute;\n inset: 0;\n}\n\n.plain-editor-left-panel {\n height: 100%;\n width: 50%;\n background-color: #fff;\n border-right: 1px solid rgb(230,230,221);\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.plain-editor-right-panel {\n height: 100%;\n width: 50%;\n background-color: rgb(250,250,249);\n overflow-y: scroll;\n overflow-x: hidden;\n}\n","\n/* begin toobar-container */\n.cur-view-toolbar {\n position: relative;\n display: flex;\n flex: 1;\n align-items: center;\n height: 32px;\n}\n\n.border-left-show:before {\n position: absolute;\n top: 10px;\n left: -1px;\n width: 1px;\n height: 30px;\n content: '';\n background-color: #ddd;\n}\n\n/* end toolbar-container */\n\n/* file-operation toolbar eg: edit, upload, new, share*/\n.operation-item {\n padding: 0 0.5rem;\n margin-right: 0.25rem;\n height: 30px;\n min-width: 55px;\n background-color: #fff;\n line-height: 29px;\n font-weight: normal;\n border: 1px solid #ccc;\n border-radius: 2px;\n}\n\n.group-operations {\n margin-right: 0.25rem;\n}\n\n.group-operations .group-op-item {\n padding: 0 0.5rem;\n height: 30px;\n min-width: 46px;\n background-color: #fff;\n line-height: 29px;\n font-weight: normal;\n border: 1px solid #ccc;\n border-radius: 2px;\n font-size: 1.125rem;\n}\n/* end file-operation toolbar */\n\n/* begin view-mode toolbar */\n.detail-btn button,\n.sf-view-mode-btn {\n padding: 0;\n height: 30px;\n min-width: 2rem;\n color: #aaa;\n background-color: #fff;\n border: 1px solid #ccc;\n line-height: 29px;\n font-size: 18px;\n border-radius: 2px;\n}\n\n.detail-btn button {\n font-size: 15px;\n padding-top: 1px;\n}\n\n.sf-view-mode-btn.current-mode {\n background-color: #ccc !important;\n color: #fff !important;\n}\n/* end view-mode toolbar */\n\n/* begin common-toolbar */\n.common-toolbar {\n display: flex;\n margin-left: auto;\n align-items: center;\n}\n\n.common-toolbar > div{\n margin-left: .5rem;\n}\n\n.common-toolbar .logout-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n margin-left: 8px;\n text-decoration: none;\n color: #ccc;\n}\n/* end common-toolbar */\n\n/* begin path toolbar */\n.path-toolbar {\n list-style: none;\n}\n\n.path-toolbar .toolbar-item {\n display: inline-block;\n text-align: center;\n margin-left: 0.75rem;\n}\n\n.path-toolbar .toolbar-item a {\n color:#8a8a8a;\n font-size:22px;\n}\n\n\n.path-toolbar .toolbar-item a:hover {\n color:#eb8205;\n text-decoration:none;\n}\n/* end path toolbar */\n\n@media (max-width: 767px) {\n .border-left-show:before {\n width: 0;\n }\n}\n",".search-mask {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.2);\n z-index: 1;\n}\n\n.search-container {\n position: relative;\n z-index: 2;\n}\n\n.search-container.show {\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 10px;\n right: 110px;\n min-height: 200px;\n border-radius: 3px;\n box-shadow: 0 3px 8px 0 rgba(116,129,141,.1);\n background-color: #fff;\n cursor: default;\n overflow: hidden;\n width: 600px;\n padding: 1rem 0rem 0rem 1rem;\n}\n\n.search-icon-left {\n display: flex;\n}\n\n.search-icon-right {\n display: flex;\n cursor: pointer;\n pointer-events: all;\n font-style: normal;\n min-width: 25px;\n color: #999;\n}\n\n.search-icon-right:hover {\n color: #333;\n text-decoration: none;\n}\n\n.search-icon-arrow {\n right: 40px;\n left: auto;\n}\n\n.search-input {\n height: 1.875rem;\n width: 15rem;\n font-size: .875rem;\n}\n\n.search-container.show .search-input {\n height: 38px;\n}\n\n.search-result-container {\n position: absolute;\n top: 2rem;\n left: 0;\n width: 100%;\n background-color: #fff;\n border-radius: 0 0 3px 3px;\n box-shadow: 0 3px 8px 0 rgba(116, 129, 141, 0.1);\n top: 60px;\n}\n\n.dropdown-search-result-container {\n max-height: 300px;\n overflow: auto;\n position: relative;\n top: 0;\n box-shadow: none;\n}\n\n.search-result-container .search-result-none {\n text-align: center;\n line-height: 4rem;\n}\n\n.search-result-container .search-result-list {\n margin: 4px 0;\n padding: 0;\n list-style: none;\n}\n\n.search-result-list .item-content .item-name {\n color: #eb8205!important;\n}\n\n.search-result-container .search-result-item {\n display: flex;\n padding: 10px 0 10px 8px;\n font-size: 0.8125rem;\n cursor: pointer;\n margin-right: 1rem;\n border-radius: 4px;\n}\n\n.search-result-container .search-result-item:hover,\n.search-result-container .search-result-item.search-result-item-highlight {\n background-color: #f0f0f0;\n}\n\n.search-result-item .item-img {\n width: 36px;\n height: 36px;\n}\n.search-result-item .lib-item-img {\n width: 36px;\n height: 36px;\n padding: 4px;\n}\n.search-result-item .item-content {\n flex: 1;\n margin-left: 0.25rem;\n overflow-x: hidden;\n}\n.item-content .item-name a {\n color: #EA8102 !important;\n}\n.item-content .item-link {\n color: #7d7d7d;\n margin: 0;\n}\n.item-content .item-text {\n margin: 0;\n}\n.item-content .item-text b {\n font-weight: bold;\n}\n.search-result-container .item-content .item-text {\n padding: 0;\n font-size: 0.8125rem;\n line-height: 1.5;\n}\n\n.main-panel-south {\n flex: auto;\n overflow: auto;\n height: calc(100% - 50px);\n}\n.search-page {\n margin: 30px auto;\n width: 65%;\n}\n.search-page .search-result-container {\n border-radius: 0;\n box-shadow: none;\n padding: 1.25rem 1rem;\n}\n.search-page .search-page-container {\n padding: 1.25rem 1rem;\n background: #f7f7f8;\n}\n.search-page .search-page-container .search-input {\n padding-left: 0.5rem;\n width: 30rem;\n}\n.search-page .search-page-container .fa-angle-double-up,\n.search-page .search-page-container .fa-angle-double-down {\n font-size: 1rem;\n}\n.search-page .advanced-search .search-file-types .search-input {\n padding-left: 0.5rem;\n width: 30rem;\n max-width: 100%;\n}\n.search-page .search-page-container .search-icon-right {\n left: 28rem;\n}\n.search-page .paginator {\n text-align: center;\n margin: 1rem 0;\n}\n.search-page .advanced-search, .search-page .search-filters {\n color: #747474;\n}\n.search-page .search-filters {\n padding-top: 10px;\n}\n.search-page .advanced-search .search-repo, \n.search-page .advanced-search .search-file-types {\n padding: 5px 0;\n}\n.search-file-types .search-file-types-form {\n top: 10px;\n}\n.search-page .advanced-search .search-catalog {\n border-top: 1px dashed #e2e2e2;\n padding: 10px 0;\n}\n.search-page .advanced-search .search-catalog:first-child {\n border: none;\n}\n.search-page .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #3B88FD;\n}\n.search-date .ant-input {\n height: 2.375rem;\n padding: 0.375rem 0.75rem;\n line-height: 1.6;\n border: 1px solid rgba(0, 40, 100, 0.12);\n border-radius: 3px;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.search-date .select-data-icon {\n position: absolute;\n right: 1.5rem;\n top: 0.5rem;\n color: #b2b2b2;\n}\n.search-page .search-result-container .search-result-item {\n padding: 0;\n margin-bottom: 1rem;\n}\n.search-page .search-result-container .search-result-item:hover {\n background-color: inherit;\n}\n.search-page .search-result-item .item-content {\n margin-left: 0.8rem;\n}\n.search-page .search-result-item .item-content .item-link a {\n color: #8b8b8b !important;\n}\n.search-page .search-result-container .search-result-item {\n cursor: default;\n}\n.rc-calendar tbody tr {\n height: 1.75rem;\n}\n\n@media (max-width: 767px) {\n .common-toolbar .search {\n margin: 0;\n }\n \n .search-icon-container {\n display: flex;\n width: 2rem;\n align-items: center;\n justify-content: center;\n }\n\n .search-icon {\n font-size: 1.25rem;\n line-height: 1;\n color: #999;\n }\n\n .search-container {\n position: fixed;\n z-index: 2;\n top: 5rem;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n }\n\n .search-input {\n height: 2.5rem;\n width: 20rem !important;\n box-shadow: 5px 5px 5px #888888;\n }\n\n .search-result-container {\n position: absolute;\n top: 2.5rem;\n left: auto;\n width: 20rem;\n }\n\n .search-page {\n margin: 0;\n width: 100%;\n height: 100%;\n }\n\n .search-page .search-page-container .search-input {\n box-shadow: none;\n width: 95% !important;\n }\n\n .search-page .search-page-container .search-icon-right {\n left: 85%;\n }\n\n .search-page .search-result-container {\n top: 0;\n left: 0;\n width: 100%;\n }\n}\n",".notification-list-dialog {\n width: 720px;\n max-width: 720px;\n height: calc(100% - 56px);\n}\n\n.notification-list-dialog .notification-list-content {\n height: 100%;\n}\n\n.notification-header-close {\n display: flex;\n}\n\n.notification-header-close .notification-dropdown-toggle {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 24px;\n width: 24px\n}\n\n.notification-header-close .item-dropdown-icon,\n.notification-header-close .notification-close-icon {\n height: 24px;\n width: 24px;\n cursor: pointer;\n color: #000;\n opacity: 0.5;\n}\n\n.notification-header-close .notification-close-icon:hover,\n.notification-header-close .item-dropdown-icon:hover {\n color: #000;\n opacity: 0.75;\n}\n\n/* The icon \"...\" do not need to be bold */\n.notification-header-close .item-dropdown-icon {\n font-weight: 400;\n}\n\n/* The icon 'x' needs to be bold */\n.notification-header-close .notification-close-icon {\n font-weight: 700;\n}\n\n.notification-header-close .dropdown-menu {\n min-width: 8rem;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n}\n\n.notification-header-close .dtable-dropdown-menu.large.dropdown-menu .dropdown-item {\n padding: 0.25rem 1.5rem;\n min-height: unset;\n}\n\n.notification-list-content .notification-modal-body {\n height: 100%;\n overflow: hidden;\n padding: 0;\n}\n\n.notification-modal-body .notification-dialog-body {\n overflow: auto;\n padding: 2rem 1rem;\n height: 100%;\n}\n\n.notification-dialog-body table {\n width: 100%;\n table-layout: fixed;\n overflow-y: auto;\n}\n\n.notification-modal-body .notification-dialog-body .paginator {\n height: 38px;\n}\n\n.notification-dialog-body table thead tr {\n height: 2.1875rem;\n}\n\n.notification-dialog-body table th {\n padding: 0.3125rem 0.1875rem;\n border-bottom: 1px solid #eee;\n text-align: left;\n font-weight: normal;\n line-height: 1.6;\n color: #9c9c9c;\n}\n\n.notification-dialog-body table tbody tr:hover {\n background: #f5f5f5;\n cursor: pointer;\n}\n\n.notification-dialog-body table td {\n padding: 0.5rem 0.1875rem;\n border-bottom: 1px solid #eee;\n color: #333;\n font-size: 14px;\n word-break: break-all;\n}\n\n.wechat-dialog-body {\n display: flex;\n justify-content: center;\n padding: 3rem;\n flex-direction: column;\n align-items: center;\n}\n\n.wechat-dialog-message {\n width: 100%;\n display: flex;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n margin-top: 1rem;\n color: #666;\n font-size: 14px;\n}\n\n.notification-dialog-body .empty-tip {\n margin: 5.5em 1em;\n border-radius: 3px;\n padding: 30px;\n background-color: #fff;\n text-align: center;\n}\n\n.notification-dialog-body .empty-tip .no-items-img-tip {\n width: 100px;\n height: 100px;\n}\n\n@media (min-width: 768px) {\n .notification-dialog-body .empty-tip {\n padding: 30px 80px;\n }\n}\n","#notifications {\n position: relative;\n width: 32px;\n}\n\n#notice-icon {\n position: relative;\n display: block;\n}\n\n@media (max-width: 390px) {\n #notifications {\n margin-left: 8px;\n }\n}\n\n#notifications .title {\n line-height: 1.5;\n font-size: 1rem;\n color: #322;\n font-weight: normal;\n}\n\n#notifications .sf2-icon-bell {\n font-size: 24px;\n line-height: 1;\n color: #999;\n vertical-align: middle;\n}\n\n#notifications .num {\n position: absolute;\n top: -3px;\n left: 12px;\n padding: 0 2px;\n min-width: 16px;\n height: 16px;\n color: #fff;\n font-size: 9px;\n line-height: 16px;\n text-align: center;\n background: #fc6440;\n border-radius: 100%;\n}\n\n#notice-popover {\n top: 38px;\n right: -12px;\n}\n\n#notice-popover .outer-caret {\n right: 18px;\n}\n\n#notice-popover a {\n font-weight: normal;\n}\n\n#notice-popover li {\n padding: 9px 0 3px;\n border-bottom: 1px solid #dfdfe1;\n}\n\n#notice-popover li.unread {\n padding-right: 10px;\n padding-left: 10px;\n border-left: 2px solid #feac74;\n}\n\n#notice-popover li.read {\n padding-right: 10px;\n padding-left: 10px;\n border-left: 2px solid transparent;\n}\n\n#notice-popover li:hover {\n background: #f5f5f7;\n}\n\n#notice-popover li.read:hover {\n background: #f5f5f7;\n border-left: 2px solid #dfdfe1;\n}\n\n#notice-popover .avatar {\n border-radius: 1000px;\n float: left;\n}\n\n#notice-popover .brief {\n margin-left: 40px;\n margin-bottom: 1rem;\n font-size: 0.8125rem;\n line-height: 1.5rem;\n}\n\n#notice-popover .time {\n margin: 0;\n color: #999;\n text-align: right;\n font-size: 0.8125rem;\n line-height: 1.5rem;\n clear: both;\n}\n\n#notice-popover .view-all {\n display: block;\n padding: 7px 0;\n text-align: center;\n color: #a4a4a4;\n}\n\n#notice-popover .sf-popover-close {\n position: absolute;\n right: 10px;\n top: 17px;\n}\n\n#notice-popover .sf-popover-hd {\n border-bottom: 1px solid #dfdfe1;\n margin: 0 10px;\n}\n\n#notice-popover .sf-popover-con {\n max-height: 25rem;\n}\n","/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor .CodeMirror-line::selection,\n.cm-fat-cursor .CodeMirror-line > span::selection, \n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\n.cm-fat-cursor { caret-color: transparent; }\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n z-index: 0;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n",".btn-qr-code-icon {\n font-size: 1.5rem;\n line-height: 1;\n font-weight: normal;\n padding: 0.375rem;\n}\n","/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tcolor: black;\n\tbackground: none;\n\ttext-shadow: 0 1px white;\n\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre[class*=\"language-\"]::-moz-selection, pre[class*=\"language-\"] ::-moz-selection,\ncode[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\npre[class*=\"language-\"]::selection, pre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\n@media print {\n\tcode[class*=\"language-\"],\n\tpre[class*=\"language-\"] {\n\t\ttext-shadow: none;\n\t}\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tbackground: #f5f2f0;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #999;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n\tcolor: #9a6e3a;\n\t/* This background color was intended by the author of this theme. */\n\tbackground: hsla(0, 0%, 100%, .5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n\tcolor: #07a;\n}\n\n.token.function,\n.token.class-name {\n\tcolor: #DD4A68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n\tcolor: #e90;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n",".rendered-markdown.article {\n padding:0 20px 20px;\n}\n\n.rendered-markdown tbody tr:first-child {\n font-weight: 400;\n}\n\n.CodeMirror {\n height: auto;\n font-size: 0.8125rem;\n}\n"," /* to overwrite styles from seahub_react.css */\n.rc-calendar-table {\n table-layout: auto;\n}\n.rc-calendar-table tbody tr {\n height: auto;\n}\n\n/* overwrite some styles */\n/* for 'markdown file view -> share -> picker' */\n.rc-calendar-input:focus {\n border-color: transparent;\n}\n",".keyboard-shortcut-dialog {\n max-width: 500px;\n}\n\n.keyboard-shortcut-dialog .modal-body {\n max-height: 390px;\n overflow: auto;\n}\n\n.keyboard-shortcut-container {\n line-height: 1.5;\n border-radius: 3px;\n padding-top: .5rem;\n padding-bottom: .5rem;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n margin-top: 3px;\n background-color: rgb(248, 248, 248);\n}\n\n.keyboard-shortcut-title {\n font-size: 0.9rem;\n}\n\n.keyboard-shortcut-container>div:first-child {\n text-align: right;\n}\n\n.keyboard-shortcut-container>div:last-child {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.keyboard-shortcut {\n display: inline-block;\n}\n\n.keyboard-shortcut kbd {\n font: inherit;\n background-color: hsla(0,0%,100%,0.25);\n border-color: rgba(0,0,0,0.1);\n text-transform: uppercase;\n text-align: center;\n border-radius: 3px;\n color: #333333;\n box-sizing: border-box;\n border-style: solid;\n border-width: 1px;\n display: inline-block;\n border-bottom-width: 2px;\n font-size: 12px;\n margin-left: 1px;\n margin-right: 1px;\n margin-bottom: 0px;\n min-width: 12px;\n padding: 1px 3px;\n}\n",".user-option-name {\n font-size: 14px;\n font-weight: 500;\n}\n.user-option-email {\n font-size: 12px;\n}\n","div.code-toolbar {\n\tposition: relative;\n}\n\ndiv.code-toolbar > .toolbar {\n\tposition: absolute;\n\ttop: .3em;\n\tright: .2em;\n\ttransition: opacity 0.3s ease-in-out;\n\topacity: 0;\n}\n\ndiv.code-toolbar:hover > .toolbar {\n\topacity: 1;\n}\n\n/* Separate line b/c rules are thrown out if selector is invalid.\n IE11 and old Edge versions don't support :focus-within. */\ndiv.code-toolbar:focus-within > .toolbar {\n\topacity: 1;\n}\n\ndiv.code-toolbar > .toolbar .toolbar-item {\n\tdisplay: inline-block;\n}\n\ndiv.code-toolbar > .toolbar a {\n\tcursor: pointer;\n}\n\ndiv.code-toolbar > .toolbar button {\n\tbackground: none;\n\tborder: 0;\n\tcolor: inherit;\n\tfont: inherit;\n\tline-height: normal;\n\toverflow: visible;\n\tpadding: 0;\n\t-webkit-user-select: none; /* for button */\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n}\n\ndiv.code-toolbar > .toolbar a,\ndiv.code-toolbar > .toolbar button,\ndiv.code-toolbar > .toolbar span {\n\tcolor: #bbb;\n\tfont-size: .8em;\n\tpadding: 0 .5em;\n\tbackground: #f5f2f0;\n\tbackground: rgba(224, 224, 224, 0.2);\n\tbox-shadow: 0 2px 0 0 rgba(0,0,0,0.2);\n\tborder-radius: .5em;\n}\n\ndiv.code-toolbar > .toolbar a:hover,\ndiv.code-toolbar > .toolbar a:focus,\ndiv.code-toolbar > .toolbar button:hover,\ndiv.code-toolbar > .toolbar button:focus,\ndiv.code-toolbar > .toolbar span:hover,\ndiv.code-toolbar > .toolbar span:focus {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n",".invite-accept-icon {\n color: green;\n margin-left: 0.5rem;\n font-size: 1.25rem;\n font-style: normal;\n line-height: 1;\n vertical-align: middle;\n}\n\n.invite-link-in-popup,\n.invite-link-in-popup:hover {\n text-decoration: none;\n}\n\n.invite-link-icon-in-popup {\n color: #f89a68;\n margin-left: 0.5rem;\n font-size: 0.875rem;\n font-style: normal;\n line-height: 1;\n cursor: pointer;\n vertical-align: middle;\n}\n\n.submit-btn .loading-icon {\n margin: 1px auto;\n width: 21px;\n height: 21px;\n}\n","pre[class*=\"language-\"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*=\"language-\"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n",".user-details-popover {\n border: 1px solid #eee;\n border-radius: 4px;\n box-shadow: 0 0 14px rgba(0, 0, 0, 0.14);\n background: #fff;\n z-index: 1000;\n left: 2px;\n}\n.user-details-main {\n border-bottom: 1px solid #eee;\n}\n.user-details-name {\n font-size: 1rem;\n font-weight: 500;\n}\n",".seatable-simple-editor {\n flex: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 768px;\n overflow: hidden;\n border: 1px solid #e5e5e5;\n}\n\n.seatable-simple-editor .seafile-editor-topbar {\n width: 100%;\n background-color: #fff;\n border-bottom: 1px solid #e5e5e5;\n box-shadow: 0 3px 2px -2px rgba(200,200,200,.15);\n user-select: none;\n position: relative;\n z-index: 3;\n display: flex;\n justify-content: space-between;\n}\n\n.seatable-simple-editor .seafile-editor-topbar .use-help-icon {\n background-color: #fff;\n box-sizing: border-box;\n}\n\n.seatable-simple-editor .seafile-editor-topbar .editor-btn-group {\n height: 100%;\n padding: 5px 0 5px 5px;\n font-size: 0.75rem;\n border-right: 1px solid #e5e5e5;\n color: #555555;\n}\n\n.seatable-simple-editor .header-list-container {\n border-left: 0;\n}\n\n.seatable-simple-editor .editor {\n margin: 0;\n padding: 10px;\n height: 100%;\n border: none;\n}\n\n/*set scroll bar*/\n.editor-container::-webkit-scrollbar{\n width: 8px;\n height: 8px;\n}\n\n.editor-container::-webkit-scrollbar-button {\n display: none;\n}\n\n.editor-container::-webkit-scrollbar-thumb {\n background-color: rgb(206, 206, 212);\n border-radius: 10px;\n}\n\n.editor-container {\n /* this container is needed to show the scroll bar */\n height: 100%;\n overflow-y: auto;\n flex: 1 1 auto;\n position: relative;\n}\n\n.editor {\n min-height: calc(100% - 40px);\n background: #fff;\n padding: 40px 60px;\n margin: 20px 40px;\n border: 1px solid rgb(230,230,221);\n overflow-x: hidden;\n}",".share-dialog .share-dialog-content {\n padding: 0;\n min-height: 27rem;\n display: flex;\n flex-direction: column;\n}\n@media (min-width: 768px) {\n .share-dialog .share-dialog-content {\n flex-direction: row;\n }\n}\n\n.share-dialog-content .share-dialog-side {\n /*display: flex;*/\n flex-basis: 22%;\n padding: 1rem;\n border-bottom: 1px solid #eee;\n}\n\n.share-dialog .nav .nav-item .nav-link {\n padding: 0.3125rem 0.25rem;\n}\n\n@media (min-width: 768px) {\n .share-dialog-content .share-dialog-side {\n padding: 12px 8px;\n border: 0;\n border-right: 1px solid #eee;\n }\n .share-dialog-side .nav {\n flex-direction: column;\n }\n .share-dialog-side .nav-pills .nav-item .nav-link {\n width: 100%;\n padding: 0.3125rem 0.5rem;\n margin: 0;\n }\n}\n\n.share-dialog-content .share-dialog-main {\n display: flex;\n flex-basis: 78%;\n padding: 1rem;\n}\n\n.share-dialog-content .share-dialog-main .tab-content {\n flex: 1;\n}\n\n.share-dialog-content .share-dialog-main .tab-pane {\n height: 100%;\n overflow: auto;\n}\n\n.share-list-container {\n max-height: 18rem;\n min-height: 10rem;\n}\n\n.share-dialog-content label {\n padding: 0.5rem 0 0.25rem;\n}\n\n.share-dialog-content label.form-check-label {\n padding: 0.25rem 0;\n}\n\n.link-operation-content {\n margin-left: 1.25rem;\n}\n\n.link-operation-icon {\n color: #9aa0ac;\n}\n\n.tip {\n color: #808080;\n margin-bottom: 1rem;\n}\n\n.generate-share-link .passwd,\n.generate-upload-link .passwd {\n width: 60%;\n}\n\n.generate-share-link .permission {\n margin-left: 2.5rem;\n}\n\n.generate-link-btn {\n margin-top: 1.125rem;\n}\n\ninput.expire-input {\n display: inline-block;\n width: 4rem;\n height: 1.5rem;\n padding: 0.25rem 0.25rem;\n margin: 0 0.25rem 0 1.25rem;\n}\n\n.expire-input-border {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n height: 2.375rem!important;\n padding: 0.375rem 0.75rem!important;\n}\n\n.share-dialog-main .permission-editor .permission-editor__menu {\n width: 240px;\n}\n\n.expir-span {\n border: 1px solid rgba(0, 40, 100, 0.12);\n border-left: none;\n font-size: 0.9375rem;\n margin-left: -5px;\n padding: 0px 8px;\n height: 2.375rem;\n display: inline-block;\n text-align: center;\n position: absolute;\n top: 4px;\n min-width: 2.375rem;\n line-height: 2.25;\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n\n.custom-permission .permission-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: .375rem 0;\n border-bottom: 1px solid #efefef;\n}\n\n.custom-permission .permission-header .back-icon {\n color: #999;\n margin-right: 10px;\n cursor: pointer;\n}\n\n.custom-permission .permission-name-desc {\n margin-top: .375rem;\n}\n \n.custom-permission .permission-name-desc label {\n font-size: 14px;\n color: #999;\n} \n\n.custom-permission .permission-name-desc .permission-name,\n.custom-permission .permission-name-desc .permission-desc {\n flex: 1;\n}\n\n.custom-permission .permission-name-desc .permission-desc {\n margin-left: .4rem;\n}\n\n.custom-permission .permissions-list-body {\n max-height: 350px;\n overflow-y: scroll;\n }\n",".seafile-simple-editor {\n flex: 1;\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 768px;\n overflow: hidden;\n border: 1px solid #e5e5e5;\n}\n\n.seafile-simple-editor .seafile-editor-topbar {\n width: 100%;\n background-color: #fff;\n border-bottom: 1px solid #e5e5e5;\n box-shadow: 0 3px 2px -2px rgba(200,200,200,.15);\n user-select: none;\n position: relative;\n z-index: 3;\n display: flex;\n justify-content: space-between;\n}\n\n.seafile-simple-editor .seafile-editor-topbar .use-help-icon {\n background-color: #fff;\n box-sizing: border-box;\n}\n\n.seafile-simple-editor .seafile-editor-topbar .editor-btn-group {\n height: 100%;\n padding: 5px 0 5px 5px;\n font-size: 0.75rem;\n border-right: 1px solid #e5e5e5;\n color: #555555;\n}\n\n.seafile-simple-editor .header-list-container {\n border-left: 0;\n}\n\n.seafile-simple-editor .editor {\n margin: 0;\n padding: 10px;\n height: 100%;\n border: none;\n}\n\n/*set scroll bar*/\n.seafile-simple-editor ::-webkit-scrollbar{\n width: 8px;\n height: 8px;\n}\n\n.seafile-simple-editor ::-webkit-scrollbar-button {\n display: none;\n}\n\n.seafile-simple-editor ::-webkit-scrollbar-thumb {\n background-color: rgb(206, 206, 212);\n border-radius: 10px;\n}\n\n.editor-container {\n /* this container is needed to show the scroll bar */\n height: 100%;\n overflow-y: auto;\n flex: 1 1 auto;\n position: relative;\n}\n\n.editor {\n min-height: calc(100% - 40px);\n background: #fff;\n padding: 40px 60px;\n margin: 20px 40px;\n border: 1px solid rgb(230,230,221);\n overflow-x: hidden;\n}",".sf-editor-image-previewer .ril__caption {\n justify-content: center !important;\n}\n",".file-chooser-container {\n padding: 0.5rem;\n height: 20rem;\n border: 1px solid rgba(0, 40, 100, 0.12);\n border-radius: 3px;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n overflow: auto;\n font-size: 1rem;\n}\n\n.item-toggle{\n position: absolute;\n height: 1.5rem;\n width: 1.5rem;\n left: 0;\n top: 0;\n line-height: 1.5rem !important;\n text-align: center;\n cursor: pointer;\n color: #c0c0c0;\n}\n\n.file-chooser-container .list-view {\n margin-top: 0.25rem;\n}\n\n.list-view-header {\n position: relative;\n padding-left: 1.5rem;\n}\n.list-view-header:hover {\n background-color: #FDEFB9;\n}\n\n.list-view-header .name {\n color: #eb8205;\n}\n\n.list-view-content {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.file-chooser-item {\n position: relative;\n padding-left: 22px;\n}\n\n.file-chooser-item .item-info {\n height: 1.5rem;\n cursor: pointer;\n position: relative;\n line-height: 1.625;\n}\n\n.file-chooser-item .item-active {\n background: #F3AF7D !important;\n border-radius: 2px;\n box-shadow: inset 0 0 1px #999;\n color: #fff;\n}\n\n .file-chooser-item .item-info:hover {\n background: #FDEFB9;\n border-radius: 2px;\n box-shadow: inset 0 0 1px #999;\n}\n\n.file-chooser-item .item-info .name {\n flex: 1;\n}\n\n.file-chooser-item .item-active .icon {\n color: #fff !important;\n}\n\n.file-chooser-search-input {\n position: relative;\n}\n\n.file-chooser-search-input .search-control {\n position: absolute;\n top: 0.5rem;\n right: 0.7rem;\n}\n\n.file-chooser-search-input .search-input {\n width: 100%;\n}\n\n.file-chooser-search-container {\n height: 20rem;\n position: relative;\n border: 1px solid #eee;\n padding: 10px;\n overflow: auto;\n}\n\n.file-chooser-search-close {\n position: absolute;\n right: -0.5rem;\n top: -0.5rem;\n}\n\n.searched-active {\n background: #F3AF7D !important;\n border-radius: 2px;\n box-shadow: inset 0 0 1px #999;\n}\n\n.searched-active td {\n color: #fff;\n}\n\n.searched-active .icon {\n color: #fff !important;\n}\n\n.select-open-repo {\n background: #FDEFB9;\n}\n\n.file-chooser-table td {\n border-bottom: 1px solid rgba(0, 0, 0, 0);\n}\n\n.file-chooser-item .item-info .item-text {\n padding-left: 2.8rem;\n font-size: 15px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 24px;\n}\n\n.file-chooser-item .item-info .item-left-icon {\n position: absolute;\n display: flex;\n align-items: center;\n top: 0;\n left: 0;\n padding-left: 1.5rem;\n}\n\n\n\n\n","#wrapper {\n height: 100%;\n}\n\n.shared-file-view-md {\n height: 100%;\n overflow-y: hidden;\n}\n\n.shared-file-view-md-header {\n background: #f4f4f7;\n height: 53px;\n border-bottom: 1px solid #e8e8e8;\n padding: 8px 16px 4px;\n justify-content: space-between;\n}\n\n.shared-file-view-md-main {\n height: calc(100% - 53px);\n}\n\n.shared-file-view-head {\n width: 950px;\n height: 60px;\n background: #fff;\n margin: 0 auto;\n display: flex;\n align-items:center;\n justify-content: space-between;\n}\n\n.shared-file-view-head h2 {\n color: #222;\n font-size: 1.4em;\n margin-bottom: 0px;\n font-weight: 400;\n}\n\n.shared-file-view-head .share-by {\n margin: 0;\n}\n\n.shared-file-view-body {\n height: calc(100% - 60px);\n padding: 30px 0 15px;\n background: #f4f4f4;\n border: 1px solid #ededed;\n overflow: auto;\n}\n\n.shared-file-view-body .article {\n min-height: calc(100% - 15px);\n background: #fff;\n padding: 40px 60px;\n margin: 0 340px 15px 40px;\n border: 1px solid #e6e6dd;\n}\n\n.shared-file-view-body .article-no-outline {\n max-width: 950px;\n margin: 0 auto 15px;\n}\n\n.shared-file-view-body .seafile-markdown-outline {\n width: 300px;\n top: 145px;\n bottom: 30px;\n height: auto;\n}\n\n@media (max-width: 991.98px) {\n .shared-file-view-head {\n width: 100%;\n padding: 10px 20px;\n }\n .shared-file-view-body .md-view {\n width: 95%;\n }\n .shared-file-view-body .md-view {\n padding: 55px 50px;\n }\n}\n\n@media (max-width: 768px) {\n .shared-file-view-body .md-view {\n padding: 0 10px;\n width: 100%;\n }\n\n .shared-file-view-body .md-view .article {\n display: flex;\n padding: 20px;\n margin: 0;\n }\n\n .shared-file-view-body .seafile-markdown-outline {\n display: none;\n }\n}\n",".dialog-operation {\n display: flex;\n align-items: center;\n}\n\n.dialog-operation .file-internal-link {\n font-size: 12px;\n font-weight: 700;\n cursor: pointer;\n margin-left: 0.5rem;\n color: #999;\n margin-top: 2px;\n}\n\n.dialog-operation .file-internal-link:hover {\n color: #333;\n}\n",".diff-added {\n padding: 0 5px;\n margin: 0 -5px;\n background-color: #e6ffed;\n overflow: hidden;\n}\n\n.diff-removed {\n padding: 0 5px;\n margin: 0 -5px;\n overflow: hidden;\n background-color: #ffeef0;\n}\n\n.diff-removed * {\n border-left: none;\n padding-left: 0\n}\n\n.diff-added * {\n padding-left: 0;\n border-left: none;\n}\n\n\n.diff-replaced {\n padding-left: 2px;\n margin-left: -5px;\n border-left: 3px solid #f9c513;\n}\n\n.diff-replaced .diff-added {\n background-color: #e6ffed;\n margin-left: 0;\n padding-left: 0;\n overflow: visible;\n}\n\n.diff-replaced .diff-removed {\n overflow: visible;\n padding-left: 0;\n color: #cb2431;\n margin-left: 0;\n background-color: #ffeef0;\n}\n\n.diff-replaced .diff-replaced {\n border-left: none;\n margin-left: 0;\n overflow: visible;\n}\n\n.diff-replaced .diff-removed-container {\n padding: 0 5px;\n margin: 0 -5px;\n background-color: #ffeef0;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.diff-replaced .diff-added-container {\n padding: 0 5px;\n margin: 0 -5px;\n background-color: #e6ffed;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n\n.diff-replaced table .diff-added {\n background-color: #e6ffed;\n padding: 0 0;\n margin: 0;\n}\n\n.diff-replaced table .diff-removed {\n background-color: #ffeef0;\n margin: 0;\n padding: 0 0;\n}\n\n.diff-replaced table tr.diff-replaced {\n padding-left: 0;\n}\n\n.diff-replaced del {\n background-color: #fdb8c0;\n text-decoration: none;\n color: #cb2431;\n}\n\n.diff-replaced ins {\n background-color: #acf2bd;\n text-decoration: none;\n}\n\n.article .diff-replaced .old-paragraph {\n background-color: #ffeef0;\n margin-bottom: 0;\n}\n\n.article .diff-replaced .new-paragraph {\n background-color: #e6ffed;\n margin-top: 0;\n}\n",".file-tag-list .file-tag-item {\n display: flex;\n align-items: center;\n max-width: 180px;\n margin: 0.25rem 0;\n padding: 0 0.5rem;\n width: fit-content;\n border-radius: 10px;\n}\n\n.file-tag-list .file-tag-item .tag-name {\n color: #fff;\n font-size: 13px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n","#root {\n height: 100%;\n}\n.seafile-md-viewer-content .article {\n padding: 0;\n}\n.seafile-md-viewer-content {\n background: #fff;\n padding: 70px 75px;\n border:1px solid #e6e6dd;\n min-height: calc(100% - 60px);\n}\n.seafile-md-viewer-outline-heading2,\n.seafile-md-viewer-outline-heading3 {\n margin-left: .75rem;\n line-height: 2.5;\n color:#666;\n white-space: nowrap;\n overflow:hidden;\n text-overflow:ellipsis;\n cursor:pointer;\n}\n.seafile-md-viewer-outline-heading3 {\n margin-left: 2rem;\n}\n.seafile-md-viewer-outline-heading2:hover,\n.seafile-md-viewer-outline-heading3:hover {\n color: #eb8205;\n}\n.seafile-markdown-outline {\n position: fixed;\n padding-right: 1rem;\n top: 97px;\n right: 0;\n width: 200px;\n overflow: auto;\n height: 80%;\n}\n.seafile-editor-outline {\n border-left: 1px solid #ddd;\n}\n.seafile-markdown-outline .active {\n color: #eb8205;\n border-left: 1px solid #eb8205;\n}\n.seafile-markdown-outline .outline-h2, .seafile-markdown-outline .outline-h3 {\n height: 30px;\n margin-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 14px;\n}\n.seafile-markdown-outline .outline-h2 {\n padding-left: 20px;\n}\n.seafile-markdown-outline .outline-h3 {\n padding-left: 40px;\n}\n@media (max-width:991.8px) {\n .seafile-md-viewer-content {\n padding: 40px;\n }\n}\n@media (max-width:768px) {\n .seafile-md-viewer-content {\n padding: 20px;\n }\n}\n",".detail-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n border-left: 1px solid #e8e8e8;\n}\n\n.detail-header {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 2.5rem;\n background-color: #f9f9f9;\n border-bottom: 1px solid #e8e8e8;\n height: 40px;\n}\n\n.detail-header .detail-control {\n padding-left: 0.5rem;\n font-size: 16px;\n color: #b9b9b9;\n}\n\n.detail-header .detail-control:hover {\n color: #888;\n}\n\n.detail-header .detail-title {\n margin-left: 0.25rem;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n width: 0; /* prevent strut flex layout */\n}\n\n.detail-header .detail-title .name {\n margin: 0 0.5rem 0 0.25rem;\n line-height: 1.5rem;\n vertical-align: middle;\n font-size: 1rem;\n color: #322;\n}\n\n.detail-body {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.dirent-info .img {\n height: 10rem;\n padding: 0.5rem 0;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dirent-info .img .thumbnail {\n max-width: calc(100% - 4px);\n max-height: 100%;\n display: inline-block;\n}\n\n.dirent-table-container {\n padding: 10px 20px 20px;\n display: flex;\n}\n\n.dirent-table-container tr {\n border: none;\n}\n\n.dirent-table-container table {\n flex: 1;\n}\n\n.dirent-table-container th,\n.dirent-table-container td {\n padding: 5px 3px;\n border: none;\n}\n\n.dirent-table-container th {\n font-size: 13px;\n text-align: left;\n font-weight: normal;\n color: #9c9c9c;\n}\n\n.dirent-table-container td {\n font-size: 14px;\n color: #333;\n word-break: break-all;\n}\n\n.dirent-table-container .file-tag-container th {\n vertical-align: top;\n list-style: none;\n padding-top: 8px;\n}\n\n.dirent-table-container .file-tag-container .tag-list {\n list-style: none;\n}\n\n.dirent-table-container .seafile-multicolor-icon.seafile-multicolor-icon-tag {\n width: 20px;\n height: 20px;\n cursor: pointer;\n}\n\n.file-related-files th {\n vertical-align: top;\n}\n\n.file-related-files td i {\n padding: 0;\n}\n\n.file-related-files td ul {\n list-style: none;\n max-height: 100px;\n overflow-y: scroll;\n white-space: nowrap;\n}\n\n.file-related-files td ul li {\n margin-bottom: 5px;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.file-related-files ul li a,\n.list-related-file-table tr td a {\n color: #333;\n}\n\n.list-related-file-body {\n min-height: 200px;\n max-height: 500px;\n overflow-y: scroll;\n}\n\n.no-related-file {\n text-align: center;\n}\n\n.sf-add-related-file .alert {\n margin: 0.5rem;\n}\n\n.sf-add-related-file .related-file-subtitle {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\n.detail-container .nav-item .nav-link, .detail-container .nav-item .nav-link i {\n margin: 0 auto;\n}\n\n.detail-container .edit-file-extra-attributes-btn {\n min-width: 80px;\n width: fit-content;\n max-width: 100%;\n height: 28px;\n line-height: 28px;\n padding: 0 10px;\n background-color: #f0f0f0;\n border-radius: 3px;\n color: #929292;\n font-size: 14px;\n text-align: center;\n cursor: pointer;\n}\n\n.detail-container .edit-file-extra-attributes-btn:hover {\n cursor: pointer;\n background-color: #dbdbdb;\n color: #666;\n}\n",".file-uploader-container {\n display: flex;\n /* flex: 1; */\n}\n\n.file-uploader {\n position: fixed;\n bottom: 99999px;\n}\n\n.uploader-list-view {\n display: flex;\n flex-direction: column;\n position: fixed;\n right: 1px;\n bottom: 1px;\n width: 35rem;\n height: 20rem;\n border: 1px solid #ddd;\n border-radius: 3px;\n box-shadow: 0 0 6px #ddd;\n background-color: #fff;\n z-index: 1050;\n}\n\n.uploader-list-header {\n background-color: #f0f0f0;\n padding: 0.375rem 0.625rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #322;\n display: flex;\n justify-content: space-between;\n min-height: 2.25rem;\n}\n\n.uploader-list-header .uploader-options span{\n display: inline-block;\n margin-left: 0.25rem;\n font-size: 18px;\n color: #b8b8b8;\n cursor: pointer;\n}\n\n.uploader-list-content {\n padding: 0rem 1rem 1.25rem;\n background-color: #fff;\n overflow: auto;\n}\n\n.file-upload-item {\n height: 44px;\n}\n\n.upload-progress .progress-container {\n height: 24px;\n padding: 4px 0;\n}\n\n.upload-progress .progress {\n height: 5px;\n width: 80%;\n}\n\n.upload-progress .progress .progress-bar {\n color: #e83;\n}\n\n.upload-progress .progress-text {\n margin-top: 2px;\n font-size: 12px;\n line-height: 12px;\n color: #666666;\n}\n\n.upload-operation .saving {\n color: #ee8204;\n word-wrap: break-word;\n}\n\n.disabled-link {\n color: #999999;\n}\n","#wrapper, .wrapper {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n/* for top bottom layout*/\n#header {\n display: flex;\n}\n\n/* for left right layout */\n#main {\n flex: 1;\n display: flex;\n min-height: 0;\n overflow: hidden;\n}\n\n.side-panel {\n flex: 0 0 22%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.main-panel {\n flex: 1 0 78%;\n display: flex;\n flex-direction: column;\n}\n\n@media (max-width: 767px) {\n .side-panel {\n position:fixed;\n left:-300px;\n z-index: 1031;\n width: 300px;\n max-width: calc(100% - 40px);\n height:100%;\n background:#f8f8f8;\n -webkit-transition: all 0.3s ease;\n -moz-transition: all 0.3s ease;\n transition: all 0.3s ease;\n }\n}\n\n.side-panel-north,\n.main-panel-north {\n position: relative;\n padding: .5rem 1rem;\n display: flex;\n flex-shrink: 0;\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n z-index: 100;\n}\n\n@media (max-width: 767px) {\n .side-panel-north {\n border-right: 1px solid #eee;\n }\n\n .main-panel-north {\n padding-bottom: 0.25rem;\n }\n}\n\n.side-panel-center,\n.main-panel-center {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n position: relative;\n}\n\n.side-panel-center,\n.side-panel-footer {\n min-height: 0;\n border-right: 1px solid #eee;\n}\n\n.cur-view-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n overflow: hidden;\n min-height: 0;\n}\n\n.cur-view-path {\n position: relative; /* for the ':after' */\n padding: 8px 16px;\n max-height: 40px;\n background:#f9f9f9;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n justify-content: space-between;\n}\n\n.cur-view-path:after {\n position: absolute;\n left: 16px;\n right: 16px;\n bottom: 0;\n content: '';\n border-bottom: 1px solid #e8e8e8;\n}\n\n.cur-view-content {\n padding: 0rem 1rem;\n flex: 1;\n min-height: 0;\n overflow: auto;\n display: flex;\n flex-direction: column;\n}\n\n.table-container {\n flex: 1;\n padding: 0 1rem 10rem;\n position: relative;\n}\n\n.table-drop-active::before {\n border: 1px solid rgba(69,170,242); \n content: '';\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n left: 0;\n z-index: -1;\n}\n\n.cur-view-content .article {\n padding: 40px;\n}\n\n.cur-view-content .hd {\n padding-bottom: 0;\n margin-bottom: .5em;\n height: 48px;\n padding: 9px 10px;\n background: #f2f2f2;\n border-radius: 2px;\n}\n\n.cur-view-content .tip {\n font-size: 14px;\n}\n\n.cur-view-detail {\n display: block;\n position: absolute;\n right: 0;\n background-color: #fff;\n width: 300px;\n height: 100%;\n box-shadow: -1px 0 3px 0 #ccc;\n animation: move .5s ease-in-out 1;\n z-index: 50;\n}\n\n@keyframes move {\n from {\n right: -500px;\n opacity: 0.5;\n }\n to {\n right: 0px;\n opacity: 1;\n }\n}\n\n.cur-view-detail .detail-container {\n height: 100%;\n}\n\n/* for reach/router */\n.reach-router,\ndiv[tabindex=\"-1\"][role=\"group\"] {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n}\n\n.header {\n padding: 0.625rem;\n display: flex;\n flex-shrink:0;\n align-items: center;\n justify-content: space-between;\n background-color: #fff;\n border-bottom: 1px solid #e5e5e5;\n box-shadow: 0 3px 2px -2px rgba(200,200,200,.15);\n}\n\n.header .cur-file-info {\n display: flex;\n margin-left: 0.5rem;\n}\n\n.header .info-item {\n display: flex;\n font-size: 1.2rem;\n font-weight: bold;\n margin-right: 0.5rem;\n align-items: center;\n justify-content: center;\n}\n\n.header .file-copywriting {\n margin-left: 0.5rem;\n font-size: 1rem;\n font-weight: normal;\n color: #999;\n}\n\n.header .file-feature {\n width: 2.9375rem;\n height: 2.9375rem;\n font-size: 1.8rem;\n background-color: #fbcb09;\n color: #fff;\n}\n\n.header .file-operation-btn {\n margin-right: 0.25rem;\n}\n\n.review {\n padding: 0;\n}\n\n.review .cur-file-info {\n margin: 0;\n}\n\n.review .file-feature {\n width: 4.1875rem;\n height: 4.1875rem;\n font-size: 3rem;\n}\n\n.review-state {\n position: relative;\n margin: auto 0.5rem;\n border: 1px solid transparent;\n border-radius: 3px;\n}\n\n.review-state-finished {\n color: #316100;\n background-color: #dff1cc;\n border-color: #d2ecb8;\n}\n\n.review-state-closed {\n color: #6b1110;\n background-color: #f5d2d2;\n border-color: #f1c1c0;\n}\n\n.review-state-closed:focus, \n.review-state-finished:focus {\n box-shadow: 0 0 0 0;\n}\n\nimg[src=\"\"],img:not([src]){ /* for first loading img*/\n opacity:0;\n}\n\n.cur-view-path.draft-review-nav,\n.cur-view-path.share-upload-nav {\n padding: 0 1rem;\n}\n\n.cur-view-container .fa-star.fas {\n color: #999;\n}\n\n.path-container {\n display: flex;\n align-items: center;\n word-break: keep-all;\n max-width: 80%;\n}\n.path-container a, .path-container span {\n max-height: 50px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n} \n.path-container span, .path-container a {\n flex-shrink: 1;\n} \n.path-container span:first-child, .path-container span:last-child {\n flex-shrink: 0;\n} \n.path-container span.path-file-name, .path-container span.path-repo-name {\n flex-shrink: 1;\n}\n","@charset \"UTF-8\";\n.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\n text-align: center;\n}\n\n@font-face {\n font-family: VideoJS;\n src: url(data:application/font-woff;charset=utf-8;base64,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) format(\"woff\");\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\n content: \"\\f101\";\n}\n\n.vjs-icon-play-circle {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-play-circle:before {\n content: \"\\f102\";\n}\n\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\n content: \"\\f103\";\n}\n\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\n content: \"\\f104\";\n}\n\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\n content: \"\\f105\";\n}\n\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\n content: \"\\f106\";\n}\n\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\n content: \"\\f107\";\n}\n\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\n content: \"\\f108\";\n}\n\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\n content: \"\\f109\";\n}\n\n.vjs-icon-square {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-square:before {\n content: \"\\f10a\";\n}\n\n.vjs-icon-spinner {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-spinner:before {\n content: \"\\f10b\";\n}\n\n.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {\n content: \"\\f10c\";\n}\n\n.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {\n content: \"\\f10d\";\n}\n\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\n content: \"\\f10e\";\n}\n\n.vjs-icon-share {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-share:before {\n content: \"\\f10f\";\n}\n\n.vjs-icon-cog {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-cog:before {\n content: \"\\f110\";\n}\n\n.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {\n content: \"\\f111\";\n}\n\n.vjs-icon-circle-outline {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-circle-outline:before {\n content: \"\\f112\";\n}\n\n.vjs-icon-circle-inner-circle {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-circle-inner-circle:before {\n content: \"\\f113\";\n}\n\n.vjs-icon-hd {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-hd:before {\n content: \"\\f114\";\n}\n\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\n content: \"\\f115\";\n}\n\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\n content: \"\\f116\";\n}\n\n.vjs-icon-facebook {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-facebook:before {\n content: \"\\f117\";\n}\n\n.vjs-icon-gplus {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-gplus:before {\n content: \"\\f118\";\n}\n\n.vjs-icon-linkedin {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-linkedin:before {\n content: \"\\f119\";\n}\n\n.vjs-icon-twitter {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-twitter:before {\n content: \"\\f11a\";\n}\n\n.vjs-icon-tumblr {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-tumblr:before {\n content: \"\\f11b\";\n}\n\n.vjs-icon-pinterest {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-pinterest:before {\n content: \"\\f11c\";\n}\n\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\n content: \"\\f11d\";\n}\n\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\n content: \"\\f11e\";\n}\n\n.vjs-icon-next-item {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-next-item:before {\n content: \"\\f11f\";\n}\n\n.vjs-icon-previous-item {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-previous-item:before {\n content: \"\\f120\";\n}\n\n.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\n content: \"\\f121\";\n}\n\n.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {\n font-family: VideoJS;\n font-weight: normal;\n font-style: normal;\n}\n.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\n content: \"\\f122\";\n}\n\n.video-js {\n display: block;\n vertical-align: top;\n box-sizing: border-box;\n color: #fff;\n background-color: #000;\n position: relative;\n padding: 0;\n font-size: 10px;\n line-height: 1;\n font-weight: normal;\n font-style: normal;\n font-family: Arial, Helvetica, sans-serif;\n word-break: initial;\n}\n.video-js:-moz-full-screen {\n position: absolute;\n}\n.video-js:-webkit-full-screen {\n width: 100% !important;\n height: 100% !important;\n}\n\n.video-js[tabindex=\"-1\"] {\n outline: none;\n}\n\n.video-js *,\n.video-js *:before,\n.video-js *:after {\n box-sizing: inherit;\n}\n\n.video-js ul {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n list-style-position: outside;\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.video-js.vjs-fluid,\n.video-js.vjs-16-9,\n.video-js.vjs-4-3,\n.video-js.vjs-9-16,\n.video-js.vjs-1-1 {\n width: 100%;\n max-width: 100%;\n}\n\n.video-js.vjs-fluid:not(.vjs-audio-only-mode),\n.video-js.vjs-16-9:not(.vjs-audio-only-mode),\n.video-js.vjs-4-3:not(.vjs-audio-only-mode),\n.video-js.vjs-9-16:not(.vjs-audio-only-mode),\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\n height: 0;\n}\n\n.video-js.vjs-16-9:not(.vjs-audio-only-mode) {\n padding-top: 56.25%;\n}\n\n.video-js.vjs-4-3:not(.vjs-audio-only-mode) {\n padding-top: 75%;\n}\n\n.video-js.vjs-9-16:not(.vjs-audio-only-mode) {\n padding-top: 177.7777777778%;\n}\n\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\n padding-top: 100%;\n}\n\n.video-js.vjs-fill:not(.vjs-audio-only-mode) {\n width: 100%;\n height: 100%;\n}\n\n.video-js .vjs-tech {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.video-js.vjs-audio-only-mode .vjs-tech {\n display: none;\n}\n\nbody.vjs-full-window {\n padding: 0;\n margin: 0;\n height: 100%;\n}\n\n.vjs-full-window .video-js.vjs-fullscreen {\n position: fixed;\n overflow: hidden;\n z-index: 1000;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n}\n\n.video-js.vjs-fullscreen:not(.vjs-ios-native-fs) {\n width: 100% !important;\n height: 100% !important;\n padding-top: 0 !important;\n}\n\n.video-js.vjs-fullscreen.vjs-user-inactive {\n cursor: none;\n}\n\n.vjs-hidden {\n display: none !important;\n}\n\n.vjs-disabled {\n opacity: 0.5;\n cursor: default;\n}\n\n.video-js .vjs-offscreen {\n height: 1px;\n left: -9999px;\n position: absolute;\n top: 0;\n width: 1px;\n}\n\n.vjs-lock-showing {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n.vjs-no-js {\n padding: 20px;\n color: #fff;\n background-color: #000;\n font-size: 18px;\n font-family: Arial, Helvetica, sans-serif;\n text-align: center;\n width: 300px;\n height: 150px;\n margin: 0px auto;\n}\n\n.vjs-no-js a,\n.vjs-no-js a:visited {\n color: #66A8CC;\n}\n\n.video-js .vjs-big-play-button {\n font-size: 3em;\n line-height: 1.5em;\n height: 1.63332em;\n width: 3em;\n display: block;\n position: absolute;\n top: 10px;\n left: 10px;\n padding: 0;\n cursor: pointer;\n opacity: 1;\n border: 0.06666em solid #fff;\n background-color: #2B333F;\n background-color: rgba(43, 51, 63, 0.7);\n border-radius: 0.3em;\n transition: all 0.4s;\n}\n.vjs-big-play-centered .vjs-big-play-button {\n top: 50%;\n left: 50%;\n margin-top: -0.81666em;\n margin-left: -1.5em;\n}\n\n.video-js:hover .vjs-big-play-button,\n.video-js .vjs-big-play-button:focus {\n border-color: #fff;\n background-color: #73859f;\n background-color: rgba(115, 133, 159, 0.5);\n transition: all 0s;\n}\n\n.vjs-controls-disabled .vjs-big-play-button,\n.vjs-has-started .vjs-big-play-button,\n.vjs-using-native-controls .vjs-big-play-button,\n.vjs-error .vjs-big-play-button {\n display: none;\n}\n\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\n display: block;\n}\n\n.video-js button {\n background: none;\n border: none;\n color: inherit;\n display: inline-block;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n text-decoration: none;\n transition: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.vjs-control .vjs-button {\n width: 100%;\n height: 100%;\n}\n\n.video-js .vjs-control.vjs-close-button {\n cursor: pointer;\n height: 3em;\n position: absolute;\n right: 0;\n top: 0.5em;\n z-index: 2;\n}\n.video-js .vjs-modal-dialog {\n background: rgba(0, 0, 0, 0.8);\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\n overflow: auto;\n}\n\n.video-js .vjs-modal-dialog > * {\n box-sizing: border-box;\n}\n\n.vjs-modal-dialog .vjs-modal-dialog-content {\n font-size: 1.2em;\n line-height: 1.5;\n padding: 20px 24px;\n z-index: 1;\n}\n\n.vjs-menu-button {\n cursor: pointer;\n}\n\n.vjs-menu-button.vjs-disabled {\n cursor: default;\n}\n\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\n display: none;\n}\n\n.vjs-menu .vjs-menu-content {\n display: block;\n padding: 0;\n margin: 0;\n font-family: Arial, Helvetica, sans-serif;\n overflow: auto;\n}\n\n.vjs-menu .vjs-menu-content > * {\n box-sizing: border-box;\n}\n\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\n display: none;\n}\n\n.vjs-menu li {\n list-style: none;\n margin: 0;\n padding: 0.2em 0;\n line-height: 1.4em;\n font-size: 1.2em;\n text-align: center;\n text-transform: lowercase;\n}\n\n.vjs-menu li.vjs-menu-item:focus,\n.vjs-menu li.vjs-menu-item:hover,\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\n background-color: #73859f;\n background-color: rgba(115, 133, 159, 0.5);\n}\n\n.vjs-menu li.vjs-selected,\n.vjs-menu li.vjs-selected:focus,\n.vjs-menu li.vjs-selected:hover,\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\n background-color: #fff;\n color: #2B333F;\n}\n\n.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),\n.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {\n background: none;\n}\n\n.vjs-menu li.vjs-menu-title {\n text-align: center;\n text-transform: uppercase;\n font-size: 1em;\n line-height: 2em;\n padding: 0;\n margin: 0 0 0.3em 0;\n font-weight: bold;\n cursor: default;\n}\n\n.vjs-menu-button-popup .vjs-menu {\n display: none;\n position: absolute;\n bottom: 0;\n width: 10em;\n left: -3em;\n height: 0em;\n margin-bottom: 1.5em;\n border-top-color: rgba(43, 51, 63, 0.7);\n}\n\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n background-color: #2B333F;\n background-color: rgba(43, 51, 63, 0.7);\n position: absolute;\n width: 100%;\n bottom: 1.5em;\n max-height: 15em;\n}\n\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n max-height: 5em;\n}\n\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n max-height: 10em;\n}\n\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n max-height: 14em;\n}\n\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n max-height: 25em;\n}\n\n.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\n display: block;\n}\n\n.video-js .vjs-menu-button-inline {\n transition: all 0.4s;\n overflow: hidden;\n}\n\n.video-js .vjs-menu-button-inline:before {\n width: 2.222222222em;\n}\n\n.video-js .vjs-menu-button-inline:hover,\n.video-js .vjs-menu-button-inline:focus,\n.video-js .vjs-menu-button-inline.vjs-slider-active,\n.video-js.vjs-no-flex .vjs-menu-button-inline {\n width: 12em;\n}\n\n.vjs-menu-button-inline .vjs-menu {\n opacity: 0;\n height: 100%;\n width: auto;\n position: absolute;\n left: 4em;\n top: 0;\n padding: 0;\n margin: 0;\n transition: all 0.4s;\n}\n\n.vjs-menu-button-inline:hover .vjs-menu,\n.vjs-menu-button-inline:focus .vjs-menu,\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\n display: block;\n opacity: 1;\n}\n\n.vjs-no-flex .vjs-menu-button-inline .vjs-menu {\n display: block;\n opacity: 1;\n position: relative;\n width: auto;\n}\n\n.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,\n.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,\n.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {\n width: auto;\n}\n\n.vjs-menu-button-inline .vjs-menu-content {\n width: auto;\n height: 100%;\n margin: 0;\n overflow: hidden;\n}\n\n.video-js .vjs-control-bar {\n display: none;\n width: 100%;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 3em;\n background-color: #2B333F;\n background-color: rgba(43, 51, 63, 0.7);\n}\n\n.vjs-has-started .vjs-control-bar,\n.vjs-audio-only-mode .vjs-control-bar {\n display: flex;\n visibility: visible;\n opacity: 1;\n transition: visibility 0.1s, opacity 0.1s;\n}\n\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\n visibility: visible;\n opacity: 0;\n pointer-events: none;\n transition: visibility 1s, opacity 1s;\n}\n\n.vjs-controls-disabled .vjs-control-bar,\n.vjs-using-native-controls .vjs-control-bar,\n.vjs-error .vjs-control-bar {\n display: none !important;\n}\n\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,\n.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n}\n\n.vjs-has-started.vjs-no-flex .vjs-control-bar {\n display: table;\n}\n\n.video-js .vjs-control {\n position: relative;\n text-align: center;\n margin: 0;\n padding: 0;\n height: 100%;\n width: 4em;\n flex: none;\n}\n\n.video-js .vjs-control.vjs-visible-text {\n width: auto;\n padding-left: 1em;\n padding-right: 1em;\n}\n\n.vjs-button > .vjs-icon-placeholder:before {\n font-size: 1.8em;\n line-height: 1.67;\n}\n\n.vjs-button > .vjs-icon-placeholder {\n display: block;\n}\n\n.video-js .vjs-control:focus:before,\n.video-js .vjs-control:hover:before,\n.video-js .vjs-control:focus {\n text-shadow: 0em 0em 1em white;\n}\n\n.video-js *:not(.vjs-visible-text) > .vjs-control-text {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.vjs-no-flex .vjs-control {\n display: table-cell;\n vertical-align: middle;\n}\n\n.video-js .vjs-custom-control-spacer {\n display: none;\n}\n\n.video-js .vjs-progress-control {\n cursor: pointer;\n flex: auto;\n display: flex;\n align-items: center;\n min-width: 4em;\n touch-action: none;\n}\n\n.video-js .vjs-progress-control.disabled {\n cursor: default;\n}\n\n.vjs-live .vjs-progress-control {\n display: none;\n}\n\n.vjs-liveui .vjs-progress-control {\n display: flex;\n align-items: center;\n}\n\n.vjs-no-flex .vjs-progress-control {\n width: auto;\n}\n\n.video-js .vjs-progress-holder {\n flex: auto;\n transition: all 0.2s;\n height: 0.3em;\n}\n\n.video-js .vjs-progress-control .vjs-progress-holder {\n margin: 0 10px;\n}\n\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\n font-size: 1.6666666667em;\n}\n\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\n font-size: 1em;\n}\n\n.video-js .vjs-progress-holder .vjs-play-progress,\n.video-js .vjs-progress-holder .vjs-load-progress,\n.video-js .vjs-progress-holder .vjs-load-progress div {\n position: absolute;\n display: block;\n height: 100%;\n margin: 0;\n padding: 0;\n width: 0;\n}\n\n.video-js .vjs-play-progress {\n background-color: #fff;\n}\n.video-js .vjs-play-progress:before {\n font-size: 0.9em;\n position: absolute;\n right: -0.5em;\n top: -0.3333333333em;\n z-index: 1;\n}\n\n.video-js .vjs-load-progress {\n background: rgba(115, 133, 159, 0.5);\n}\n\n.video-js .vjs-load-progress div {\n background: rgba(115, 133, 159, 0.75);\n}\n\n.video-js .vjs-time-tooltip {\n background-color: #fff;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 0.3em;\n color: #000;\n float: right;\n font-family: Arial, Helvetica, sans-serif;\n font-size: 1em;\n padding: 6px 8px 8px 8px;\n pointer-events: none;\n position: absolute;\n top: -3.4em;\n visibility: hidden;\n z-index: 1;\n}\n\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\n display: none;\n}\n\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\n display: block;\n font-size: 0.6em;\n visibility: visible;\n}\n\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\n font-size: 1em;\n}\n\n.video-js .vjs-progress-control .vjs-mouse-display {\n display: none;\n position: absolute;\n width: 1px;\n height: 100%;\n background-color: #000;\n z-index: 1;\n}\n\n.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\n z-index: 0;\n}\n\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\n display: block;\n}\n\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\n visibility: hidden;\n opacity: 0;\n transition: visibility 1s, opacity 1s;\n}\n\n.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\n display: none;\n}\n\n.vjs-mouse-display .vjs-time-tooltip {\n color: #fff;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.8);\n}\n\n.video-js .vjs-slider {\n position: relative;\n cursor: pointer;\n padding: 0;\n margin: 0 0.45em 0 0.45em;\n /* iOS Safari */\n -webkit-touch-callout: none;\n /* Safari */\n -webkit-user-select: none;\n /* Konqueror HTML */\n /* Firefox */\n -moz-user-select: none;\n /* Internet Explorer/Edge */\n -ms-user-select: none;\n /* Non-prefixed version, currently supported by Chrome and Opera */\n user-select: none;\n background-color: #73859f;\n background-color: rgba(115, 133, 159, 0.5);\n}\n\n.video-js .vjs-slider.disabled {\n cursor: default;\n}\n\n.video-js .vjs-slider:focus {\n text-shadow: 0em 0em 1em white;\n box-shadow: 0 0 1em #fff;\n}\n\n.video-js .vjs-mute-control {\n cursor: pointer;\n flex: none;\n}\n.video-js .vjs-volume-control {\n cursor: pointer;\n margin-right: 1em;\n display: flex;\n}\n\n.video-js .vjs-volume-control.vjs-volume-horizontal {\n width: 5em;\n}\n\n.video-js .vjs-volume-panel .vjs-volume-control {\n visibility: visible;\n opacity: 0;\n width: 1px;\n height: 1px;\n margin-left: -1px;\n}\n\n.video-js .vjs-volume-panel {\n transition: width 1s;\n}\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\n visibility: visible;\n opacity: 1;\n position: relative;\n transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;\n}\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\n width: 5em;\n height: 3em;\n margin-right: 0;\n}\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\n left: -3.5em;\n transition: left 0s;\n}\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\n width: 10em;\n transition: width 0.1s;\n}\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\n width: 4em;\n}\n\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\n height: 8em;\n width: 3em;\n left: -3000em;\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;\n}\n\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;\n}\n\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\n width: 5em;\n height: 3em;\n visibility: visible;\n opacity: 1;\n position: relative;\n transition: none;\n}\n\n.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\n position: absolute;\n bottom: 3em;\n left: 0.5em;\n}\n\n.video-js .vjs-volume-panel {\n display: flex;\n}\n\n.video-js .vjs-volume-bar {\n margin: 1.35em 0.45em;\n}\n\n.vjs-volume-bar.vjs-slider-horizontal {\n width: 5em;\n height: 0.3em;\n}\n\n.vjs-volume-bar.vjs-slider-vertical {\n width: 0.3em;\n height: 5em;\n margin: 1.35em auto;\n}\n\n.video-js .vjs-volume-level {\n position: absolute;\n bottom: 0;\n left: 0;\n background-color: #fff;\n}\n.video-js .vjs-volume-level:before {\n position: absolute;\n font-size: 0.9em;\n z-index: 1;\n}\n\n.vjs-slider-vertical .vjs-volume-level {\n width: 0.3em;\n}\n.vjs-slider-vertical .vjs-volume-level:before {\n top: -0.5em;\n left: -0.3em;\n z-index: 1;\n}\n\n.vjs-slider-horizontal .vjs-volume-level {\n height: 0.3em;\n}\n.vjs-slider-horizontal .vjs-volume-level:before {\n top: -0.3em;\n right: -0.5em;\n}\n\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\n width: 4em;\n}\n\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\n height: 100%;\n}\n\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\n width: 100%;\n}\n\n.video-js .vjs-volume-vertical {\n width: 3em;\n height: 8em;\n bottom: 8em;\n background-color: #2B333F;\n background-color: rgba(43, 51, 63, 0.7);\n}\n\n.video-js .vjs-volume-horizontal .vjs-menu {\n left: -2em;\n}\n\n.video-js .vjs-volume-tooltip {\n background-color: #fff;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 0.3em;\n color: #000;\n float: right;\n font-family: Arial, Helvetica, sans-serif;\n font-size: 1em;\n padding: 6px 8px 8px 8px;\n pointer-events: none;\n position: absolute;\n top: -3.4em;\n visibility: hidden;\n z-index: 1;\n}\n\n.video-js .vjs-volume-control:hover .vjs-volume-tooltip,\n.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\n display: block;\n font-size: 1em;\n visibility: visible;\n}\n\n.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,\n.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\n left: 1em;\n top: -12px;\n}\n\n.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {\n font-size: 1em;\n}\n\n.video-js .vjs-volume-control .vjs-mouse-display {\n display: none;\n position: absolute;\n width: 100%;\n height: 1px;\n background-color: #000;\n z-index: 1;\n}\n\n.video-js .vjs-volume-horizontal .vjs-mouse-display {\n width: 1px;\n height: 100%;\n}\n\n.vjs-no-flex .vjs-volume-control .vjs-mouse-display {\n z-index: 0;\n}\n\n.video-js .vjs-volume-control:hover .vjs-mouse-display {\n display: block;\n}\n\n.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {\n visibility: hidden;\n opacity: 0;\n transition: visibility 1s, opacity 1s;\n}\n\n.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display {\n display: none;\n}\n\n.vjs-mouse-display .vjs-volume-tooltip {\n color: #fff;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.8);\n}\n\n.vjs-poster {\n display: inline-block;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: contain;\n background-color: #000000;\n cursor: pointer;\n margin: 0;\n padding: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n}\n\n.vjs-has-started .vjs-poster,\n.vjs-using-native-controls .vjs-poster {\n display: none;\n}\n\n.vjs-audio.vjs-has-started .vjs-poster,\n.vjs-has-started.vjs-audio-poster-mode .vjs-poster {\n display: block;\n}\n\n.video-js .vjs-live-control {\n display: flex;\n align-items: flex-start;\n flex: auto;\n font-size: 1em;\n line-height: 3em;\n}\n\n.vjs-no-flex .vjs-live-control {\n display: table-cell;\n width: auto;\n text-align: left;\n}\n\n.video-js:not(.vjs-live) .vjs-live-control,\n.video-js.vjs-liveui .vjs-live-control {\n display: none;\n}\n\n.video-js .vjs-seek-to-live-control {\n align-items: center;\n cursor: pointer;\n flex: none;\n display: inline-flex;\n height: 100%;\n padding-left: 0.5em;\n padding-right: 0.5em;\n font-size: 1em;\n line-height: 3em;\n width: auto;\n min-width: 4em;\n}\n\n.vjs-no-flex .vjs-seek-to-live-control {\n display: table-cell;\n width: auto;\n text-align: left;\n}\n\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\n display: none;\n}\n\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\n cursor: auto;\n}\n\n.vjs-seek-to-live-control .vjs-icon-placeholder {\n margin-right: 0.5em;\n color: #888;\n}\n\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\n color: red;\n}\n\n.video-js .vjs-time-control {\n flex: none;\n font-size: 1em;\n line-height: 3em;\n min-width: 2em;\n width: auto;\n padding-left: 1em;\n padding-right: 1em;\n}\n\n.vjs-live .vjs-time-control {\n display: none;\n}\n\n.video-js .vjs-current-time,\n.vjs-no-flex .vjs-current-time {\n display: none;\n}\n\n.video-js .vjs-duration,\n.vjs-no-flex .vjs-duration {\n display: none;\n}\n\n.vjs-time-divider {\n display: none;\n line-height: 3em;\n}\n\n.vjs-live .vjs-time-divider {\n display: none;\n}\n\n.video-js .vjs-play-control {\n cursor: pointer;\n}\n\n.video-js .vjs-play-control .vjs-icon-placeholder {\n flex: none;\n}\n\n.vjs-text-track-display {\n position: absolute;\n bottom: 3em;\n left: 0;\n right: 0;\n top: 0;\n pointer-events: none;\n}\n\n.video-js.vjs-controls-disabled .vjs-text-track-display,\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\n bottom: 1em;\n}\n\n.video-js .vjs-text-track {\n font-size: 1.4em;\n text-align: center;\n margin-bottom: 0.1em;\n}\n\n.vjs-subtitles {\n color: #fff;\n}\n\n.vjs-captions {\n color: #fc6;\n}\n\n.vjs-tt-cue {\n display: block;\n}\n\nvideo::-webkit-media-text-track-display {\n transform: translateY(-3em);\n}\n\n.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\n transform: translateY(-1.5em);\n}\n\n.video-js .vjs-picture-in-picture-control {\n cursor: pointer;\n flex: none;\n}\n.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control {\n display: none;\n}\n\n.video-js .vjs-fullscreen-control {\n cursor: pointer;\n flex: none;\n}\n.video-js.vjs-audio-only-mode .vjs-fullscreen-control {\n display: none;\n}\n\n.vjs-playback-rate > .vjs-menu-button,\n.vjs-playback-rate .vjs-playback-rate-value {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.vjs-playback-rate .vjs-playback-rate-value {\n pointer-events: none;\n font-size: 1.5em;\n line-height: 2;\n text-align: center;\n}\n\n.vjs-playback-rate .vjs-menu {\n width: 4em;\n left: 0em;\n}\n\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\n font-size: 1.4em;\n text-align: center;\n}\n\n.vjs-error .vjs-error-display:before {\n color: #fff;\n content: \"X\";\n font-family: Arial, Helvetica, sans-serif;\n font-size: 4em;\n left: 0;\n line-height: 1;\n margin-top: -0.5em;\n position: absolute;\n text-shadow: 0.05em 0.05em 0.1em #000;\n text-align: center;\n top: 50%;\n vertical-align: middle;\n width: 100%;\n}\n\n.vjs-loading-spinner {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -25px 0 0 -25px;\n opacity: 0.85;\n text-align: left;\n border: 6px solid rgba(43, 51, 63, 0.7);\n box-sizing: border-box;\n background-clip: padding-box;\n width: 50px;\n height: 50px;\n border-radius: 25px;\n visibility: hidden;\n}\n\n.vjs-seeking .vjs-loading-spinner,\n.vjs-waiting .vjs-loading-spinner {\n display: block;\n -webkit-animation: vjs-spinner-show 0s linear 0.3s forwards;\n animation: vjs-spinner-show 0s linear 0.3s forwards;\n}\n\n.vjs-loading-spinner:before,\n.vjs-loading-spinner:after {\n content: \"\";\n position: absolute;\n margin: -6px;\n box-sizing: inherit;\n width: inherit;\n height: inherit;\n border-radius: inherit;\n opacity: 1;\n border: inherit;\n border-color: transparent;\n border-top-color: white;\n}\n\n.vjs-seeking .vjs-loading-spinner:before,\n.vjs-seeking .vjs-loading-spinner:after,\n.vjs-waiting .vjs-loading-spinner:before,\n.vjs-waiting .vjs-loading-spinner:after {\n -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\n animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\n}\n\n.vjs-seeking .vjs-loading-spinner:before,\n.vjs-waiting .vjs-loading-spinner:before {\n border-top-color: white;\n}\n\n.vjs-seeking .vjs-loading-spinner:after,\n.vjs-waiting .vjs-loading-spinner:after {\n border-top-color: white;\n -webkit-animation-delay: 0.44s;\n animation-delay: 0.44s;\n}\n\n@keyframes vjs-spinner-show {\n to {\n visibility: visible;\n }\n}\n@-webkit-keyframes vjs-spinner-show {\n to {\n visibility: visible;\n }\n}\n@keyframes vjs-spinner-spin {\n 100% {\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes vjs-spinner-spin {\n 100% {\n -webkit-transform: rotate(360deg);\n }\n}\n@keyframes vjs-spinner-fade {\n 0% {\n border-top-color: #73859f;\n }\n 20% {\n border-top-color: #73859f;\n }\n 35% {\n border-top-color: white;\n }\n 60% {\n border-top-color: #73859f;\n }\n 100% {\n border-top-color: #73859f;\n }\n}\n@-webkit-keyframes vjs-spinner-fade {\n 0% {\n border-top-color: #73859f;\n }\n 20% {\n border-top-color: #73859f;\n }\n 35% {\n border-top-color: white;\n }\n 60% {\n border-top-color: #73859f;\n }\n 100% {\n border-top-color: #73859f;\n }\n}\n.video-js.vjs-audio-only-mode .vjs-captions-button {\n display: none;\n}\n\n.vjs-chapters-button .vjs-menu ul {\n width: 24em;\n}\n\n.video-js.vjs-audio-only-mode .vjs-descriptions-button {\n display: none;\n}\n\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\n vertical-align: middle;\n display: inline-block;\n margin-bottom: -0.1em;\n}\n\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\n font-family: VideoJS;\n content: \"\";\n font-size: 1.5em;\n line-height: inherit;\n}\n\n.video-js.vjs-audio-only-mode .vjs-subs-caps-button {\n display: none;\n}\n\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\n vertical-align: middle;\n display: inline-block;\n margin-bottom: -0.1em;\n}\n\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\n font-family: VideoJS;\n content: \" \";\n font-size: 1.5em;\n line-height: inherit;\n}\n\n.video-js.vjs-layout-small .vjs-current-time,\n.video-js.vjs-layout-small .vjs-time-divider,\n.video-js.vjs-layout-small .vjs-duration,\n.video-js.vjs-layout-small .vjs-remaining-time,\n.video-js.vjs-layout-small .vjs-playback-rate,\n.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,\n.video-js.vjs-layout-x-small .vjs-time-divider,\n.video-js.vjs-layout-x-small .vjs-duration,\n.video-js.vjs-layout-x-small .vjs-remaining-time,\n.video-js.vjs-layout-x-small .vjs-playback-rate,\n.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,\n.video-js.vjs-layout-tiny .vjs-time-divider,\n.video-js.vjs-layout-tiny .vjs-duration,\n.video-js.vjs-layout-tiny .vjs-remaining-time,\n.video-js.vjs-layout-tiny .vjs-playback-rate,\n.video-js.vjs-layout-tiny .vjs-volume-control {\n display: none;\n}\n.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {\n width: auto;\n width: initial;\n}\n.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {\n display: none;\n}\n.video-js.vjs-layout-x-small .vjs-custom-control-spacer {\n flex: auto;\n display: block;\n}\n.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer {\n width: auto;\n}\n\n.vjs-modal-dialog.vjs-text-track-settings {\n background-color: #2B333F;\n background-color: rgba(43, 51, 63, 0.75);\n color: #fff;\n height: 70%;\n}\n\n.vjs-text-track-settings .vjs-modal-dialog-content {\n display: table;\n}\n\n.vjs-text-track-settings .vjs-track-settings-colors,\n.vjs-text-track-settings .vjs-track-settings-font,\n.vjs-text-track-settings .vjs-track-settings-controls {\n display: table-cell;\n}\n\n.vjs-text-track-settings .vjs-track-settings-controls {\n text-align: right;\n vertical-align: bottom;\n}\n\n@supports (display: grid) {\n .vjs-text-track-settings .vjs-modal-dialog-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n padding: 20px 24px 0px 24px;\n }\n\n .vjs-track-settings-controls .vjs-default-button {\n margin-bottom: 20px;\n }\n\n .vjs-text-track-settings .vjs-track-settings-controls {\n grid-column: 1/-1;\n }\n\n .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\n.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\n.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\n grid-template-columns: 1fr;\n }\n}\n.vjs-track-setting > select {\n margin-right: 1em;\n margin-bottom: 0.5em;\n}\n\n.vjs-text-track-settings fieldset {\n margin: 5px;\n padding: 3px;\n border: none;\n}\n\n.vjs-text-track-settings fieldset span {\n display: inline-block;\n}\n\n.vjs-text-track-settings fieldset span > select {\n max-width: 7.3em;\n}\n\n.vjs-text-track-settings legend {\n color: #fff;\n margin: 0 0 5px 0;\n}\n\n.vjs-text-track-settings .vjs-label {\n position: absolute;\n clip: rect(1px 1px 1px 1px);\n clip: rect(1px, 1px, 1px, 1px);\n display: block;\n margin: 0 0 5px 0;\n padding: 0;\n border: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n}\n\n.vjs-track-settings-controls button:focus,\n.vjs-track-settings-controls button:active {\n outline-style: solid;\n outline-width: medium;\n background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);\n}\n\n.vjs-track-settings-controls button:hover {\n color: rgba(43, 51, 63, 0.75);\n}\n\n.vjs-track-settings-controls button {\n background-color: #fff;\n background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\n color: #2B333F;\n cursor: pointer;\n border-radius: 2px;\n}\n\n.vjs-track-settings-controls .vjs-default-button {\n margin-right: 1em;\n}\n\n@media print {\n .video-js > *:not(.vjs-tech):not(.vjs-poster) {\n visibility: hidden;\n }\n}\n.vjs-resize-manager {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: none;\n z-index: -1000;\n}\n\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\n outline: none;\n}\n\n.video-js *:focus:not(:focus-visible) {\n outline: none;\n}\n",".video-js {\n width: calc(100% - 40px);\n max-width: 800px;\n max-height: 100%;\n margin: 0 auto;\n}\n",".audio-file-view .video-js {\n width: calc(100% - 40px);\n max-width: 500px;\n height: 3em;\n margin: 0 auto;\n}\n.audio-file-view .video-js .vjs-fullscreen-control {\n display: none;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/draft.css b/media/assets/frontend/static/css/draft.css new file mode 100644 index 00000000000..e80cde860e8 --- /dev/null +++ b/media/assets/frontend/static/css/draft.css @@ -0,0 +1,2 @@ +.reviewer-select-info{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.reviewer-select-avatar{margin-right:10px}.reviewer-select-name{height:2rem;line-height:2rem}.reviewer-select-error{margin-top:1em}.reviewer-select .true__dropdown-indicator,.reviewer-select .true__indicator-separator{display:none}.reviewer-select-info i{margin-right:10px;opacity:0}.reviewer-select-info:hover i{color:#a4a4a4;cursor:pointer;opacity:1}.add-reviewer{display:flex;justify-content:space-between}.add-reviewer .reviewer-select{width:385px}.add-reviewer .btn{width:75px}.history-header{align-items:center;background-color:#f4f4f7;border-bottom:1px solid #e8e8e8;display:flex;font-size:1rem;justify-content:space-between;padding:.5rem 1rem}.history-header .title{font-size:1.25rem;line-height:1rem}.history-header .title .go-back{color:silver;margin-right:.75rem}.history-header .title .go-back:hover{color:#f93;text-decoration:none}.content-viewer{background-color:#fafaf9;border-radius:10px;overflow:auto}.markdown-viewer-render-content{background-color:#fff;border:1px solid #e6e6dd;margin:20px 40px;word-break:break-word}.markdown-viewer-render-content .diff-view{padding:40px 60px}.panel-header{border-bottom:1px solid #e8e8e8;font-size:1rem;font-weight:400;height:36px;line-height:1.5;padding:.5rem 0;position:relative;text-align:center;width:100%}.history-body{display:flex;flex:1 1;height:500px;min-height:0;overflow:hidden}.history-list-container{flex:1 1;flex-direction:column;min-height:0;overflow:auto}.history-list-container .history-list-item{display:flex;flex:1 1;padding:5px 10px}.history-list-container .history-list-item:hover{background-color:#ffe7d5}.history-content .main-panel{flex:1 1 auto}.history-content .history-side-panel{background-color:#fff;border-left:1px solid #e5e5e5;display:flex;flex:0 0 auto;flex-direction:column;-webkit-user-select:none;-ms-user-select:none;user-select:none}.history-content .history-side-panel .history-side-panel-title{background-color:#fafaf9;border-bottom:1px solid #e5e5e5;font-size:1rem;font-weight:bolder;height:50px;line-height:50px;padding:0 10px}@media (min-width:992px){.history-side-panel{width:260px}.history-content .main-panel{max-width:calc(100% - 260px)}}@media (max-width:991.8px){.history-content .main-panel{max-width:calc(100% - 190px)}}@media (max-width:768px){.history-content .main-panel{max-width:100%}.markdown-viewer-render-content{margin:20px}.markdown-viewer-render-content .diff-view{padding:20px}}.header .button-group{align-items:center;display:flex}.header .add-reviewer-btn,.header .common-list-btn{margin-right:.25em}.header .common-list-btn .common-list-btn-number{margin-left:.5em}.main .cur-view-container{background-color:#fafaf9;display:flex;flex-flow:row nowrap;height:100%;width:100%}.main .cur-view-container .cur-view-content{flex:auto;height:100%}.main .cur-view-right-part{flex-shrink:0;height:100%;position:relative;width:300px}.cur-file-info .file-info{display:block;padding-top:10px}.file-info .draft-link,.file-info .view-file-link{color:#1e1e1e;display:block;font-size:.6em;font-weight:400;text-decoration:underline}.file-info .file-review{color:#999;font-size:1rem;font-weight:400}.cur-file-info .last-modification{font-size:.8125rem}.seafile-toggle-diff{display:flex;margin-right:10px}.seafile-toggle-diff .custom-switch .custom-switch-indicator{border:1px solid #e9ecef}.seafile-toggle-diff .custom-switch-input:checked~.custom-switch-indicator{background-color:#f19645}.review-side-panel{background-color:#fff;border-left:1px solid #e6e6dd;height:100%}.review-side-panel-head{background-color:#fafaf9;border-bottom:1px solid #e5e5e5;font-weight:700;line-height:3em;text-align:center}.review-side-panel-body{height:100%;overflow-y:scroll;padding:1rem 1rem 3rem}.review-side-panel-body .dirent-table-container{padding-left:0}.dirent-table-container th{word-wrap:break-word;word-break:normal}.dirent-table-container td a:hover{text-decoration:underline}.review-side-panel-item{border-bottom:1px solid #e6e6dd;padding:1em 0}.review-side-panel-item:last-child{border:0}.review-side-panel-item .author-info,.review-side-panel-item .reviewer-info{align-items:center;display:flex}.review-side-panel-header{color:#666;display:flex;font-size:.8125rem;font-weight:700;justify-content:space-between;margin-bottom:2px}.review-side-panel-item i{color:#c8c8c8;font-size:1rem;margin:5px 5px 0 0}.review-side-panel-item i:hover{color:#a4a4a4;cursor:pointer}.review-side-panel-avatar{height:1.5rem;margin-right:10px;width:1.5rem}.review-side-panel-item .author-name,.review-side-panel-item .reviewer-name{height:2rem;line-height:2rem}.markdown-viewer-render-content{position:relative}.markdown-viewer-render-content tr:nth-child(2n){background-color:#fff}.review-side-panel-nav{margin:0}.review-side-panel-nav .nav-item{padding-top:4px;width:33.3%}.review-side-panel-nav .nav-item .nav-link{margin:0 auto}.review-side-panel-nav .nav-item .nav-link.active{border-color:#f19645;color:#f19645}.review-side-panel-nav .nav-item i{font-size:1rem;padding:0 8px;width:1rem}.review-side-panel .tab-content{height:calc(100% - 38px)}.review-side-panel .tab-content .tab-pane{height:100%}@media (max-width:768px){.markdown-viewer-render-content{margin:0}.header .file-operation-btn{padding:.1rem .25rem}}@media (max-width:992px){.dirent-table-container td,.review-side-panel{font-size:12px!important}} +/*# sourceMappingURL=draft.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/draft.css.map b/media/assets/frontend/static/css/draft.css.map new file mode 100644 index 00000000000..280256d3657 --- /dev/null +++ b/media/assets/frontend/static/css/draft.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/draft.css","mappings":"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","sources":["css/add-reviewer-dialog.css","css/file-history.css","css/draft.css"],"sourcesContent":[".reviewer-select-info {\n margin-top: 10px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.reviewer-select-avatar {\n margin-right: 10px;\n}\n.reviewer-select-name {\n height: 2rem;\n line-height: 2rem;\n}\n.reviewer-select-error {\n margin-top: 1em;\n}\n.reviewer-select .true__dropdown-indicator, .reviewer-select .true__indicator-separator {\n display: none;\n}\n.reviewer-select-info i {\n opacity: 0;\n margin-right: 10px;\n}\n.reviewer-select-info:hover i {\n cursor: pointer;\n opacity: 1;\n color: #a4a4a4;\n}\n.add-reviewer {\n display: flex;\n justify-content: space-between;\n}\n.add-reviewer .reviewer-select {\n width: 385px;\n}\n.add-reviewer .btn {\n width: 75px;\n}\n",".history-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #e8e8e8;\n background-color: #f4f4f7;\n font-size: 1rem;\n padding: 0.5rem 1rem;\n}\n.history-header .title {\n font-size: 1.25rem;\n line-height: 1rem;\n}\n\n.history-header .title .go-back {\n margin-right: 0.75rem;\n color: #c0c0c0;\n}\n\n.history-header .title .go-back:hover {\n color:#ff9933;\n text-decoration: none;\n}\n\n.content-viewer {\n background-color: #fafaf9;\n border-radius: 10px;\n overflow: auto;\n}\n\n.markdown-viewer-render-content {\n background-color: #fff;\n word-break: break-word;\n margin: 20px 40px;\n border: 1px solid #e6e6dd;\n}\n\n.markdown-viewer-render-content .diff-view {\n padding: 40px 60px;\n}\n\n.panel-header {\n position: relative;\n padding: .5rem 0;\n width: 100%;\n border-bottom: 1px solid #e8e8e8;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n height: 36px;\n text-align: center;\n}\n\n.history-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n min-height: 0;\n height: 500px;\n}\n\n.history-list-container {\n flex: 1; \n flex-direction: column;\n min-height: 0;\n overflow: auto;\n}\n\n.history-list-container .history-list-item {\n padding: 5px 10px;\n display: flex;\n flex: 1;\n}\n\n.history-list-container .history-list-item:hover {\n background-color: #ffe7d5;\n}\n\n.history-content .main-panel {\n flex: 1 1 auto;\n}\n\n.history-content .history-side-panel {\n flex: 0 0 auto;\n user-select: none;\n border-left: 1px solid #e5e5e5;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.history-content .history-side-panel .history-side-panel-title {\n height: 50px;\n border-bottom: 1px solid #e5e5e5;\n line-height: 50px;\n font-size: 1rem;\n padding: 0 10px;\n background-color: rgb(250,250,249);\n font-weight: bolder;\n}\n\n@media (min-width:992px) {\n .history-side-panel {\n width: 260px;\n }\n .history-content .main-panel {\n max-width: calc(100% - 260px);\n }\n}\n\n@media (max-width:991.8px) {\n .history-content .main-panel {\n max-width: calc(100% - 190px);\n }\n}\n\n@media (max-width:768px) {\n .history-content .main-panel {\n max-width: 100%;\n }\n .markdown-viewer-render-content {\n margin: 20px;\n }\n .markdown-viewer-render-content .diff-view {\n padding: 20px;\n }\n}\n",".header .button-group {\n display: flex;\n align-items: center;\n}\n\n.header .common-list-btn, .header .add-reviewer-btn {\n margin-right: .25em;\n}\n\n.header .common-list-btn .common-list-btn-number {\n margin-left: .5em;\n}\n\n.main .cur-view-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-flow: row nowrap;\n background-color: #fafaf9;\n}\n\n.main .cur-view-container .cur-view-content {\n flex: auto;\n height: 100%;\n}\n\n.main .cur-view-right-part {\n height: 100%;\n width: 300px;\n flex-shrink: 0;\n position: relative;\n}\n\n.cur-file-info .file-info {\n display: block;\n padding-top: 10px;\n}\n\n.file-info .view-file-link, \n.file-info .draft-link {\n font-size: .6em;\n color: #1e1e1e;\n text-decoration: underline;\n display: block;\n font-weight: normal;\n}\n\n.file-info .file-review {\n color: #999;\n font-size: 1rem;\n font-weight: 400;\n}\n\n.cur-file-info .last-modification {\n font-size: 0.8125rem;\n}\n\n.seafile-toggle-diff {\n display: flex;\n margin-right: 10px;\n}\n.seafile-toggle-diff .custom-switch .custom-switch-indicator {\n border: 1px solid #e9ecef;\n}\n.seafile-toggle-diff .custom-switch-input:checked ~ .custom-switch-indicator {\n background-color: #f19645;\n}\n\n.review-side-panel {\n border-left: 1px solid #e6e6dd;\n background-color: #fff;\n height: 100%;\n}\n.review-side-panel-head {\n border-bottom: 1px solid #e5e5e5;\n line-height: 3em;\n background-color: #fafaf9;\n text-align: center;\n font-weight: 700;\n}\n.review-side-panel-body {\n padding: 1rem 1rem 3rem;\n overflow-y: scroll;\n height: 100%;\n}\n.review-side-panel-body .dirent-table-container {\n padding-left: 0;\n}\n.dirent-table-container th {\n word-wrap: break-word;\n word-break: normal;\n}\n.dirent-table-container td a:hover {\n text-decoration: underline;\n}\n.review-side-panel-item {\n border-bottom: 1px solid #e6e6dd;\n padding: 1em 0;\n}\n.review-side-panel-item:last-child {\n border: 0;\n}\n.review-side-panel-item .reviewer-info,\n.review-side-panel-item .author-info {\n display: flex;\n align-items: center;\n}\n.review-side-panel-header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 2px;\n font-weight: bold;\n color: #666;\n font-size: 0.8125rem;\n}\n.review-side-panel-item i {\n color: #c8c8c8;\n margin: 5px 5px 0 0;\n font-size: 1rem;\n}\n.review-side-panel-item i:hover {\n cursor: pointer;\n color: #a4a4a4;\n}\n.review-side-panel-avatar {\n margin-right: 10px;\n height: 1.5rem;\n width: 1.5rem;\n}\n.review-side-panel-item .reviewer-name,\n.review-side-panel-item .author-name {\n height: 2rem;\n line-height: 2rem;\n}\n\n.markdown-viewer-render-content {\n position: relative;\n}\n\n.markdown-viewer-render-content tr:nth-child(2n) {\n background-color: #fff;\n}\n\n.review-side-panel-nav {\n margin: 0;\n}\n.review-side-panel-nav .nav-item {\n width: 33.3%;\n padding-top: 4px;\n}\n.review-side-panel-nav .nav-item .nav-link {\n margin: 0 auto;\n}\n.review-side-panel-nav .nav-item .nav-link.active {\n border-color: #f19645;\n color: #f19645;\n}\n.review-side-panel-nav .nav-item i {\n padding: 0 8px;\n font-size: 1rem;\n width: 1rem;\n}\n.review-side-panel .tab-content {\n height: calc(100% - 38px);\n}\n.review-side-panel .tab-content .tab-pane {\n height: 100%;\n}\n\n@media (max-width: 768px) {\n .markdown-viewer-render-content {\n margin: 0px;\n }\n .header .file-operation-btn {\n padding: 0.1rem 0.25rem;\n }\n}\n\n@media (max-width: 992px) {\n .review-side-panel, .dirent-table-container td {\n font-size: 12px !important;\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/fileHistory.css b/media/assets/frontend/static/css/fileHistory.css new file mode 100644 index 00000000000..20cf9e03228 --- /dev/null +++ b/media/assets/frontend/static/css/fileHistory.css @@ -0,0 +1,2 @@ +.item-active{background-color:#fdc297!important;color:#fff}.item-active i{color:#fff}.history-list-item .history-info{flex:1 1;padding:0 .5rem}.history-list-item .history-operation{align-items:center;display:flex;justify-content:center;width:1.5rem}.history-info .time{color:#000}.history-info .owner{align-items:center;color:#888;display:flex;margin-top:.25rem}.owner .squire-icon{background-color:#549b5a;height:.5rem;margin-right:.25rem;width:.5rem}.history-body .dropdown-menu{min-width:8rem}.history-body .dropdown-menu a{color:#6e7687;text-decoration:none}.history-header{align-items:center;background-color:#f4f4f7;border-bottom:1px solid #e8e8e8;display:flex;font-size:1rem;justify-content:space-between;padding:.5rem 1rem}.history-header .title{font-size:1.25rem;line-height:1rem}.history-header .title .go-back{color:silver;margin-right:.75rem}.history-header .title .go-back:hover{color:#f93;text-decoration:none}.content-viewer{background-color:#fafaf9;border-radius:10px;overflow:auto}.markdown-viewer-render-content{background-color:#fff;border:1px solid #e6e6dd;margin:20px 40px;word-break:break-word}.markdown-viewer-render-content .diff-view{padding:40px 60px}.panel-header{border-bottom:1px solid #e8e8e8;font-size:1rem;font-weight:400;height:36px;line-height:1.5;padding:.5rem 0;position:relative;text-align:center;width:100%}.history-body{display:flex;flex:1 1;height:500px;min-height:0;overflow:hidden}.history-list-container{flex:1 1;flex-direction:column;min-height:0;overflow:auto}.history-list-container .history-list-item{display:flex;flex:1 1;padding:5px 10px}.history-list-container .history-list-item:hover{background-color:#ffe7d5}.history-content .main-panel{flex:1 1 auto}.history-content .history-side-panel{background-color:#fff;border-left:1px solid #e5e5e5;display:flex;flex:0 0 auto;flex-direction:column;-webkit-user-select:none;-ms-user-select:none;user-select:none}.history-content .history-side-panel .history-side-panel-title{background-color:#fafaf9;border-bottom:1px solid #e5e5e5;font-size:1rem;font-weight:bolder;height:50px;line-height:50px;padding:0 10px}@media (min-width:992px){.history-side-panel{width:260px}.history-content .main-panel{max-width:calc(100% - 260px)}}@media (max-width:991.8px){.history-content .main-panel{max-width:calc(100% - 190px)}}@media (max-width:768px){.history-content .main-panel{max-width:100%}.markdown-viewer-render-content{margin:20px}.markdown-viewer-render-content .diff-view{padding:20px}} +/*# sourceMappingURL=fileHistory.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/fileHistory.css.map b/media/assets/frontend/static/css/fileHistory.css.map new file mode 100644 index 00000000000..b79fc83f798 --- /dev/null +++ b/media/assets/frontend/static/css/fileHistory.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/fileHistory.css","mappings":"AAAA,aAEE,kCAAoC,CADpC,UAEF,CAEA,eACE,UACF,CAEA,iCACE,QAAO,CACP,eACF,CAEA,sCAGE,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAHvB,YAIF,CAEA,oBACE,UACF,CAEA,qBAIE,kBAAmB,CAFnB,UAAW,CACX,YAAa,CAFb,iBAIF,CAEA,oBAGE,wBAAyB,CADzB,YAAc,CAEd,mBAAqB,CAHrB,WAIF,CAEA,6BACE,cACF,CAEA,+BAEE,aAAc,CADd,oBAEF,CC9CA,gBAGE,kBAAmB,CAEnB,wBAAyB,CADzB,+BAAgC,CAHhC,YAAa,CAKb,cAAe,CAJf,6BAA8B,CAK9B,kBACF,CACA,uBACE,iBAAkB,CAClB,gBACF,CAEA,gCAEE,YAAc,CADd,mBAEF,CAEA,sCACE,UAAa,CACb,oBACF,CAEA,gBACE,wBAAyB,CACzB,kBAAmB,CACnB,aACF,CAEA,gCACE,qBAAsB,CAGtB,wBAAyB,CADzB,gBAAiB,CADjB,qBAGF,CAEA,2CACE,iBACF,CAEA,cAIE,+BAAgC,CAChC,cAAe,CACf,eAAgB,CAEhB,WAAY,CADZ,eAAgB,CALhB,eAAgB,CADhB,iBAAkB,CAQlB,iBAAkB,CANlB,UAOF,CAEA,cACE,YAAa,CACb,QAAO,CAGP,YAAa,CADb,YAAa,CADb,eAGF,CAEA,wBACE,QAAO,CACP,qBAAsB,CACtB,YAAa,CACb,aACF,CAEA,2CAEE,YAAa,CACb,QAAO,CAFP,gBAGF,CAEA,iDACE,wBACF,CAEA,6BACE,aACF,CAEA,qCAIE,qBAAsB,CADtB,6BAA8B,CAE9B,YAAa,CAJb,aAAc,CAKd,qBAAsB,CAJtB,wBAAiB,CAAjB,oBAAiB,CAAjB,gBAKF,CAEA,+DAME,wBAAkC,CAJlC,+BAAgC,CAEhC,cAAe,CAGf,kBAAmB,CANnB,WAAY,CAEZ,gBAAiB,CAEjB,cAGF,CAEA,yBACE,oBACE,WACF,CACA,6BACE,4BACF,CACF,CAEA,2BACE,6BACE,4BACF,CACF,CAEA,yBACE,6BACE,cACF,CACA,gCACE,WACF,CACA,2CACE,YACF,CACF","sources":["css/history-record-item.css","css/file-history.css"],"sourcesContent":[".item-active {\n color: #fff;\n background-color: #fdc297 !important;\n}\n\n.item-active i {\n color: #fff;\n}\n\n.history-list-item .history-info {\n flex: 1;\n padding: 0 0.5rem;\n}\n\n.history-list-item .history-operation {\n width: 1.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.history-info .time {\n color: #000;\n}\n\n.history-info .owner {\n margin-top: 0.25rem;\n color: #888;\n display: flex;\n align-items: center;\n}\n\n.owner .squire-icon {\n width: 0.5rem;\n height: 0.5rem;\n background-color: #549b5a;\n margin-right: 0.25rem;\n}\n\n.history-body .dropdown-menu {\n min-width: 8rem;\n}\n\n.history-body .dropdown-menu a {\n text-decoration: none;\n color: #6e7687;\n}\n",".history-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #e8e8e8;\n background-color: #f4f4f7;\n font-size: 1rem;\n padding: 0.5rem 1rem;\n}\n.history-header .title {\n font-size: 1.25rem;\n line-height: 1rem;\n}\n\n.history-header .title .go-back {\n margin-right: 0.75rem;\n color: #c0c0c0;\n}\n\n.history-header .title .go-back:hover {\n color:#ff9933;\n text-decoration: none;\n}\n\n.content-viewer {\n background-color: #fafaf9;\n border-radius: 10px;\n overflow: auto;\n}\n\n.markdown-viewer-render-content {\n background-color: #fff;\n word-break: break-word;\n margin: 20px 40px;\n border: 1px solid #e6e6dd;\n}\n\n.markdown-viewer-render-content .diff-view {\n padding: 40px 60px;\n}\n\n.panel-header {\n position: relative;\n padding: .5rem 0;\n width: 100%;\n border-bottom: 1px solid #e8e8e8;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n height: 36px;\n text-align: center;\n}\n\n.history-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n min-height: 0;\n height: 500px;\n}\n\n.history-list-container {\n flex: 1; \n flex-direction: column;\n min-height: 0;\n overflow: auto;\n}\n\n.history-list-container .history-list-item {\n padding: 5px 10px;\n display: flex;\n flex: 1;\n}\n\n.history-list-container .history-list-item:hover {\n background-color: #ffe7d5;\n}\n\n.history-content .main-panel {\n flex: 1 1 auto;\n}\n\n.history-content .history-side-panel {\n flex: 0 0 auto;\n user-select: none;\n border-left: 1px solid #e5e5e5;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.history-content .history-side-panel .history-side-panel-title {\n height: 50px;\n border-bottom: 1px solid #e5e5e5;\n line-height: 50px;\n font-size: 1rem;\n padding: 0 10px;\n background-color: rgb(250,250,249);\n font-weight: bolder;\n}\n\n@media (min-width:992px) {\n .history-side-panel {\n width: 260px;\n }\n .history-content .main-panel {\n max-width: calc(100% - 260px);\n }\n}\n\n@media (max-width:991.8px) {\n .history-content .main-panel {\n max-width: calc(100% - 190px);\n }\n}\n\n@media (max-width:768px) {\n .history-content .main-panel {\n max-width: 100%;\n }\n .markdown-viewer-render-content {\n margin: 20px;\n }\n .markdown-viewer-render-content .diff-view {\n padding: 20px;\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/fileHistoryOld.css b/media/assets/frontend/static/css/fileHistoryOld.css new file mode 100644 index 00000000000..e9359d43239 --- /dev/null +++ b/media/assets/frontend/static/css/fileHistoryOld.css @@ -0,0 +1,2 @@ +.old-history-header{align-items:center;background-color:#f4f4f7;border-bottom:1px solid #e8e8e8;display:flex;font-size:1rem;justify-content:space-between;padding:.5rem 1rem}.old-history-main{display:inline!important;min-height:1px;overflow:auto;padding:16px 10% 0;position:relative}.old-history-main .go-back{color:#ccc;float:left;font-size:25px;margin-left:-3rem}.old-history-main .go-back:hover{color:#f93;text-decoration:none}.old-history-main .get-more-btn{background:#efefef;border:0;border-radius:2px;color:#777;padding:.5em 0;width:100%}.old-history-main .get-more-btn:hover{color:#444}.old-history-main p{color:grey;font-size:12px;margin-bottom:1rem;margin-top:0}.old-history-main h2{color:#222;font-size:1.5em;font-weight:700;line-height:1.5}.old-history-main .file-name{word-wrap:break-word;color:#ee8204}.old-history-main .commit-list{margin:8px 0 40px;width:100%}.old-history-main .commit-list .avatar{border-radius:2px;height:16px;vertical-align:middle;width:16px}.old-history-main .commit-list .username{color:#eb8205;font-weight:700;text-decoration:none;vertical-align:middle}.old-history-more-operation i{color:#999;cursor:pointer}.old-history-more-operation a:hover{text-decoration:none}.old-history-more-operation i:hover{color:#666}@media (max-width:768px){.old-history-main .go-back{margin-left:-2rem}} +/*# sourceMappingURL=fileHistoryOld.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/fileHistoryOld.css.map b/media/assets/frontend/static/css/fileHistoryOld.css.map new file mode 100644 index 00000000000..37aa7e4cf54 --- /dev/null +++ b/media/assets/frontend/static/css/fileHistoryOld.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/fileHistoryOld.css","mappings":"AAAA,oBAGE,kBAAmB,CAEnB,wBAAyB,CADzB,+BAAgC,CAHhC,YAAa,CAKb,cAAe,CAJf,6BAA8B,CAK9B,kBACF,CAEA,kBAEE,wBAA0B,CAG1B,cAAe,CAFf,aAAc,CAFd,kBAAmB,CAGnB,iBAEF,CAEA,2BAEE,UAAW,CACX,UAAW,CAFX,cAAe,CAGf,iBACF,CAEA,iCACE,UAAa,CACb,oBACF,CAEA,gCAGE,kBAAmB,CACnB,QAAS,CAET,iBAAkB,CADlB,UAAW,CAHX,cAAe,CADf,UAMF,CACA,sCACE,UACF,CAEA,oBACE,UAAc,CACd,cAAe,CAEf,kBAAmB,CADnB,YAEF,CAEA,qBAEE,UAAW,CADX,eAAgB,CAEhB,eAAiB,CACjB,eACF,CAEA,6BAEE,oBAAqB,CADrB,aAEF,CAEA,+BAEE,iBAAkB,CADlB,UAEF,CAEA,uCAGE,iBAAkB,CADlB,WAAY,CAEZ,qBAAsB,CAHtB,UAIF,CAEA,yCAEE,aAAc,CAEd,eAAiB,CADjB,oBAAqB,CAFrB,qBAIF,CAEA,8BACE,UAAW,CACX,cACF,CAEA,oCACE,oBACF,CAEA,oCACE,UACF,CAEA,yBACE,2BACE,iBACF,CACF","sources":["css/file-history-old.css"],"sourcesContent":[".old-history-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #e8e8e8;\n background-color: #f4f4f7;\n font-size: 1rem;\n padding: 0.5rem 1rem;\n}\n\n.old-history-main {\n padding: 16px 10% 0;\n display: inline !important;\n overflow: auto;\n position: relative;\n min-height: 1px;\n}\n\n.old-history-main .go-back {\n font-size: 25px;\n color: #ccc;\n float: left;\n margin-left: -3rem;\n}\n\n.old-history-main .go-back:hover {\n color:#ff9933;\n text-decoration: none;\n}\n\n.old-history-main .get-more-btn {\n width: 100%;\n padding: .5em 0;\n background: #efefef;\n border: 0;\n color: #777;\n border-radius: 2px;\n}\n.old-history-main .get-more-btn:hover {\n color: #444;\n}\n\n.old-history-main p {\n color: #808080;\n font-size: 12px;\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n.old-history-main h2 {\n font-size: 1.5em;\n color: #222;\n font-weight: bold;\n line-height: 1.5;\n}\n\n.old-history-main .file-name {\n color: #ee8204;\n word-wrap: break-word;\n} \n\n.old-history-main .commit-list {\n width: 100%;\n margin: 8px 0 40px;\n}\n\n.old-history-main .commit-list .avatar {\n width: 16px;\n height: 16px;\n border-radius: 2px;\n vertical-align: middle;\n}\n\n.old-history-main .commit-list .username {\n vertical-align: middle;\n color: #eb8205;\n text-decoration: none;\n font-weight: bold;\n}\n\n.old-history-more-operation i {\n color: #999;\n cursor: pointer;\n}\n\n.old-history-more-operation a:hover {\n text-decoration: none;\n}\n\n.old-history-more-operation i:hover {\n color: #666;\n}\n\n@media (max-width: 768px) {\n .old-history-main .go-back {\n margin-left: -2rem;\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/historyTrashFileView.css b/media/assets/frontend/static/css/historyTrashFileView.css new file mode 100644 index 00000000000..d35adaad786 --- /dev/null +++ b/media/assets/frontend/static/css/historyTrashFileView.css @@ -0,0 +1,2 @@ +.md-content{background:#fff;border:1px solid #ccc;box-shadow:0 0 6px #ccc;margin:0 auto;max-width:950px;padding:70px 75px;width:calc(100% - 40px)}.sdoc-file-view .sdoc-editor-container{background:transparent} +/*# sourceMappingURL=historyTrashFileView.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/historyTrashFileView.css.map b/media/assets/frontend/static/css/historyTrashFileView.css.map new file mode 100644 index 00000000000..a9915329ee6 --- /dev/null +++ b/media/assets/frontend/static/css/historyTrashFileView.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/historyTrashFileView.css","mappings":"AAAA,YAMI,eAAgB,CAJhB,qBAAsB,CADtB,uBAAwB,CAMxB,aAAc,CAFd,eAAgB,CAFhB,iBAAkB,CAClB,uBAIJ,CCRA,uCACE,sBACF","sources":["css/md-file-view.css","css/sdoc-file-view.css"],"sourcesContent":[".md-content {\n box-shadow: 0 0 6px #ccc;\n border: 1px solid #ccc;\n padding: 70px 75px;\n width: calc(100% - 40px);\n max-width: 950px;\n background: #fff;\n margin: 0 auto;\n}\n",".sdoc-file-view .sdoc-editor-container {\n background: transparent;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/markdownEditor.css b/media/assets/frontend/static/css/markdownEditor.css new file mode 100644 index 00000000000..6429a8c190e --- /dev/null +++ b/media/assets/frontend/static/css/markdownEditor.css @@ -0,0 +1,2 @@ +.seafile-btn-view-review{align-items:center;display:flex}.seafile-btn-view-review .tag:hover{cursor:pointer}.topbar-btn-container{align-items:center;display:flex}.btn-new-draft,.seafile-btn-add-review{margin-right:10px}.collab-users-dropdown.dropdown{margin-right:6px}.seafile-multicolor-icon{fill:currentColor;height:1em;overflow:hidden;width:1em}.seafile-multicolor-icon-monitor{fill:#444;color:#bdbdbd;font-size:14px}.tag-list-container{list-style:none;max-height:15rem;overflow:auto}.add-tag-link{color:#666}.add-tag-link:hover{background:#f5f5f5;color:#444;text-decoration:none}.tag-list-item{height:2.5rem}.tag-list-item.hl{background:#f5f5f5}.tag-selected-icon{color:#999}.tag-delete-icon{color:#999;font-size:18px}.tag-delete-icon:hover{color:#444}.tag-dialog-back{color:#888;cursor:pointer;margin-right:10px}.tag-dialog-back:focus,.tag-dialog-back:hover{color:#444}.tag-color-option .colorinput-color:before{display:none}.tag-color-option .color-selected{opacity:0}.tag-color-option .colorinput-input:checked~.colorinput-color .color-selected{opacity:1}.tag-color-popover .popover{max-width:360px}.tag-color-popover .colorinput-color,.tag-color-popover .tag-color{height:20px;width:20px}.tag-color-popover .tag-color-option .colorinput-input:checked~.colorinput-color .color-selected{font-size:12px}.dirent-table-container tr{border:none}.dirent-table-container td,.dirent-table-container th{border:none;padding:5px 3px}.dirent-table-container th{color:#9c9c9c;font-size:13px;font-weight:400;text-align:left}.dirent-table-container td{color:#333;font-size:14px;word-break:break-all}.dirent-table-container .file-tag-container th{list-style:none;padding-top:8px;vertical-align:top}.dirent-table-container .file-tag-container .tag-list{list-style:none}.file-related-files th{vertical-align:top}.file-related-files td i{padding:0}.file-related-files td ul{list-style:none;max-height:100px;overflow-x:hidden;overflow-y:scroll;text-overflow:ellipsis;white-space:nowrap}.file-related-files td ul li{margin-bottom:5px}.file-related-files ul li a,.list-related-file-table tr td a{color:#333}.list-related-file-body{max-height:500px;min-height:200px;overflow-y:scroll}.detail-container .tab-content{height:calc(100% - 73px)}.detail-container .nav-item .nav-link,.detail-container .nav-item .nav-link i{margin:0 auto}.seafile-markdown-editor .markdown-help-wrapper .side-panel{background-color:#f5f5f5;display:flex;flex:1 1;flex-direction:column;-webkit-user-select:none;-ms-user-select:none;user-select:none}.seafile-markdown-editor .side-panel .nav{border-bottom:1px solid #eee;flex-wrap:nowrap;height:36px;min-width:125px;padding:10px 0}.seafile-markdown-editor .side-panel .nav .nav-item{padding:0 .75rem}.seafile-markdown-editor .side-panel .nav .nav-link{margin-right:0;padding:0 .75rem;transition:color .3s}.seafile-markdown-editor .side-panel .nav-link{color:#888}.seafile-markdown-editor .side-panel .nav .nav-link.active{border-bottom:0;color:#ff9800}.seafile-markdown-editor .side-panel .nav .iconfont{font-size:.875rem;font-weight:700}.seafile-markdown-editor .side-panel-content{font-size:.937rem;overflow:hidden}.seafile-markdown-editor .side-panel-content:hover{overflow:auto}.image-view{background-color:#fff;border-radius:3px;box-shadow:0 0 10px #aaa;font-size:0;height:150px;line-height:150px;overflow:hidden;position:absolute;text-align:center;width:200px;z-index:1004}.image-view img{max-height:100%;max-width:100%}.image-view i{-webkit-animation:rotate 1.5s ease infinite;animation:rotate 1.5s ease infinite;color:#eb8205;font-size:30px;height:100%;line-height:150px;text-align:center;width:100%}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.seafile-markdown-editor{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0}.seafile-markdown-editor .markdown-editor-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 3px 2px -2px hsla(0,0%,78%,.15);display:flex;justify-content:space-between;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:3}.seafile-markdown-editor .markdown-editor-toolbar .editor-btn-group{border-right:1px solid #e5e5e5;color:#555;font-size:.75rem;height:100%;padding:5px 0 5px 5px}.seafile-markdown-editor .markdown-editor-content{display:flex;flex:1 1;min-height:0;min-width:0;overflow:hidden}.seafile-markdown-editor .markdown-editor-content .markdown-editor-wrapper{background-color:#fafaf9;display:flex;flex:1 1;min-height:0;min-width:0;overflow-x:hidden;position:relative}.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper{display:flex;min-height:0;min-width:0;overflow:hidden;width:0}.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper.show{background-color:#fff;border-left:1px solid #e6e6dd;position:relative;width:300px}.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper .file-info,.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper .help-info{display:flex;flex:1 1;min-height:0;min-width:0}.seafile-markdown-editor ::-webkit-scrollbar{height:8px;width:8px}.seafile-markdown-editor ::-webkit-scrollbar-button{display:none}.seafile-markdown-editor ::-webkit-scrollbar-thumb{background-color:#ceced4;border-radius:10px}@media (max-width:991.8px){.seafile-editor{min-width:calc(100% - 40px)}.seafile-editor-main-panel{width:calc(100% - 200px)}.seafile-editor-side-panel{min-width:200px}.editor-container{width:100%}.editor-container .editor{margin:20px!important;padding:20px 30px}}@media (max-width:768px){.editor-container .editor{border:0;margin:0!important;padding:10px 15px}}.full-screen .editor-container .article{margin:20px auto;max-width:950px}#root{display:flex;flex-direction:column;min-height:0;min-width:0}.seafile-md-viewer{flex-direction:row;float:none;height:100%;position:relative}.sf-md-viewer-topbar-first,.sf-md-viewer-topbar-first-narrow{align-items:center;background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 3px 2px -2px hsla(0,0%,78%,.15);flex-shrink:0;padding:4px 10px}.seafile-md-viewer-container{background-color:#fafaf9;display:flex;height:100%;overflow:auto;position:relative;width:100%}.seafile-md-viewer-container.side-panel-on{width:calc(100% - 260px)}.seafile-md-viewer-slate{flex:auto;margin:20px 0 20px 5%;max-width:calc(90% - 260px);position:relative}.seafile-md-viewer-main{background:#fafaf9;flex:auto;overflow:auto;width:70%}.seafile-md-viewer-slate.side-panel-on{margin:20px 5%}.seafile-md-viewer .seafile-editor-outline{background-color:#fafaf9;border-left:0;height:80%;margin:40px auto;overflow-y:hidden;padding:0 .75rem 0 1.25rem;position:fixed;right:5%;top:68px;width:260px;z-index:1}.seafile-md-viewer .seafile-editor-outline:hover{overflow:auto}.seafile-md-viewer .seafile-editor-outline .active{border-left:1px solid #eb8205;color:#eb8205}.seafile-md-viewer .seafile-editor-outline-heading{border-bottom:1px solid #eee;color:#a0a0a0;padding:7px 0}.seafile-editor-outline .outline-h2,.seafile-editor-outline .outline-h3{font-size:14px;height:30px;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seafile-editor-outline .outline-h2{padding-left:20px}.seafile-editor-outline .outline-h3{padding-left:40px}.seafile-md-viewer-side-panel{height:100%;overflow:hidden;position:fixed;right:0;top:87px;width:260px}.seafile-md-viewer-side-panel .seafile-history-side-panel{border-left:1px solid #e6e6dd;height:100%;width:100%}@media (max-width:991.8px){.seafile-editor-outline{display:none}.seafile-md-viewer-slate{margin:20px 40px;max-width:100%;width:calc(100% - 80px)}}@media (max-width:768px){.sf-md-viewer-topbar-first{display:none!important}}@media (min-width:768px){.sf-md-viewer-topbar-first-narrow{display:none!important}}.topbar-file-info{display:inline-block;margin-left:8px;-webkit-user-select:text;-ms-user-select:text;user-select:text}.topbar-file-info .file-title{align-items:center;display:flex;font-size:1.2rem;font-weight:700}.topbar-file-info .file-title .iconfont{font-size:.875rem}.topbar-file-info .file-title .file-star{color:#999;cursor:pointer;font-size:.875rem;margin-left:.5rem;vertical-align:text-bottom}.topbar-file-info .file-title .file-star .star{color:#999}.topbar-file-info .file-state{font-size:.8125rem}.topbar-file-info .file-state .file-modifier-name{margin-right:.5rem}.topbar-file-info .file-state .file-modifier-savedraft{color:#888;margin-left:.5rem}*{margin:0;padding:0}html,input,textarea{background:#eee;font-family:Roboto,sans-serif;line-height:1.4}body{overflow-y:hidden}p{margin:0}:not(pre)>code{background-color:#eee;font-family:monospace;padding:3px}img{max-width:100%}img.active{box-shadow:0 0 0 2px blue}input{background:#fafafa;border:2px solid #ddd;box-sizing:border-box;font-size:.85em;padding:.5em;width:100%}input:focus{border-color:blue;outline:0}input[type=checkbox]{width:auto}a,a:hover{color:#eb8205}.lds-ripple{display:inline-block;height:64px;position:relative;width:64px}.lds-ripple div{-webkit-animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #eb8205;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){-webkit-animation-delay:-.5s;animation-delay:-.5s}@-webkit-keyframes lds-ripple{0%{height:0;left:28px;opacity:1;top:28px;width:0}to{height:58px;left:-1px;opacity:0;top:-1px;width:58px}}@keyframes lds-ripple{0%{height:0;left:28px;opacity:1;top:28px;width:0}to{height:58px;left:-1px;opacity:0;top:-1px;width:58px}}.empty-loading-page{height:100%;position:fixed;width:100%}.page-centered{left:50%;position:fixed;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)} +/*# sourceMappingURL=markdownEditor.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/markdownEditor.css.map b/media/assets/frontend/static/css/markdownEditor.css.map new file mode 100644 index 00000000000..acb5b8df5ee --- /dev/null +++ b/media/assets/frontend/static/css/markdownEditor.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/markdownEditor.css","mappings":"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","sources":["pages/markdown-editor/css/header-toolbar.css","css/icon.css","css/repo-tag.css","pages/markdown-editor/css/detail-list-view.css","pages/markdown-editor/css/side-panel.css","pages/markdown-editor/css/rich-editor.css","css/markdown-viewer/markdown-editor.css","index.css"],"sourcesContent":[".seafile-btn-view-review {\n display: flex;\n align-items: center;\n}\n\n.seafile-btn-view-review .tag:hover {\n cursor: pointer;\n}\n\n.topbar-btn-container {\n display: flex;\n align-items: center;\n}\n\n.seafile-btn-add-review {\n margin-right: 10px;\n}\n\n.btn-new-draft {\n margin-right: 10px;\n}\n\n.collab-users-dropdown.dropdown {\n margin-right: 6px;\n}\n",".seafile-multicolor-icon {\n width: 1em; \n height: 1em;\n fill: currentColor;\n overflow: hidden;\n}\n\n.seafile-multicolor-icon-monitor {\n font-size: 14px;\n fill: #444;\n color: #bdbdbd;\n}\n",".tag-list-container {\n max-height: 15rem;\n list-style: none;\n overflow: auto;\n}\n\n.add-tag-link {\n color: #666;\n}\n\n.add-tag-link:hover {\n color: #444;\n text-decoration: none;\n background: #f5f5f5;\n}\n\n.tag-list-item {\n height: 2.5rem;\n}\n\n.tag-list-item.hl {\n background: #f5f5f5;\n}\n\n.tag-selected-icon {\n color: #999;\n}\n\n.tag-delete-icon {\n color: #999;\n font-size: 18px;\n}\n\n.tag-delete-icon:hover {\n color: #444;\n}\n\n.tag-dialog-back {\n color: #888;\n cursor: pointer;\n margin-right: 10px;\n}\n\n.tag-dialog-back:hover,\n.tag-dialog-back:focus {\n color: #444;\n}\n\n/* overwrite the code from seafile-ui */\n.tag-color-option .colorinput-color::before {\n display: none;\n}\n\n.tag-color-option .color-selected {\n opacity: 0;\n}\n\n.tag-color-option .colorinput-input:checked ~ .colorinput-color .color-selected {\n opacity: 1;\n}\n\n/* tag-color */\n.tag-color-popover .popover {\n max-width: 360px;\n}\n\n.tag-color-popover .tag-color {\n width: 20px;\n height: 20px;\n}\n\n.tag-color-popover .colorinput-color {\n width: 20px;\n height: 20px;\n}\n\n.tag-color-popover .tag-color-option .colorinput-input:checked ~ .colorinput-color .color-selected {\n font-size: 12px;\n}\n",".dirent-table-container tr {\n border: none;\n}\n\n.dirent-table-container th,\n.dirent-table-container td {\n padding: 5px 3px;\n border: none;\n}\n\n.dirent-table-container th {\n font-size: 13px;\n text-align: left;\n font-weight: normal;\n color: #9c9c9c;\n}\n\n.dirent-table-container td {\n font-size: 14px;\n color: #333;\n word-break: break-all;\n}\n\n.dirent-table-container .file-tag-container th {\n vertical-align: top;\n list-style: none;\n padding-top: 8px;\n}\n\n.dirent-table-container .file-tag-container .tag-list {\n list-style: none;\n}\n\n.file-related-files th {\n vertical-align: top;\n}\n\n.file-related-files td i {\n padding: 0;\n}\n\n.file-related-files td ul {\n list-style: none;\n max-height: 100px;\n overflow-y: scroll;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.file-related-files td ul li {\n margin-bottom: 5px;\n}\n\n.file-related-files ul li a,\n.list-related-file-table tr td a {\n color: #333;\n}\n\n.list-related-file-body {\n min-height: 200px;\n max-height: 500px;\n overflow-y: scroll;\n}\n\n.detail-container .tab-content {\n height: calc(100% - 73px);\n}\n\n.detail-container .nav-item .nav-link, .detail-container .nav-item .nav-link i {\n margin: 0 auto;\n}\n",".seafile-markdown-editor .markdown-help-wrapper .side-panel {\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: #f5f5f5;\n user-select: none;\n}\n\n.seafile-markdown-editor .side-panel .nav {\n padding: 10px 0;\n min-width: 125px;\n border-bottom: 1px solid #eee;\n height: 36px;\n flex-wrap: nowrap;\n}\n\n.seafile-markdown-editor .side-panel .nav .nav-item {\n padding: 0 0.75rem;\n}\n\n.seafile-markdown-editor .side-panel .nav .nav-link {\n padding: 0 0.75rem;\n transition: 0.3s color;\n margin-right: 0;\n}\n\n.seafile-markdown-editor .side-panel .nav-link {\n color: #888;\n}\n\n.seafile-markdown-editor .side-panel .nav .nav-link.active {\n color: #ff9800;\n border-bottom: 0;\n}\n\n.seafile-markdown-editor .side-panel .nav .iconfont {\n font-weight: 700;\n font-size: 0.875rem;\n}\n\n.seafile-markdown-editor .side-panel-content {\n font-size: 0.937rem;\n overflow: hidden;\n}\n\n.seafile-markdown-editor .side-panel-content:hover {\n overflow: auto;\n}\n\n.image-view {\n width: 200px;\n height: 150px;\n position: absolute;\n background-color: #fff;\n z-index: 1004;\n box-shadow: 0 0 10px #aaa;\n border-radius: 3px;\n line-height: 150px;\n overflow: hidden;\n font-size: 0;\n text-align: center;\n}\n\n.image-view img {\n max-width: 100%;\n max-height: 100%;\n}\n\n.image-view i {\n width: 100%;\n height: 100%;\n text-align: center;\n line-height: 150px;\n font-size: 30px;\n color: #eb8205;\n -moz-animation: rotate 1.5s ease infinite;\n -webkit-animation: rotate 1.5s ease infinite;\n animation: rotate 1.5s ease infinite;\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n",".seafile-markdown-editor {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n}\n\n.seafile-markdown-editor .markdown-editor-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n border-bottom: 1px solid #e5e5e5;\n background-color: #fff;\n user-select: none;\n box-shadow: 0 3px 2px -2px rgba(200,200,200,.15);\n z-index: 3;\n}\n\n.seafile-markdown-editor .markdown-editor-toolbar .editor-btn-group {\n height: 100%;\n padding: 5px 0 5px 5px;\n font-size: 0.75rem;\n border-right: 1px solid #e5e5e5;\n color: #555555;\n}\n\n.seafile-markdown-editor .markdown-editor-content {\n flex: 1;\n display: flex;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n}\n\n.seafile-markdown-editor .markdown-editor-content .markdown-editor-wrapper {\n flex: 1;\n display: flex;\n position: relative;\n overflow-x: hidden;\n min-height: 0;\n min-width: 0;\n background-color: #fafaf9;\n}\n\n.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper {\n width: 0;\n display: flex;\n overflow: hidden;\n min-width: 0;\n min-height: 0;\n}\n\n.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper.show {\n width: 300px;\n background-color: #fff;\n border-left: 1px solid #e6e6dd;\n position: relative;\n}\n\n\n.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper .file-info {\n flex: 1;\n display: flex;\n min-width: 0;\n min-height: 0;\n}\n\n.seafile-markdown-editor .markdown-editor-content .markdown-help-wrapper .help-info {\n flex: 1;\n display: flex;\n min-width: 0;\n min-height: 0;\n}\n\n.seafile-markdown-editor ::-webkit-scrollbar{\n width: 8px;\n height: 8px;\n}\n\n.seafile-markdown-editor ::-webkit-scrollbar-button {\n display: none;\n}\n\n.seafile-markdown-editor ::-webkit-scrollbar-thumb {\n background-color: rgb(206, 206, 212);\n border-radius: 10px;\n}\n\n@media (max-width: 991.8px) {\n .seafile-editor {\n min-width: calc(100% - 40px);\n }\n\n .seafile-editor-main-panel {\n width: calc(100% - 200px);\n }\n\n .seafile-editor-side-panel {\n min-width: 200px;\n }\n\n .editor-container {\n width: 100%;\n }\n\n .editor-container .editor {\n margin: 20px !important;\n padding: 20px 30px;\n }\n}\n\n@media (max-width: 768px) {\n .editor-container .editor {\n margin: 0 !important;\n padding: 10px 15px;\n border: 0;\n }\n}\n\n.full-screen .editor-container .article {\n margin: 20px auto;\n max-width: 950px;\n}\n","#root {\n display: flex;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n}\n\n.seafile-md-viewer {\n height: 100%;\n flex-direction: row;\n position: relative;\n float: none;\n}\n.sf-md-viewer-topbar-first,\n.sf-md-viewer-topbar-first-narrow {\n padding: 4px 10px;\n background-color: #fff;\n border-bottom: 1px solid #e5e5e5;\n box-shadow: 0 3px 2px -2px rgba(200,200,200,.15);\n flex-shrink:0;\n align-items: center;\n}\n.seafile-md-viewer-container {\n width: 100%;\n background-color: #fafaf9;\n height: 100%;\n position: relative;\n overflow: auto;\n display: flex;\n}\n.seafile-md-viewer-container.side-panel-on {\n width: calc(100% - 260px);\n}\n.seafile-md-viewer-slate {\n flex: auto;\n position: relative;\n margin: 20px 0px 20px 5%;\n max-width: calc(90% - 260px);\n}\n.seafile-md-viewer-main {\n flex: auto;\n overflow: auto;\n background:#fafaf9;\n width: 70%;\n}\n.seafile-md-viewer-slate.side-panel-on {\n margin: 20px 5%;\n}\n/* outline */\n.seafile-md-viewer .seafile-editor-outline {\n background-color: #fafaf9;\n margin: 40px auto;\n padding: 0 0.75rem 0 1.25rem;\n border-left: 0;\n width: 260px;\n position: fixed;\n top: 68px;\n overflow-y: hidden;\n right: 5%;\n z-index: 1;\n height: 80%;\n}\n.seafile-md-viewer .seafile-editor-outline:hover {\n overflow: auto;\n}\n.seafile-md-viewer .seafile-editor-outline .active {\n color: #eb8205;\n border-left: 1px solid #eb8205;\n}\n.seafile-md-viewer .seafile-editor-outline-heading {\n padding: 7px 0;\n border-bottom: 1px solid #eee;\n color: #a0a0a0;\n}\n.seafile-editor-outline .outline-h2, .seafile-editor-outline .outline-h3 {\n height: 30px;\n margin-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 14px;\n}\n.seafile-editor-outline .outline-h2 {\n padding-left: 20px;\n}\n.seafile-editor-outline .outline-h3 {\n padding-left: 40px;\n}\n/* side-panel */\n.seafile-md-viewer-side-panel {\n height: 100%;\n overflow: hidden;\n width: 260px;\n position: fixed;\n right: 0;\n top: 87px;\n}\n.seafile-md-viewer-side-panel .seafile-history-side-panel {\n width: 100%;\n height: 100%;\n}\n.seafile-md-viewer-side-panel .seafile-history-side-panel {\n border-left: 1px solid #e6e6dd;\n}\n@media (max-width:991.8px) {\n .seafile-editor-outline {\n display: none;\n }\n .seafile-md-viewer-slate {\n width: calc(100% - 80px);\n margin: 20px 40px;\n max-width: 100%;\n }\n}\n\n@media (max-width: 768px) {\n .sf-md-viewer-topbar-first {\n display: none !important;\n }\n}\n@media (min-width: 768px) {\n .sf-md-viewer-topbar-first-narrow {\n display: none !important;\n }\n}\n\n/* toolbar */\n.topbar-file-info {\n display: inline-block;\n margin-left: 8px;\n /*\n only select file info text\n */\n user-select: text;\n}\n.topbar-file-info .file-title {\n font-size: 1.2rem;\n font-weight: bold;\n display: flex;\n align-items: center;\n}\n\n.topbar-file-info .file-title .iconfont {\n font-size: 0.875rem;\n}\n\n.topbar-file-info .file-title .file-star {\n font-size: 0.875rem;\n cursor: pointer;\n margin-left: 0.5rem;\n vertical-align: text-bottom;\n color: #999;\n}\n\n.topbar-file-info .file-title .file-star .star {\n color: #999;\n}\n\n.topbar-file-info .file-state {\n font-size: 0.8125rem;\n}\n\n.topbar-file-info .file-state .file-modifier-name {\n margin-right: 0.5rem;\n}\n\n.topbar-file-info .file-state .file-modifier-savedraft {\n margin-left: 0.5rem;\n color: #888;\n}\n","* {\n margin: 0;\n padding: 0;\n}\nhtml,\ninput,\ntextarea {\n font-family: 'Roboto', sans-serif;\n line-height: 1.4;\n background: #eee;\n}\n\nbody {\n overflow-y: hidden;\n}\n\np {\n margin: 0;\n}\n\n:not(pre) > code {\n font-family: monospace;\n background-color: #eee;\n padding: 3px;\n}\n\nimg {\n max-width: 100%;\n}\n\nimg.active {\n box-shadow: 0 0 0 2px blue;\n}\n\ninput {\n box-sizing: border-box;\n font-size: 0.85em;\n width: 100%;\n padding: 0.5em;\n border: 2px solid #ddd;\n background: #fafafa;\n}\n\ninput:focus {\n outline: 0;\n border-color: blue;\n}\ninput[type=\"checkbox\"] {\n width: auto;\n}\n\na,\na:hover {\n color: #eb8205;\n}\n\n.lds-ripple {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n}\n.lds-ripple div {\n position: absolute;\n border: 4px solid #eb8205;\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n}\n.lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n}\n@keyframes lds-ripple {\n 0% {\n top: 28px;\n left: 28px;\n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: -1px;\n left: -1px;\n width: 58px;\n height: 58px;\n opacity: 0;\n }\n}\n.empty-loading-page {\n position: fixed;\n height: 100%;\n width: 100%;\n}\n\n.page-centered {\n position: fixed;\n top: 50%;\n left: 50%;\n /* bring your own prefixes */\n transform: translate(-50%, -50%);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/orgAdmin.css b/media/assets/frontend/static/css/orgAdmin.css new file mode 100644 index 00000000000..7d2f9d5eac9 --- /dev/null +++ b/media/assets/frontend/static/css/orgAdmin.css @@ -0,0 +1,2 @@ +.system-statistic-time-range{align-items:center;display:flex;font-size:13px;margin:15px 0 25px}.sys-stat-tool{color:#333;display:flex;font-size:13px}.system-statistic-item{border:1px solid #c5c5c5;cursor:pointer;padding:5px 10px}.sys-stat-tool .item-active,.system-statistic-item:hover{background:#efefef}.system-statistic-input-container{align-items:center;display:flex;margin-left:1rem}.system-statistic-input{height:31px;width:120px}.error-tip{color:red}.statistic-traffic-tab{color:#333;display:flex;font-size:13px;margin-top:10px}.statistic-traffic-tab .statistic-traffic-tab-item{border-bottom:2px solid transparent;color:#8a948f;cursor:pointer;margin-right:10px;padding:3px 0}.statistic-traffic-tab .statistic-traffic-tab-item.active,.statistic-traffic-tab .statistic-traffic-tab-item:hover{border-bottom:2px solid #eb8025;color:#eb8025}.statistic-reports-title{background:#f7f7f7;color:#222;margin-top:15px;padding:3px 10px}.statistic-reports-submit{margin-left:15px}.statistic-reports-wrapper{align-items:center;display:flex;margin-top:15px}.statistic-reports-input{height:30px;width:80px}.statistic-reports-tip{font-size:13px;padding:0 10px}.system-statistic-connect{line-height:1;padding:0 5px}.system-statistic-button{height:31px;margin-left:1rem}.rc-calendar table{table-layout:auto}.rc-calendar tbody tr{height:1.75rem}.web-setting-icon-btn{font-size:1rem;line-height:1.5;min-width:0}.web-setting-icon-btn-submit{color:green}.web-setting-icon-btn-cancel{color:#666}.web-setting-textarea{min-height:7rem}.web-setting-label{word-break:break-word}.paginator{font-size:14px;margin:10px 0;text-align:center}.cur-view-path.org-user-nav{padding:0 1rem}.cur-view-path.org-admin-user-nav{padding:0 16px 1px}.cur-view-path .operation-item{font-size:12px;height:24px;line-height:24px}.cur-view-container .no-group,.cur-view-container .no-libraty,.cur-view-container .no-member{color:#a4a4a4;margin:30px 0;text-align:center}.cur-view-path .sf-heading a{color:#eb8205}.cur-view-subcontainer{margin:10px}.cur-view-subcontainer table{margin:8px 0 40px}.org-departments>div{height:100%}.org-members .cur-view-content{padding-bottom:40px}.cur-view-path button:hover{cursor:pointer}.audit-unselect-item{background:#f2f2f2;border:1px solid #ccc;border-radius:2px;cursor:pointer;display:inline-block;font-size:14px;margin:10px 5px 0;padding:1px 8px}.audit-unselect-item:hover{background-color:#ddd}.no-deco,.no-deco:focus,.no-deco:hover{text-decoration:none}.cur-view-path .nav .nav-item a{padding:7px 10px} +/*# sourceMappingURL=orgAdmin.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/orgAdmin.css.map b/media/assets/frontend/static/css/orgAdmin.css.map new file mode 100644 index 00000000000..3c364c2f268 --- /dev/null +++ b/media/assets/frontend/static/css/orgAdmin.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/orgAdmin.css","mappings":"AAAA,6BAGE,kBAAmB,CADnB,YAAa,CAEb,cAAe,CAHf,kBAIF,CAEA,eAGE,UAAW,CAFX,YAAa,CACb,cAEF,CAEA,uBACE,wBAAyB,CAEzB,cAAe,CADf,gBAEF,CAMA,yDACE,kBACF,CAEA,kCAGE,kBAAmB,CAFnB,YAAa,CACb,gBAEF,CAEA,wBACE,WAAY,CACZ,WACF,CAEA,WACE,SACF,CAEA,uBAGE,UAAW,CAFX,YAAa,CACb,cAAe,CAEf,eACF,CAEA,mDAGE,mCAAoC,CAEpC,aAAc,CADd,cAAe,CAHf,iBAAkB,CAClB,aAIF,CAOA,mHAEE,+BAAgC,CADhC,aAEF,CAEA,yBACE,kBAAmB,CAEnB,UAAc,CADd,eAAgB,CAEhB,gBACF,CAEA,0BACE,gBACF,CAEA,2BAEE,kBAAmB,CADnB,YAAa,CAEb,eACF,CAEA,yBAEE,WAAY,CADZ,UAEF,CAEA,uBAEE,cAAe,CADf,cAEF,CAEA,0BAEE,aAAc,CADd,aAEF,CAEA,yBACE,WAAY,CACZ,gBACF,CAEA,mBACE,iBACF,CAEA,sBACE,cACF,CC9GA,sBACE,cAAe,CACf,eAAgB,CAChB,WACF,CACA,6BACE,WACF,CACA,6BACE,UACF,CACA,sBACE,eACF,CACA,mBACE,qBACF,CChBA,WAGI,cAAe,CADf,aAAc,CADd,iBAGJ,CAEA,4BACI,cACJ,CCRA,kCACE,kBACF,CCFA,+BACE,cAAe,CACf,WAAY,CACZ,gBACF,CACA,6FACE,aAAc,CAEd,aAAc,CADd,iBAEF,CACA,6BACE,aACF,CACA,uBACE,WACF,CACA,6BACE,iBACF,CACA,qBACE,WACF,CACA,+BACE,mBACF,CACA,4BACE,cACF,CC3BA,qBAKE,kBAAmB,CAHnB,qBAAsB,CACtB,iBAAkB,CAGlB,cAAe,CALf,oBAAqB,CAMrB,cAAe,CACf,iBAAkB,CAJlB,eAKF,CACA,2BACE,qBACF,CACA,uCAGE,oBACF,CACA,gCACE,gBACF","sources":["css/system-stat.css","css/system-admin-web-settings.css","css/org-admin-paginator.css","css/org-admin-user.css","css/org-department-item.css","css/org-logs.css"],"sourcesContent":[".system-statistic-time-range {\n margin: 15px 0 25px;\n display: flex;\n align-items: center;\n font-size: 13px;\n}\n\n.sys-stat-tool {\n display: flex;\n font-size: 13px;\n color: #333;\n}\n\n.system-statistic-item {\n border: 1px solid #c5c5c5;\n padding: 5px 10px;\n cursor: pointer;\n}\n\n.system-statistic-item:hover {\n background: #efefef;\n}\n\n.sys-stat-tool .item-active {\n background: #efefef;\n}\n\n.system-statistic-input-container {\n display: flex;\n margin-left: 1rem;\n align-items: center;\n}\n\n.system-statistic-input {\n height: 31px;\n width: 120px;\n}\n\n.error-tip {\n color: red;\n}\n\n.statistic-traffic-tab {\n display: flex;\n font-size: 13px;\n color: #333;\n margin-top: 10px;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item {\n margin-right: 10px;\n padding: 3px 0;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n color: #8a948f;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item:hover {\n color: #eb8025;\n border-bottom: 2px solid #eb8025;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item.active {\n color: #eb8025;\n border-bottom: 2px solid #eb8025;\n}\n\n.statistic-reports-title {\n background: #f7f7f7;\n margin-top: 15px;\n color: #222222;\n padding: 3px 10px;\n}\n\n.statistic-reports-submit {\n margin-left: 15px;\n}\n\n.statistic-reports-wrapper {\n display: flex;\n align-items: center;\n margin-top: 15px;\n}\n\n.statistic-reports-input {\n width: 80px;\n height: 30px;\n}\n\n.statistic-reports-tip {\n padding: 0 10px;\n font-size: 13px;\n}\n\n.system-statistic-connect {\n padding: 0 5px;\n line-height: 1;\n}\n\n.system-statistic-button {\n height: 31px;\n margin-left: 1rem;\n}\n\n.rc-calendar table {\n table-layout: initial;\n}\n\n.rc-calendar tbody tr {\n height: 1.75rem;\n}\n",".web-setting-icon-btn {\n font-size: 1rem;\n line-height: 1.5;\n min-width: 0;\n}\n.web-setting-icon-btn-submit {\n color: green;\n}\n.web-setting-icon-btn-cancel {\n color: #666;\n}\n.web-setting-textarea {\n min-height: 7rem;\n}\n.web-setting-label {\n word-break: break-word;\n}\n",".paginator {\n text-align: center;\n margin: 10px 0;\n font-size: 14px;\n}\n\n.cur-view-path.org-user-nav {\n padding: 0 1rem;\n}\n",".cur-view-path.org-admin-user-nav {\n padding: 0 16px 1px;\n}\n",".cur-view-path .operation-item {\n font-size: 12px;\n height: 24px;\n line-height: 24px;\n}\n.cur-view-container .no-libraty, .cur-view-container .no-member, .cur-view-container .no-group {\n color: #a4a4a4;\n text-align: center;\n margin: 30px 0;\n}\n.cur-view-path .sf-heading a {\n color: #eb8205;\n}\n.cur-view-subcontainer {\n margin: 10px;\n}\n.cur-view-subcontainer table {\n margin: 8px 0 40px;\n}\n.org-departments>div{\n height: 100%;\n}\n.org-members .cur-view-content {\n padding-bottom: 40px;\n}\n.cur-view-path button:hover {\n cursor: pointer;\n}\n",".audit-unselect-item {\n display: inline-block;\n border: 1px solid #ccc;\n border-radius: 2px;\n padding: 1px 8px;\n background: #f2f2f2;\n cursor: pointer;\n font-size: 14px;\n margin: 10px 5px 0;\n}\n.audit-unselect-item:hover {\n background-color: #ddd;\n}\n.no-deco,\n.no-deco:hover,\n.no-deco:focus {\n text-decoration: none;\n}\n.cur-view-path .nav .nav-item a {\n padding: 7px 10px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoFolderTrash.css b/media/assets/frontend/static/css/repoFolderTrash.css new file mode 100644 index 00000000000..3c33e52df7d --- /dev/null +++ b/media/assets/frontend/static/css/repoFolderTrash.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.go-back{color:silver;font-size:1.75rem;left:-40px;position:absolute;top:-5px}.op-bar{background:#f2f2f2;border-radius:2px;padding:9px 10px}.more{background:#efefef;border:0;color:#777}.more:hover{background:#dfdfdf;color:#000}.clean{border-color:#ccc;border-radius:2px;font-weight:400;height:30px;line-height:28px;min-width:55px;padding:0 .5rem} +/*# sourceMappingURL=repoFolderTrash.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoFolderTrash.css.map b/media/assets/frontend/static/css/repoFolderTrash.css.map new file mode 100644 index 00000000000..9df927b0f83 --- /dev/null +++ b/media/assets/frontend/static/css/repoFolderTrash.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/repoFolderTrash.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CACA,SACE,YAAc,CACd,iBAAkB,CAElB,UAAW,CADX,iBAAkB,CAElB,QACF,CACA,QAEE,kBAAmB,CACnB,iBAAkB,CAFlB,gBAGF,CACA,MACE,kBAAmB,CACnB,QAAS,CACT,UACF,CACA,YAEE,kBAAmB,CADnB,UAEF,CACA,OACE,iBAAkB,CAClB,iBAAkB,CAGlB,eAAmB,CAFnB,WAAY,CACZ,gBAAiB,CAGjB,cAAe,CADf,eAEF","sources":["css/repo-folder-trash.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n.go-back {\n color: #c0c0c0;\n font-size: 1.75rem;\n position: absolute;\n left: -40px;\n top: -5px;\n}\n.op-bar {\n padding: 9px 10px;\n background: #f2f2f2;\n border-radius: 2px;\n}\n.more {\n background: #efefef;\n border: 0;\n color: #777;\n}\n.more:hover {\n color: #000;\n background: #dfdfdf;\n}\n.clean {\n border-color: #ccc;\n border-radius: 2px;\n height: 30px;\n line-height: 28px;\n font-weight: normal;\n padding: 0 0.5rem;\n min-width: 55px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoHistory.css b/media/assets/frontend/static/css/repoHistory.css new file mode 100644 index 00000000000..970e8708d7a --- /dev/null +++ b/media/assets/frontend/static/css/repoHistory.css @@ -0,0 +1,2 @@ +.commit-detail-item{list-style-type:none}body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.details{color:#666;font-size:12px;margin-left:.25rem;text-decoration:underline}.commit-label{background:#eee;border-radius:3px;margin:0 2px;padding:1px 5px;white-space:nowrap}.go-back{color:silver;font-size:1.75rem;left:-40px;position:absolute;top:-5px} +/*# sourceMappingURL=repoHistory.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoHistory.css.map b/media/assets/frontend/static/css/repoHistory.css.map new file mode 100644 index 00000000000..1200248bfeb --- /dev/null +++ b/media/assets/frontend/static/css/repoHistory.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/repoHistory.css","mappings":"AAAA,oBACE,oBACF,CCFA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CACA,SAEE,UAAW,CADX,cAAe,CAGf,kBAAmB,CADnB,yBAEF,CACA,cAGE,eAAgB,CAChB,iBAAkB,CAFlB,YAAa,CADb,eAAgB,CAIhB,kBACF,CACA,SACE,YAAc,CACd,iBAAkB,CAElB,UAAW,CADX,iBAAkB,CAElB,QACF","sources":["css/commit-details.css","css/repo-history.css"],"sourcesContent":[".commit-detail-item {\n list-style-type: none;\n}\n","body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n.details {\n font-size: 12px;\n color: #666;\n text-decoration: underline;\n margin-left: .25rem;\n}\n.commit-label {\n padding: 1px 5px;\n margin: 0 2px;\n background: #eee;\n border-radius: 3px;\n white-space: nowrap;\n}\n.go-back {\n color: #c0c0c0;\n font-size: 1.75rem;\n position: absolute;\n left: -40px;\n top: -5px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoSnapshot.css b/media/assets/frontend/static/css/repoSnapshot.css new file mode 100644 index 00000000000..eab36636b46 --- /dev/null +++ b/media/assets/frontend/static/css/repoSnapshot.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.go-back{color:silver;font-size:1.75rem;left:-40px;position:absolute;top:-5px}.op-bar{background:#f2f2f2;border-radius:2px;padding:9px 10px}.op-bar-btn{border-color:#ccc;border-radius:2px;font-weight:400;height:30px;line-height:28px;min-width:55px;padding:0 .5rem}.heading-commit-time{font-size:60%;font-weight:400} +/*# sourceMappingURL=repoSnapshot.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/repoSnapshot.css.map b/media/assets/frontend/static/css/repoSnapshot.css.map new file mode 100644 index 00000000000..78160f6e03a --- /dev/null +++ b/media/assets/frontend/static/css/repoSnapshot.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/repoSnapshot.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CACA,SACE,YAAc,CACd,iBAAkB,CAElB,UAAW,CADX,iBAAkB,CAElB,QACF,CACA,QAEE,kBAAmB,CACnB,iBAAkB,CAFlB,gBAGF,CACA,YACE,iBAAkB,CAClB,iBAAkB,CAGlB,eAAmB,CAFnB,WAAY,CACZ,gBAAiB,CAGjB,cAAe,CADf,eAEF,CACA,qBAEE,aAAc,CADd,eAEF","sources":["css/repo-snapshot.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n.go-back {\n color: #c0c0c0;\n font-size: 1.75rem;\n position: absolute;\n left: -40px;\n top: -5px;\n}\n.op-bar {\n padding: 9px 10px;\n background: #f2f2f2;\n border-radius: 2px;\n}\n.op-bar-btn {\n border-color: #ccc;\n border-radius: 2px;\n height: 30px;\n line-height: 28px;\n font-weight: normal;\n padding: 0 0.5rem;\n min-width: 55px;\n}\n.heading-commit-time {\n font-weight: normal;\n font-size: 60%;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/sdocFileHistory.css b/media/assets/frontend/static/css/sdocFileHistory.css new file mode 100644 index 00000000000..f2d2a1d6e53 --- /dev/null +++ b/media/assets/frontend/static/css/sdocFileHistory.css @@ -0,0 +1,2 @@ +.go-back{color:silver;margin-right:.75rem}.go-back:hover{color:#f93;cursor:pointer}.item-active{background-color:#fdc297!important;color:#fff}.item-active i{color:#fff}.history-list-item .history-info{flex:1 1;padding:0 .5rem}.history-list-item .history-operation{align-items:center;display:flex;justify-content:center;width:1.5rem}.history-info .time{color:#000}.history-info .owner{align-items:center;color:#888;display:flex;margin-top:.25rem}.owner .squire-icon{background-color:#549b5a;height:.5rem;margin-right:.25rem;width:.5rem}.history-body .dropdown-menu{min-width:8rem}.history-body .dropdown-menu a{color:#6e7687;text-decoration:none}.seahub-switch.small .custom-switch-indicator{border-radius:6px;height:12px;width:22px}.seahub-switch.small .custom-switch-indicator:before{height:8px;width:8px}.seahub-switch.small .custom-switch-input:checked~.custom-switch-indicator:before{left:12px}.sdoc-file-history .sdoc-file-history-container{flex:1 1;overflow-x:hidden}.sdoc-file-history .sdoc-file-history-header{background-color:#fff;border-bottom:1px solid #e5e5e5;height:50px}.sdoc-file-history .sdoc-file-history-header .sdoc-file-history-header-left{flex:1 1;font-size:1.25rem}.sdoc-file-history .sdoc-file-history-header .file-name{flex:1 1}.sdoc-file-history .sdoc-file-history-header .sdoc-file-history-header-right{height:100%}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-container{border:1px solid #e5e5e5;border-radius:3px;height:32px}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-divider{border-right:1px solid #e5e5e5;height:100%;width:1px}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last,.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next{height:100%;padding:0 8px}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last .fas,.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next .fas{color:#000;opacity:.5}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last:hover,.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next:hover{background-color:#f5f5f5;cursor:pointer;opacity:.75}.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last:hover .fas,.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next:hover .fas{opacity:.75}.sdoc-file-history .sdoc-file-history-content{background-color:#f5f5f5;flex:1 1;min-height:0;overflow-y:scroll;padding:20px 40px}.sdoc-file-history .sdoc-file-history-content .sdoc-file-history-viewer{background-color:#fff;border:1px solid #e6e6dd;flex:1 1;min-height:120px;width:100%;word-break:break-word}.sdoc-file-history .sdoc-file-history-content .sdoc-scroll-container{overflow:hidden;position:relative!important;width:100%}.sdoc-file-history .sdoc-file-history-content .sdoc-article-container{margin-left:0!important;padding-bottom:0;padding-top:0;width:100%}.sdoc-file-history .sdoc-file-history-content .article{margin:0;width:100%}.sdoc-file-history .sdoc-file-history-panel{border-left:1px solid #e5e5e5;width:260px}.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-select-range{background-color:#fff;border-bottom:1px solid #e5e5e5;height:50px;padding:10px 18px}.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-select-range-title{font-size:1rem;font-weight:bolder;height:100%;line-height:29px;width:100%}.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-diff-switch{border-top:1px solid #e5e5e5;height:50px;padding:0 18px}.sdoc-file-history .sdoc-file-history-diff-switch .custom-switch{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding-left:0;width:100%}.sdoc-file-history .sdoc-file-history-diff-switch .custom-switch-description{flex:1 1;margin-left:0;padding-right:8px}.sdoc-file-history-versions{flex:1 1;flex-direction:column;min-height:0;overflow:auto}.sdoc-file-history-versions .history-list-item{border-bottom:1px solid #e5e5e5;display:flex;flex:1 1;padding:5px 10px}.sdoc-file-history-versions .history-list-item:last-child{border-bottom:none}.sdoc-file-history-versions .history-list-item:not(.item-active):hover{background-color:#f5f5f5;cursor:pointer}.sdoc-file-history-versions .history-list-item .history-operation:hover{cursor:pointer}.sdoc-file-history-versions .history-list-item .history-operation a.fas{color:#888}.sdoc-file-history-versions .history-list-item .history-operation:hover a.fas{color:#333}.sdoc-file-history-versions .history-list-item.item-active{background-color:#ffecd9!important}.sdoc-file-history-versions .history-list-item.item-active .history-info .time{color:#ff8000}.history-info .owner{min-height:22.5px}.sdoc-file-history-versions .dropdown-menu{min-width:8rem}.history-content .main-panel{flex:1 1 auto}.history-content .history-side-panel{background-color:#fff;border-left:1px solid #e5e5e5;display:flex;flex:0 0 auto;flex-direction:column;-webkit-user-select:none;-ms-user-select:none;user-select:none}.history-content .history-side-panel .history-side-panel-title{background-color:#fafaf9;border-bottom:1px solid #e5e5e5;font-size:1rem;font-weight:bolder;height:50px;line-height:50px;padding:0 10px}@media (min-width:992px){.history-side-panel{width:260px}}@media (max-width:768px){.sdoc-file-history .sdoc-file-history-content{padding:0}.sdoc-file-history .sdoc-file-history-content .sdoc-file-history-viewer{border:none}.markdown-viewer-render-content{margin:20px}.markdown-viewer-render-content .diff-view{padding:20px}} +/*# sourceMappingURL=sdocFileHistory.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/sdocFileHistory.css.map b/media/assets/frontend/static/css/sdocFileHistory.css.map new file mode 100644 index 00000000000..bb4167975a8 --- /dev/null +++ b/media/assets/frontend/static/css/sdocFileHistory.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/sdocFileHistory.css","mappings":"AAAA,SAEE,YAAc,CADd,mBAEF,CAEA,eACE,UAAc,CACd,cACF,CCRA,aAEE,kCAAoC,CADpC,UAEF,CAEA,eACE,UACF,CAEA,iCACE,QAAO,CACP,eACF,CAEA,sCAGE,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAHvB,YAIF,CAEA,oBACE,UACF,CAEA,qBAIE,kBAAmB,CAFnB,UAAW,CACX,YAAa,CAFb,iBAIF,CAEA,oBAGE,wBAAyB,CADzB,YAAc,CAEd,mBAAqB,CAHrB,WAIF,CAEA,6BACE,cACF,CAEA,+BAEE,aAAc,CADd,oBAEF,CC9CA,8CAGE,iBAAkB,CADlB,WAAY,CADZ,UAGF,CAEA,qDACE,UAAW,CACX,SACF,CAEA,kFACE,SACF,CCbA,gDACE,QAAO,CACP,iBACF,CAEA,6CAGE,qBAAsB,CADtB,+BAAgC,CADhC,WAGF,CAEA,4EAEE,QAAO,CADP,iBAEF,CAEA,wDACE,QACF,CAEA,6EACE,WACF,CAEA,0EAEE,wBAAyB,CACzB,iBAAkB,CAFlB,WAGF,CAEA,wEACE,8BAA+B,CAC/B,WAAY,CACZ,SACF,CAEA,0IAGE,WAAY,CADZ,aAEF,CAEA,oJAEE,UAAW,CACX,UACF,CAEA,sJAIE,wBAAyB,CAFzB,cAAe,CACf,WAEF,CAEA,gKAEE,WACF,CAEA,8CAIE,wBAAyB,CAHzB,QAAO,CACP,YAAa,CAGb,iBAAkB,CAFlB,iBAGF,CAEA,wEAIE,qBAAsB,CAEtB,wBAAyB,CAHzB,QAAO,CADP,gBAAiB,CADjB,UAAW,CAIX,qBAEF,CAEA,qEAEE,eAAgB,CADhB,2BAA6B,CAE7B,UACF,CAEA,sEAIE,uBAAyB,CADzB,gBAAiB,CADjB,aAAc,CADd,UAIF,CAEA,uDAEE,QAAS,CADT,UAEF,CAGA,4CAEE,6BAA8B,CAD9B,WAEF,CAEA,4EAIE,qBAAsB,CADtB,+BAAgC,CADhC,WAAY,CADZ,iBAIF,CAEA,kFAGE,cAAe,CACf,kBAAmB,CAHnB,WAAY,CAIZ,gBAAiB,CAHjB,UAIF,CAEA,2EAGE,4BAA6B,CAD7B,WAAY,CADZ,cAGF,CAEA,iEAIE,kBAAmB,CAEnB,cAAe,CAHf,YAAa,CAEb,6BAA8B,CAH9B,cAAe,CADf,UAMF,CAEA,6EAEE,QAAO,CADP,aAAc,CAEd,iBACF,CAGA,4BACE,QAAO,CACP,qBAAsB,CACtB,YAAa,CACb,aACF,CAEA,+CAIE,+BAAgC,CAFhC,YAAa,CACb,QAAO,CAFP,gBAIF,CAEA,0DACE,kBACF,CAEA,uEACE,wBAAyB,CACzB,cACF,CAEA,wEACE,cACF,CAEA,wEACE,UACF,CAEA,8EACE,UACF,CAEA,2DACE,kCACF,CAEA,+EACE,aACF,CAEA,qBACE,iBACF,CAEA,2CACE,cACF,CAEA,6BACE,aACF,CAEA,qCAIE,qBAAsB,CADtB,6BAA8B,CAE9B,YAAa,CAJb,aAAc,CAKd,qBAAsB,CAJtB,wBAAiB,CAAjB,oBAAiB,CAAjB,gBAKF,CAEA,+DAME,wBAAkC,CAJlC,+BAAgC,CAEhC,cAAe,CAGf,kBAAmB,CANnB,WAAY,CAEZ,gBAAiB,CAEjB,cAGF,CAEA,yBAEE,oBACE,WACF,CAEF,CAEA,yBAEE,8CACE,SACF,CAEA,wEACE,WACF,CAEA,gCACE,WACF,CAEA,2CACE,YACF,CAEF","sources":["components/common/go-back/index.css","css/history-record-item.css","css/switch.css","css/sdoc-file-history.css"],"sourcesContent":[".go-back {\n margin-right: 0.75rem;\n color: #c0c0c0;\n}\n\n.go-back:hover {\n color: #ff9933;\n cursor: pointer;\n}\n",".item-active {\n color: #fff;\n background-color: #fdc297 !important;\n}\n\n.item-active i {\n color: #fff;\n}\n\n.history-list-item .history-info {\n flex: 1;\n padding: 0 0.5rem;\n}\n\n.history-list-item .history-operation {\n width: 1.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.history-info .time {\n color: #000;\n}\n\n.history-info .owner {\n margin-top: 0.25rem;\n color: #888;\n display: flex;\n align-items: center;\n}\n\n.owner .squire-icon {\n width: 0.5rem;\n height: 0.5rem;\n background-color: #549b5a;\n margin-right: 0.25rem;\n}\n\n.history-body .dropdown-menu {\n min-width: 8rem;\n}\n\n.history-body .dropdown-menu a {\n text-decoration: none;\n color: #6e7687;\n}\n",".seahub-switch.small .custom-switch-indicator {\n width: 22px;\n height: 12px;\n border-radius: 6px;\n}\n\n.seahub-switch.small .custom-switch-indicator:before {\n height: 8px;\n width: 8px;\n}\n\n.seahub-switch.small .custom-switch-input:checked~.custom-switch-indicator:before {\n left: 12px;\n}\n",".sdoc-file-history .sdoc-file-history-container {\n flex: 1;\n overflow-x: hidden;\n}\n\n.sdoc-file-history .sdoc-file-history-header {\n height: 50px;\n border-bottom: 1px solid #e5e5e5;\n background-color: #fff;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-history-header-left {\n font-size: 1.25rem;\n flex: 1;\n}\n\n.sdoc-file-history .sdoc-file-history-header .file-name {\n flex: 1;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-history-header-right {\n height: 100%;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-container {\n height: 32px;\n border: 1px solid #e5e5e5;\n border-radius: 3px;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-divider {\n border-right: 1px solid #e5e5e5;\n height: 100%;\n width: 1px;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last,\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next {\n padding: 0 8px;\n height: 100%;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last .fas,\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next .fas {\n color: #000;\n opacity: .5;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last:hover,\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next:hover {\n cursor: pointer;\n opacity: .75;\n background-color: #F5F5F5;\n}\n\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-last:hover .fas,\n.sdoc-file-history .sdoc-file-history-header .sdoc-file-changes-next:hover .fas {\n opacity: .75;\n}\n\n.sdoc-file-history .sdoc-file-history-content {\n flex: 1;\n min-height: 0;\n padding: 20px 40px;\n background-color: #F5F5F5;\n overflow-y: scroll;\n}\n\n.sdoc-file-history .sdoc-file-history-content .sdoc-file-history-viewer {\n width: 100%;\n min-height: 120px;\n flex: 1;\n background-color: #fff;\n word-break: break-word;\n border: 1px solid #e6e6dd;\n}\n\n.sdoc-file-history .sdoc-file-history-content .sdoc-scroll-container {\n position: relative !important;\n overflow: hidden;\n width: 100%;\n}\n\n.sdoc-file-history .sdoc-file-history-content .sdoc-article-container {\n width: 100%;\n padding-top: 0;\n padding-bottom: 0;\n margin-left: 0 !important;\n}\n\n.sdoc-file-history .sdoc-file-history-content .article {\n width: 100%;\n margin: 0;\n}\n\n/* panel */\n.sdoc-file-history .sdoc-file-history-panel {\n width: 260px;\n border-left: 1px solid #e5e5e5;\n}\n\n.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-select-range {\n padding: 10px 18px;\n height: 50px;;\n border-bottom: 1px solid #e5e5e5;\n background-color: #fff;\n}\n\n.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-select-range-title {\n height: 100%;\n width: 100%;\n font-size: 1rem;\n font-weight: bolder;\n line-height: 29px;\n}\n\n.sdoc-file-history .sdoc-file-history-panel .sdoc-file-history-diff-switch {\n padding: 0 18px;\n height: 50px;;\n border-top: 1px solid #e5e5e5;\n}\n\n.sdoc-file-history .sdoc-file-history-diff-switch .custom-switch {\n width: 100%;\n padding-left: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n}\n\n.sdoc-file-history .sdoc-file-history-diff-switch .custom-switch-description {\n margin-left: 0;\n flex: 1;\n padding-right: 8px;\n}\n\n/* history versions */\n.sdoc-file-history-versions {\n flex: 1; \n flex-direction: column;\n min-height: 0;\n overflow: auto;\n}\n\n.sdoc-file-history-versions .history-list-item {\n padding: 5px 10px;\n display: flex;\n flex: 1;\n border-bottom: 1px solid #e5e5e5;\n}\n\n.sdoc-file-history-versions .history-list-item:last-child {\n border-bottom: none;\n}\n\n.sdoc-file-history-versions .history-list-item:not(.item-active):hover {\n background-color: #F5F5F5;\n cursor: pointer;\n}\n\n.sdoc-file-history-versions .history-list-item .history-operation:hover {\n cursor: pointer;\n}\n\n.sdoc-file-history-versions .history-list-item .history-operation a.fas {\n color: #888;\n}\n\n.sdoc-file-history-versions .history-list-item .history-operation:hover a.fas {\n color: #333;\n}\n\n.sdoc-file-history-versions .history-list-item.item-active {\n background-color: #FFECD9 !important;\n}\n\n.sdoc-file-history-versions .history-list-item.item-active .history-info .time {\n color: #ff8000;\n}\n\n.history-info .owner {\n min-height: 22.5px;\n}\n\n.sdoc-file-history-versions .dropdown-menu {\n min-width: 8rem;\n}\n\n.history-content .main-panel {\n flex: 1 1 auto;\n}\n\n.history-content .history-side-panel {\n flex: 0 0 auto;\n user-select: none;\n border-left: 1px solid #e5e5e5;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.history-content .history-side-panel .history-side-panel-title {\n height: 50px;\n border-bottom: 1px solid #e5e5e5;\n line-height: 50px;\n font-size: 1rem;\n padding: 0 10px;\n background-color: rgb(250,250,249);\n font-weight: bolder;\n}\n\n@media (min-width:992px) {\n\n .history-side-panel {\n width: 260px;\n }\n\n}\n\n@media (max-width:768px) {\n\n .sdoc-file-history .sdoc-file-history-content {\n padding: 0;\n }\n\n .sdoc-file-history .sdoc-file-history-content .sdoc-file-history-viewer {\n border: none;\n }\n\n .markdown-viewer-render-content {\n margin: 20px;\n }\n\n .markdown-viewer-render-content .diff-view {\n padding: 20px;\n }\n\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/sdocRevision.css b/media/assets/frontend/static/css/sdocRevision.css new file mode 100644 index 00000000000..fc88acceb55 --- /dev/null +++ b/media/assets/frontend/static/css/sdocRevision.css @@ -0,0 +1,2 @@ +.go-back{color:silver;margin-right:.75rem}.go-back:hover{color:#f93;cursor:pointer}.sdoc-revision .sdoc-revision-container{flex:1 1;overflow-x:hidden}.sdoc-revision .sdoc-revision-header{background-color:#fff;border-bottom:1px solid #e5e5e5;height:50px}.sdoc-revision .sdoc-revision-header .sdoc-revision-header-left{flex:1 1;font-size:1.25rem}.sdoc-revision .sdoc-revision-header .file-name{flex:1 1}.sdoc-revision .sdoc-revision-header .sdoc-revision-header-right{height:100%;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.sdoc-revision .sdoc-revision-content{background-color:#f5f5f5;flex:1 1;min-height:0;overflow-y:scroll;padding:20px 40px}.sdoc-revision .sdoc-revision-content .sdoc-revision-viewer{background-color:#fff;border:1px solid #e6e6dd;flex:1 1;min-height:120px;width:100%;word-break:break-word}.sdoc-revision .sdoc-revision-content .sdoc-editor-content{background-color:#fff}.sdoc-revision .sdoc-revision-content .article{margin:0;width:100%} +/*# sourceMappingURL=sdocRevision.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/sdocRevision.css.map b/media/assets/frontend/static/css/sdocRevision.css.map new file mode 100644 index 00000000000..ba46a9d5194 --- /dev/null +++ b/media/assets/frontend/static/css/sdocRevision.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/sdocRevision.css","mappings":"AAAA,SAEE,YAAc,CADd,mBAEF,CAEA,eACE,UAAc,CACd,cACF,CCRA,wCACE,QAAO,CACP,iBACF,CAEA,qCAGE,qBAAsB,CADtB,+BAAgC,CADhC,WAGF,CAEA,gEAEE,QAAO,CADP,iBAEF,CAEA,gDACE,QACF,CAEA,iEACE,WAAY,CACZ,6BAAsB,CAAtB,0BAAsB,CAAtB,qBACF,CAEA,sCAIE,wBAAyB,CAHzB,QAAO,CACP,YAAa,CAGb,iBAAkB,CAFlB,iBAGF,CAEA,4DAIE,qBAAsB,CAEtB,wBAAyB,CAHzB,QAAO,CADP,gBAAiB,CADjB,UAAW,CAIX,qBAEF,CAEA,2DACE,qBACF,CAEA,+CAEE,QAAS,CADT,UAEF","sources":["components/common/go-back/index.css","css/sdoc-revision.css"],"sourcesContent":[".go-back {\n margin-right: 0.75rem;\n color: #c0c0c0;\n}\n\n.go-back:hover {\n color: #ff9933;\n cursor: pointer;\n}\n",".sdoc-revision .sdoc-revision-container {\n flex: 1;\n overflow-x: hidden;\n}\n\n.sdoc-revision .sdoc-revision-header {\n height: 50px;\n border-bottom: 1px solid #e5e5e5;\n background-color: #fff;\n}\n\n.sdoc-revision .sdoc-revision-header .sdoc-revision-header-left {\n font-size: 1.25rem;\n flex: 1;\n}\n\n.sdoc-revision .sdoc-revision-header .file-name {\n flex: 1;\n}\n\n.sdoc-revision .sdoc-revision-header .sdoc-revision-header-right {\n height: 100%;\n min-width: fit-content;\n}\n\n.sdoc-revision .sdoc-revision-content {\n flex: 1;\n min-height: 0;\n padding: 20px 40px;\n background-color: #F5F5F5;\n overflow-y: scroll;\n}\n\n.sdoc-revision .sdoc-revision-content .sdoc-revision-viewer {\n width: 100%;\n min-height: 120px;\n flex: 1;\n background-color: #fff;\n word-break: break-word;\n border: 1px solid #e6e6dd;\n}\n\n.sdoc-revision .sdoc-revision-content .sdoc-editor-content {\n background-color: #fff;\n}\n\n.sdoc-revision .sdoc-revision-content .article {\n width: 100%;\n margin: 0;\n}\n\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/settings.css b/media/assets/frontend/static/css/settings.css new file mode 100644 index 00000000000..810ca349a13 --- /dev/null +++ b/media/assets/frontend/static/css/settings.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}.side-panel{border-right:1px solid #eee;flex:0 0 22%;padding:1rem}.main-panel{flex:1 0 78%}.heading{background:#f9f9f9;color:#322;font-size:1rem;font-weight:400;line-height:1.5;margin:0;padding:8px 16px;position:relative}.heading:after{border-bottom:1px solid #e8e8e8;bottom:0;content:"";left:16px;position:absolute;right:16px}.content{overflow:auto;padding:0 1rem 8rem}.setting-item{font-size:.875rem;margin:1em 0 3em}.setting-item-heading{border-bottom:1px solid #ddd;font-size:.9375rem;font-weight:400;margin-bottom:.7rem;padding-bottom:.3rem}.avatar-edit,.user-avatar{border-radius:3px}.avatar-edit{background:rgba(0,0,0,.3);color:#fff;cursor:pointer;font-size:24px;height:80px;left:.75rem;line-height:80px;position:absolute;text-align:center;top:0;width:80px}.user-setting-nav .nav-item .nav-link{border-left:2px solid transparent;color:#333;flex:auto;margin:0;padding-left:1em}.user-setting-nav .nav-item.active .nav-link{border-color:#ff9800;color:#ff9800}.user-setting-nav .nav-item .nav-link:hover{color:#eb8205}.eye-icon{color:#666}.input-tip{color:#666;padding-top:calc(.375rem + 1px)}@media (min-width:768px){.input-tip{padding-left:0}}.language-selector{width:260px}.btn{min-width:60px} +/*# sourceMappingURL=settings.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/settings.css.map b/media/assets/frontend/static/css/settings.css.map new file mode 100644 index 00000000000..5a219b263bd --- /dev/null +++ b/media/assets/frontend/static/css/settings.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/settings.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CAEA,YAGE,2BAA4B,CAF5B,YAAa,CACb,YAEF,CACA,YACE,YACF,CACA,SAEE,kBAAmB,CAEnB,UAAW,CADX,cAAe,CAEf,eAAmB,CACnB,eAAgB,CAChB,QAAQ,CANR,gBAAiB,CAOjB,iBACF,CACA,eAME,+BAAgC,CAFhC,QAAS,CACT,UAAW,CAHX,SAAU,CADV,iBAAkB,CAElB,UAIF,CACA,SAEE,aAAc,CADd,mBAEF,CACA,cACE,iBAAmB,CACnB,gBACF,CACA,sBAIE,4BAA6B,CAH7B,kBAAoB,CACpB,eAAmB,CAGnB,mBAAqB,CAFrB,oBAGF,CAIA,0BAFE,iBAeF,CAbA,aAOE,yBAA8B,CAC9B,UAAW,CAIX,cAAe,CAHf,cAAe,CAJf,WAAY,CAHZ,WAAa,CAQb,gBAAiB,CATjB,iBAAkB,CAUlB,iBAAkB,CARlB,KAAM,CACN,UASF,CACA,sCAIE,iCAAkC,CAClC,UAAW,CAJX,SAAU,CACV,QAAS,CACT,gBAGF,CACA,6CAEE,oBAAqB,CADrB,aAEF,CACA,4CACE,aACF,CACA,UACE,UACF,CACA,WAEE,UAAW,CADX,+BAEF,CACA,yBACE,WACE,cACF,CACF,CACA,mBACE,WACF,CACA,KACE,cACF","sources":["css/user-settings.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n\n.side-panel {\n flex: 0 0 22%;\n padding: 1rem;\n border-right: 1px solid #eee;\n}\n.main-panel {\n flex: 1 0 78%;\n}\n.heading {\n padding: 8px 16px;\n background: #f9f9f9;\n font-size: 1rem;\n color: #322;\n font-weight: normal;\n line-height: 1.5;\n margin:0;\n position: relative;\n}\n.heading:after {\n position: absolute;\n left: 16px;\n right: 16px;\n bottom: 0;\n content: '';\n border-bottom: 1px solid #e8e8e8;\n}\n.content {\n padding: 0rem 1rem 8rem;\n overflow: auto;\n}\n.setting-item {\n font-size: 0.875rem;\n margin: 1em 0 3em;\n}\n.setting-item-heading {\n font-size: 0.9375rem;\n font-weight: normal;\n padding-bottom: 0.3rem;\n border-bottom: 1px solid #ddd;\n margin-bottom: 0.7rem;\n}\n.user-avatar {\n border-radius: 3px;\n}\n.avatar-edit {\n position: absolute;\n left: 0.75rem;\n top: 0;\n width: 80px;\n height: 80px;\n border-radius: 3px;\n background: rgba(0, 0, 0, 0.3);\n color: #fff;\n font-size: 24px;\n line-height: 80px;\n text-align: center;\n cursor: pointer;\n}\n.user-setting-nav .nav-item .nav-link {\n flex: auto;\n margin: 0;\n padding-left: 1em;\n border-left: 2px solid transparent;\n color: #333;\n}\n.user-setting-nav .nav-item.active .nav-link {\n color: #ff9800;\n border-color: #ff9800;\n}\n.user-setting-nav .nav-item .nav-link:hover {\n color: #eb8205;\n}\n.eye-icon {\n color: #666;\n}\n.input-tip {\n padding-top: calc(0.375rem + 1px);\n color: #666;\n}\n@media (min-width: 768px) {\n .input-tip {\n padding-left: 0;\n }\n}\n.language-selector {\n width: 260px;\n}\n.btn {\n min-width: 60px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/sharedDirView.css b/media/assets/frontend/static/css/sharedDirView.css new file mode 100644 index 00000000000..d92443e2c98 --- /dev/null +++ b/media/assets/frontend/static/css/sharedDirView.css @@ -0,0 +1,2 @@ +.repo-info-bar{border:1px solid #e6e6dd;border-radius:5px;margin:10px 16px 0;padding:10px}.used-tag-list{list-style:none}.used-tag-item{display:inline-block;margin:auto 15px}.used-tag{border-radius:50%;cursor:pointer;display:inline-block;height:12px;width:12px}.used-tag-name{margin:0 .25rem}.used-tag-files{color:#888;font-size:14px}.used-tag-files:hover{cursor:pointer;text-decoration:underline}.file-info{cursor:pointer;display:inline-block;margin:0 15px}.file-info a{color:#333}.info-icon{color:#888;vertical-align:-3px}.readme-dialog-edit{position:absolute;right:16px}.readme-dialog .modal-body{padding:0 30px}body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;height:53px;padding:8px 16px 4px}.shared-dir-view-main{margin:0 auto;max-width:950px;padding:15px 0 40px;width:calc(100% - 40px)}.op-bar{background:#f2f2f2;border-radius:2px;padding:9px 10px}.sf-view-mode-btn{background-color:#fff;border:1px solid #ccc;border-radius:2px;color:#aaa;font-size:18px;height:30px;line-height:29px;min-width:2rem;padding:0}.sf-view-mode-btn.current-mode{background-color:#ccc;color:#fff}.shared-dir-op-btn{height:30px;line-height:30px;padding:0 10px}.shared-dir-upload-btn{border:1px solid #ccc}.grid-item .action-icon{background:#fff;border:1px solid #eee;border-radius:3px;margin:0;padding:3px 5px;position:absolute;right:24px;top:10px}.grid-view{align-content:flex-start;display:flex;flex:1 1;flex-wrap:wrap;list-style:none;padding:.625rem 1rem 10rem}.grid-item{line-height:0;padding:10px 4px;position:relative;text-align:center;width:134px}.grid-item:hover .grid-file-img-link{background:#f8f8f8}.grid-item:hover a{color:#eb8205}.grid-file-img-link{border-radius:3px;font-size:0;height:96px;line-height:0;margin:0 auto 6px;position:relative;text-align:center;width:96px}.grid-file-img-link .thumbnail{background:#fff;border:1px solid #ddd;border-radius:1px;max-height:88px;max-width:88px;padding:1px}.grid-file-img-link:before{content:"";display:inline-block;height:100%;vertical-align:middle}.grid-file-name{display:inline-block;font-size:14px;line-height:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.grid-file-name-link{color:#333;font-size:.875rem}.grid-file-locked-icon{bottom:0;position:absolute;right:10px;width:16px}.grid-selected-active{background-color:#f8f8f8}.grid-link-selected-active{color:#eb8205}.grid-drop-show{background:#f8f8f8} +/*# sourceMappingURL=sharedDirView.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/sharedDirView.css.map b/media/assets/frontend/static/css/sharedDirView.css.map new file mode 100644 index 00000000000..e909d2c92b3 --- /dev/null +++ b/media/assets/frontend/static/css/sharedDirView.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/sharedDirView.css","mappings":"AAAA,eAGE,wBAAyB,CACzB,iBAAkB,CAFlB,kBAAmB,CADnB,YAKF,CAEA,eACE,eACF,CAEA,eACE,oBAAqB,CACrB,gBACF,CAEA,UAIE,iBAAkB,CAClB,cAAe,CAJf,oBAAqB,CAErB,WAAY,CADZ,UAIF,CAEA,eACE,eACF,CAEA,gBACE,UAAW,CACX,cACF,CAEA,sBACE,cAAe,CACf,yBACF,CAEA,WAGE,cAAe,CADf,oBAAqB,CADrB,aAGF,CAEA,aACE,UACF,CAEA,WACE,UAAW,CACX,mBACF,CAEA,oBACE,iBAAkB,CAClB,UACF,CAEA,2BACE,cACF,CC7DA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAGhC,aAAc,CADd,WAAY,CADZ,oBAGF,CACA,sBAIE,aAAc,CAFd,eAAgB,CAChB,mBAAoB,CAFpB,uBAIF,CACA,QAEE,kBAAmB,CACnB,iBAAkB,CAFlB,gBAGF,CAEA,kBAKE,qBAAsB,CACtB,qBAAsB,CAGtB,iBAAkB,CALlB,UAAW,CAIX,cAAe,CANf,WAAY,CAKZ,gBAAiB,CAJjB,cAAe,CAFf,SASF,CACA,+BACE,qBAAsB,CACtB,UACF,CACA,mBACE,WAAY,CACZ,gBAAiB,CACjB,cACF,CACA,uBACE,qBACF,CACA,wBAKE,eAAgB,CAChB,qBAAsB,CACtB,iBAAkB,CAClB,QAAS,CAJT,eAAgB,CAHhB,iBAAkB,CAElB,UAAW,CADX,QAOF,CCzDA,WAME,wBAAyB,CAHzB,YAAa,CAEb,QAAO,CADP,cAAe,CAFf,eAAgB,CADhB,0BAMF,CAEA,WAKE,aAAc,CAHd,gBAAiB,CAEjB,iBAAkB,CADlB,iBAAkB,CAFlB,WAKF,CAEA,qCACE,kBACF,CAEA,mBACE,aACF,CAEA,oBAKE,iBAAkB,CAClB,WAAY,CAJZ,WAAY,CAMZ,aAAc,CALd,iBAAkB,CAClB,iBAAkB,CAGlB,iBAAkB,CANlB,UAQF,CAEA,+BAIE,eAAgB,CAChB,qBAAsB,CACtB,iBAAkB,CAJlB,eAAgB,CADhB,cAAe,CAEf,WAIF,CAEA,2BACE,UAAW,CACX,oBAAqB,CAErB,WAAY,CADZ,qBAEF,CAEA,gBACE,oBAAqB,CAOrB,cAAe,CADf,gBAAiB,CALjB,cAAe,CACf,eAAgB,CAGhB,sBAAuB,CADvB,kBAAmB,CADnB,mBAKF,CAEA,qBACE,UAAW,CACX,iBACF,CAEA,uBAEE,QAAS,CADT,iBAAkB,CAElB,UAAW,CACX,UACF,CAEA,sBACE,wBACF,CAEA,2BACE,aACF,CAEA,gBACE,kBACF","sources":["css/repo-info-bar.css","css/shared-dir-view.css","css/grid-view.css"],"sourcesContent":[".repo-info-bar {\n padding: 10px;\n margin: 10px 16px 0;\n border: 1px solid #e6e6dd;\n border-radius: 5px;\n /* background: #f8f8f8; */\n}\n\n.used-tag-list {\n list-style: none;\n}\n\n.used-tag-item {\n display: inline-block;\n margin: auto 15px;\n}\n\n.used-tag {\n display: inline-block;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.used-tag-name {\n margin: 0 0.25rem;\n}\n\n.used-tag-files {\n color: #888;\n font-size: 14px;\n}\n\n.used-tag-files:hover {\n cursor: pointer;\n text-decoration: underline;\n}\n\n.file-info {\n margin: 0 15px;\n display: inline-block;\n cursor: pointer;\n}\n\n.file-info a {\n color: #333;\n}\n\n.info-icon {\n color: #888;\n vertical-align: -3px;\n}\n\n.readme-dialog-edit {\n position: absolute;\n right: 16px;\n}\n\n.readme-dialog .modal-body {\n padding: 0 30px;\n}\n","body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: 8px 16px 4px;\n height: 53px;\n flex-shrink: 0;\n}\n.shared-dir-view-main {\n width: calc(100% - 40px);\n max-width: 950px;\n padding: 15px 0 40px;\n margin: 0 auto;\n}\n.op-bar {\n padding: 9px 10px;\n background: #f2f2f2;\n border-radius: 2px;\n}\n\n.sf-view-mode-btn {\n padding: 0;\n height: 30px;\n min-width: 2rem;\n color: #aaa;\n background-color: #fff;\n border: 1px solid #ccc;\n line-height: 29px;\n font-size: 18px;\n border-radius: 2px;\n}\n.sf-view-mode-btn.current-mode {\n background-color: #ccc;\n color: #fff;\n}\n.shared-dir-op-btn {\n height: 30px;\n line-height: 30px;\n padding: 0 10px;\n}\n.shared-dir-upload-btn {\n border: 1px solid #ccc;\n}\n.grid-item .action-icon {\n position: absolute;\n top: 10px;\n right: 24px;\n padding: 3px 5px;\n background: #fff;\n border: 1px solid #eee;\n border-radius: 3px;\n margin: 0;\n}\n",".grid-view {\n padding: 0.625rem 1rem 10rem;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n align-content: flex-start;\n}\n\n.grid-item {\n width: 134px;\n padding: 10px 4px;\n text-align: center;\n position: relative;\n line-height: 0;\n}\n\n.grid-item:hover .grid-file-img-link {\n background: #f8f8f8;\n}\n\n.grid-item:hover a {\n color: #eb8205;\n}\n\n.grid-file-img-link {\n width: 96px;\n height: 96px;\n margin: 0 auto 6px;\n position: relative;\n border-radius: 3px;\n font-size: 0;\n text-align: center;\n line-height: 0;\n}\n\n.grid-file-img-link .thumbnail {\n max-width: 88px;\n max-height: 88px;\n padding: 1px;\n background: #fff;\n border: 1px solid #ddd;\n border-radius: 1px;\n}\n\n.grid-file-img-link::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 100%;\n}\n\n.grid-file-name {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 17px;\n font-size: 14px;\n}\n\n.grid-file-name-link {\n color: #333;\n font-size: 0.875rem;\n}\n\n.grid-file-locked-icon {\n position: absolute;\n bottom: 0;\n right: 10px;\n width: 16px;\n}\n\n.grid-selected-active {\n background-color: #f8f8f8;\n}\n\n.grid-link-selected-active {\n color: #eb8205;\n}\n\n.grid-drop-show {\n background: #f8f8f8;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css b/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css new file mode 100644 index 00000000000..d343278c729 --- /dev/null +++ b/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css @@ -0,0 +1,2 @@ +.spreadsheet-file-view{overflow:auto}#spreadsheet-container{background:#fff;border:1px solid #ccc;box-shadow:0 0 6px #ccc;display:block;margin:0 auto;max-width:950px;min-height:100%;width:calc(100% - 40px)} +/*# sourceMappingURL=sharedFileViewSpreadsheet.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css.map b/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css.map new file mode 100644 index 00000000000..62924bdec57 --- /dev/null +++ b/media/assets/frontend/static/css/sharedFileViewSpreadsheet.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/sharedFileViewSpreadsheet.css","mappings":"AAAA,uBACI,aACJ,CACA,uBAMI,eAAgB,CAChB,qBAAsB,CACtB,uBAAwB,CAPxB,aAAc,CAId,aAAc,CAFd,eAAgB,CAChB,eAAgB,CAFhB,uBAOJ","sources":["css/spreadsheet-file-view.css"],"sourcesContent":[".spreadsheet-file-view {\n overflow: auto;\n}\n#spreadsheet-container {\n display: block;\n width: calc(100% - 40px);\n max-width: 950px;\n min-height: 100%;\n margin: 0 auto;\n background: #fff;\n border: 1px solid #ccc;\n box-shadow: 0 0 6px #ccc;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/sysAdmin.css b/media/assets/frontend/static/css/sysAdmin.css new file mode 100644 index 00000000000..87295898863 --- /dev/null +++ b/media/assets/frontend/static/css/sysAdmin.css @@ -0,0 +1,2 @@ +.heading{background:#f9f9f9;color:#322;font-size:1rem;font-weight:400;line-height:1.5;margin:0;padding:8px 16px}.content{display:flex;overflow:auto;padding:0 1rem 8rem}.system-admin-info dd,.system-admin-info dt{color:inherit}.info-item-heading{border-bottom:1px solid #ddd;font-size:1rem;font-weight:400;margin-bottom:.7em;padding-bottom:.2em}.info-item-content{margin-bottom:2em}.btn{min-width:60px}.system-statistic-time-range{align-items:center;display:flex;font-size:13px;margin:15px 0 25px}.sys-stat-tool{color:#333;display:flex;font-size:13px}.system-statistic-item{border:1px solid #c5c5c5;cursor:pointer;padding:5px 10px}.sys-stat-tool .item-active,.system-statistic-item:hover{background:#efefef}.system-statistic-input-container{align-items:center;display:flex;margin-left:1rem}.system-statistic-input{height:31px;width:120px}.error-tip{color:red}.statistic-traffic-tab{color:#333;display:flex;font-size:13px;margin-top:10px}.statistic-traffic-tab .statistic-traffic-tab-item{border-bottom:2px solid transparent;color:#8a948f;cursor:pointer;margin-right:10px;padding:3px 0}.statistic-traffic-tab .statistic-traffic-tab-item.active,.statistic-traffic-tab .statistic-traffic-tab-item:hover{border-bottom:2px solid #eb8025;color:#eb8025}.statistic-reports-title{background:#f7f7f7;color:#222;margin-top:15px;padding:3px 10px}.statistic-reports-submit{margin-left:15px}.statistic-reports-wrapper{align-items:center;display:flex;margin-top:15px}.statistic-reports-input{height:30px;width:80px}.statistic-reports-tip{font-size:13px;padding:0 10px}.system-statistic-connect{line-height:1;padding:0 5px}.system-statistic-button{height:31px;margin-left:1rem}.rc-calendar table{table-layout:auto}.rc-calendar tbody tr{height:1.75rem}.cur-view-path .operation-item{font-size:12px;height:24px;line-height:24px}.cur-view-container .no-group,.cur-view-container .no-libraty,.cur-view-container .no-member{color:#a4a4a4;margin:30px 0;text-align:center}.cur-view-path .sf-heading a{color:#eb8205}.cur-view-subcontainer{margin:10px}.cur-view-subcontainer table{margin:8px 0 40px}.org-departments>div{height:100%}.org-members .cur-view-content{padding-bottom:40px}.cur-view-path button:hover{cursor:pointer}.commit-detail-item{list-style-type:none}.web-setting-icon-btn{font-size:1rem;line-height:1.5;min-width:0}.web-setting-icon-btn-submit{color:green}.web-setting-icon-btn-cancel{color:#666}.web-setting-textarea{min-height:7rem}.web-setting-label{word-break:break-word}.cur-view-content{position:relative}.dir-content-main{height:100%;overflow-y:hidden;padding-right:1rem;position:absolute;right:0;width:75%}.dir-content-main:hover{overflow-y:auto}.dir-content-main table td{line-height:2rem}.dir-content-main .empty-tip{box-shadow:none}.dir-content-main .empty-tip img{height:140px;width:140px}.dir-content-nav{overflow:hidden;position:absolute;width:24%}.dir-content-nav:hover{overflow:auto}.dir-content-resize{border-left:1px solid #eee;height:100%;left:25%;position:absolute;width:1%}.department-children{padding-left:1rem;position:relative}.tree-node-inner{display:flex;padding-right:1rem;position:relative}.tree-node-inner i{color:silver;left:.3rem;position:absolute;top:20%}.tree-node-inner-hover{background-color:#ffefb2;border-radius:.25rem;cursor:pointer}.tree-node-hight-light{background-color:#feac74!important;border-radius:4px;color:#fff}.tree-node-hight-light i{color:#fff}.tree-node-hight-light .attr-action-icon,.tree-node-hight-light .attr-action-icon:focus,.tree-node-hight-light .attr-action-icon:hover{color:#fff!important}.tree-node-icon{padding-right:1.5rem}.tree-node-text{font-size:14px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 2.5rem)}.tree-view{flex:1 1;padding:12px 12px 12px 0}.form-content .conditions-preview-container{background-color:#f5f5f5;max-height:300px;min-height:38px;overflow:auto;padding:10px}.conditions-preview-wrapper .conditions-preview-container{background-color:#f5f5f5;min-height:300px;overflow:auto;padding:10px}.conditions-preview-container ol,.conditions-preview-container ul{-webkit-padding-start:40px;margin-bottom:1em;padding-inline-start:40px}.conditions-editor-dialog-main{height:600px;overflow:hidden;padding:0} +/*# sourceMappingURL=sysAdmin.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/sysAdmin.css.map b/media/assets/frontend/static/css/sysAdmin.css.map new file mode 100644 index 00000000000..74604792fe6 --- /dev/null +++ b/media/assets/frontend/static/css/sysAdmin.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/sysAdmin.css","mappings":"AAAA,SAEE,kBAAmB,CAEnB,UAAW,CADX,cAAe,CAEf,eAAmB,CACnB,eAAgB,CAChB,QAAS,CANT,gBAOF,CACA,SACE,YAAa,CAEb,aAAc,CADd,mBAEF,CACA,4CAEE,aACF,CACA,mBAIE,4BAA6B,CAH7B,cAAe,CACf,eAAmB,CAGnB,kBAAoB,CAFpB,mBAGF,CACA,mBACE,iBACF,CACA,KACE,cACF,CC9BA,6BAGE,kBAAmB,CADnB,YAAa,CAEb,cAAe,CAHf,kBAIF,CAEA,eAGE,UAAW,CAFX,YAAa,CACb,cAEF,CAEA,uBACE,wBAAyB,CAEzB,cAAe,CADf,gBAEF,CAMA,yDACE,kBACF,CAEA,kCAGE,kBAAmB,CAFnB,YAAa,CACb,gBAEF,CAEA,wBACE,WAAY,CACZ,WACF,CAEA,WACE,SACF,CAEA,uBAGE,UAAW,CAFX,YAAa,CACb,cAAe,CAEf,eACF,CAEA,mDAGE,mCAAoC,CAEpC,aAAc,CADd,cAAe,CAHf,iBAAkB,CAClB,aAIF,CAOA,mHAEE,+BAAgC,CADhC,aAEF,CAEA,yBACE,kBAAmB,CAEnB,UAAc,CADd,eAAgB,CAEhB,gBACF,CAEA,0BACE,gBACF,CAEA,2BAEE,kBAAmB,CADnB,YAAa,CAEb,eACF,CAEA,yBAEE,WAAY,CADZ,UAEF,CAEA,uBAEE,cAAe,CADf,cAEF,CAEA,0BAEE,aAAc,CADd,aAEF,CAEA,yBACE,WAAY,CACZ,gBACF,CAEA,mBACE,iBACF,CAEA,sBACE,cACF,CC9GA,+BACE,cAAe,CACf,WAAY,CACZ,gBACF,CACA,6FACE,aAAc,CAEd,aAAc,CADd,iBAEF,CACA,6BACE,aACF,CACA,uBACE,WACF,CACA,6BACE,iBACF,CACA,qBACE,WACF,CACA,+BACE,mBACF,CACA,4BACE,cACF,CC3BA,oBACE,oBACF,CCFA,sBACE,cAAe,CACf,eAAgB,CAChB,WACF,CACA,6BACE,WACF,CACA,6BACE,UACF,CACA,sBACE,eACF,CACA,mBACE,qBACF,CChBA,kBACE,iBACF,CACA,kBAGE,WAAY,CAEZ,iBAAkB,CAClB,kBAAmB,CALnB,iBAAkB,CAClB,OAAQ,CAER,SAGF,CACA,wBACE,eACF,CACA,2BACE,gBACF,CACA,6BACE,eACF,CACA,iCAEE,YAAa,CADb,WAEF,CACA,iBAEE,eAAgB,CADhB,iBAAkB,CAElB,SACF,CACA,uBACE,aACF,CACA,oBAKE,0BAA2B,CAF3B,WAAY,CADZ,QAAS,CADT,iBAAkB,CAGlB,QAEF,CACA,qBACE,iBAAkB,CAClB,iBACF,CACA,iBAEE,YAAa,CACb,kBAAmB,CAFnB,iBAGF,CACA,mBAIE,YAAa,CADb,UAAY,CAFZ,iBAAkB,CAClB,OAGF,CACA,uBACE,wBAAyB,CACzB,oBAAsB,CACtB,cACF,CACA,uBAGE,kCAAoC,CADpC,iBAAkB,CADlB,UAGF,CACA,yBACE,UACF,CACA,uIAGE,oBACF,CACA,gBACE,oBACF,CACA,gBAEE,cAAe,CAIf,gBAAiB,CAFjB,eAAgB,CAChB,sBAAuB,CAFvB,kBAAmB,CAFnB,yBAMF,CACA,WAEE,QAAS,CADT,wBAEF,CCtFA,4CAKE,wBAAyB,CAFzB,gBAAiB,CADjB,eAAgB,CAEhB,aAAc,CAHd,YAKF,CAEA,0DAIE,wBAAyB,CAFzB,gBAAiB,CACjB,aAAc,CAFd,YAIF,CAEA,kEAEE,0BAA0B,CAC1B,iBAAkB,CADlB,yBAEF,CAEA,+BAEE,YAAa,CACb,eAAgB,CAFhB,SAGF","sources":["css/system-info.css","css/system-stat.css","css/org-department-item.css","css/commit-details.css","css/system-admin-web-settings.css","css/dingtalk-departments.css","css/terms-conditions-editor.css"],"sourcesContent":[".heading {\n padding: 8px 16px;\n background: #f9f9f9;\n font-size: 1rem;\n color: #322;\n font-weight: normal;\n line-height: 1.5;\n margin: 0;\n}\n.content {\n display: flex;\n padding: 0rem 1rem 8rem;\n overflow: auto;\n}\n.system-admin-info dt,\n.system-admin-info dd {\n color: inherit;\n}\n.info-item-heading {\n font-size: 1rem;\n font-weight: normal;\n padding-bottom: 0.2em;\n border-bottom: 1px solid #ddd;\n margin-bottom: 0.7em;\n}\n.info-item-content {\n margin-bottom: 2em;\n}\n.btn {\n min-width: 60px;\n}\n",".system-statistic-time-range {\n margin: 15px 0 25px;\n display: flex;\n align-items: center;\n font-size: 13px;\n}\n\n.sys-stat-tool {\n display: flex;\n font-size: 13px;\n color: #333;\n}\n\n.system-statistic-item {\n border: 1px solid #c5c5c5;\n padding: 5px 10px;\n cursor: pointer;\n}\n\n.system-statistic-item:hover {\n background: #efefef;\n}\n\n.sys-stat-tool .item-active {\n background: #efefef;\n}\n\n.system-statistic-input-container {\n display: flex;\n margin-left: 1rem;\n align-items: center;\n}\n\n.system-statistic-input {\n height: 31px;\n width: 120px;\n}\n\n.error-tip {\n color: red;\n}\n\n.statistic-traffic-tab {\n display: flex;\n font-size: 13px;\n color: #333;\n margin-top: 10px;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item {\n margin-right: 10px;\n padding: 3px 0;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n color: #8a948f;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item:hover {\n color: #eb8025;\n border-bottom: 2px solid #eb8025;\n}\n\n.statistic-traffic-tab .statistic-traffic-tab-item.active {\n color: #eb8025;\n border-bottom: 2px solid #eb8025;\n}\n\n.statistic-reports-title {\n background: #f7f7f7;\n margin-top: 15px;\n color: #222222;\n padding: 3px 10px;\n}\n\n.statistic-reports-submit {\n margin-left: 15px;\n}\n\n.statistic-reports-wrapper {\n display: flex;\n align-items: center;\n margin-top: 15px;\n}\n\n.statistic-reports-input {\n width: 80px;\n height: 30px;\n}\n\n.statistic-reports-tip {\n padding: 0 10px;\n font-size: 13px;\n}\n\n.system-statistic-connect {\n padding: 0 5px;\n line-height: 1;\n}\n\n.system-statistic-button {\n height: 31px;\n margin-left: 1rem;\n}\n\n.rc-calendar table {\n table-layout: initial;\n}\n\n.rc-calendar tbody tr {\n height: 1.75rem;\n}\n",".cur-view-path .operation-item {\n font-size: 12px;\n height: 24px;\n line-height: 24px;\n}\n.cur-view-container .no-libraty, .cur-view-container .no-member, .cur-view-container .no-group {\n color: #a4a4a4;\n text-align: center;\n margin: 30px 0;\n}\n.cur-view-path .sf-heading a {\n color: #eb8205;\n}\n.cur-view-subcontainer {\n margin: 10px;\n}\n.cur-view-subcontainer table {\n margin: 8px 0 40px;\n}\n.org-departments>div{\n height: 100%;\n}\n.org-members .cur-view-content {\n padding-bottom: 40px;\n}\n.cur-view-path button:hover {\n cursor: pointer;\n}\n",".commit-detail-item {\n list-style-type: none;\n}\n",".web-setting-icon-btn {\n font-size: 1rem;\n line-height: 1.5;\n min-width: 0;\n}\n.web-setting-icon-btn-submit {\n color: green;\n}\n.web-setting-icon-btn-cancel {\n color: #666;\n}\n.web-setting-textarea {\n min-height: 7rem;\n}\n.web-setting-label {\n word-break: break-word;\n}\n",".cur-view-content {\n position: relative;\n}\n.dir-content-main {\n position: absolute;\n right: 0;\n height: 100%;\n width: 75%;\n overflow-y: hidden;\n padding-right: 1rem;\n}\n.dir-content-main:hover {\n overflow-y: auto;\n}\n.dir-content-main table td {\n line-height: 2rem;\n}\n.dir-content-main .empty-tip {\n box-shadow: none;\n}\n.dir-content-main .empty-tip img {\n width: 140px;\n height: 140px;\n}\n.dir-content-nav {\n position: absolute;\n overflow: hidden;\n width: 24%;\n}\n.dir-content-nav:hover {\n overflow: auto;\n}\n.dir-content-resize {\n position: absolute;\n left: 25%;\n height: 100%;\n width: 1%;\n border-left: 1px solid #eee;\n}\n.department-children {\n padding-left: 1rem;\n position: relative;\n}\n.tree-node-inner {\n position: relative;\n display: flex;\n padding-right: 1rem;\n}\n.tree-node-inner i {\n position: absolute;\n top: 20%;\n left: 0.3rem;\n color: silver;\n}\n.tree-node-inner-hover {\n background-color: #FFEFB2;\n border-radius: 0.25rem;\n cursor: pointer;\n}\n.tree-node-hight-light {\n color: #fff;\n border-radius: 4px;\n background-color: #feac74 !important;\n}\n.tree-node-hight-light i {\n color: #fff;\n}\n.tree-node-hight-light .attr-action-icon,\n.tree-node-hight-light .attr-action-icon:focus,\n.tree-node-hight-light .attr-action-icon:hover {\n color: #fff !important;\n}\n.tree-node-icon {\n padding-right: 1.5rem;\n}\n.tree-node-text {\n width: calc(100% - 2.5rem);\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 24px;\n}\n.tree-view {\n padding: 12px 12px 12px 0;\n flex: 1 1;\n}\n",".form-content .conditions-preview-container {\n padding: 10px;\n min-height: 38px;\n max-height: 300px;\n overflow: auto;\n background-color: #f5f5f5;\n}\n\n.conditions-preview-wrapper .conditions-preview-container {\n padding: 10px;\n min-height: 300px;\n overflow: auto;\n background-color: #f5f5f5;\n}\n\n.conditions-preview-container ol,\n.conditions-preview-container ul {\n padding-inline-start: 40px;\n margin-bottom: 1em;\n}\n\n.conditions-editor-dialog-main {\n padding: 0;\n height: 600px;\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/uploadLink.css b/media/assets/frontend/static/css/uploadLink.css new file mode 100644 index 00000000000..5d2800852f6 --- /dev/null +++ b/media/assets/frontend/static/css/uploadLink.css @@ -0,0 +1,2 @@ +body{overflow:hidden}#wrapper{height:100%}.top-header{background:#f4f4f7;border-bottom:1px solid #e8e8e8;flex-shrink:0;padding:.5rem 1rem}#upload-link-panel{border:1px solid #ddd;margin:2em auto;max-width:calc(100% - 20px);width:928px}.shared-by .avatar{height:20px;width:20px}#upload-link-panel .warning-icon{color:#f25041;font-size:48px}#upload-link-panel .tip-list-item{list-style:decimal none inside}#upload-link-drop-zone{background:rgba(255,152,0,.1);border:2px dashed #ff9800;border-radius:4px;padding:28px 0}#upload-link-drop-zone .upload-icon{color:rgba(240,159,63,.8);font-size:60px;line-height:1}.mh-2{min-height:2rem} +/*# sourceMappingURL=uploadLink.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/uploadLink.css.map b/media/assets/frontend/static/css/uploadLink.css.map new file mode 100644 index 00000000000..9c32a0837f6 --- /dev/null +++ b/media/assets/frontend/static/css/uploadLink.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/uploadLink.css","mappings":"AAAA,KACE,eACF,CACA,SACE,WACF,CACA,YACE,kBAAmB,CACnB,+BAAgC,CAEhC,aAAc,CADd,kBAEF,CAEA,mBAGE,qBAAsB,CACtB,eAAgB,CAFhB,2BAA4B,CAD5B,WAIF,CACA,mBAEE,WAAY,CADZ,UAEF,CACA,iCACE,aAAc,CACd,cACF,CACA,kCACE,8BACF,CACA,uBACE,6BAAkC,CAClC,yBAA0B,CAC1B,iBAAkB,CAClB,cACF,CACA,oCACE,yBAA8B,CAC9B,cAAe,CACf,aACF,CACA,MACE,eACF","sources":["css/upload-link.css"],"sourcesContent":["body {\n overflow: hidden;\n}\n#wrapper {\n height: 100%;\n}\n.top-header {\n background: #f4f4f7;\n border-bottom: 1px solid #e8e8e8;\n padding: .5rem 1rem;\n flex-shrink: 0;\n}\n\n#upload-link-panel {\n width: 928px;\n max-width: calc(100% - 20px);\n border: 1px solid #ddd;\n margin: 2em auto;\n}\n.shared-by .avatar {\n width: 20px;\n height: 20px;\n}\n#upload-link-panel .warning-icon {\n color: #f25041;\n font-size: 48px;\n}\n#upload-link-panel .tip-list-item {\n list-style: decimal inside none;\n}\n#upload-link-drop-zone {\n background: rgba(255, 152, 0, 0.1);\n border: 2px dashed #ff9800;\n border-radius: 4px;\n padding: 28px 0;\n}\n#upload-link-drop-zone .upload-icon {\n color: rgba(240, 159, 63, 0.8);\n font-size: 60px;\n line-height: 1;\n}\n.mh-2 {\n min-height: 2rem;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/viewFileSpreadsheet.css b/media/assets/frontend/static/css/viewFileSpreadsheet.css new file mode 100644 index 00000000000..a5c781ef52f --- /dev/null +++ b/media/assets/frontend/static/css/viewFileSpreadsheet.css @@ -0,0 +1,2 @@ +.spreadsheet-file-view{overflow:auto}#spreadsheet-container{background:#fff;border:1px solid #ccc;box-shadow:0 0 6px #ccc;display:block;margin:0 auto;max-width:950px;min-height:100%;width:calc(100% - 40px)} +/*# sourceMappingURL=viewFileSpreadsheet.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/viewFileSpreadsheet.css.map b/media/assets/frontend/static/css/viewFileSpreadsheet.css.map new file mode 100644 index 00000000000..50b57d90f68 --- /dev/null +++ b/media/assets/frontend/static/css/viewFileSpreadsheet.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/viewFileSpreadsheet.css","mappings":"AAAA,uBACI,aACJ,CACA,uBAMI,eAAgB,CAChB,qBAAsB,CACtB,uBAAwB,CAPxB,aAAc,CAId,aAAc,CAFd,eAAgB,CAChB,eAAgB,CAFhB,uBAOJ","sources":["css/spreadsheet-file-view.css"],"sourcesContent":[".spreadsheet-file-view {\n overflow: auto;\n}\n#spreadsheet-container {\n display: block;\n width: calc(100% - 40px);\n max-width: 950px;\n min-height: 100%;\n margin: 0 auto;\n background: #fff;\n border: 1px solid #ccc;\n box-shadow: 0 0 6px #ccc;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/css/wiki.css b/media/assets/frontend/static/css/wiki.css new file mode 100644 index 00000000000..844750d08d6 --- /dev/null +++ b/media/assets/frontend/static/css/wiki.css @@ -0,0 +1,2 @@ +.wiki-nav-content{margin-top:18px}.wiki-nav-content a,.wiki-nav-content span{color:#4d5156;display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-nav-content a:hover,.wiki-nav-content-highlight a{color:#eb8205;text-decoration:none}.switch-btn{color:silver;cursor:pointer;font-size:12px;left:0;padding-right:10px;position:absolute;top:2px}.side-panel{height:100%;-webkit-user-select:none;-ms-user-select:none;user-select:none}.side-panel .nav{border-bottom:1px solid #eee;height:36px;min-width:125px;padding-bottom:10px;padding-top:10px}.side-panel .nav-link{color:#888}.side-panel .nav-link.active{color:#eb8205}.side-panel-content{font-size:.875rem;height:calc(100% - 36px);overflow:auto;padding-bottom:8px;padding-top:8px}.image-view{background-color:#fff;border-radius:3px;box-shadow:0 0 10px #aaa;font-size:0;height:150px;line-height:150px;overflow:hidden;position:absolute;text-align:center;width:200px;z-index:1004}.image-view img{max-height:100%;max-width:100%}.image-view i{-webkit-animation:rotate 1.5s ease infinite;animation:rotate 1.5s ease infinite;color:#eb8205;font-size:30px;height:100%;line-height:150px;text-align:center;width:100%}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.outline-h2{color:#364149;cursor:pointer;line-height:2.5;margin-left:20px;white-space:nowrap}.outline-h2:hover{color:#eb8205}.outline-h3{color:#364149;cursor:pointer;line-height:2.5;margin-left:40px;white-space:nowrap}.outline-h3:hover{color:#eb8205}.tree-view{line-height:1.5;padding:0 12px}.tree-node-inner{cursor:pointer;height:24px;line-height:1.625;position:relative}.tree-node-inner-hover{background-color:#ffefb2;border-radius:.25rem}.tree-node-inner .tree-node-text{font-size:14px;line-height:24px;overflow:hidden;padding-left:2.8rem;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 1rem)}.tree-node-inner .left-icon{align-items:center;padding-left:1.5rem;top:0}.folder-toggle-icon,.tree-node-inner .left-icon{display:flex;justify-content:center;left:0;position:absolute}.folder-toggle-icon{align-content:center;color:silver;line-height:1.625;width:1.5rem}.tree-node-icon{color:#b0b0b0;display:inline-block;text-align:center;width:1rem}.tree-node-inner .right-icon{bottom:0;color:#888;font-size:.8125rem;position:absolute;right:1rem;text-align:center;top:0;width:1.5rem;z-index:2}.tree-node-inner .right-icon i{font-size:.8125rem;height:100%;line-height:1.625rem!important;vertical-align:middle;width:100%}.tree-node-hight-light{background-color:#feac74!important;border-radius:4px;color:#fff}.tree-node-hight-light i{color:#fff}.dropdown-menu{min-width:8rem}.parent-path{position:relative}.parent-path .form-text{font-size:.9375rem;margin-left:.25rem;margin-top:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.wiki-side-panel .panel-top{background:#fff}.wiki-side-nav{border-right:1px solid #eee;display:flex;flex:auto;flex-direction:column;overflow:hidden}.wiki-pages-heading{background-color:#f9f9f9;border-bottom:1px solid #e8e8e8;font-size:1rem;font-weight:400;height:40px;line-height:1.5;margin-bottom:0;padding:.5rem 0 .5rem 2rem;position:relative}.heading-icon{color:#888;font-size:.8125rem;position:absolute;right:1rem;top:25%}.wiki-pages-container{flex:1 1;overflow:hidden;padding-bottom:10px}.wiki-pages-container:hover{overflow:auto}.wiki-pages-container .tree-view{margin-left:-10px;padding-left:0}.wiki-pages-container .article{padding:0 20px}.wiki-pages-container .tree-view{margin-top:14px}.wiki-md-viewer-rendered-content{padding:30px 0 0}img[src=""]{opacity:0}.wiki-side-panel{display:flex;flex:0 0 20%;flex-direction:column;overflow:hidden}@media (max-width:767px){.wiki-side-panel{z-index:1051}}.wiki-main-panel{display:flex;flex:1 0 80%;flex-direction:column;min-height:0}.wiki-main-panel .main-panel-north{background-color:#fff}.cur-view-content .wiki-page-container{display:flex;flex:1 1;margin:0 -1rem -1.25rem;overflow-y:auto;padding:30px 1rem 1.25rem 30px}.wiki-main-panel .cur-view-content .article{padding:0 10px}.wiki-main-panel .cur-view-content .article h1{margin-top:0}.cur-view-content .wiki-page-container .outline-h2,.cur-view-content .wiki-page-container .outline-h3{color:#4d5156;font-size:12px;height:24px}.cur-view-content .wiki-page-container .outline-h2.active,.cur-view-content .wiki-page-container .outline-h3.active{color:#eb8205}.cur-view-content .wiki-page-container .seafile-markdown-outline{margin-right:10px;overflow-y:hidden}.cur-view-content .wiki-page-container .seafile-markdown-outline:hover{overflow-y:auto}.cur-view-content .wiki-page-content{padding-right:30px;width:calc(100% - 200px)}.cur-view-content .wiki-page-content .seafile-markdown-outline{overflow:hidden;padding-right:1rem;position:fixed;right:0;top:79px;width:200px}.wiki-hide{display:none!important}@media (max-width:991.98px){.cur-view-content .wiki-page-container{padding:30px 14px 0}.cur-view-content .wiki-page-content{padding-right:0;width:100%}.cur-view-content .seafile-markdown-outline{display:none}}.wiki-main .wiki-viewer-outline{border-left:1px solid #eee;list-style:none;padding:0;position:relative;top:0}.textindent-2{text-indent:18px}.wiki-main .wiki-outline-item{font-size:14px;padding:3px 15px}.wiki-outline-item a{color:#444;display:block;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.wiki-outline-item a:hover{color:#eb8205;text-decoration:underline}.wiki-outline-item-active{border-left:1px solid #eb8205}.wiki-outline-item-active a{color:#eb8205!important}.wiki-page-ops{position:fixed;top:10px}@media (min-width:768px){.wiki-page-ops:before{border-left:1px solid #ddd;bottom:3px;content:"";left:-16px;position:absolute;top:3px}}.wiki-page-list-item{line-height:1.6;margin:3px 0;word-break:break-all}.wiki-page-link,.wiki-page-link:hover{color:#444;font-size:1.15em;font-weight:400;margin-left:5px}#wiki-page-last-modified{color:#666;font-size:12px;padding:40px 10px}.wiki-md-viewer-rendered-content.article h1{margin-top:0}.wiki-page-content a{cursor:pointer}.wiki-side-nav .wiki-page-content a{color:#212529;cursor:pointer}.index-edit{position:absolute;right:.25rem;top:.25rem}.wiki-main-panel .wiki-page-content .ml-2{text-decoration:underline}.wiki-main-panel .wiki-page-content .ml-2:hover{color:#eb8205;text-decoration:underline} +/*# sourceMappingURL=wiki.css.map*/ \ No newline at end of file diff --git a/media/assets/frontend/static/css/wiki.css.map b/media/assets/frontend/static/css/wiki.css.map new file mode 100644 index 00000000000..6a28c47d4f6 --- /dev/null +++ b/media/assets/frontend/static/css/wiki.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/wiki.css","mappings":"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","sources":["css/index-viewer.css","css/side-panel.css","css/wiki.css"],"sourcesContent":[".wiki-nav-content {\n margin-top: 18px;\n}\n.wiki-nav-content a, .wiki-nav-content span {\n color: #4d5156;\n font-size: 14px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n}\n.wiki-nav-content-highlight a {\n text-decoration: none;\n color: #eb8205;\n}\n.wiki-nav-content a:hover {\n text-decoration: none;\n color: #eb8205;\n}\n.switch-btn {\n position: absolute;\n left: 0;\n top: 2px;\n color: #c0c0c0;\n cursor: pointer;\n font-size: 12px;\n padding-right: 10px;\n}\n","/*\n the main reason to icon can not be align is that .folder has a real width it take the place\n of .tree-node-inner causing tree-node-icon not aligned , use absolute can make sure .tree-node-icon\n is always at the far left of .tree-node-inner\n*/\n.side-panel {\n user-select: none;\n height:100%;\n}\n.side-panel .nav {\n border-bottom: 1px solid #eee;\n padding-top: 10px;\n padding-bottom: 10px;\n min-width: 125px;\n height: 36px;\n}\n.side-panel .nav-link {\n color: #888;\n}\n.side-panel .nav-link.active {\n color: #eb8205;\n}\n.side-panel-content {\n padding-top: 8px;\n padding-bottom: 8px;\n height: calc(100% - 36px);\n overflow: auto;\n font-size: 0.875rem;\n}\n\n.image-view {\n width: 200px;\n height: 150px;\n position: absolute;\n background-color: #fff;\n z-index: 1004;\n box-shadow: 0 0 10px #aaa;\n border-radius: 3px;\n line-height: 150px;\n overflow: hidden;\n font-size: 0;\n text-align: center;\n}\n\n.image-view img {\n max-width: 100%;\n max-height: 100%;\n}\n\n.image-view i {\n width: 100%;\n height: 100%;\n text-align: center;\n line-height: 150px;\n font-size: 30px;\n color: #eb8205;\n -moz-animation: rotate 1.5s ease infinite;\n -webkit-animation: rotate 1.5s ease infinite;\n animation: rotate 1.5s ease infinite;\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.outline-h2 {\n margin-left: 20px;\n line-height: 2.5;\n color:#364149;\n white-space: nowrap;\n cursor:pointer;\n}\n.outline-h2:hover {\n color: #eb8205;\n}\n.outline-h3 {\n margin-left: 40px;\n line-height: 2.5;\n color:#364149;\n white-space: nowrap;\n cursor:pointer;\n}\n.outline-h3:hover {\n color: #eb8205;\n}\n\n/*tree view */\n.tree-view {\n padding: 0 12px;\n line-height: 1.5;\n}\n\n.tree-node-inner {\n position: relative;\n height: 24px;\n cursor: pointer;\n line-height: 1.625;\n}\n\n.tree-node-inner-hover {\n background-color: rgb(255,239,178);\n border-radius: 0.25rem;\n}\n\n.tree-node-inner .tree-node-text {\n padding-left: 2.8rem;\n width: calc(100% - 1rem);\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 24px;\n}\n\n.tree-node-inner .left-icon {\n position: absolute;\n display:flex;\n justify-content:center;\n align-items:center;\n top: 0;\n left: 0;\n padding-left: 1.5rem;\n}\n\n.folder-toggle-icon {\n position: absolute;\n left: 0;\n color: #c0c0c0;\n line-height: 1.625;\n width: 1.5rem;\n display: flex;\n align-content: center;\n justify-content: center;\n}\n\n.tree-node-icon {\n display: inline-block;\n width: 1rem;\n text-align: center;\n color: #b0b0b0;\n}\n\n.tree-node-inner .right-icon {\n position: absolute;\n top: 0;\n right: 1rem;\n bottom: 0;\n width: 1.5rem;\n color: #888; \n z-index: 2; \n font-size: 0.8125rem;\n text-align: center;\n}\n\n.tree-node-inner .right-icon i {\n width: 100%;\n height: 100%;\n vertical-align: middle;\n font-size: 0.8125rem;\n line-height: 1.625rem !important;\n}\n\n.tree-node-hight-light {\n color: #fff;\n border-radius: 4px;\n background-color: #feac74 !important;\n}\n\n.tree-node-hight-light i {\n color:#fff;\n}\n\n.dropdown-menu {\n min-width: 8rem;\n}\n\n.parent-path {\n position: relative;\n}\n\n.parent-path .form-text {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n margin-top: 0;\n margin-left: 0.25rem;\n font-size: 0.9375rem;\n}\n\n",".wiki-side-panel .panel-top {\n background: #fff;\n}\n.wiki-side-nav {\n flex:auto;\n display:flex;\n flex-direction:column;\n overflow:hidden; /* for ff */\n border-right:1px solid #eee;\n}\n\n.wiki-pages-heading {\n position: relative;\n font-size: 1rem;\n font-weight: normal;\n padding: 0.5rem 0 0.5rem 2rem;\n border-bottom: 1px solid #e8e8e8;\n line-height: 1.5;\n height: 40px;\n background-color: #f9f9f9;\n margin-bottom: 0;\n}\n.heading-icon {\n position: absolute;\n right: 1rem;\n top: 25%;\n color: #888; \n font-size: 0.8125rem;\n}\n.wiki-pages-container {\n flex: 1;\n overflow: hidden;\n padding-bottom: 10px;\n}\n.wiki-pages-container:hover {\n overflow: auto;\n}\n.wiki-pages-container .tree-view {\n margin-left: -10px;\n padding-left:0;\n}\n.wiki-pages-container .article {\n padding: 0 20px;\n}\n.wiki-pages-container .tree-view {\n margin-top: 14px;\n}\n\n.wiki-md-viewer-rendered-content {\n padding: 30px 0 0;\n}\n\nimg[src=\"\"] {\n opacity: 0;\n}\n\n.wiki-side-panel {\n flex: 0 0 20%;\n display:flex;\n flex-direction:column;\n overflow:hidden;\n}\n\n@media (max-width: 767px) {\n .wiki-side-panel {\n z-index: 1051;\n }\n}\n\n.wiki-main-panel {\n flex: 1 0 80%;\n display:flex;\n flex-direction:column;\n min-height: 0;\n}\n\n.wiki-main-panel .main-panel-north {\n background-color: #fff;\n}\n\n.cur-view-content .wiki-page-container {\n margin: 0 -1rem -1.25rem;\n padding: 30px 1rem 1.25rem;\n display: flex;\n flex: 1;\n padding-left: 30px;\n overflow-y: auto;\n}\n\n.wiki-main-panel .cur-view-content .article {\n padding: 0 10px;\n}\n\n.wiki-main-panel .cur-view-content .article h1 {\n margin-top: 0;\n}\n\n.cur-view-content .wiki-page-container .outline-h2,\n.cur-view-content .wiki-page-container .outline-h3 {\n height: 24px;\n font-size: 12px;\n color: #4d5156;\n}\n\n.cur-view-content .wiki-page-container .outline-h2.active,\n.cur-view-content .wiki-page-container .outline-h3.active { \n color: #eb8205;\n}\n\n.cur-view-content .wiki-page-container .seafile-markdown-outline {\n overflow-y: hidden;\n margin-right: 10px;\n}\n\n.cur-view-content .wiki-page-container .seafile-markdown-outline:hover {\n overflow-y: auto;\n}\n\n.cur-view-content .wiki-page-content {\n width: calc(100% - 200px);\n padding-right: 30px;\n}\n\n.cur-view-content .wiki-page-content .seafile-markdown-outline {\n position: fixed;\n padding-right: 1rem;\n top: 79px;\n right: 0;\n width: 200px;\n overflow: hidden;\n}\n\n.wiki-hide {\n display: none !important;\n}\n\n@media (max-width: 991.98px) {\n .cur-view-content .wiki-page-container {\n padding: 0 14px;\n padding-top: 30px;\n }\n .cur-view-content .wiki-page-content {\n width: 100%;\n padding-right: 0;\n }\n .cur-view-content .seafile-markdown-outline {\n display: none;\n }\n}\n\n.wiki-main .wiki-viewer-outline {\n position: relative;\n top: 0;\n padding: 0;\n list-style: none;\n border-left: solid 1px #eee;\n}\n.textindent-2 {\n text-indent: 18px;\n}\n\n.wiki-main .wiki-outline-item {\n padding: 3px 15px;\n font-size: 14px;\n}\n\n.wiki-outline-item a {\n display: block;\n color: #444;\n text-decoration: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.wiki-outline-item a:hover {\n color: #eb8205;\n text-decoration: underline;\n}\n\n.wiki-outline-item-active { \n border-left: 1px solid #eb8205;\n}\n\n.wiki-outline-item-active a {\n color: #eb8205 !important;\n}\n\n.wiki-page-ops {\n position:fixed;\n top:10px;\n}\n\n@media (min-width: 768px) {\n .wiki-page-ops:before {\n content:'';\n border-left:1px solid #ddd;\n position:absolute;\n top:3px;\n left:-16px;\n bottom:3px;\n }\n}\n\n.wiki-page-list-item {\n word-break:break-all;\n line-height:1.6;\n margin:3px 0;\n}\n\n.wiki-page-link,\n.wiki-page-link:hover {\n font-size:1.15em;\n font-weight:normal;\n color:#444;\n margin-left:5px;\n}\n\n#wiki-page-last-modified {\n padding: 40px 10px;\n font-size:12px;\n color: #666;\n}\n\n.wiki-md-viewer-rendered-content.article h1 {\n margin-top: 0;\n}\n\n.wiki-page-content a {\n cursor: pointer;\n}\n\n.wiki-side-nav .wiki-page-content a {\n color: #212529;\n cursor: pointer;\n}\n\n.index-edit {\n position: absolute;\n right: 0.25rem;\n top: 0.25rem;\n}\n\n.wiki-main-panel .wiki-page-content .ml-2 {\n text-decoration: underline;\n}\n\n.wiki-main-panel .wiki-page-content .ml-2:hover {\n text-decoration: underline;\n color:#eb8205;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/305.d8dbbbbc.chunk.js b/media/assets/frontend/static/js/305.d8dbbbbc.chunk.js new file mode 100644 index 00000000000..73cb6099629 --- /dev/null +++ b/media/assets/frontend/static/js/305.d8dbbbbc.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[305],{6305:function(e,t,r){r.r(t),r.d(t,{css:function(){return _},gss:function(){return S},keywords:function(){return q},less:function(){return O},mkCSS:function(){return i},sCSS:function(){return C}});var o=r(1413);function i(e){var t,r,i=(e=(0,o.Z)((0,o.Z)({},K),e)).inline,a=e.tokenHooks,n=e.documentTypes||{},l=e.mediaTypes||{},s=e.mediaFeatures||{},c=e.mediaValueKeywords||{},d=e.propertyKeywords||{},p=e.nonStandardPropertyKeywords||{},u=e.fontProperties||{},m=e.counterDescriptors||{},g=e.colorKeywords||{},h=e.valueKeywords||{},b=e.allowNested,f=e.lineComment,k=!0===e.supportsAtComponent,y=!1!==e.highlightNonStandardPropertyKeywords;function w(e,r){return t=r,e}function v(e,t){var r=e.next();if(a[r]){var o=a[r](e,t);if(!1!==o)return o}return"@"==r?(e.eatWhile(/[\w\\\-]/),w("def",e.current())):"="==r||("~"==r||"|"==r)&&e.eat("=")?w(null,"compare"):'"'==r||"'"==r?(t.tokenize=x(r),t.tokenize(e,t)):"#"==r?(e.eatWhile(/[\w\\\-]/),w("atom","hash")):"!"==r?(e.match(/^\s*\w*/),w("keyword","important")):/\d/.test(r)||"."==r&&e.eat(/\d/)?(e.eatWhile(/[\w.%]/),w("number","unit")):"-"!==r?/[,+>*\/]/.test(r)?w(null,"select-op"):"."==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?w("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(r)?w(null,r):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=z),w("variableName.function","variable")):/[\w\\\-]/.test(r)?(e.eatWhile(/[\w\\\-]/),w("property","word")):w(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),w("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?w("def","variable-definition"):w("variableName","variable")):e.match(/^\w+-/)?w("meta","meta"):void 0}function x(e){return function(t,r){for(var o,i=!1;null!=(o=t.next());){if(o==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==o}return(o==e||!i&&")"!=e)&&(r.tokenize=null),w("string","string")}}function z(e,t){return e.next(),e.match(/^\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=x(")"),w(null,"(")}function P(e,t,r){this.type=e,this.indent=t,this.prev=r}function q(e,t,r,o){return e.context=new P(r,t.indentation()+(!1===o?0:t.indentUnit),e.context),r}function _(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function B(e,t,r){return S[r.context.type](e,t,r)}function C(e,t,r,o){for(var i=o||1;i>0;i--)r.context=r.context.prev;return B(e,t,r)}function O(e){var t=e.current().toLowerCase();r=h.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var S={top:function(e,t,o){if("{"==e)return q(o,t,"block");if("}"==e&&o.context.prev)return _(o);if(k&&/@component/i.test(e))return q(o,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return q(o,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return q(o,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return o.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return q(o,t,"at");if("hash"==e)r="builtin";else if("word"==e)r="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return q(o,t,"interpolation");if(":"==e)return"pseudo";if(b&&"("==e)return q(o,t,"parens")}return o.context.type},block:function(e,t,o){if("word"==e){var i=t.current().toLowerCase();return d.hasOwnProperty(i)?(r="property","maybeprop"):p.hasOwnProperty(i)?(r=y?"string.special":"property","maybeprop"):b?(r=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(r="error","maybeprop")}return"meta"==e?"block":b||"hash"!=e&&"qualifier"!=e?S.top(e,t,o):(r="error","block")},maybeprop:function(e,t,r){return":"==e?q(r,t,"prop"):B(e,t,r)},prop:function(e,t,o){if(";"==e)return _(o);if("{"==e&&b)return q(o,t,"propBlock");if("}"==e||"{"==e)return C(e,t,o);if("("==e)return q(o,t,"parens");if("hash"!=e||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t.current())){if("word"==e)O(t);else if("interpolation"==e)return q(o,t,"interpolation")}else r="error";return"prop"},propBlock:function(e,t,o){return"}"==e?_(o):"word"==e?(r="property","maybeprop"):o.context.type},parens:function(e,t,r){return"{"==e||"}"==e?C(e,t,r):")"==e?_(r):"("==e?q(r,t,"parens"):"interpolation"==e?q(r,t,"interpolation"):("word"==e&&O(t),"parens")},pseudo:function(e,t,o){return"meta"==e?"pseudo":"word"==e?(r="variableName.constant",o.context.type):B(e,t,o)},documentTypes:function(e,t,o){return"word"==e&&n.hasOwnProperty(t.current())?(r="tag",o.context.type):S.atBlock(e,t,o)},atBlock:function(e,t,o){if("("==e)return q(o,t,"atBlock_parens");if("}"==e||";"==e)return C(e,t,o);if("{"==e)return _(o)&&q(o,t,b?"block":"top");if("interpolation"==e)return q(o,t,"interpolation");if("word"==e){var i=t.current().toLowerCase();r="only"==i||"not"==i||"and"==i||"or"==i?"keyword":l.hasOwnProperty(i)?"attribute":s.hasOwnProperty(i)?"property":c.hasOwnProperty(i)?"keyword":d.hasOwnProperty(i)?"property":p.hasOwnProperty(i)?y?"string.special":"property":h.hasOwnProperty(i)?"atom":g.hasOwnProperty(i)?"keyword":"error"}return o.context.type},atComponentBlock:function(e,t,o){return"}"==e?C(e,t,o):"{"==e?_(o)&&q(o,t,b?"block":"top",!1):("word"==e&&(r="error"),o.context.type)},atBlock_parens:function(e,t,r){return")"==e?_(r):"{"==e||"}"==e?C(e,t,r,2):S.atBlock(e,t,r)},restricted_atBlock_before:function(e,t,o){return"{"==e?q(o,t,"restricted_atBlock"):"word"==e&&"@counter-style"==o.stateArg?(r="variable","restricted_atBlock_before"):B(e,t,o)},restricted_atBlock:function(e,t,o){return"}"==e?(o.stateArg=null,_(o)):"word"==e?(r="@font-face"==o.stateArg&&!u.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==o.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,o){return"word"==e?(r="variable","keyframes"):"{"==e?q(o,t,"top"):B(e,t,o)},at:function(e,t,o){return";"==e?_(o):"{"==e||"}"==e?C(e,t,o):("word"==e?r="tag":"hash"==e&&(r="builtin"),"at")},interpolation:function(e,t,o){return"}"==e?_(o):"{"==e||";"==e?C(e,t,o):("word"==e?r="variable":"variable"!=e&&"("!=e&&")"!=e&&(r="error"),"interpolation")}};return{name:e.name,startState:function(){return{tokenize:null,state:i?"block":"top",stateArg:null,context:new P(i?"block":"top",0,null)}},token:function(e,o){if(!o.tokenize&&e.eatSpace())return null;var i=(o.tokenize||v)(e,o);return i&&"object"==typeof i&&(t=i[1],i=i[0]),r=i,"comment"!=t&&(o.state=S[o.state](t,e,o)),r},indent:function(e,t,r){var o=e.context,i=t&&t.charAt(0),a=o.indent;return"prop"!=o.type||"}"!=i&&")"!=i||(o=o.prev),o.prev&&("}"!=i||"block"!=o.type&&"top"!=o.type&&"interpolation"!=o.type&&"restricted_atBlock"!=o.type?(")"!=i||"parens"!=o.type&&"atBlock_parens"!=o.type)&&("{"!=i||"at"!=o.type&&"atBlock"!=o.type)||(a=Math.max(0,o.indent-r.unit)):a=(o=o.prev).indent),a},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:f,block:{open:"/*",close:"*/"}},autocomplete:j}}}function a(e){for(var t={},r=0;r*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variableName.function\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : stream.indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override = \"error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) {\n override = \"error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variableName.constant\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n name: parserConfig.name,\n startState: function() {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter, iCx) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - iCx.unit);\n }\n }\n return indent;\n },\n\n languageData: {\n indentOnInput: /^\\s*\\}$/,\n commentTokens: {line: lineComment, block: {open: \"/*\", close: \"*/\"}},\n autocomplete: allWords\n }\n };\n};\n\nfunction keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n}\n\nvar documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n], documentTypes = keySet(documentTypes_);\n\nvar mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n], mediaTypes = keySet(mediaTypes_);\n\nvar mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\",\n \"dynamic-range\", \"video-dynamic-range\"\n], mediaFeatures = keySet(mediaFeatures_);\n\nvar mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\",\n \"standard\", \"high\"\n], mediaValueKeywords = keySet(mediaValueKeywords_);\n\nvar propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n], propertyKeywords = keySet(propertyKeywords_);\n\nvar nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\nvar fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n], fontProperties = keySet(fontProperties_);\n\nvar counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n], counterDescriptors = keySet(counterDescriptors_);\n\nvar colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n], colorKeywords = keySet(colorKeywords_);\n\nvar valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"conic-gradient\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-play-button\", \"media-slider\", \"media-sliderthumb\",\n \"media-volume-slider\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\",\n \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\", \"repeating-radial-gradient\",\n \"repeating-conic-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n], valueKeywords = keySet(valueKeywords_);\n\nvar allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n\nexport const keywords = {properties: propertyKeywords_, colors: colorKeywords_,\n fonts: fontProperties_, values: valueKeywords_, all: allWords}\n\nconst defaults = {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n}\n\nexport const css = mkCSS({name: \"css\"})\n\nfunction tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n}\n\nexport const sCSS = mkCSS({\n name: \"scss\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName.special\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n }\n})\n\nexport const less = mkCSS({\n name: \"less\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n }\n})\n\nexport const gss = mkCSS({\n name: \"gss\",\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n})\n"],"names":["mkCSS","parserConfig","type","override","inline","_objectSpread","defaults","tokenHooks","documentTypes","mediaTypes","mediaFeatures","mediaValueKeywords","propertyKeywords","nonStandardPropertyKeywords","fontProperties","counterDescriptors","colorKeywords","valueKeywords","allowNested","lineComment","supportsAtComponent","highlightNonStandardPropertyKeywords","ret","style","tp","tokenBase","stream","state","ch","next","result","eatWhile","current","eat","tokenize","tokenString","match","test","tokenParenthesized","peek","quote","escaped","backUp","Context","indent","prev","this","pushContext","context","indentation","indentUnit","popContext","pass","states","popAndPass","n","i","wordAsValue","word","toLowerCase","hasOwnProperty","stateArg","charAt","top","_stream","atBlock","name","startState","token","eatSpace","textAfter","iCx","cx","Math","max","unit","languageData","indentOnInput","commentTokens","line","block","open","close","autocomplete","allWords","keySet","array","keys","length","documentTypes_","mediaTypes_","mediaFeatures_","mediaValueKeywords_","propertyKeywords_","nonStandardPropertyKeywords_","fontProperties_","colorKeywords_","valueKeywords_","concat","keywords","properties","colors","fonts","values","all","tokenCComment","css","maybeEnd","sCSS","skipToEnd","less","gss"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/311.e7e04ffb.chunk.js b/media/assets/frontend/static/js/311.e7e04ffb.chunk.js new file mode 100644 index 00000000000..dd2e502f29f --- /dev/null +++ b/media/assets/frontend/static/js/311.e7e04ffb.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[311],{88311:function(r,e,t){t.r(e),t.d(e,{rpmChanges:function(){return o},rpmSpec:function(){return m}});var n=/^-+$/,a=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,c=/^[\w+.-]+@[\w.-]+/,o={name:"rpmchanges",token:function(r){if(r.sol()){if(r.match(n))return"tag";if(r.match(a))return"tag"}return r.match(c)?"string":(r.next(),null)}},i=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,u=/^[a-zA-Z0-9()]+:/,p=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,s=/^%(ifnarch|ifarch|if)/,l=/^%(else|endif)/,f=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/,m={name:"rpmspec",startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,e){if("#"==r.peek())return r.skipToEnd(),"comment";if(r.sol()){if(r.match(u))return"header";if(r.match(p))return"atom"}if(r.match(/^\$\w+/))return"def";if(r.match(/^\$\{\w+\}/))return"def";if(r.match(l))return"keyword";if(r.match(s))return e.controlFlow=!0,"keyword";if(e.controlFlow){if(r.match(f))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(e.controlFlow=!1)}if(r.match(i))return r.eol()&&(e.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(e.macroParameters=!0),"keyword";if(e.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return e.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(e.controlFlow=!1),"def"):(r.next(),null)}}}}]); +//# sourceMappingURL=311.e7e04ffb.chunk.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/311.e7e04ffb.chunk.js.map b/media/assets/frontend/static/js/311.e7e04ffb.chunk.js.map new file mode 100644 index 00000000000..2b80cbfdbd1 --- /dev/null +++ b/media/assets/frontend/static/js/311.e7e04ffb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/311.e7e04ffb.chunk.js","mappings":"qMAAA,IAAIA,EAAkB,OAClBC,EAAa,sIACbC,EAAc,oBAELC,EAAa,CACxBC,KAAM,aACNC,MAAO,SAASC,GACd,GAAIA,EAAOC,MAAO,CAChB,GAAID,EAAOE,MAAMR,GAAoB,MAAO,MAC5C,GAAIM,EAAOE,MAAMP,GAAe,MAAO,KACzC,CACA,OAAIK,EAAOE,MAAMN,GAAuB,UACxCI,EAAOG,OACA,KACT,GAKEC,EAAO,qHAEPC,EAAW,mBACXC,EAAU,2NACVC,EAAuB,wBACvBC,EAAsB,iBACtBC,EAAY,0CAEHC,EAAU,CACrBZ,KAAM,UACNa,WAAY,WACV,MAAO,CACLC,aAAa,EACbC,iBAAiB,EACjBP,SAAS,EAEb,EACAP,MAAO,SAAUC,EAAQc,GAEvB,GAAU,KADDd,EAAOe,OACqB,OAApBf,EAAOgB,YAAoB,UAE5C,GAAIhB,EAAOC,MAAO,CAChB,GAAID,EAAOE,MAAMG,GAAa,MAAO,SACrC,GAAIL,EAAOE,MAAMI,GAAY,MAAO,MACtC,CAEA,GAAIN,EAAOE,MAAM,UAAa,MAAO,MACrC,GAAIF,EAAOE,MAAM,cAAiB,MAAO,MAEzC,GAAIF,EAAOE,MAAMM,GAAwB,MAAO,UAChD,GAAIR,EAAOE,MAAMK,GAEf,OADAO,EAAMF,aAAc,EACb,UAET,GAAIE,EAAMF,YAAa,CACrB,GAAIZ,EAAOE,MAAMO,GAAc,MAAO,WACtC,GAAIT,EAAOE,MAAM,UAAa,MAAO,SACjCF,EAAOiB,QAASH,EAAMF,aAAc,EAC1C,CAEA,GAAIZ,EAAOE,MAAME,GAEf,OADIJ,EAAOiB,QAASH,EAAMF,aAAc,GACjC,SAIT,GAAIZ,EAAOE,MAAM,WAEf,OADIF,EAAOE,MAAM,OAAQY,EAAMD,iBAAkB,GAC1C,UAET,GAAIC,EAAMD,gBAAiB,CACzB,GAAIb,EAAOE,MAAM,QAAW,MAAO,SACnC,GAAIF,EAAOE,MAAM,KAEf,OADAY,EAAMD,iBAAkB,EACjB,SAEX,CAGA,OAAIb,EAAOE,MAAM,0BACXF,EAAOiB,QAASH,EAAMF,aAAc,GACjC,QAGTZ,EAAOG,OACA,KACT,E","sources":["../node_modules/@codemirror/legacy-modes/mode/rpm.js"],"sourcesContent":["var headerSeparator = /^-+$/;\nvar headerLine = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\\d{1,2} \\d{2}:\\d{2}(:\\d{2})? [A-Z]{3,4} \\d{4} - /;\nvar simpleEmail = /^[\\w+.-]+@[\\w.-]+/;\n\nexport const rpmChanges = {\n name: \"rpmchanges\",\n token: function(stream) {\n if (stream.sol()) {\n if (stream.match(headerSeparator)) { return 'tag'; }\n if (stream.match(headerLine)) { return 'tag'; }\n }\n if (stream.match(simpleEmail)) { return 'string'; }\n stream.next();\n return null;\n }\n}\n\n// Quick and dirty spec file highlighting\n\nvar arch = /^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/;\n\nvar preamble = /^[a-zA-Z0-9()]+:/;\nvar section = /^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/;\nvar control_flow_complex = /^%(ifnarch|ifarch|if)/; // rpm control flow macros\nvar control_flow_simple = /^%(else|endif)/; // rpm control flow macros\nvar operators = /^(\\!|\\?|\\<\\=|\\<|\\>\\=|\\>|\\=\\=|\\&\\&|\\|\\|)/; // operators in control flow macros\n\nexport const rpmSpec = {\n name: \"rpmspec\",\n startState: function () {\n return {\n controlFlow: false,\n macroParameters: false,\n section: false\n };\n },\n token: function (stream, state) {\n var ch = stream.peek();\n if (ch == \"#\") { stream.skipToEnd(); return \"comment\"; }\n\n if (stream.sol()) {\n if (stream.match(preamble)) { return \"header\"; }\n if (stream.match(section)) { return \"atom\"; }\n }\n\n if (stream.match(/^\\$\\w+/)) { return \"def\"; } // Variables like '$RPM_BUILD_ROOT'\n if (stream.match(/^\\$\\{\\w+\\}/)) { return \"def\"; } // Variables like '${RPM_BUILD_ROOT}'\n\n if (stream.match(control_flow_simple)) { return \"keyword\"; }\n if (stream.match(control_flow_complex)) {\n state.controlFlow = true;\n return \"keyword\";\n }\n if (state.controlFlow) {\n if (stream.match(operators)) { return \"operator\"; }\n if (stream.match(/^(\\d+)/)) { return \"number\"; }\n if (stream.eol()) { state.controlFlow = false; }\n }\n\n if (stream.match(arch)) {\n if (stream.eol()) { state.controlFlow = false; }\n return \"number\";\n }\n\n // Macros like '%make_install' or '%attr(0775,root,root)'\n if (stream.match(/^%[\\w]+/)) {\n if (stream.match('(')) { state.macroParameters = true; }\n return \"keyword\";\n }\n if (state.macroParameters) {\n if (stream.match(/^\\d+/)) { return \"number\";}\n if (stream.match(')')) {\n state.macroParameters = false;\n return \"keyword\";\n }\n }\n\n // Macros like '%{defined fedora}'\n if (stream.match(/^%\\{\\??[\\w \\-\\:\\!]+\\}/)) {\n if (stream.eol()) { state.controlFlow = false; }\n return \"def\";\n }\n\n stream.next();\n return null;\n }\n};\n\n"],"names":["headerSeparator","headerLine","simpleEmail","rpmChanges","name","token","stream","sol","match","next","arch","preamble","section","control_flow_complex","control_flow_simple","operators","rpmSpec","startState","controlFlow","macroParameters","state","peek","skipToEnd","eol"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/379.e48ee7a7.chunk.js b/media/assets/frontend/static/js/379.e48ee7a7.chunk.js new file mode 100644 index 00000000000..d9286eb9a22 --- /dev/null +++ b/media/assets/frontend/static/js/379.e48ee7a7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[379],{50379:function(e,t,n){function r(e){for(var t={},n=e.split(" "),r=0;r!=&|~^\/]/,o=e.support||{},u=e.hooks||{},d=e.dateSQL||{date:!0,time:!0,timestamp:!0},m=!1!==e.backslashStringEscapes,p=e.brackets||/^[\{}\(\)\[\]]/,g=e.punctuation||/^[;.,:]/;function h(e,s){var l=e.next();if(u[l]){var c=u[l](e,s);if(!1!==c)return c}if(o.hexNumber&&("0"==l&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==l||"X"==l)&&e.match(/^'[0-9a-fA-F]*'/)))return"number";if(o.binaryNumber&&(("b"==l||"B"==l)&&e.match(/^'[01]+'/)||"0"==l&&e.match(/^b[01]*/)))return"number";if(l.charCodeAt(0)>47&&l.charCodeAt(0)<58)return e.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),o.decimallessFloat&&e.match(/^\.(?!\.)/),"number";if("?"==l&&(e.eatSpace()||e.eol()||e.eat(";")))return"macroName";if("'"==l||'"'==l&&o.doubleQuote)return s.tokenize=b(l),s.tokenize(e,s);if((o.nCharCast&&("n"==l||"N"==l)||o.charsetCast&&"_"==l&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(o.escapeConstant&&("e"==l||"E"==l)&&("'"==e.peek()||'"'==e.peek()&&o.doubleQuote))return s.tokenize=function(e,t){return(t.tokenize=b(e.next(),!0))(e,t)},"keyword";if(o.commentSlashSlash&&"/"==l&&e.eat("/"))return e.skipToEnd(),"comment";if(o.commentHash&&"#"==l||"-"==l&&e.eat("-")&&(!o.commentSpaceRequired||e.eat(" ")))return e.skipToEnd(),"comment";if("/"==l&&e.eat("*"))return s.tokenize=f(1),s.tokenize(e,s);if("."!=l){if(i.test(l))return e.eatWhile(i),"operator";if(p.test(l))return"bracket";if(g.test(l))return e.eatWhile(g),"punctuation";if("{"==l&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);var m=e.current().toLowerCase();return d.hasOwnProperty(m)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":r.hasOwnProperty(m)?"atom":a.hasOwnProperty(m)?"type":n.hasOwnProperty(m)?"keyword":t.hasOwnProperty(m)?"builtin":null}return o.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":e.match(/^\.+/)?null:o.ODBCdotTable&&e.match(/^[\w\d_$#]+/)?"type":void 0}function b(e,t){return function(r,a){for(var n,i=!1;null!=(n=r.next());){if(n==e&&!i){a.tokenize=h;break}i=(m||t)&&!i&&"\\"==n}return"string"}}function f(e){return function(t,r){var a=t.match(/^.*?(\/\*|\*\/)/);return a?"/*"==a[1]?r.tokenize=f(e+1):r.tokenize=e>1?f(e-1):h:t.skipToEnd(),"comment"}}function _(e,t,r){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:r}}return{name:"sql",startState:function(){return{tokenize:h,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),t.tokenize==h&&e.eatSpace())return null;var r=t.tokenize(e,t);if("comment"==r)return r;t.context&&null==t.context.align&&(t.context.align=!0);var a=e.current();return"("==a?_(e,t,")"):"["==a?_(e,t,"]"):t.context&&t.context.type==a&&function(e){e.indent=e.context.indent,e.context=e.context.prev}(t),r},indent:function(e,t,r){var a=e.context;if(!a)return null;var n=t.charAt(0)==a.type;return a.align?a.col+(n?0:1):a.indent+(n?0:r.unit)},languageData:{commentTokens:{line:o.commentSlashSlash?"//":o.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function n(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function i(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"string.special"):e.eat('"')?(e.match(/^.*"/),"string.special"):e.eat("`")?(e.match(/^.*`/),"string.special"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function o(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"string.special":null}r.r(t),r.d(t,{cassandra:function(){return h},esper:function(){return w},gpSQL:function(){return v},gql:function(){return y},hive:function(){return f},mariaDB:function(){return p},msSQL:function(){return d},mySQL:function(){return m},pgSQL:function(){return _},plSQL:function(){return b},sparkSQL:function(){return x},sql:function(){return a},sqlite:function(){return g},standardSQL:function(){return u}});var s="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function l(e){for(var t={},r=e.split(" "),a=0;a!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:l("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":i}}),m=a({client:l("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:l(s+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":i,"`":n,"\\":o}}),p=a({client:l("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:l(s+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":i,"`":n,"\\":o}}),g=a({client:l("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:l(s+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:l("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:l("date time timestamp datetime"),support:l("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":i,":":i,"?":i,$:i,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null},"`":n}}),h=a({client:{},keywords:l("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:l("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:l("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:l("commentSlashSlash decimallessFloat"),hooks:{}}),b=a({client:l("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:l("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:l("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:l("date time timestamp"),support:l("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),f=a({keywords:l("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:l("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:l("date timestamp"),support:l("ODBCdotTable doubleQuote binaryNumber hexNumber")}),_=a({client:l("source"),keywords:l(s+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:l("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:l("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),y=a({keywords:l("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:l("false true"),builtin:l("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),v=a({client:l("source"),keywords:l("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:l("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),x=a({keywords:l("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:l("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:l("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable doubleQuote zerolessFloat")}),w=a({client:l("source"),keywords:l("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:l("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:l("time"),support:l("decimallessFloat zerolessFloat binaryNumber hexNumber")})}}]); +//# sourceMappingURL=482.40023cf1.chunk.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/482.40023cf1.chunk.js.map b/media/assets/frontend/static/js/482.40023cf1.chunk.js.map new file mode 100644 index 00000000000..a8501f58d22 --- /dev/null +++ b/media/assets/frontend/static/js/482.40023cf1.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/482.40023cf1.chunk.js","mappings":"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","sources":["../node_modules/@codemirror/legacy-modes/mode/sql.js"],"sourcesContent":["export function sql(parserConfig) {\n var client = parserConfig.client || {},\n atoms = parserConfig.atoms || {\"false\": true, \"true\": true, \"null\": true},\n builtin = parserConfig.builtin || set(defaultBuiltin),\n keywords = parserConfig.keywords || set(sqlKeywords),\n operatorChars = parserConfig.operatorChars || /^[*+\\-%<>!=&|~^\\/]/,\n support = parserConfig.support || {},\n hooks = parserConfig.hooks || {},\n dateSQL = parserConfig.dateSQL || {\"date\" : true, \"time\" : true, \"timestamp\" : true},\n backslashStringEscapes = parserConfig.backslashStringEscapes !== false,\n brackets = parserConfig.brackets || /^[\\{}\\(\\)\\[\\]]/,\n punctuation = parserConfig.punctuation || /^[;.,:]/\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n\n // call hooks from the mime type\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n\n if (support.hexNumber &&\n ((ch == \"0\" && stream.match(/^[xX][0-9a-fA-F]+/))\n || (ch == \"x\" || ch == \"X\") && stream.match(/^'[0-9a-fA-F]*'/))) {\n // hex\n // ref: http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html\n return \"number\";\n } else if (support.binaryNumber &&\n (((ch == \"b\" || ch == \"B\") && stream.match(/^'[01]+'/))\n || (ch == \"0\" && stream.match(/^b[01]*/)))) {\n // bitstring\n // ref: http://dev.mysql.com/doc/refman/5.5/en/bit-field-literals.html\n return \"number\";\n } else if (ch.charCodeAt(0) > 47 && ch.charCodeAt(0) < 58) {\n // numbers\n // ref: http://dev.mysql.com/doc/refman/5.5/en/number-literals.html\n stream.match(/^[0-9]*(\\.[0-9]+)?([eE][-+]?[0-9]+)?/);\n support.decimallessFloat && stream.match(/^\\.(?!\\.)/);\n return \"number\";\n } else if (ch == \"?\" && (stream.eatSpace() || stream.eol() || stream.eat(\";\"))) {\n // placeholders\n return \"macroName\";\n } else if (ch == \"'\" || (ch == '\"' && support.doubleQuote)) {\n // strings\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n state.tokenize = tokenLiteral(ch);\n return state.tokenize(stream, state);\n } else if ((((support.nCharCast && (ch == \"n\" || ch == \"N\"))\n || (support.charsetCast && ch == \"_\" && stream.match(/[a-z][a-z0-9]*/i)))\n && (stream.peek() == \"'\" || stream.peek() == '\"'))) {\n // charset casting: _utf8'str', N'str', n'str'\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n return \"keyword\";\n } else if (support.escapeConstant && (ch == \"e\" || ch == \"E\")\n && (stream.peek() == \"'\" || (stream.peek() == '\"' && support.doubleQuote))) {\n // escape constant: E'str', e'str'\n // ref: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE\n state.tokenize = function(stream, state) {\n return (state.tokenize = tokenLiteral(stream.next(), true))(stream, state);\n }\n return \"keyword\";\n } else if (support.commentSlashSlash && ch == \"/\" && stream.eat(\"/\")) {\n // 1-line comment\n stream.skipToEnd();\n return \"comment\";\n } else if ((support.commentHash && ch == \"#\")\n || (ch == \"-\" && stream.eat(\"-\") && (!support.commentSpaceRequired || stream.eat(\" \")))) {\n // 1-line comments\n // ref: https://kb.askmonty.org/en/comment-syntax/\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"/\" && stream.eat(\"*\")) {\n // multi-line comments\n // ref: https://kb.askmonty.org/en/comment-syntax/\n state.tokenize = tokenComment(1);\n return state.tokenize(stream, state);\n } else if (ch == \".\") {\n // .1 for 0.1\n if (support.zerolessFloat && stream.match(/^(?:\\d+(?:e[+-]?\\d+)?)/i))\n return \"number\";\n if (stream.match(/^\\.+/))\n return null\n // .table_name (ODBC)\n // // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html\n if (support.ODBCdotTable && stream.match(/^[\\w\\d_$#]+/))\n return \"type\";\n } else if (operatorChars.test(ch)) {\n // operators\n stream.eatWhile(operatorChars);\n return \"operator\";\n } else if (brackets.test(ch)) {\n // brackets\n return \"bracket\";\n } else if (punctuation.test(ch)) {\n // punctuation\n stream.eatWhile(punctuation);\n return \"punctuation\";\n } else if (ch == '{' &&\n (stream.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/) || stream.match(/^( )*(d|D|t|T|ts|TS)( )*\"[^\"]*\"( )*}/))) {\n // dates (weird ODBC syntax)\n // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html\n return \"number\";\n } else {\n stream.eatWhile(/^[_\\w\\d]/);\n var word = stream.current().toLowerCase();\n // dates (standard SQL syntax)\n // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html\n if (dateSQL.hasOwnProperty(word) && (stream.match(/^( )+'[^']*'/) || stream.match(/^( )+\"[^\"]*\"/)))\n return \"number\";\n if (atoms.hasOwnProperty(word)) return \"atom\";\n if (builtin.hasOwnProperty(word)) return \"type\";\n if (keywords.hasOwnProperty(word)) return \"keyword\";\n if (client.hasOwnProperty(word)) return \"builtin\";\n return null;\n }\n }\n\n // 'string', with char specified in quote escaped by '\\'\n function tokenLiteral(quote, backslashEscapes) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = (backslashStringEscapes || backslashEscapes) && !escaped && ch == \"\\\\\";\n }\n return \"string\";\n };\n }\n function tokenComment(depth) {\n return function(stream, state) {\n var m = stream.match(/^.*?(\\/\\*|\\*\\/)/)\n if (!m) stream.skipToEnd()\n else if (m[1] == \"/*\") state.tokenize = tokenComment(depth + 1)\n else if (depth > 1) state.tokenize = tokenComment(depth - 1)\n else state.tokenize = tokenBase\n return \"comment\"\n }\n }\n\n function pushContext(stream, state, type) {\n state.context = {\n prev: state.context,\n indent: stream.indentation(),\n col: stream.column(),\n type: type\n };\n }\n\n function popContext(state) {\n state.indent = state.context.indent;\n state.context = state.context.prev;\n }\n\n return {\n name: \"sql\",\n\n startState: function() {\n return {tokenize: tokenBase, context: null};\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (state.context && state.context.align == null)\n state.context.align = false;\n }\n if (state.tokenize == tokenBase && stream.eatSpace()) return null;\n\n var style = state.tokenize(stream, state);\n if (style == \"comment\") return style;\n\n if (state.context && state.context.align == null)\n state.context.align = true;\n\n var tok = stream.current();\n if (tok == \"(\")\n pushContext(stream, state, \")\");\n else if (tok == \"[\")\n pushContext(stream, state, \"]\");\n else if (state.context && state.context.type == tok)\n popContext(state);\n return style;\n },\n\n indent: function(state, textAfter, iCx) {\n var cx = state.context;\n if (!cx) return null;\n var closing = textAfter.charAt(0) == cx.type;\n if (cx.align) return cx.col + (closing ? 0 : 1);\n else return cx.indent + (closing ? 0 : iCx.unit);\n },\n\n languageData: {\n commentTokens: {\n line: support.commentSlashSlash ? \"//\" : support.commentHash ? \"#\" : \"--\",\n block: {open: \"/*\", close: \"*/\"}\n },\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"]}\n }\n };\n};\n\n// `identifier`\nfunction hookIdentifier(stream) {\n // MySQL/MariaDB identifiers\n // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"`\" && !stream.eat(\"`\")) return \"string.special\";\n }\n stream.backUp(stream.current().length - 1);\n return stream.eatWhile(/\\w/) ? \"string.special\" : null;\n}\n\n// \"identifier\"\nfunction hookIdentifierDoublequote(stream) {\n // Standard SQL /SQLite identifiers\n // ref: http://web.archive.org/web/20160813185132/http://savage.net.au/SQL/sql-99.bnf.html#delimited%20identifier\n // ref: http://sqlite.org/lang_keywords.html\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"\\\"\" && !stream.eat(\"\\\"\")) return \"string.special\";\n }\n stream.backUp(stream.current().length - 1);\n return stream.eatWhile(/\\w/) ? \"string.special\" : null;\n}\n\n// variable token\nfunction hookVar(stream) {\n // variables\n // @@prefix.varName @varName\n // varName can be quoted with ` or ' or \"\n // ref: http://dev.mysql.com/doc/refman/5.5/en/user-variables.html\n if (stream.eat(\"@\")) {\n stream.match('session.');\n stream.match('local.');\n stream.match('global.');\n }\n\n if (stream.eat(\"'\")) {\n stream.match(/^.*'/);\n return \"string.special\";\n } else if (stream.eat('\"')) {\n stream.match(/^.*\"/);\n return \"string.special\";\n } else if (stream.eat(\"`\")) {\n stream.match(/^.*`/);\n return \"string.special\";\n } else if (stream.match(/^[0-9a-zA-Z$\\.\\_]+/)) {\n return \"string.special\";\n }\n return null;\n};\n\n// short client keyword token\nfunction hookClient(stream) {\n // \\N means NULL\n // ref: http://dev.mysql.com/doc/refman/5.5/en/null-values.html\n if (stream.eat(\"N\")) {\n return \"atom\";\n }\n // \\g, etc\n // ref: http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html\n return stream.match(/^[a-zA-Z.#!?]/) ? \"string.special\" : null;\n}\n\n// these keywords are used by all SQL dialects (however, a mode can still overwrite it)\nvar sqlKeywords = \"alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit \";\n\n// turn a space-separated list into an array\nfunction set(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n}\n\nvar defaultBuiltin = \"bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric\"\n\n// A generic SQL Mode. It's not a standard, it just try to support what is generally supported\nexport const standardSQL = sql({\n keywords: set(sqlKeywords + \"begin\"),\n builtin: set(defaultBuiltin),\n atoms: set(\"false true null unknown\"),\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable doubleQuote binaryNumber hexNumber\")\n});\n\nexport const msSQL = sql({\n client: set(\"$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id\"),\n keywords: set(sqlKeywords + \"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with\"),\n builtin: set(\"bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table \"),\n atoms: set(\"is not null like and or in left right between inner outer join all any some cross unpivot pivot exists\"),\n operatorChars: /^[*+\\-%<>!=^\\&|\\/]/,\n brackets: /^[\\{}\\(\\)]/,\n punctuation: /^[;.,:/]/,\n backslashStringEscapes: false,\n dateSQL: set(\"date datetimeoffset datetime2 smalldatetime datetime time\"),\n hooks: {\n \"@\": hookVar\n }\n});\n\nexport const mySQL = sql({\n client: set(\"charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee\"),\n keywords: set(sqlKeywords + \"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat\"),\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired\"),\n hooks: {\n \"@\": hookVar,\n \"`\": hookIdentifier,\n \"\\\\\": hookClient\n }\n});\n\nexport const mariaDB = sql({\n client: set(\"charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee\"),\n keywords: set(sqlKeywords + \"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat\"),\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired\"),\n hooks: {\n \"@\": hookVar,\n \"`\": hookIdentifier,\n \"\\\\\": hookClient\n }\n});\n\n// provided by the phpLiteAdmin project - phpliteadmin.org\nexport const sqlite = sql({\n // commands of the official SQLite client, ref: https://www.sqlite.org/cli.html#dotcmd\n client: set(\"auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width\"),\n // ref: http://sqlite.org/lang_keywords.html\n keywords: set(sqlKeywords + \"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without\"),\n // SQLite is weakly typed, ref: http://sqlite.org/datatype3.html. This is just a list of some common types.\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real\"),\n // ref: http://sqlite.org/syntax/literal-value.html\n atoms: set(\"null current_date current_time current_timestamp\"),\n // ref: http://sqlite.org/lang_expr.html#binaryops\n operatorChars: /^[*+\\-%<>!=&|/~]/,\n // SQLite is weakly typed, ref: http://sqlite.org/datatype3.html. This is just a list of some common types.\n dateSQL: set(\"date time timestamp datetime\"),\n support: set(\"decimallessFloat zerolessFloat\"),\n identifierQuote: \"\\\"\", //ref: http://sqlite.org/lang_keywords.html\n hooks: {\n // bind-parameters ref:http://sqlite.org/lang_expr.html#varparam\n \"@\": hookVar,\n \":\": hookVar,\n \"?\": hookVar,\n \"$\": hookVar,\n // The preferred way to escape Identifiers is using double quotes, ref: http://sqlite.org/lang_keywords.html\n \"\\\"\": hookIdentifierDoublequote,\n // there is also support for backticks, ref: http://sqlite.org/lang_keywords.html\n \"`\": hookIdentifier\n }\n});\n\n// the query language used by Apache Cassandra is called CQL, but this mime type\n// is called Cassandra to avoid confusion with Contextual Query Language\nexport const cassandra = sql({\n client: { },\n keywords: set(\"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime\"),\n builtin: set(\"ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint\"),\n atoms: set(\"false true infinity NaN\"),\n operatorChars: /^[<>=]/,\n dateSQL: { },\n support: set(\"commentSlashSlash decimallessFloat\"),\n hooks: { }\n});\n\n// this is based on Peter Raganitsch's 'plsql' mode\nexport const plSQL = sql({\n client: set(\"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap\"),\n keywords: set(\"abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work\"),\n builtin: set(\"abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml\"),\n operatorChars: /^[*\\/+\\-%<>!=~]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"doubleQuote nCharCast zerolessFloat binaryNumber hexNumber\")\n});\n\n// Created to support specific hive keywords\nexport const hive = sql({\n keywords: set(\"select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year\"),\n builtin: set(\"bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=]/,\n dateSQL: set(\"date timestamp\"),\n support: set(\"ODBCdotTable doubleQuote binaryNumber hexNumber\")\n});\n\nexport const pgSQL = sql({\n client: set(\"source\"),\n // For PostgreSQL - https://www.postgresql.org/docs/11/sql-keywords-appendix.html\n // For pl/pgsql lang - https://github.com/postgres/postgres/blob/REL_11_2/src/pl/plpgsql/src/pl_scanner.c\n keywords: set(sqlKeywords + \"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone\"),\n // https://www.postgresql.org/docs/11/datatype.html\n builtin: set(\"bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*\\/+\\-%<>!=&|^\\/#@?~]/,\n backslashStringEscapes: false,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant\")\n});\n\n// Google's SQL-like query language, GQL\nexport const gql = sql({\n keywords: set(\"ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where\"),\n atoms: set(\"false true\"),\n builtin: set(\"blob datetime first key __key__ string integer double boolean null\"),\n operatorChars: /^[*+\\-%<>!=]/\n});\n\n// Greenplum\nexport const gpSQL = sql({\n client: set(\"source\"),\n //https://github.com/greenplum-db/gpdb/blob/master/src/include/parser/kwlist.h\n keywords: set(\"abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone\"),\n builtin: set(\"bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^\\/#@?~]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast\")\n});\n\n// Spark SQL\nexport const sparkSQL = sql({\n keywords: set(\"add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with\"),\n builtin: set(\"tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat\"),\n atoms: set(\"false true null\"),\n operatorChars: /^[*\\/+\\-%<>!=~&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable doubleQuote zerolessFloat\")\n});\n\n// Esper\nexport const esper = sql({\n client: set(\"source\"),\n // http://www.espertech.com/esper/release-5.5.0/esper-reference/html/appendix_keywords.html\n keywords: set(\"alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window\"),\n builtin: {},\n atoms: set(\"false true null\"),\n operatorChars: /^[*+\\-%<>!=&|^\\/#@?~]/,\n dateSQL: set(\"time\"),\n support: set(\"decimallessFloat zerolessFloat binaryNumber hexNumber\")\n});\n\n/*\n How options are used by SQL Mode\n =================================================\n\n keywords:\n A list of keywords you want to be highlighted.\n builtin:\n A list of builtin types you want to be highlighted (if you want types to be of class \"builtin\" instead of \"keyword\").\n operatorChars:\n All characters that must be handled as operators.\n client:\n Commands parsed and executed by the client (not the server).\n support:\n A list of supported syntaxes which are not common, but are supported by more than 1 DBMS.\n * ODBCdotTable: .tableName\n * zerolessFloat: .1\n * doubleQuote\n * nCharCast: N'string'\n * charsetCast: _utf8'string'\n * commentHash: use # char for comments\n * commentSlashSlash: use // for comments\n * commentSpaceRequired: require a space after -- for comments\n atoms:\n Keywords that must be highlighted as atoms,. Some DBMS's support more atoms than others:\n UNKNOWN, INFINITY, UNDERFLOW, NaN...\n dateSQL:\n Used for date/time SQL standard syntax, because not all DBMS's support same temporal types.\n*/\n"],"names":["sql","parserConfig","client","atoms","builtin","set","defaultBuiltin","keywords","sqlKeywords","operatorChars","support","hooks","dateSQL","backslashStringEscapes","brackets","punctuation","tokenBase","stream","state","ch","next","result","hexNumber","match","binaryNumber","charCodeAt","decimallessFloat","eatSpace","eol","eat","doubleQuote","tokenize","tokenLiteral","nCharCast","charsetCast","peek","escapeConstant","commentSlashSlash","skipToEnd","commentHash","commentSpaceRequired","tokenComment","test","eatWhile","word","current","toLowerCase","hasOwnProperty","zerolessFloat","ODBCdotTable","quote","backslashEscapes","escaped","depth","m","pushContext","type","context","prev","indent","indentation","col","column","name","startState","token","sol","align","style","tok","popContext","textAfter","iCx","cx","closing","charAt","unit","languageData","commentTokens","line","block","open","close","closeBrackets","hookIdentifier","backUp","length","hookVar","hookClient","str","obj","words","split","i","standardSQL","msSQL","mySQL","mariaDB","sqlite","identifierQuote","cassandra","plSQL","hive","pgSQL","gql","gpSQL","sparkSQL","esper"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/54.f8d765ee.chunk.js b/media/assets/frontend/static/js/54.f8d765ee.chunk.js new file mode 100644 index 00000000000..111ca68553d --- /dev/null +++ b/media/assets/frontend/static/js/54.f8d765ee.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[54],{28054:function(e,t,n){function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}n.r(t),n.d(t,{cython:function(){return f},mkPython:function(){return c},python:function(){return u}});var i=r(["and","or","not","is"]),a=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],o=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function s(e){return e.scopes[e.scopes.length-1]}function c(e){for(var t="error",n=e.delimiters||e.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,c=[e.singleOperators,e.doubleOperators,e.doubleDelimiters,e.tripleDelimiters,e.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],l=0;li?v(e,n):a0&&x(e,n)&&(o+=" "+t),o}return k(e,n)}function k(r,a,o){if(r.eatSpace())return null;if(!o&&r.match(/^#.*/))return"comment";if(r.match(/^[0-9\.]/,!1)){var s=!1;if(r.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(s=!0),r.match(/^[\d_]+\.\d*/)&&(s=!0),r.match(/^\.\d+/)&&(s=!0),s)return r.eat(/J/i),"number";var l=!1;if(r.match(/^0x[0-9a-f_]+/i)&&(l=!0),r.match(/^0b[01_]+/i)&&(l=!0),r.match(/^0o[0-7_]+/i)&&(l=!0),r.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(r.eat(/J/i),l=!0),r.match(/^0(?![\dx])/i)&&(l=!0),l)return r.eat(/L/i),"number"}if(r.match(h))return-1!==r.current().toLowerCase().indexOf("f")?(a.tokenize=function(n,r){for(;"rubf".indexOf(n.charAt(0).toLowerCase())>=0;)n=n.substr(1);var i=1==n.length,a="string";function o(e){return function(t,n){var r=k(t,n,!0);return"punctuation"==r&&("{"==t.current()?n.tokenize=o(e+1):"}"==t.current()&&(n.tokenize=e>1?o(e-1):s)),r}}function s(s,c){for(;!s.eol();)if(s.eatWhile(/[^'"\{\}\\]/),s.eat("\\")){if(s.next(),i&&s.eol())return a}else{if(s.match(n))return c.tokenize=r,a;if(s.match("{{"))return a;if(s.match("{",!1))return c.tokenize=o(0),s.current()?a:c.tokenize(s,c);if(s.match("}}"))return a;if(s.match("}"))return t;s.eat(/['"]/)}if(i){if(e.singleLineStringErrors)return t;c.tokenize=r}return a}return s.isString=!0,s}(r.current(),a.tokenize),a.tokenize(r,a)):(a.tokenize=function(n,r){for(;"rubf".indexOf(n.charAt(0).toLowerCase())>=0;)n=n.substr(1);var i=1==n.length,a="string";function o(o,s){for(;!o.eol();)if(o.eatWhile(/[^'"\\]/),o.eat("\\")){if(o.next(),i&&o.eol())return a}else{if(o.match(n))return s.tokenize=r,a;o.eat(/['"]/)}if(i){if(e.singleLineStringErrors)return t;s.tokenize=r}return a}return o.isString=!0,o}(r.current(),a.tokenize),a.tokenize(r,a));for(var u=0;u1&&s(t).offset>n;){if("py"!=s(t).type)return!0;t.scopes.pop()}return s(t).offset!=n}function _(e,n){e.sol()&&(n.beginningOfLine=!0,n.dedent=!1);var r=n.tokenize(e,n),i=e.current();if(n.beginningOfLine&&"@"==i)return e.match(m,!1)?"meta":d?"operator":t;if(/\S/.test(i)&&(n.beginningOfLine=!1),"variable"!=r&&"builtin"!=r||"meta"!=n.lastToken||(r="meta"),"pass"!=i&&"return"!=i||(n.dedent=!0),"lambda"==i&&(n.lambda=!0),":"==i&&!n.lambda&&"py"==s(n).type&&e.match(/^\s*(?:#|$)/,!1)&&v(e,n),1==i.length&&!/string|comment/.test(r)){var a="[({".indexOf(i);if(-1!=a&&function(e,t,n){var r=e.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:e.column()+1;t.scopes.push({offset:t.indent+(u||e.indentUnit),type:n,align:r})}(e,n,"])}".slice(a,a+1)),-1!=(a="])}".indexOf(i))){if(s(n).type!=i)return t;n.indent=n.scopes.pop().offset-(u||e.indentUnit)}}return n.dedent&&e.eol()&&"py"==s(n).type&&n.scopes.length>1&&n.scopes.pop(),r}return{name:"python",startState:function(){return{tokenize:y,scopes:[{offset:0,type:"py",align:null}],indent:0,lastToken:null,lambda:!1,dedent:0}},token:function(e,n){var r=n.errorToken;r&&(n.errorToken=!1);var i=_(e,n);return i&&"comment"!=i&&(n.lastToken="keyword"==i||"punctuation"==i?e.current():i),"punctuation"==i&&(i=null),e.eol()&&n.lambda&&(n.lambda=!1),r?t:i},indent:function(e,t,n){if(e.tokenize!=y)return e.tokenize.isString?null:0;var r=s(e),i=r.type==t.charAt(0)||"py"==r.type&&!e.dedent&&/^(else:|elif |except |finally:)/.test(t);return null!=r.align?r.align-(i?1:0):r.offset-(i?u||n.unit:0)},languageData:{autocomplete:a.concat(o).concat(["exec","print"]),indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,commentTokens:{line:"#"},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}}var l,u=c({}),f=c({extra_keywords:(l="by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE",l.split(" "))})}}]); +//# sourceMappingURL=54.f8d765ee.chunk.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/54.f8d765ee.chunk.js.map b/media/assets/frontend/static/js/54.f8d765ee.chunk.js.map new file mode 100644 index 00000000000..c050a5563e6 --- /dev/null +++ b/media/assets/frontend/static/js/54.f8d765ee.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/54.f8d765ee.chunk.js","mappings":"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","sources":["../node_modules/@codemirror/legacy-modes/mode/python.js"],"sourcesContent":["function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n}\n\nvar wordOperators = wordRegexp([\"and\", \"or\", \"not\", \"is\"]);\nvar commonKeywords = [\"as\", \"assert\", \"break\", \"class\", \"continue\",\n \"def\", \"del\", \"elif\", \"else\", \"except\", \"finally\",\n \"for\", \"from\", \"global\", \"if\", \"import\",\n \"lambda\", \"pass\", \"raise\", \"return\",\n \"try\", \"while\", \"with\", \"yield\", \"in\", \"False\", \"True\"];\nvar commonBuiltins = [\"abs\", \"all\", \"any\", \"bin\", \"bool\", \"bytearray\", \"callable\", \"chr\",\n \"classmethod\", \"compile\", \"complex\", \"delattr\", \"dict\", \"dir\", \"divmod\",\n \"enumerate\", \"eval\", \"filter\", \"float\", \"format\", \"frozenset\",\n \"getattr\", \"globals\", \"hasattr\", \"hash\", \"help\", \"hex\", \"id\",\n \"input\", \"int\", \"isinstance\", \"issubclass\", \"iter\", \"len\",\n \"list\", \"locals\", \"map\", \"max\", \"memoryview\", \"min\", \"next\",\n \"object\", \"oct\", \"open\", \"ord\", \"pow\", \"property\", \"range\",\n \"repr\", \"reversed\", \"round\", \"set\", \"setattr\", \"slice\",\n \"sorted\", \"staticmethod\", \"str\", \"sum\", \"super\", \"tuple\",\n \"type\", \"vars\", \"zip\", \"__import__\", \"NotImplemented\",\n \"Ellipsis\", \"__debug__\"];\n\nfunction top(state) {\n return state.scopes[state.scopes.length - 1];\n}\n\nexport function mkPython(parserConf) {\n var ERRORCLASS = \"error\";\n\n var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\\(\\)\\[\\]\\{\\}@,:`=;\\.\\\\]/;\n // (Backwards-compatibility with old, cumbersome config system)\n var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,\n parserConf.operators || /^([-+*/%\\/&|^]=?|[<>=]+|\\/\\/=?|\\*\\*=?|!=|[~!@]|\\.\\.\\.)/]\n for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)\n\n var hangingIndent = parserConf.hangingIndent;\n\n var myKeywords = commonKeywords, myBuiltins = commonBuiltins;\n if (parserConf.extra_keywords != undefined)\n myKeywords = myKeywords.concat(parserConf.extra_keywords);\n\n if (parserConf.extra_builtins != undefined)\n myBuiltins = myBuiltins.concat(parserConf.extra_builtins);\n\n var py3 = !(parserConf.version && Number(parserConf.version) < 3)\n if (py3) {\n // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator\n var identifiers = parserConf.identifiers|| /^[_A-Za-z\\u00A1-\\uFFFF][_A-Za-z0-9\\u00A1-\\uFFFF]*/;\n myKeywords = myKeywords.concat([\"nonlocal\", \"None\", \"aiter\", \"anext\", \"async\", \"await\", \"breakpoint\", \"match\", \"case\"]);\n myBuiltins = myBuiltins.concat([\"ascii\", \"bytes\", \"exec\", \"print\"]);\n var stringPrefixes = new RegExp(\"^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n } else {\n var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;\n myKeywords = myKeywords.concat([\"exec\", \"print\"]);\n myBuiltins = myBuiltins.concat([\"apply\", \"basestring\", \"buffer\", \"cmp\", \"coerce\", \"execfile\",\n \"file\", \"intern\", \"long\", \"raw_input\", \"reduce\", \"reload\",\n \"unichr\", \"unicode\", \"xrange\", \"None\"]);\n var stringPrefixes = new RegExp(\"^(([rubf]|(ur)|(br))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n }\n var keywords = wordRegexp(myKeywords);\n var builtins = wordRegexp(myBuiltins);\n\n // tokenizers\n function tokenBase(stream, state) {\n var sol = stream.sol() && state.lastToken != \"\\\\\"\n if (sol) state.indent = stream.indentation()\n // Handle scope changes\n if (sol && top(state).type == \"py\") {\n var scopeOffset = top(state).offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset)\n pushPyScope(stream, state);\n else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != \"#\")\n state.errorToken = true;\n return null;\n } else {\n var style = tokenBaseInner(stream, state);\n if (scopeOffset > 0 && dedent(stream, state))\n style += \" \" + ERRORCLASS;\n return style;\n }\n }\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(stream, state, inFormat) {\n if (stream.eatSpace()) return null;\n\n // Handle Comments\n if (!inFormat && stream.match(/^#.*/)) return \"comment\";\n\n // Handle Number Literals\n if (stream.match(/^[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^[\\d_]*\\.\\d+(e[\\+\\-]?\\d+)?/i)) { floatLiteral = true; }\n if (stream.match(/^[\\d_]+\\.\\d*/)) { floatLiteral = true; }\n if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true;\n // Binary\n if (stream.match(/^0b[01_]+/i)) intLiteral = true;\n // Octal\n if (stream.match(/^0o[0-7_]+/i)) intLiteral = true;\n // Decimal\n if (stream.match(/^[1-9][\\d_]*(e[\\+\\-]?[\\d_]+)?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^0(?![\\dx])/i)) intLiteral = true;\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return \"number\";\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1;\n if (!isFmtString) {\n state.tokenize = tokenStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n } else {\n state.tokenize = formatStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n }\n }\n\n for (var i = 0; i < operators.length; i++)\n if (stream.match(operators[i])) return \"operator\"\n\n if (stream.match(delimiters)) return \"punctuation\";\n\n if (state.lastToken == \".\" && stream.match(identifiers))\n return \"property\";\n\n if (stream.match(keywords) || stream.match(wordOperators))\n return \"keyword\";\n\n if (stream.match(builtins))\n return \"builtin\";\n\n if (stream.match(/^(self|cls)\\b/))\n return \"self\";\n\n if (stream.match(identifiers)) {\n if (state.lastToken == \"def\" || state.lastToken == \"class\")\n return \"def\";\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return inFormat ? null :ERRORCLASS;\n }\n\n function formatStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenNestedExpr(depth) {\n return function(stream, state) {\n var inner = tokenBaseInner(stream, state, true)\n if (inner == \"punctuation\") {\n if (stream.current() == \"{\") {\n state.tokenize = tokenNestedExpr(depth + 1)\n } else if (stream.current() == \"}\") {\n if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1)\n else state.tokenize = tokenString\n }\n }\n return inner\n }\n }\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\{\\}\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else if (stream.match('{{')) {\n // ignore {{ in f-str\n return OUTCLASS;\n } else if (stream.match('{', false)) {\n // switch to nested mode\n state.tokenize = tokenNestedExpr(0)\n if (stream.current()) return OUTCLASS;\n else return state.tokenize(stream, state)\n } else if (stream.match('}}')) {\n return OUTCLASS;\n } else if (stream.match('}')) {\n // single } in f-string is an error\n return ERRORCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function tokenStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function pushPyScope(stream, state) {\n while (top(state).type != \"py\") state.scopes.pop()\n state.scopes.push({offset: top(state).offset + stream.indentUnit,\n type: \"py\",\n align: null})\n }\n\n function pushBracketScope(stream, state, type) {\n var align = stream.match(/^[\\s\\[\\{\\(]*(?:#|$)/, false) ? null : stream.column() + 1\n state.scopes.push({offset: state.indent + (hangingIndent || stream.indentUnit),\n type: type,\n align: align})\n }\n\n function dedent(stream, state) {\n var indented = stream.indentation();\n while (state.scopes.length > 1 && top(state).offset > indented) {\n if (top(state).type != \"py\") return true;\n state.scopes.pop();\n }\n return top(state).offset != indented;\n }\n\n function tokenLexer(stream, state) {\n if (stream.sol()) {\n state.beginningOfLine = true;\n state.dedent = false;\n }\n\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle decorators\n if (state.beginningOfLine && current == \"@\")\n return stream.match(identifiers, false) ? \"meta\" : py3 ? \"operator\" : ERRORCLASS;\n\n if (/\\S/.test(current)) state.beginningOfLine = false;\n\n if ((style == \"variable\" || style == \"builtin\")\n && state.lastToken == \"meta\")\n style = \"meta\";\n\n // Handle scope changes.\n if (current == \"pass\" || current == \"return\")\n state.dedent = true;\n\n if (current == \"lambda\") state.lambda = true;\n if (current == \":\" && !state.lambda && top(state).type == \"py\" && stream.match(/^\\s*(?:#|$)/, false))\n pushPyScope(stream, state);\n\n if (current.length == 1 && !/string|comment/.test(style)) {\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index != -1)\n pushBracketScope(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index != -1) {\n if (top(state).type == current) state.indent = state.scopes.pop().offset - (hangingIndent || stream.indentUnit)\n else return ERRORCLASS;\n }\n }\n if (state.dedent && stream.eol() && top(state).type == \"py\" && state.scopes.length > 1)\n state.scopes.pop();\n\n return style;\n }\n\n return {\n name: \"python\",\n\n startState: function() {\n return {\n tokenize: tokenBase,\n scopes: [{offset: 0, type: \"py\", align: null}],\n indent: 0,\n lastToken: null,\n lambda: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var addErr = state.errorToken;\n if (addErr) state.errorToken = false;\n var style = tokenLexer(stream, state);\n\n if (style && style != \"comment\")\n state.lastToken = (style == \"keyword\" || style == \"punctuation\") ? stream.current() : style;\n if (style == \"punctuation\") style = null;\n\n if (stream.eol() && state.lambda)\n state.lambda = false;\n return addErr ? ERRORCLASS : style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase)\n return state.tokenize.isString ? null : 0;\n\n var scope = top(state)\n var closing = scope.type == textAfter.charAt(0) ||\n scope.type == \"py\" && !state.dedent && /^(else:|elif |except |finally:)/.test(textAfter)\n if (scope.align != null)\n return scope.align - (closing ? 1 : 0)\n else\n return scope.offset - (closing ? hangingIndent || cx.unit : 0)\n },\n\n languageData: {\n autocomplete: commonKeywords.concat(commonBuiltins).concat([\"exec\", \"print\"]),\n indentOnInput: /^\\s*([\\}\\]\\)]|else:|elif |except |finally:)$/,\n commentTokens: {line: \"#\"},\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"'''\", '\"\"\"']}\n }\n };\n};\n\nvar words = function(str) { return str.split(\" \"); };\n\nexport const python = mkPython({})\n\nexport const cython = mkPython({\n extra_keywords: words(\"by cdef cimport cpdef ctypedef enum except \"+\n \"extern gil include nogil property public \"+\n \"readonly struct union DEF IF ELIF ELSE\")\n})\n"],"names":["wordRegexp","words","RegExp","join","wordOperators","commonKeywords","commonBuiltins","top","state","scopes","length","mkPython","parserConf","ERRORCLASS","delimiters","singleDelimiters","operators","singleOperators","doubleOperators","doubleDelimiters","tripleDelimiters","i","splice","hangingIndent","myKeywords","myBuiltins","undefined","extra_keywords","concat","extra_builtins","py3","version","Number","identifiers","stringPrefixes","keywords","builtins","tokenBase","stream","sol","lastToken","indent","indentation","type","scopeOffset","offset","eatSpace","lineOffset","pushPyScope","dedent","peek","errorToken","style","tokenBaseInner","inFormat","match","floatLiteral","eat","intLiteral","current","toLowerCase","indexOf","tokenize","delimiter","tokenOuter","charAt","substr","singleline","OUTCLASS","tokenNestedExpr","depth","inner","tokenString","eol","eatWhile","next","singleLineStringErrors","isString","formatStringFactory","tokenStringFactory","pop","push","indentUnit","align","indented","tokenLexer","beginningOfLine","test","lambda","delimiter_index","column","pushBracketScope","slice","name","startState","token","addErr","textAfter","cx","scope","closing","unit","languageData","autocomplete","indentOnInput","commentTokens","line","closeBrackets","brackets","str","python","cython","split"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/545.2cc3d80f.chunk.js b/media/assets/frontend/static/js/545.2cc3d80f.chunk.js new file mode 100644 index 00000000000..3dd5aebd54b --- /dev/null +++ b/media/assets/frontend/static/js/545.2cc3d80f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[545],{98545:function(e,t,r){function n(e){var t,r,n=e.statementIndent,a=e.jsonld,i=e.json||a,o=e.typescript,u=e.wordCharacters||/[\w$\xa1-\uffff]/,c=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),a=e("keyword d"),i=e("operator"),o={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:a,break:a,continue:a,new:e("new"),delete:n,void:n,throw:n,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:i,typeof:i,instanceof:i,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n,await:n}}(),s=/[+\-*&%=<>!?|~^@]/,f=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function l(e,n,a){return t=e,r=a,n}function d(e,t){var r,n=e.next();if('"'==n||"'"==n)return t.tokenize=(r=n,function(e,t){var n,i=!1;if(a&&"@"==e.peek()&&e.match(f))return t.tokenize=d,l("jsonld-keyword","meta");for(;null!=(n=e.next())&&(n!=r||i);)i=!i&&"\\"==n;return i||(t.tokenize=d),l("string","string")}),t.tokenize(e,t);if("."==n&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return l("number","number");if("."==n&&e.match(".."))return l("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return l(n);if("="==n&&e.eat(">"))return l("=>","operator");if("0"==n&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return l("number","number");if(/\d/.test(n))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),l("number","number");if("/"==n)return e.eat("*")?(t.tokenize=m,m(e,t)):e.eat("/")?(e.skipToEnd(),l("comment","comment")):function(e,t,r){return t.tokenize==d&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),l("regexp","string.special")):(e.eat("="),l("operator","operator",e.current()));if("`"==n)return t.tokenize=p,p(e,t);if("#"==n&&"!"==e.peek())return e.skipToEnd(),l("meta","meta");if("#"==n&&e.eatWhile(u))return l("variable","property");if("<"==n&&e.match("!--")||"-"==n&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),l("comment","comment");if(s.test(n))return">"==n&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=n&&"="!=n||e.eat("="):/[<>*+\-|&?]/.test(n)&&(e.eat(n),">"==n&&e.eat(n))),"?"==n&&e.eat(".")?l("."):l("operator","operator",e.current());if(u.test(n)){e.eatWhile(u);var i=e.current();if("."!=t.lastType){if(c.propertyIsEnumerable(i)){var o=c[i];return l(o.type,o.style,i)}if("async"==i&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return l("async","keyword",i)}return l("variable","variable",i)}}function m(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=d;break}n="*"==r}return l("comment","comment")}function p(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=d;break}n=!n&&"\\"==r}return l("quasi","string.special",e.current())}var k="([{}])";function v(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){if(o){var n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r));n&&(r=n.index)}for(var a=0,i=!1,c=r-1;c>=0;--c){var s=e.string.charAt(c),f=k.indexOf(s);if(f>=0&&f<3){if(!a){++c;break}if(0==--a){"("==s&&(i=!0);break}}else if(f>=3&&f<6)++a;else if(u.test(s))i=!0;else if(/["'\/`]/.test(s))for(;;--c){if(0==c)return;if(e.string.charAt(c-1)==s&&"\\"!=e.string.charAt(c-2)){c--;break}}else if(i&&!a){++c;break}}i&&!a&&(t.fatArrowAt=c)}}var y={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function w(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function b(e,t){for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return!0}var h={state:null,column:null,marked:null,cc:null};function x(){for(var e=arguments.length-1;e>=0;e--)h.cc.push(arguments[e])}function g(){return x.apply(null,arguments),!0}function V(e,t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}function A(t){var r=h.state;if(h.marked="def",r.context)if("var"==r.lexical.info&&r.context&&r.context.block){var n=z(t,r.context);if(null!=n)return void(r.context=n)}else if(!V(t,r.localVars))return void(r.localVars=new $(t,r.localVars));e.globalVars&&!V(t,r.globalVars)&&(r.globalVars=new $(t,r.globalVars))}function z(e,t){if(t){if(t.block){var r=z(e,t.prev);return r?r==t.prev?t:new T(r,t.vars,!0):null}return V(e,t.vars)?t:new T(t.prev,new $(e,t.vars),!1)}return null}function j(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function T(e,t,r){this.prev=e,this.vars=t,this.block=r}function $(e,t){this.name=e,this.next=t}var _=new $("this",new $("arguments",null));function O(){h.state.context=new T(h.state.context,h.state.localVars,!1),h.state.localVars=_}function q(){h.state.context=new T(h.state.context,h.state.localVars,!0),h.state.localVars=null}function E(){h.state.localVars=h.state.context.vars,h.state.context=h.state.context.prev}function I(e,t){var r=function(){var r=h.state,n=r.indented;if("stat"==r.lexical.type)n=r.lexical.indented;else for(var a=r.lexical;a&&")"==a.type&&a.align;a=a.prev)n=a.indented;r.lexical=new w(n,h.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function C(){var e=h.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function S(e){return function t(r){return r==e?g():";"==e||"}"==r||")"==r||"]"==r?x():g(t)}}function N(e,t){return"var"==e?g(I("vardef",t),he,S(";"),C):"keyword a"==e?g(I("form"),D,N,C):"keyword b"==e?g(I("form"),N,C):"keyword d"==e?h.stream.match(/^\s*$/,!1)?g():g(I("stat"),U,S(";"),C):"debugger"==e?g(S(";")):"{"==e?g(I("}"),q,ae,C,E):";"==e?g():"if"==e?("else"==h.state.lexical.info&&h.state.cc[h.state.cc.length-1]==C&&h.state.cc.pop()(),g(I("form"),D,N,C,je)):"function"==e?g(Oe):"for"==e?g(I("form"),q,Te,N,E,C):"class"==e||o&&"interface"==t?(h.marked="keyword",g(I("form","class"==e?e:t),Se,C)):"variable"==e?o&&"declare"==t?(h.marked="keyword",g(N)):o&&("module"==t||"enum"==t||"type"==t)&&h.stream.match(/^\s*\w/,!1)?(h.marked="keyword","enum"==t?g(Le):"type"==t?g(Ee,S("operator"),se,S(";")):g(I("form"),xe,S("{"),I("}"),ae,C,C)):o&&"namespace"==t?(h.marked="keyword",g(I("form"),W,N,C)):o&&"abstract"==t?(h.marked="keyword",g(N)):g(I("stat"),X):"switch"==e?g(I("form"),D,S("{"),I("}","switch"),q,ae,C,C,E):"case"==e?g(W,S(":")):"default"==e?g(S(":")):"catch"==e?g(I("form"),O,P,N,C,E):"export"==e?g(I("stat"),Be,C):"import"==e?g(I("stat"),Fe,C):"async"==e?g(N):"@"==t?g(W,N):x(I("stat"),W,S(";"),C)}function P(e){if("("==e)return g(Ie,S(")"))}function W(e,t){return F(e,t,!1)}function B(e,t){return F(e,t,!0)}function D(e){return"("!=e?x():g(I(")"),U,S(")"),C)}function F(e,t,r){if(h.state.fatArrowAt==h.stream.start){var n=r?M:L;if("("==e)return g(O,I(")"),re(Ie,")"),C,S("=>"),n,E);if("variable"==e)return x(O,xe,S("=>"),n,E)}var a=r?H:G;return y.hasOwnProperty(e)?g(a):"function"==e?g(Oe,a):"class"==e||o&&"interface"==t?(h.marked="keyword",g(I("form"),Ce,C)):"keyword c"==e||"async"==e?g(r?B:W):"("==e?g(I(")"),U,S(")"),C,a):"operator"==e||"spread"==e?g(r?B:W):"["==e?g(I("]"),Ke,C,a):"{"==e?ne(Z,"}",null,a):"quasi"==e?x(J,a):"new"==e?g(function(e){return function(t){return"."==t?g(e?R:Q):"variable"==t&&o?g(ye,e?H:G):x(e?B:W)}}(r)):g()}function U(e){return e.match(/[;\}\)\],]/)?x():x(W)}function G(e,t){return","==e?g(U):H(e,t,!1)}function H(e,t,r){var n=0==r?G:H,a=0==r?W:B;return"=>"==e?g(O,r?M:L,E):"operator"==e?/\+\+|--/.test(t)||o&&"!"==t?g(n):o&&"<"==t&&h.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?g(I(">"),re(se,">"),C,n):"?"==t?g(W,S(":"),a):g(a):"quasi"==e?x(J,n):";"!=e?"("==e?ne(B,")","call",n):"."==e?g(Y,n):"["==e?g(I("]"),U,S("]"),C,n):o&&"as"==t?(h.marked="keyword",g(se,n)):"regexp"==e?(h.state.lastType=h.marked="operator",h.stream.backUp(h.stream.pos-h.stream.start-1),g(a)):void 0:void 0}function J(e,t){return"quasi"!=e?x():"${"!=t.slice(t.length-2)?g(J):g(U,K)}function K(e){if("}"==e)return h.marked="string.special",h.state.tokenize=p,g(J)}function L(e){return v(h.stream,h.state),x("{"==e?N:W)}function M(e){return v(h.stream,h.state),x("{"==e?N:B)}function Q(e,t){if("target"==t)return h.marked="keyword",g(G)}function R(e,t){if("target"==t)return h.marked="keyword",g(H)}function X(e){return":"==e?g(C,N):x(G,S(";"),C)}function Y(e){if("variable"==e)return h.marked="property",g()}function Z(e,t){return"async"==e?(h.marked="property",g(Z)):"variable"==e||"keyword"==h.style?(h.marked="property","get"==t||"set"==t?g(ee):(o&&h.state.fatArrowAt==h.stream.start&&(r=h.stream.match(/^\s*:\s*/,!1))&&(h.state.fatArrowAt=h.stream.pos+r[0].length),g(te))):"number"==e||"string"==e?(h.marked=a?"property":h.style+" property",g(te)):"jsonld-keyword"==e?g(te):o&&j(t)?(h.marked="keyword",g(Z)):"["==e?g(W,ie,S("]"),te):"spread"==e?g(B,te):"*"==t?(h.marked="keyword",g(Z)):":"==e?x(te):void 0;var r}function ee(e){return"variable"!=e?x(te):(h.marked="property",g(Oe))}function te(e){return":"==e?g(B):"("==e?x(Oe):void 0}function re(e,t,r){function n(a,i){if(r?r.indexOf(a)>-1:","==a){var o=h.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),g((function(r,n){return r==t||n==t?x():x(e)}),n)}return a==t||i==t?g():r&&r.indexOf(";")>-1?x(e):g(S(t))}return function(r,a){return r==t||a==t?g():x(e,n)}}function ne(e,t,r){for(var n=3;n"),se):"quasi"==e?x(me,ve):void 0}function fe(e){if("=>"==e)return g(se)}function le(e){return e.match(/[\}\)\]]/)?g():","==e||";"==e?g(le):x(de,le)}function de(e,t){return"variable"==e||"keyword"==h.style?(h.marked="property",g(de)):"?"==t||"number"==e||"string"==e?g(de):":"==e?g(se):"["==e?g(S("variable"),oe,S("]"),de):"("==e?x(qe,de):e.match(/[;\}\)\],]/)?void 0:g()}function me(e,t){return"quasi"!=e?x():"${"!=t.slice(t.length-2)?g(me):g(se,pe)}function pe(e){if("}"==e)return h.marked="string.special",h.state.tokenize=p,g(me)}function ke(e,t){return"variable"==e&&h.stream.match(/^\s*[?:]/,!1)||"?"==t?g(ke):":"==e?g(se):"spread"==e?g(ke):x(se)}function ve(e,t){return"<"==t?g(I(">"),re(se,">"),C,ve):"|"==t||"."==e||"&"==t?g(se):"["==e?g(se,S("]"),ve):"extends"==t||"implements"==t?(h.marked="keyword",g(se)):"?"==t?g(se,S(":"),se):void 0}function ye(e,t){if("<"==t)return g(I(">"),re(se,">"),C,ve)}function we(){return x(se,be)}function be(e,t){if("="==t)return g(se)}function he(e,t){return"enum"==t?(h.marked="keyword",g(Le)):x(xe,ie,Ae,ze)}function xe(e,t){return o&&j(t)?(h.marked="keyword",g(xe)):"variable"==e?(A(t),g()):"spread"==e?g(xe):"["==e?ne(Ve,"]"):"{"==e?ne(ge,"}"):void 0}function ge(e,t){return"variable"!=e||h.stream.match(/^\s*:/,!1)?("variable"==e&&(h.marked="property"),"spread"==e?g(xe):"}"==e?x():"["==e?g(W,S("]"),S(":"),ge):g(S(":"),xe,Ae)):(A(t),g(Ae))}function Ve(){return x(xe,Ae)}function Ae(e,t){if("="==t)return g(B)}function ze(e){if(","==e)return g(he)}function je(e,t){if("keyword b"==e&&"else"==t)return g(I("form","else"),N,C)}function Te(e,t){return"await"==t?g(Te):"("==e?g(I(")"),$e,C):void 0}function $e(e){return"var"==e?g(he,_e):"variable"==e?g(_e):x(_e)}function _e(e,t){return")"==e?g():";"==e?g(_e):"in"==t||"of"==t?(h.marked="keyword",g(W,_e)):x(W,_e)}function Oe(e,t){return"*"==t?(h.marked="keyword",g(Oe)):"variable"==e?(A(t),g(Oe)):"("==e?g(O,I(")"),re(Ie,")"),C,ue,N,E):o&&"<"==t?g(I(">"),re(we,">"),C,Oe):void 0}function qe(e,t){return"*"==t?(h.marked="keyword",g(qe)):"variable"==e?(A(t),g(qe)):"("==e?g(O,I(")"),re(Ie,")"),C,ue,E):o&&"<"==t?g(I(">"),re(we,">"),C,qe):void 0}function Ee(e,t){return"keyword"==e||"variable"==e?(h.marked="type",g(Ee)):"<"==t?g(I(">"),re(we,">"),C):void 0}function Ie(e,t){return"@"==t&&g(W,Ie),"spread"==e?g(Ie):o&&j(t)?(h.marked="keyword",g(Ie)):o&&"this"==e?g(ie,Ae):x(xe,ie,Ae)}function Ce(e,t){return"variable"==e?Se(e,t):Ne(e,t)}function Se(e,t){if("variable"==e)return A(t),g(Ne)}function Ne(e,t){return"<"==t?g(I(">"),re(we,">"),C,Ne):"extends"==t||"implements"==t||o&&","==e?("implements"==t&&(h.marked="keyword"),g(o?se:W,Ne)):"{"==e?g(I("}"),Pe,C):void 0}function Pe(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||o&&j(t))&&h.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(h.marked="keyword",g(Pe)):"variable"==e||"keyword"==h.style?(h.marked="property",g(We,Pe)):"number"==e||"string"==e?g(We,Pe):"["==e?g(W,ie,S("]"),We,Pe):"*"==t?(h.marked="keyword",g(Pe)):o&&"("==e?x(qe,Pe):";"==e||","==e?g(Pe):"}"==e?g():"@"==t?g(W,Pe):void 0}function We(e,t){if("!"==t||"?"==t)return g(We);if(":"==e)return g(se,Ae);if("="==t)return g(B);var r=h.state.lexical.prev;return x(r&&"interface"==r.info?qe:Oe)}function Be(e,t){return"*"==t?(h.marked="keyword",g(Je,S(";"))):"default"==t?(h.marked="keyword",g(W,S(";"))):"{"==e?g(re(De,"}"),Je,S(";")):x(N)}function De(e,t){return"as"==t?(h.marked="keyword",g(S("variable"))):"variable"==e?x(B,De):void 0}function Fe(e){return"string"==e?g():"("==e?x(W):"."==e?x(G):x(Ue,Ge,Je)}function Ue(e,t){return"{"==e?ne(Ue,"}"):("variable"==e&&A(t),"*"==t&&(h.marked="keyword"),g(He))}function Ge(e){if(","==e)return g(Ue,Ge)}function He(e,t){if("as"==t)return h.marked="keyword",g(Ue)}function Je(e,t){if("from"==t)return h.marked="keyword",g(W)}function Ke(e){return"]"==e?g():x(re(B,"]"))}function Le(){return x(I("form"),xe,S("{"),I("}"),re(Me,"}"),C,C)}function Me(){return x(xe,Ae)}return O.lex=q.lex=!0,E.lex=!0,C.lex=!0,{name:e.name,startState:function(t){var r={tokenize:d,lastType:"sof",cc:[],lexical:new w(-t,0,"block",!1),localVars:e.localVars,context:e.localVars&&new T(null,null,!1),indented:0};return e.globalVars&&"object"==typeof e.globalVars&&(r.globalVars=e.globalVars),r},token:function(e,n){if(e.sol()&&(n.lexical.hasOwnProperty("align")||(n.lexical.align=!1),n.indented=e.indentation(),v(e,n)),n.tokenize!=m&&e.eatSpace())return null;var a=n.tokenize(e,n);return"comment"==t?a:(n.lastType="operator"!=t||"++"!=r&&"--"!=r?t:"incdec",function(e,t,r,n,a){var o=e.cc;for(h.state=e,h.stream=a,h.marked=null,h.cc=o,h.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():i?W:N)(r,n)){for(;o.length&&o[o.length-1].lex;)o.pop()();return h.marked?h.marked:"variable"==r&&b(e,n)?"variableName.local":t}}(n,a,t,r,e))},indent:function(t,r,a){if(t.tokenize==m||t.tokenize==p)return null;if(t.tokenize!=d)return 0;var i,o=r&&r.charAt(0),u=t.lexical;if(!/^\s*else\b/.test(r))for(var c=t.cc.length-1;c>=0;--c){var f=t.cc[c];if(f==C)u=u.prev;else if(f!=je&&f!=E)break}for(;("stat"==u.type||"form"==u.type)&&("}"==o||(i=t.cc[t.cc.length-1])&&(i==G||i==H)&&!/^[,\.=+\-*:?[\(]/.test(r));)u=u.prev;n&&")"==u.type&&"stat"==u.prev.type&&(u=u.prev);var l=u.type,k=o==l;return"vardef"==l?u.indented+("operator"==t.lastType||","==t.lastType?u.info.length+1:0):"form"==l&&"{"==o?u.indented:"form"==l?u.indented+a.unit:"stat"==l?u.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||s.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?n||a.unit:0):"switch"!=u.info||k||0==e.doubleIndentSwitch?u.align?u.column+(k?0:1):u.indented+(k?0:a.unit):u.indented+(/^(?:case|default)\b/.test(r)?a.unit:2*a.unit)},languageData:{indentOnInput:/^\s*(?:case .*?:|default:|\{|\})$/,commentTokens:i?void 0:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]},wordChars:"$"}}}r.r(t),r.d(t,{javascript:function(){return a},json:function(){return i},jsonld:function(){return o},typescript:function(){return u}});var a=n({name:"javascript"}),i=n({name:"json",json:!0}),o=n({name:"json",jsonld:!0}),u=n({name:"typescript",typescript:!0})}}]); +//# sourceMappingURL=545.2cc3d80f.chunk.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/545.2cc3d80f.chunk.js.map b/media/assets/frontend/static/js/545.2cc3d80f.chunk.js.map new file mode 100644 index 00000000000..73b4581f9ef --- /dev/null +++ b/media/assets/frontend/static/js/545.2cc3d80f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/545.2cc3d80f.chunk.js","mappings":"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","sources":["../node_modules/@codemirror/legacy-modes/mode/javascript.js"],"sourcesContent":["function mkJavaScript(parserConfig) {\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string.special\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string.special\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null; cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variableName.local\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n pushcontext.lex = pushblockcontext.lex = true\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(maybeexpression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string.special\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") return pass(quasiType, afterType)\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string.special\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\" || value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n name: parserConfig.name,\n\n startState: function(indentUnit) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical(-indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return null;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + cx.unit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || cx.unit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? cx.unit : 2 * cx.unit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n indentOnInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n commentTokens: jsonMode ? undefined : {line: \"//\", block: {open: \"/*\", close: \"*/\"}},\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"]},\n wordChars: \"$\"\n }\n };\n};\n\nexport const javascript = mkJavaScript({name: \"javascript\"})\nexport const json = mkJavaScript({name: \"json\", json: true})\nexport const jsonld = mkJavaScript({name: \"json\", jsonld: true})\nexport const typescript = mkJavaScript({name: \"typescript\", typescript: true})\n"],"names":["mkJavaScript","parserConfig","type","content","statementIndent","jsonldMode","jsonld","jsonMode","json","isTS","typescript","wordRE","wordCharacters","keywords","kw","style","A","B","C","D","operator","atom","isOperatorChar","isJsonldKeyword","ret","tp","cont","tokenBase","stream","state","quote","ch","next","tokenize","escaped","peek","match","test","eat","tokenComment","skipToEnd","backUp","lastType","string","slice","pos","expressionAllowed","inSet","readRegexp","current","tokenQuasi","eatWhile","start","lexical","word","propertyIsEnumerable","maybeEnd","brackets","findFatArrow","fatArrowAt","arrow","indexOf","m","exec","index","depth","sawSomething","charAt","bracket","atomicTypes","JSLexical","indented","column","align","prev","info","this","inScope","varname","v","localVars","name","cx","context","vars","marked","cc","pass","i","arguments","length","push","apply","inList","list","register","block","newContext","registerVarScoped","Var","globalVars","inner","Context","isModifier","defaultVars","pushcontext","pushblockcontext","popcontext","pushlex","result","indent","outer","lex","poplex","expect","wanted","exp","statement","value","vardef","parenExpr","maybeexpression","pop","maybeelse","functiondef","forspec","className","enumdef","typename","typeexpr","pattern","expression","maybelabel","maybeCatchBinding","afterExport","afterImport","funarg","expressionInner","expressionNoComma","noComma","body","arrowBodyNoComma","arrowBody","commasep","maybeop","maybeoperatorNoComma","maybeoperatorComma","hasOwnProperty","classExpression","arrayLiteral","contCommasep","objprop","quasi","targetNoComma","target","maybeTypeArgs","maybeTarget","me","expr","property","continueQuasi","_","getterSetter","afterprop","maybetype","what","end","sep","proceed","maybetypeOrIn","mayberettype","isKW","afterType","typeprops","typearg","maybeReturnType","quasiType","typeprop","functiondecl","continueQuasiType","typeparam","maybeTypeDefault","maybeAssign","vardefCont","eltpattern","proppattern","_type","forspec1","forspec2","classNameAfter","classBody","classfield","maybeFrom","exportField","importSpec","maybeMoreImports","maybeAs","enummember","startState","indentUnit","token","sol","indentation","eatSpace","parseJS","textAfter","top","firstChar","c","closing","unit","isContinuedStatement","doubleIndentSwitch","languageData","indentOnInput","commentTokens","undefined","line","open","close","closeBrackets","wordChars","javascript"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/921.ba8481b9.chunk.js b/media/assets/frontend/static/js/921.ba8481b9.chunk.js new file mode 100644 index 00000000000..d7e5b6df1ee --- /dev/null +++ b/media/assets/frontend/static/js/921.ba8481b9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[921],{9921:function(e,t,n){n.r(t),n.d(t,{clojure:function(){return g}});var r=["false","nil","true"],a=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],s=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],o=y(r),i=y(a),c=y(s),d=y(["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"]),l=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,u=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,p=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,m=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function f(e,t){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match(u))return[null,"number"];if(e.match(p))return[null,"string.special"];if(e.eat(/^"/))return(t.tokenize=h)(e,t);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var n=e.match(m),r=n&&n[0];return r?"comment"===r&&"("===t.lastToken?(t.tokenize=b)(e,t):k(r,o)||":"===r.charAt(0)?["symbol","atom"]:k(r,i)||k(r,c)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile((function(e){return!k(e,l)})),[null,"error"])}function h(e,t){for(var n,r=!1;n=e.next();){if('"'===n&&!r){t.tokenize=f;break}r=!r&&"\\"===n}return[null,"string"]}function b(e,t){for(var n,r=1;n=e.next();)if(")"===n&&r--,"("===n&&r++,0===r){e.backUp(1),t.tokenize=f;break}return["space","comment"]}function y(e){for(var t={},n=0;n\", \"->>\", \"->ArrayChunk\", \"->Eduction\", \"->Vec\", \"->VecNode\",\n \"->VecSeq\", \"-cache-protocol-fn\", \"-reset-methods\", \"..\", \"/\", \"<\", \"<=\",\n \"=\", \"==\", \">\", \">=\", \"EMPTY-NODE\", \"Inst\", \"StackTraceElement->vec\",\n \"Throwable->map\", \"accessor\", \"aclone\", \"add-classpath\", \"add-watch\",\n \"agent\", \"agent-error\", \"agent-errors\", \"aget\", \"alength\", \"alias\",\n \"all-ns\", \"alter\", \"alter-meta!\", \"alter-var-root\", \"amap\", \"ancestors\",\n \"and\", \"any?\", \"apply\", \"areduce\", \"array-map\", \"as->\", \"aset\",\n \"aset-boolean\", \"aset-byte\", \"aset-char\", \"aset-double\", \"aset-float\",\n \"aset-int\", \"aset-long\", \"aset-short\", \"assert\", \"assoc\", \"assoc!\",\n \"assoc-in\", \"associative?\", \"atom\", \"await\", \"await-for\", \"await1\",\n \"bases\", \"bean\", \"bigdec\", \"bigint\", \"biginteger\", \"binding\", \"bit-and\",\n \"bit-and-not\", \"bit-clear\", \"bit-flip\", \"bit-not\", \"bit-or\", \"bit-set\",\n \"bit-shift-left\", \"bit-shift-right\", \"bit-test\", \"bit-xor\", \"boolean\",\n \"boolean-array\", \"boolean?\", \"booleans\", \"bound-fn\", \"bound-fn*\",\n \"bound?\", \"bounded-count\", \"butlast\", \"byte\", \"byte-array\", \"bytes\",\n \"bytes?\", \"case\", \"cast\", \"cat\", \"char\", \"char-array\",\n \"char-escape-string\", \"char-name-string\", \"char?\", \"chars\", \"chunk\",\n \"chunk-append\", \"chunk-buffer\", \"chunk-cons\", \"chunk-first\", \"chunk-next\",\n \"chunk-rest\", \"chunked-seq?\", \"class\", \"class?\", \"clear-agent-errors\",\n \"clojure-version\", \"coll?\", \"comment\", \"commute\", \"comp\", \"comparator\",\n \"compare\", \"compare-and-set!\", \"compile\", \"complement\", \"completing\",\n \"concat\", \"cond\", \"cond->\", \"cond->>\", \"condp\", \"conj\", \"conj!\", \"cons\",\n \"constantly\", \"construct-proxy\", \"contains?\", \"count\", \"counted?\",\n \"create-ns\", \"create-struct\", \"cycle\", \"dec\", \"dec'\", \"decimal?\",\n \"declare\", \"dedupe\", \"default-data-readers\", \"definline\", \"definterface\",\n \"defmacro\", \"defmethod\", \"defmulti\", \"defn\", \"defn-\", \"defonce\",\n \"defprotocol\", \"defrecord\", \"defstruct\", \"deftype\", \"delay\", \"delay?\",\n \"deliver\", \"denominator\", \"deref\", \"derive\", \"descendants\", \"destructure\",\n \"disj\", \"disj!\", \"dissoc\", \"dissoc!\", \"distinct\", \"distinct?\", \"doall\",\n \"dorun\", \"doseq\", \"dosync\", \"dotimes\", \"doto\", \"double\", \"double-array\",\n \"double?\", \"doubles\", \"drop\", \"drop-last\", \"drop-while\", \"eduction\",\n \"empty\", \"empty?\", \"ensure\", \"ensure-reduced\", \"enumeration-seq\",\n \"error-handler\", \"error-mode\", \"eval\", \"even?\", \"every-pred\", \"every?\",\n \"ex-data\", \"ex-info\", \"extend\", \"extend-protocol\", \"extend-type\",\n \"extenders\", \"extends?\", \"false?\", \"ffirst\", \"file-seq\", \"filter\",\n \"filterv\", \"find\", \"find-keyword\", \"find-ns\", \"find-protocol-impl\",\n \"find-protocol-method\", \"find-var\", \"first\", \"flatten\", \"float\",\n \"float-array\", \"float?\", \"floats\", \"flush\", \"fn\", \"fn?\", \"fnext\", \"fnil\",\n \"for\", \"force\", \"format\", \"frequencies\", \"future\", \"future-call\",\n \"future-cancel\", \"future-cancelled?\", \"future-done?\", \"future?\",\n \"gen-class\", \"gen-interface\", \"gensym\", \"get\", \"get-in\", \"get-method\",\n \"get-proxy-class\", \"get-thread-bindings\", \"get-validator\", \"group-by\",\n \"halt-when\", \"hash\", \"hash-combine\", \"hash-map\", \"hash-ordered-coll\",\n \"hash-set\", \"hash-unordered-coll\", \"ident?\", \"identical?\", \"identity\",\n \"if-let\", \"if-not\", \"if-some\", \"ifn?\", \"import\", \"in-ns\", \"inc\", \"inc'\",\n \"indexed?\", \"init-proxy\", \"inst-ms\", \"inst-ms*\", \"inst?\", \"instance?\",\n \"int\", \"int-array\", \"int?\", \"integer?\", \"interleave\", \"intern\",\n \"interpose\", \"into\", \"into-array\", \"ints\", \"io!\", \"isa?\", \"iterate\",\n \"iterator-seq\", \"juxt\", \"keep\", \"keep-indexed\", \"key\", \"keys\", \"keyword\",\n \"keyword?\", \"last\", \"lazy-cat\", \"lazy-seq\", \"let\", \"letfn\", \"line-seq\",\n \"list\", \"list*\", \"list?\", \"load\", \"load-file\", \"load-reader\",\n \"load-string\", \"loaded-libs\", \"locking\", \"long\", \"long-array\", \"longs\",\n \"loop\", \"macroexpand\", \"macroexpand-1\", \"make-array\", \"make-hierarchy\",\n \"map\", \"map-entry?\", \"map-indexed\", \"map?\", \"mapcat\", \"mapv\", \"max\",\n \"max-key\", \"memfn\", \"memoize\", \"merge\", \"merge-with\", \"meta\",\n \"method-sig\", \"methods\", \"min\", \"min-key\", \"mix-collection-hash\", \"mod\",\n \"munge\", \"name\", \"namespace\", \"namespace-munge\", \"nat-int?\", \"neg-int?\",\n \"neg?\", \"newline\", \"next\", \"nfirst\", \"nil?\", \"nnext\", \"not\", \"not-any?\",\n \"not-empty\", \"not-every?\", \"not=\", \"ns\", \"ns-aliases\", \"ns-imports\",\n \"ns-interns\", \"ns-map\", \"ns-name\", \"ns-publics\", \"ns-refers\",\n \"ns-resolve\", \"ns-unalias\", \"ns-unmap\", \"nth\", \"nthnext\", \"nthrest\",\n \"num\", \"number?\", \"numerator\", \"object-array\", \"odd?\", \"or\", \"parents\",\n \"partial\", \"partition\", \"partition-all\", \"partition-by\", \"pcalls\", \"peek\",\n \"persistent!\", \"pmap\", \"pop\", \"pop!\", \"pop-thread-bindings\", \"pos-int?\",\n \"pos?\", \"pr\", \"pr-str\", \"prefer-method\", \"prefers\",\n \"primitives-classnames\", \"print\", \"print-ctor\", \"print-dup\",\n \"print-method\", \"print-simple\", \"print-str\", \"printf\", \"println\",\n \"println-str\", \"prn\", \"prn-str\", \"promise\", \"proxy\",\n \"proxy-call-with-super\", \"proxy-mappings\", \"proxy-name\", \"proxy-super\",\n \"push-thread-bindings\", \"pvalues\", \"qualified-ident?\",\n \"qualified-keyword?\", \"qualified-symbol?\", \"quot\", \"rand\", \"rand-int\",\n \"rand-nth\", \"random-sample\", \"range\", \"ratio?\", \"rational?\",\n \"rationalize\", \"re-find\", \"re-groups\", \"re-matcher\", \"re-matches\",\n \"re-pattern\", \"re-seq\", \"read\", \"read-line\", \"read-string\",\n \"reader-conditional\", \"reader-conditional?\", \"realized?\", \"record?\",\n \"reduce\", \"reduce-kv\", \"reduced\", \"reduced?\", \"reductions\", \"ref\",\n \"ref-history-count\", \"ref-max-history\", \"ref-min-history\", \"ref-set\",\n \"refer\", \"refer-clojure\", \"reify\", \"release-pending-sends\", \"rem\",\n \"remove\", \"remove-all-methods\", \"remove-method\", \"remove-ns\",\n \"remove-watch\", \"repeat\", \"repeatedly\", \"replace\", \"replicate\", \"require\",\n \"reset!\", \"reset-meta!\", \"reset-vals!\", \"resolve\", \"rest\",\n \"restart-agent\", \"resultset-seq\", \"reverse\", \"reversible?\", \"rseq\",\n \"rsubseq\", \"run!\", \"satisfies?\", \"second\", \"select-keys\", \"send\",\n \"send-off\", \"send-via\", \"seq\", \"seq?\", \"seqable?\", \"seque\", \"sequence\",\n \"sequential?\", \"set\", \"set-agent-send-executor!\",\n \"set-agent-send-off-executor!\", \"set-error-handler!\", \"set-error-mode!\",\n \"set-validator!\", \"set?\", \"short\", \"short-array\", \"shorts\", \"shuffle\",\n \"shutdown-agents\", \"simple-ident?\", \"simple-keyword?\", \"simple-symbol?\",\n \"slurp\", \"some\", \"some->\", \"some->>\", \"some-fn\", \"some?\", \"sort\",\n \"sort-by\", \"sorted-map\", \"sorted-map-by\", \"sorted-set\", \"sorted-set-by\",\n \"sorted?\", \"special-symbol?\", \"spit\", \"split-at\", \"split-with\", \"str\",\n \"string?\", \"struct\", \"struct-map\", \"subs\", \"subseq\", \"subvec\", \"supers\",\n \"swap!\", \"swap-vals!\", \"symbol\", \"symbol?\", \"sync\", \"tagged-literal\",\n \"tagged-literal?\", \"take\", \"take-last\", \"take-nth\", \"take-while\", \"test\",\n \"the-ns\", \"thread-bound?\", \"time\", \"to-array\", \"to-array-2d\",\n \"trampoline\", \"transduce\", \"transient\", \"tree-seq\", \"true?\", \"type\",\n \"unchecked-add\", \"unchecked-add-int\", \"unchecked-byte\", \"unchecked-char\",\n \"unchecked-dec\", \"unchecked-dec-int\", \"unchecked-divide-int\",\n \"unchecked-double\", \"unchecked-float\", \"unchecked-inc\",\n \"unchecked-inc-int\", \"unchecked-int\", \"unchecked-long\",\n \"unchecked-multiply\", \"unchecked-multiply-int\", \"unchecked-negate\",\n \"unchecked-negate-int\", \"unchecked-remainder-int\", \"unchecked-short\",\n \"unchecked-subtract\", \"unchecked-subtract-int\", \"underive\", \"unquote\",\n \"unquote-splicing\", \"unreduced\", \"unsigned-bit-shift-right\", \"update\",\n \"update-in\", \"update-proxy\", \"uri?\", \"use\", \"uuid?\", \"val\", \"vals\",\n \"var-get\", \"var-set\", \"var?\", \"vary-meta\", \"vec\", \"vector\", \"vector-of\",\n \"vector?\", \"volatile!\", \"volatile?\", \"vreset!\", \"vswap!\", \"when\",\n \"when-first\", \"when-let\", \"when-not\", \"when-some\", \"while\",\n \"with-bindings\", \"with-bindings*\", \"with-in-str\", \"with-loading-context\",\n \"with-local-vars\", \"with-meta\", \"with-open\", \"with-out-str\",\n \"with-precision\", \"with-redefs\", \"with-redefs-fn\", \"xml-seq\", \"zero?\",\n \"zipmap\"];\nvar haveBodyParameter = [\n \"->\", \"->>\", \"as->\", \"binding\", \"bound-fn\", \"case\", \"catch\", \"comment\",\n \"cond\", \"cond->\", \"cond->>\", \"condp\", \"def\", \"definterface\", \"defmethod\",\n \"defn\", \"defmacro\", \"defprotocol\", \"defrecord\", \"defstruct\", \"deftype\",\n \"do\", \"doseq\", \"dotimes\", \"doto\", \"extend\", \"extend-protocol\",\n \"extend-type\", \"fn\", \"for\", \"future\", \"if\", \"if-let\", \"if-not\", \"if-some\",\n \"let\", \"letfn\", \"locking\", \"loop\", \"ns\", \"proxy\", \"reify\", \"struct-map\",\n \"some->\", \"some->>\", \"try\", \"when\", \"when-first\", \"when-let\", \"when-not\",\n \"when-some\", \"while\", \"with-bindings\", \"with-bindings*\", \"with-in-str\",\n \"with-loading-context\", \"with-local-vars\", \"with-meta\", \"with-open\",\n \"with-out-str\", \"with-precision\", \"with-redefs\", \"with-redefs-fn\"];\n\nvar atom = createLookupMap(atoms);\nvar specialForm = createLookupMap(specialForms);\nvar coreSymbol = createLookupMap(coreSymbols);\nvar hasBodyParameter = createLookupMap(haveBodyParameter);\nvar delimiter = /^(?:[\\\\\\[\\]\\s\"(),;@^`{}~]|$)/;\nvar numberLiteral = /^(?:[+\\-]?\\d+(?:(?:N|(?:[eE][+\\-]?\\d+))|(?:\\.?\\d*(?:M|(?:[eE][+\\-]?\\d+))?)|\\/\\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\\\\[\\]\\s\"#'(),;@^`{}~]|$))/;\nvar characterLiteral = /^(?:\\\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/;\n\n// simple-namespace := /^[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*/\n// simple-symbol := /^(?:\\/|[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)/\n// qualified-symbol := ((<.>)*)?\nvar qualifiedSymbol = /^(?:(?:[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*(?:\\.[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*)*\\/)?(?:\\/|[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)*(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/;\n\nfunction base(stream, state) {\n if (stream.eatSpace() || stream.eat(\",\")) return [\"space\", null];\n if (stream.match(numberLiteral)) return [null, \"number\"];\n if (stream.match(characterLiteral)) return [null, \"string.special\"];\n if (stream.eat(/^\"/)) return (state.tokenize = inString)(stream, state);\n if (stream.eat(/^[(\\[{]/)) return [\"open\", \"bracket\"];\n if (stream.eat(/^[)\\]}]/)) return [\"close\", \"bracket\"];\n if (stream.eat(/^;/)) {stream.skipToEnd(); return [\"space\", \"comment\"];}\n if (stream.eat(/^[#'@^`~]/)) return [null, \"meta\"];\n\n var matches = stream.match(qualifiedSymbol);\n var symbol = matches && matches[0];\n\n if (!symbol) {\n // advance stream by at least one character so we don't get stuck.\n stream.next();\n stream.eatWhile(function (c) {return !is(c, delimiter);});\n return [null, \"error\"];\n }\n\n if (symbol === \"comment\" && state.lastToken === \"(\")\n return (state.tokenize = inComment)(stream, state);\n if (is(symbol, atom) || symbol.charAt(0) === \":\") return [\"symbol\", \"atom\"];\n if (is(symbol, specialForm) || is(symbol, coreSymbol)) return [\"symbol\", \"keyword\"];\n if (state.lastToken === \"(\") return [\"symbol\", \"builtin\"]; // other operator\n\n return [\"symbol\", \"variable\"];\n}\n\nfunction inString(stream, state) {\n var escaped = false, next;\n\n while (next = stream.next()) {\n if (next === \"\\\"\" && !escaped) {state.tokenize = base; break;}\n escaped = !escaped && next === \"\\\\\";\n }\n\n return [null, \"string\"];\n}\n\nfunction inComment(stream, state) {\n var parenthesisCount = 1;\n var next;\n\n while (next = stream.next()) {\n if (next === \")\") parenthesisCount--;\n if (next === \"(\") parenthesisCount++;\n if (parenthesisCount === 0) {\n stream.backUp(1);\n state.tokenize = base;\n break;\n }\n }\n\n return [\"space\", \"comment\"];\n}\n\nfunction createLookupMap(words) {\n var obj = {};\n\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n\n return obj;\n}\n\nfunction is(value, test) {\n if (test instanceof RegExp) return test.test(value);\n if (test instanceof Object) return test.propertyIsEnumerable(value);\n}\n\nexport const clojure = {\n name: \"clojure\",\n startState: function () {\n return {\n ctx: {prev: null, start: 0, indentTo: 0},\n lastToken: null,\n tokenize: base\n };\n },\n\n token: function (stream, state) {\n if (stream.sol() && (typeof state.ctx.indentTo !== \"number\"))\n state.ctx.indentTo = state.ctx.start + 1;\n\n var typeStylePair = state.tokenize(stream, state);\n var type = typeStylePair[0];\n var style = typeStylePair[1];\n var current = stream.current();\n\n if (type !== \"space\") {\n if (state.lastToken === \"(\" && state.ctx.indentTo === null) {\n if (type === \"symbol\" && is(current, hasBodyParameter))\n state.ctx.indentTo = state.ctx.start + stream.indentUnit;\n else state.ctx.indentTo = \"next\";\n } else if (state.ctx.indentTo === \"next\") {\n state.ctx.indentTo = stream.column();\n }\n\n state.lastToken = current;\n }\n\n if (type === \"open\")\n state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null};\n else if (type === \"close\") state.ctx = state.ctx.prev || state.ctx;\n\n return style;\n },\n\n indent: function (state) {\n var i = state.ctx.indentTo;\n\n return (typeof i === \"number\") ?\n i :\n state.ctx.start + 1;\n },\n\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']},\n commentTokens: {line: \";;\"},\n autocomplete: [].concat(atoms, specialForms, coreSymbols)\n }\n};\n"],"names":["atoms","specialForms","coreSymbols","atom","createLookupMap","specialForm","coreSymbol","hasBodyParameter","delimiter","numberLiteral","characterLiteral","qualifiedSymbol","base","stream","state","eatSpace","eat","match","tokenize","inString","skipToEnd","matches","symbol","lastToken","inComment","is","charAt","next","eatWhile","c","escaped","parenthesisCount","backUp","words","obj","i","length","value","test","RegExp","Object","propertyIsEnumerable","clojure","name","startState","ctx","prev","start","indentTo","token","sol","typeStylePair","type","style","current","indentUnit","column","indent","languageData","closeBrackets","brackets","commentTokens","line","autocomplete","concat"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/975.7f1d8705.chunk.js b/media/assets/frontend/static/js/975.7f1d8705.chunk.js new file mode 100644 index 00000000000..2ad515c8f60 --- /dev/null +++ b/media/assets/frontend/static/js/975.7f1d8705.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[975],{19975:function(e,r,o){function t(e){var r={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},o=e.extraWords||{};for(var t in o)o.hasOwnProperty(t)&&(r[t]=e.extraWords[t]);var n=[];for(var i in r)n.push(i);function d(o,t){var n=o.next();if('"'===n)return t.tokenize=k,t.tokenize(o,t);if("{"===n&&o.eat("|"))return t.longString=!0,t.tokenize=y,t.tokenize(o,t);if("("===n&&o.match(/^\*(?!\))/))return t.commentLevel++,t.tokenize=w,t.tokenize(o,t);if("~"===n||"?"===n)return o.eatWhile(/\w/),"variableName.special";if("`"===n)return o.eatWhile(/\w/),"quote";if("/"===n&&e.slashComments&&o.eat("/"))return o.skipToEnd(),"comment";if(/\d/.test(n))return"0"===n&&o.eat(/[bB]/)&&o.eatWhile(/[01]/),"0"===n&&o.eat(/[xX]/)&&o.eatWhile(/[0-9a-fA-F]/),"0"===n&&o.eat(/[oO]/)?o.eatWhile(/[0-7]/):(o.eatWhile(/[\d_]/),o.eat(".")&&o.eatWhile(/[\d]/),o.eat(/[eE]/)&&o.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(n))return"operator";if(/[\w\xa1-\uffff]/.test(n)){o.eatWhile(/[\w\xa1-\uffff]/);var i=o.current();return r.hasOwnProperty(i)?r[i]:"variable"}return null}function k(e,r){for(var o,t=!1,n=!1;null!=(o=e.next());){if('"'===o&&!n){t=!0;break}n=!n&&"\\"===o}return t&&!n&&(r.tokenize=d),"string"}function w(e,r){for(var o,t;r.commentLevel>0&&null!=(t=e.next());)"("===o&&"*"===t&&r.commentLevel++,"*"===o&&")"===t&&r.commentLevel--,o=t;return r.commentLevel<=0&&(r.tokenize=d),"comment"}function y(e,r){for(var o,t;r.longString&&null!=(t=e.next());)"|"===o&&"}"===t&&(r.longString=!1),o=t;return r.longString||(r.tokenize=d),"string"}return{startState:function(){return{tokenize:d,commentLevel:0,longString:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},languageData:{autocomplete:n,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}o.r(r),o.d(r,{fSharp:function(){return i},oCaml:function(){return n},sml:function(){return d}});var n=t({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),i=t({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),d=t({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})}}]); +//# sourceMappingURL=975.7f1d8705.chunk.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/975.7f1d8705.chunk.js.map b/media/assets/frontend/static/js/975.7f1d8705.chunk.js.map new file mode 100644 index 00000000000..9a3a8356067 --- /dev/null +++ b/media/assets/frontend/static/js/975.7f1d8705.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/975.7f1d8705.chunk.js","mappings":"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","sources":["../node_modules/@codemirror/legacy-modes/mode/mllike.js"],"sourcesContent":["function mlLike(parserConfig) {\n var words = {\n 'as': 'keyword',\n 'do': 'keyword',\n 'else': 'keyword',\n 'end': 'keyword',\n 'exception': 'keyword',\n 'fun': 'keyword',\n 'functor': 'keyword',\n 'if': 'keyword',\n 'in': 'keyword',\n 'include': 'keyword',\n 'let': 'keyword',\n 'of': 'keyword',\n 'open': 'keyword',\n 'rec': 'keyword',\n 'struct': 'keyword',\n 'then': 'keyword',\n 'type': 'keyword',\n 'val': 'keyword',\n 'while': 'keyword',\n 'with': 'keyword'\n };\n\n var extraWords = parserConfig.extraWords || {};\n for (var prop in extraWords) {\n if (extraWords.hasOwnProperty(prop)) {\n words[prop] = parserConfig.extraWords[prop];\n }\n }\n var hintWords = [];\n for (var k in words) { hintWords.push(k); }\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n if (ch === '{') {\n if (stream.eat('|')) {\n state.longString = true;\n state.tokenize = tokenLongString;\n return state.tokenize(stream, state);\n }\n }\n if (ch === '(') {\n if (stream.match(/^\\*(?!\\))/)) {\n state.commentLevel++;\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n }\n if (ch === '~' || ch === '?') {\n stream.eatWhile(/\\w/);\n return 'variableName.special';\n }\n if (ch === '`') {\n stream.eatWhile(/\\w/);\n return 'quote';\n }\n if (ch === '/' && parserConfig.slashComments && stream.eat('/')) {\n stream.skipToEnd();\n return 'comment';\n }\n if (/\\d/.test(ch)) {\n if (ch === '0' && stream.eat(/[bB]/)) {\n stream.eatWhile(/[01]/);\n } if (ch === '0' && stream.eat(/[xX]/)) {\n stream.eatWhile(/[0-9a-fA-F]/)\n } if (ch === '0' && stream.eat(/[oO]/)) {\n stream.eatWhile(/[0-7]/);\n } else {\n stream.eatWhile(/[\\d_]/);\n if (stream.eat('.')) {\n stream.eatWhile(/[\\d]/);\n }\n if (stream.eat(/[eE]/)) {\n stream.eatWhile(/[\\d\\-+]/);\n }\n }\n return 'number';\n }\n if ( /[+\\-*&%=<>!?|@\\.~:]/.test(ch)) {\n return 'operator';\n }\n if (/[\\w\\xa1-\\uffff]/.test(ch)) {\n stream.eatWhile(/[\\w\\xa1-\\uffff]/);\n var cur = stream.current();\n return words.hasOwnProperty(cur) ? words[cur] : 'variable';\n }\n return null\n }\n\n function tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n };\n\n function tokenComment(stream, state) {\n var prev, next;\n while(state.commentLevel > 0 && (next = stream.next()) != null) {\n if (prev === '(' && next === '*') state.commentLevel++;\n if (prev === '*' && next === ')') state.commentLevel--;\n prev = next;\n }\n if (state.commentLevel <= 0) {\n state.tokenize = tokenBase;\n }\n return 'comment';\n }\n\n function tokenLongString(stream, state) {\n var prev, next;\n while (state.longString && (next = stream.next()) != null) {\n if (prev === '|' && next === '}') state.longString = false;\n prev = next;\n }\n if (!state.longString) {\n state.tokenize = tokenBase;\n }\n return 'string';\n }\n\n return {\n startState: function() {return {tokenize: tokenBase, commentLevel: 0, longString: false};},\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n\n languageData: {\n autocomplete: hintWords,\n commentTokens: {\n line: parserConfig.slashComments ? \"//\" : undefined,\n block: {open: \"(*\", close: \"*)\"}\n }\n }\n };\n};\n\nexport const oCaml = mlLike({\n name: \"ocaml\",\n extraWords: {\n 'and': 'keyword',\n 'assert': 'keyword',\n 'begin': 'keyword',\n 'class': 'keyword',\n 'constraint': 'keyword',\n 'done': 'keyword',\n 'downto': 'keyword',\n 'external': 'keyword',\n 'function': 'keyword',\n 'initializer': 'keyword',\n 'lazy': 'keyword',\n 'match': 'keyword',\n 'method': 'keyword',\n 'module': 'keyword',\n 'mutable': 'keyword',\n 'new': 'keyword',\n 'nonrec': 'keyword',\n 'object': 'keyword',\n 'private': 'keyword',\n 'sig': 'keyword',\n 'to': 'keyword',\n 'try': 'keyword',\n 'value': 'keyword',\n 'virtual': 'keyword',\n 'when': 'keyword',\n\n // builtins\n 'raise': 'builtin',\n 'failwith': 'builtin',\n 'true': 'builtin',\n 'false': 'builtin',\n\n // Pervasives builtins\n 'asr': 'builtin',\n 'land': 'builtin',\n 'lor': 'builtin',\n 'lsl': 'builtin',\n 'lsr': 'builtin',\n 'lxor': 'builtin',\n 'mod': 'builtin',\n 'or': 'builtin',\n\n // More Pervasives\n 'raise_notrace': 'builtin',\n 'trace': 'builtin',\n 'exit': 'builtin',\n 'print_string': 'builtin',\n 'print_endline': 'builtin',\n\n 'int': 'type',\n 'float': 'type',\n 'bool': 'type',\n 'char': 'type',\n 'string': 'type',\n 'unit': 'type',\n\n // Modules\n 'List': 'builtin'\n }\n});\n\nexport const fSharp = mlLike({\n name: \"fsharp\",\n extraWords: {\n 'abstract': 'keyword',\n 'assert': 'keyword',\n 'base': 'keyword',\n 'begin': 'keyword',\n 'class': 'keyword',\n 'default': 'keyword',\n 'delegate': 'keyword',\n 'do!': 'keyword',\n 'done': 'keyword',\n 'downcast': 'keyword',\n 'downto': 'keyword',\n 'elif': 'keyword',\n 'extern': 'keyword',\n 'finally': 'keyword',\n 'for': 'keyword',\n 'function': 'keyword',\n 'global': 'keyword',\n 'inherit': 'keyword',\n 'inline': 'keyword',\n 'interface': 'keyword',\n 'internal': 'keyword',\n 'lazy': 'keyword',\n 'let!': 'keyword',\n 'match': 'keyword',\n 'member': 'keyword',\n 'module': 'keyword',\n 'mutable': 'keyword',\n 'namespace': 'keyword',\n 'new': 'keyword',\n 'null': 'keyword',\n 'override': 'keyword',\n 'private': 'keyword',\n 'public': 'keyword',\n 'return!': 'keyword',\n 'return': 'keyword',\n 'select': 'keyword',\n 'static': 'keyword',\n 'to': 'keyword',\n 'try': 'keyword',\n 'upcast': 'keyword',\n 'use!': 'keyword',\n 'use': 'keyword',\n 'void': 'keyword',\n 'when': 'keyword',\n 'yield!': 'keyword',\n 'yield': 'keyword',\n\n // Reserved words\n 'atomic': 'keyword',\n 'break': 'keyword',\n 'checked': 'keyword',\n 'component': 'keyword',\n 'const': 'keyword',\n 'constraint': 'keyword',\n 'constructor': 'keyword',\n 'continue': 'keyword',\n 'eager': 'keyword',\n 'event': 'keyword',\n 'external': 'keyword',\n 'fixed': 'keyword',\n 'method': 'keyword',\n 'mixin': 'keyword',\n 'object': 'keyword',\n 'parallel': 'keyword',\n 'process': 'keyword',\n 'protected': 'keyword',\n 'pure': 'keyword',\n 'sealed': 'keyword',\n 'tailcall': 'keyword',\n 'trait': 'keyword',\n 'virtual': 'keyword',\n 'volatile': 'keyword',\n\n // builtins\n 'List': 'builtin',\n 'Seq': 'builtin',\n 'Map': 'builtin',\n 'Set': 'builtin',\n 'Option': 'builtin',\n 'int': 'builtin',\n 'string': 'builtin',\n 'not': 'builtin',\n 'true': 'builtin',\n 'false': 'builtin',\n\n 'raise': 'builtin',\n 'failwith': 'builtin'\n },\n slashComments: true\n});\n\nexport const sml = mlLike({\n name: \"sml\",\n extraWords: {\n 'abstype': 'keyword',\n 'and': 'keyword',\n 'andalso': 'keyword',\n 'case': 'keyword',\n 'datatype': 'keyword',\n 'fn': 'keyword',\n 'handle': 'keyword',\n 'infix': 'keyword',\n 'infixr': 'keyword',\n 'local': 'keyword',\n 'nonfix': 'keyword',\n 'op': 'keyword',\n 'orelse': 'keyword',\n 'raise': 'keyword',\n 'withtype': 'keyword',\n 'eqtype': 'keyword',\n 'sharing': 'keyword',\n 'sig': 'keyword',\n 'signature': 'keyword',\n 'structure': 'keyword',\n 'where': 'keyword',\n 'true': 'keyword',\n 'false': 'keyword',\n\n // types\n 'int': 'builtin',\n 'real': 'builtin',\n 'string': 'builtin',\n 'char': 'builtin',\n 'bool': 'builtin'\n },\n slashComments: true\n});\n"],"names":["mlLike","parserConfig","words","extraWords","prop","hasOwnProperty","hintWords","k","push","tokenBase","stream","state","ch","next","tokenize","tokenString","eat","longString","tokenLongString","match","commentLevel","tokenComment","eatWhile","slashComments","skipToEnd","test","cur","current","end","escaped","prev","startState","token","eatSpace","languageData","autocomplete","commentTokens","line","undefined","block","open","close","oCaml","name","fSharp","sml"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/997.4e7b85c4.chunk.js b/media/assets/frontend/static/js/997.4e7b85c4.chunk.js new file mode 100644 index 00000000000..b44acf5d6d6 --- /dev/null +++ b/media/assets/frontend/static/js/997.4e7b85c4.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[997],{89997:function(e,t,T){function n(e){for(var t={},T=e.split(" "),n=0;n\n

\n \n \n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["csrfToken","window","app","pageOptions","_window$tc","tc","termsName","formAction","formTerms","formReturnTo","logoutURL","termsText","TCAccept","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsxs","className","children","_jsx","Logo","Account","dangerouslySetInnerHTML","__html","TermsPreviewWidget","content","action","method","type","name","Button","gettext","href","React","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/TCView.d87affdd.js b/media/assets/frontend/static/js/TCView.d87affdd.js new file mode 100644 index 00000000000..02762c61ff7 --- /dev/null +++ b/media/assets/frontend/static/js/TCView.d87affdd.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[90],{30507:function(e,n,t){var s=t(15671),r=t(43144),c=t(60136),a=t(29388),u=t(72791),i=t(54164),l=t(263),o=t(55516),d=t(60534),h=(t(94704),t(80184)),x=window.tc,f=x.termsName,m=x.termsText,j=function(e){(0,c.Z)(t,e);var n=(0,a.Z)(t);function t(){return(0,s.Z)(this,t),n.apply(this,arguments)}return(0,r.Z)(t,[{key:"render",value:function(){return(0,h.jsxs)("div",{className:"h-100 d-flex flex-column",children:[(0,h.jsxs)("div",{className:"top-header d-flex justify-content-between",children:[(0,h.jsx)(l.Z,{}),(0,h.jsx)(o.Z,{})]}),(0,h.jsx)("div",{className:"o-auto",children:(0,h.jsxs)("div",{className:"py-4 px-4 my-6 mx-auto content",children:[(0,h.jsx)("h2",{dangerouslySetInnerHTML:{__html:f}}),(0,h.jsx)("div",{className:"article",children:(0,h.jsx)(d.Z,{content:m})})]})})]})}}]),t}(u.Component);i.render((0,h.jsx)(j,{}),document.getElementById("wrapper"))},94704:function(){}},function(e){e.O(0,[351],(function(){return n=30507,e(e.s=n);var n}));e.O()}]); +//# sourceMappingURL=TCView.d87affdd.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/TCView.d87affdd.js.map b/media/assets/frontend/static/js/TCView.d87affdd.js.map new file mode 100644 index 00000000000..2b000617afd --- /dev/null +++ b/media/assets/frontend/static/js/TCView.d87affdd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/TCView.d87affdd.js","mappings":"kPAQAA,EAGIC,OAAOC,GAFTC,EAASH,EAATG,UACAC,EAASJ,EAATI,UAGIC,EAAM,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAJ,GAAA,SAAAA,IAAA,OAAAK,EAAAA,EAAAA,GAAA,KAAAL,GAAAG,EAAAG,MAAA,KAAAC,UAAA,CAmBT,OAnBSC,EAAAA,EAAAA,GAAAR,EAAA,EAAAS,IAAA,SAAAC,MAEV,WACE,OACEC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,2BAA0BC,SAAA,EACvCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4CAA2CC,SAAA,EACxDC,EAAAA,EAAAA,KAACC,EAAAA,EAAI,KACLD,EAAAA,EAAAA,KAACE,EAAAA,EAAO,QAEVF,EAAAA,EAAAA,KAAA,OAAKF,UAAU,SAAQC,UACrBF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iCAAgCC,SAAA,EAC7CC,EAAAA,EAAAA,KAAA,MAAIG,wBAAyB,CAACC,OAAQpB,MACtCgB,EAAAA,EAAAA,KAAA,OAAKF,UAAU,UAASC,UACtBC,EAAAA,EAAAA,KAACK,EAAAA,EAAkB,CAACC,QAASrB,aAMzC,KAACC,CAAA,CAnBS,CAASqB,EAAAA,WAsBrBC,EAAAA,QAAgBR,EAAAA,EAAAA,KAACd,EAAM,IAAKuB,SAASC,eAAe,W","sources":["tc-view.js"],"sourcesContent":["import React from 'react';\nimport ReactDom from 'react-dom';\nimport Logo from './components/logo';\nimport Account from './components/common/account';\nimport TermsPreviewWidget from './components/terms-preview-widget';\n\nimport './css/tc-accept.css';\n\nconst {\n termsName,\n termsText\n} = window.tc;\n\nclass TCView extends React.Component {\n\n render() {\n return (\n
\n
\n \n \n
\n
\n
\n

\n
\n \n
\n
\n
\n
\n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["_window$tc","window","tc","termsName","termsText","TCView","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsxs","className","children","_jsx","Logo","Account","dangerouslySetInnerHTML","__html","TermsPreviewWidget","content","React","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/app.4f4d11e3.js b/media/assets/frontend/static/js/app.4f4d11e3.js new file mode 100644 index 00000000000..f14da164df4 --- /dev/null +++ b/media/assets/frontend/static/js/app.4f4d11e3.js @@ -0,0 +1,3 @@ +/*! For license information please see app.4f4d11e3.js.LICENSE.txt */ +(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[143],{67986:function(e,t,n){"use strict";var i=n(15671),s=n(43144),r=n(60136),o=n(29388),a=n(72791),l=n(54164),c=n(4918),h=n(24805),p=n.n(h),d=n(62298),u=n(53585),m=n(95996),g=n(80184),f=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).close=function(){if(s.setState({isClosed:!0}),navigator.cookieEnabled){var e=new Date,t=document.cookie.split("; "),n=!1,i=u.JR+"_";e.setTime(e.getTime()+12096e5),i+="; expires="+e.toGMTString()+"; path="+u.ze;for(var r=0,o=t.length;r0&&(0,g.jsx)("span",{id:"draft-num",children:this.props.draftCounts})]})}),(0,g.jsx)("li",{className:"nav-item",children:(0,g.jsxs)(c.rU,{className:"nav-link ellipsis ".concat(this.getActiveClass("linked-devices")),to:u.ze+"linked-devices/",title:(0,u.ih)("Linked Devices"),onClick:function(t){return e.tabItemClick(t,"linked-devices")},children:[(0,g.jsx)("span",{className:"sf2-icon-monitor","aria-hidden":"true"}),(0,g.jsx)("span",{className:"nav-text",children:(0,u.ih)("Linked Devices")})]})}),u.ki&&(0,g.jsx)("li",{className:"nav-item",children:(0,g.jsxs)(c.rU,{className:"nav-link ellipsis ".concat(this.getActiveClass("invitations")),to:u.ze+"invitations/",title:(0,u.ih)("Invite Guest"),onClick:function(t){return e.tabItemClick(t,"invitations")},children:[(0,g.jsx)("span",{className:"sf2-icon-invite","aria-hidden":"true"}),(0,g.jsx)("span",{className:"nav-text",children:(0,u.ih)("Invite Guest")})]})}),(0,g.jsxs)("li",{className:"nav-item flex-column",id:"share-admin-nav",children:[(0,g.jsxs)("a",{className:"nav-link ellipsis",title:(0,u.ih)("Share Admin"),onClick:this.shExtend,children:[(0,g.jsx)("span",{className:"sf2-icon-wrench","aria-hidden":"true"}),(0,g.jsx)("span",{className:"nav-text",children:(0,u.ih)("Share Admin")}),(0,g.jsx)("span",{className:"toggle-icon fas ".concat(this.state.sharedExtended?"fa-caret-down":"fa-caret-left"),"aria-hidden":"true"})]}),this.renderSharedAdmin()]}),u.Po&&this.renderCustomNavItems()]})]}),u.gg&&(0,g.jsxs)("div",{className:"side-nav-link",onClick:this.onDTableClick,children:[(0,g.jsx)("span",{className:"link-icon icon-left sf3-font sf3-font-dtable-logo","aria-hidden":"true"}),(0,g.jsx)("span",{className:"link-text",children:"SeaTable"}),(0,g.jsx)("span",{className:"link-icon icon-right sf3-font sf3-font-arrow"})]})]})}}]),n}(a.Component),S=n(53885),b=n(95234),k=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o ",p]});break;case"delete":e=(0,u.ih)("Deleted library"),t=s.repo_name;break;case"recover":e=(0,u.ih)("Restored library"),t=p;break;case"clean-up-trash":e=(0,u.ih)("Cleaned trash"),t=0==s.days?(0,u.ih)("Removed all items from trash."):(0,u.ih)("Removed items older than {n} days from trash.").replace("{n}",s.days),l=!0}else if("draft"==s.obj_type){var f="".concat(u.ze,"lib/").concat(s.repo_id,"/file").concat(m.c.encodePath(s.path)),v=(0,g.jsx)("a",{href:f,target:"_blank",rel:"noreferrer",children:s.name});e=(0,u.ih)("Publish draft"),t=v,l=!0}else if("files"==s.obj_type){var x="".concat(u.ze,"lib/").concat(s.repo_id,"/file").concat(m.c.encodePath(s.path));s.name.endsWith("(draft).md")&&(x=u.xx+"/drafts/"+s.draft_id+"/");var w="').concat(s.name,"");s.name.endsWith("(draft).md")&&!s.draft_id&&(w=s.name);var y=s.createdFilesCount-1,D=(0,u.ih)("{file} and {n} other files").replace("{file}",w).replace("{n}",y);e=(0,u.ih)("Created {n} files").replace("{n}",s.createdFilesCount),t=(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("p",{className:"m-0 d-inline",dangerouslySetInnerHTML:{__html:D}}),n&&(0,g.jsx)("button",{type:"button",onClick:this.onListCreatedFilesToggle,className:"activity-details text-secondary ml-2 border-0 p-0 bg-transparent",children:(0,u.ih)("details")})]}),l=!0}else if("file"==s.obj_type){var j=s.name.endsWith("(draft).md"),C=j?u.xx+"/drafts/"+s.draft_id+"/":"".concat(u.ze,"lib/").concat(s.repo_id,"/file").concat(m.c.encodePath(s.path)),b=(0,g.jsx)("a",{href:C,target:"_blank",rel:"noreferrer",children:s.name});switch(j&&!s.draft_id&&(b=s.name),s.op_type){case"create":e=j?(0,u.ih)("Created draft"):(0,u.ih)("Created file"),t=b,l=!0;break;case"delete":e=j?(0,u.ih)("Deleted draft"):(0,u.ih)("Deleted file"),t=s.name,l=!0;break;case"recover":e=(0,u.ih)("Restored file"),t=b,l=!0;break;case"rename":e=(0,u.ih)("Renamed file"),t=(0,g.jsxs)("span",{children:[s.old_name," => ",b]}),l=!0;break;case"move":var k=(0,g.jsx)("a",{href:C,children:s.path});e=(0,u.ih)("Moved file"),t=(0,g.jsxs)("span",{children:[s.old_path," => ",k]}),l=!0;break;case"edit":e=j?(0,u.ih)("Updated draft"):(0,u.ih)("Updated file"),t=b,l=!0}}else{var I=u.ze+"library/"+s.repo_id+"/"+encodeURIComponent(s.repo_name)+m.c.encodePath(s.path),N=(0,g.jsx)("a",{href:I,target:"_blank",rel:"noreferrer",children:s.name});switch(s.op_type){case"create":e=(0,u.ih)("Created folder"),t=N,l=!0;break;case"delete":e=(0,u.ih)("Deleted folder"),t=s.name,l=!0;break;case"recover":e=(0,u.ih)("Restored folder"),t=N,l=!0;break;case"rename":e=(0,u.ih)("Renamed folder"),t=(0,g.jsxs)("span",{children:[s.old_name," => ",N]}),l=!0;break;case"move":var M=(0,g.jsx)("a",{href:I,children:s.path});e=(0,u.ih)("Moved folder"),t=(0,g.jsxs)("span",{children:[s.old_path," => ",M]}),l=!0}}var Z=!0;if(r>0){var P=o[r-1].time;Z=!A()(s.time).isSame(P,"day")}return(0,g.jsxs)(a.Fragment,{children:[Z&&(0,g.jsx)("tr",{children:(0,g.jsx)("td",{colSpan:n?5:3,className:"border-top-0",children:A()(s.time).format("YYYY-MM-DD")})}),n?(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("img",{src:s.avatar_url,alt:"",width:"32",height:"32",className:"avatar"})}),(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:c,children:s.author_name})}),(0,g.jsx)("td",{children:e}),(0,g.jsxs)("td",{children:[t,l&&(0,g.jsx)("br",{}),l&&d]}),(0,g.jsx)("td",{className:"text-secondary",children:(0,g.jsx)("time",{datetime:s.time,is:"relative-time",title:A()(s.time).format("llll"),children:A()(s.time).fromNow()})})]}):(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{className:"text-center align-top",children:(0,g.jsx)("img",{src:s.avatar_url,alt:"",width:"32",height:"32",className:"avatar"})}),(0,g.jsxs)("td",{children:[(0,g.jsx)("a",{href:c,children:s.author_name}),(0,g.jsx)("p",{className:"m-0 text-secondary",children:e}),t]}),(0,g.jsxs)("td",{className:"text-right align-top",children:[(0,g.jsx)("span",{className:"text-secondary mobile-activity-time",children:(0,g.jsx)("time",{datetime:s.time,is:"relative-time",title:A()(s.time).format("llll"),children:A()(s.time).fromNow()})}),l&&(0,g.jsx)("br",{}),l&&p]})]}),this.state.isListCreatedFiles&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(te,{activity:s,toggleCancel:this.onListCreatedFilesToggle})})]})}}]),n}(a.Component),se=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).mergePublishEvents=function(e){e.forEach((function(e){"publish"===e.op_type&&(s.curPathList.push(e.path),s.oldPathList.push(e.old_path))}));for(var t=[],n=0;n=n&&s.setState({isLoadingMore:!0},(function(){s.getMore()}))}},s.state={errorMsg:"",isFirstLoading:!0,isLoadingMore:!1,currentPage:1,hasMore:!0,items:[]},s.avatarSize=72,s.curPathList=[],s.oldPathList=[],s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=this.state.currentPage;y.I.listActivities(t,this.avatarSize).then((function(n){var i=e.mergePublishEvents(n.data.events);i=e.mergeFileCreateEvents(i),e.setState({items:i,currentPage:t+1,isFirstLoading:!1,hasMore:!0}),e.state.items.length<25&&e.getMore()})).catch((function(t){e.setState({isFirstLoading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"getMore",value:function(){var e=this,t=this.state.currentPage;y.I.listActivities(t,this.avatarSize).then((function(n){var i=e.mergePublishEvents(n.data.events);i=e.mergeFileCreateEvents(i),e.setState({isLoadingMore:!1,items:[].concat((0,K.Z)(e.state.items),(0,K.Z)(i)),currentPage:t+1,hasMore:0!==n.data.events.length}),e.state.items.length<25&&e.state.hasMore&&e.getMore()})).catch((function(t){e.setState({isLoadingMore:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",id:"activities",children:[(0,g.jsx)("div",{className:"cur-view-path",children:(0,g.jsx)("h3",{className:"sf-heading",children:(0,u.ih)("Activities")})}),(0,g.jsxs)("div",{className:"cur-view-content d-block",onScroll:this.handleScroll,children:[this.state.isFirstLoading&&(0,g.jsx)(R.Z,{}),!this.state.isFirstLoading&&this.state.errorMsg&&(0,g.jsx)("p",{className:"error text-center",children:this.state.errorMsg}),!this.state.isFirstLoading&&(0,g.jsx)(ne,{items:this.state.items,isLoadingMore:this.state.isLoadingMore})]})]})})}}]),n}(a.Component),re=se,oe=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.data,t=e.loading,n=e.errorMsg,i=e.items;if(t)return(0,g.jsx)(R.Z,{});if(n)return(0,g.jsx)("p",{className:"error text-center",children:n});var s=(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No favorites")}),(0,g.jsx)("p",{children:(0,u.ih)("You have not added any libraries, folders or files to your favorites yet. A favorite gives you quick access to your most frequently used objects. You can add a library, folder or file to your favorites by clicking the star to the left of its name.")})]}),r=(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"40%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"32%",children:(0,u.ih)("Library")}),(0,g.jsx)("th",{width:"18%",children:(0,u.ih)("Last Update")}),(0,g.jsx)("th",{width:"6%"})]})}),o=(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"12%"}),(0,g.jsx)("th",{width:"80%"}),(0,g.jsx)("th",{width:"8%"})]})}),a=m.c.isDesktop();return i.length?(0,g.jsxs)("table",{className:"table-hover ".concat(a?"":"table-thead-hidden"),children:[a?r:o,(0,g.jsx)(ae,{items:i})]}):s}}]),n}(a.Component),ae=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).state={items:s.props.items},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.getThumbnails()}},{key:"getThumbnails",value:function(){var e=this.state.items.filter((function(e){return(m.c.imageCheck(e.obj_name)||u.eA&&m.c.videoCheck(e.obj_name))&&!e.repo_encrypted}));if(0!=e.length){var t=e.length,n=this;!function i(s){var r=e[s];y.I.createThumbnail(r.repo_id,r.path,48).then((function(e){r.encoded_thumbnail_src=e.data.encoded_thumbnail_src})).catch((function(e){})).then((function(){s0&&t.forEach((function(t){e.push(t.id+"")})),s.customPermissions=e),s.customPermissions},s.state={isLoading:!0,currentOption:s.props.currentPerm,customPermissions:[]},s.customPermissions=null,s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.props.repoID?this.listCustomPermissions():this.setState({isLoading:!1})}},{key:"render",value:function(){var e=this,t=this.state,n=t.isLoading,i=t.currentOption,s=[];return n||(s=this.getPermissions()),(0,g.jsx)(d.Z,{isOpen:!0,toggle:this.props.toggleDialog,children:(0,g.jsxs)(b.Z,{style:{maxHeight:"400px",overflow:"auto"},children:[n&&(0,g.jsx)(R.Z,{}),!n&&s.map((function(t,n){return(0,g.jsxs)("div",{className:"d-flex",children:[(0,g.jsx)("input",{id:"option-".concat(n),className:"mt-1",type:"radio",name:"permission",value:t,checked:i==t,onChange:e.switchOption}),(0,g.jsxs)("label",{htmlFor:"option-".concat(n),className:"ml-2",children:[e.translatePermission(t),(0,g.jsx)("p",{className:"text-secondary small m-0",children:e.translateExplanation(t)})]})]},n)}))]})})}}]),n}(a.Component),De=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog})]}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(Ee,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems,onRemoveLink:this.onRemoveLink})})]})}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortOptions:this.sortOptions,sortItems:this.sortItems}),this.state.isCleanInvalidShareLinksDialogOpen&&(0,g.jsx)(Te.Z,{title:(0,u.ih)("Clean invalid share links"),message:(0,u.ih)("Are you sure you want to clean invalid share links?"),executeOperation:this.cleanInvalidShareLinks,confirmBtnText:(0,u.ih)("Clean"),toggleDialog:this.toggleCleanInvalidShareLinksDialog})]})}}]),n}(a.Component),ze=n(36681),Be=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,s=t.items;if(n)return(0,g.jsx)(R.Z,{});if(i)return(0,g.jsx)("p",{className:"error text-center",children:i});var r=(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No upload links")}),(0,g.jsx)("p",{children:(0,u.ih)("You have not created any upload links yet. An upload link allows anyone to upload files to a folder or library. You can create an upload link for a folder or library by clicking the share icon to the right of its name.")})]}),o=m.c.isDesktop(),a=(0,g.jsxs)("table",{className:"table-hover ".concat(o?"":"table-thead-hidden"),children:[(0,g.jsx)("thead",{children:o?(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"24%",children:(0,u.ih)("Library")}),(0,g.jsx)("th",{width:"16%",children:(0,u.ih)("Visits")}),(0,g.jsx)("th",{width:"16%",children:(0,u.ih)("Expiration")}),(0,g.jsx)("th",{width:"10%"})]}):(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"12%"}),(0,g.jsx)("th",{width:"80%"}),(0,g.jsx)("th",{width:"8%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(Ge,{isDesktop:o,item:t,onRemoveLink:e.props.onRemoveLink},n)}))})]});return s.length?a:r}}]),n}(a.Component),Ge=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggleOpMenu=function(){s.setState({isOpMenuOpen:!s.state.isOpMenuOpen})},s.toggleLinkDialog=function(){s.setState({isLinkDialogOpen:!s.state.isLinkDialogOpen})},s.handleMouseOver=function(){s.setState({isOpIconShown:!0})},s.handleMouseOut=function(){s.setState({isOpIconShown:!1})},s.viewLink=function(e){e.preventDefault(),s.toggleLinkDialog()},s.removeLink=function(e){e.preventDefault(),s.props.onRemoveLink(s.props.item)},s.renderExpiration=function(){var e=s.props.item;if(!e.expire_date)return"--";var t=A()(e.expire_date).format("YYYY-MM-DD"),n=A()(e.expire_date).format("YYYY-MM-DD HH:mm:ss");return(0,g.jsx)("span",{className:e.is_expired?"error":"",title:n,children:t})},s.state={isOpIconShown:!1,isOpMenuOpen:!1,isLinkDialogOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isLinkDialogOpen,s=m.c.getFolderIconUrl(!1),r="".concat(u.ze,"library/").concat(e.repo_id,"/").concat(encodeURIComponent(e.repo_name)),o="".concat(r).concat(m.c.encodePath(e.path)),l=""===e.obj_id?(0,g.jsx)("span",{style:{color:"red"},children:(0,u.ih)("(deleted)")}):null,h=(0,g.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,onFocus:this.handleMouseOver,children:[(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:s,alt:"",width:"24"})}),(0,g.jsxs)("td",{children:[(0,g.jsx)(c.rU,{to:o,children:e.obj_name}),l]}),(0,g.jsx)("td",{children:(0,g.jsx)(c.rU,{to:r,children:e.repo_name})}),(0,g.jsx)("td",{children:e.view_cnt}),(0,g.jsx)("td",{children:this.renderExpiration()}),(0,g.jsxs)("td",{children:[!e.is_expired&&(0,g.jsx)("a",{href:"#",className:"sf2-icon-link action-icon ".concat(n?"":"invisible"),title:(0,u.ih)("View"),"aria-label":(0,u.ih)("View"),role:"button",onClick:this.viewLink}),(0,g.jsx)("a",{href:"#",className:"sf2-icon-delete action-icon ".concat(n?"":"invisible"),title:(0,u.ih)("Remove"),"aria-label":(0,u.ih)("Remove"),role:"button",onClick:this.removeLink})]})]}),p=(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:s,alt:"",width:"24"})}),(0,g.jsxs)("td",{children:[(0,g.jsx)(c.rU,{to:o,children:e.obj_name}),(0,g.jsx)("br",{}),(0,g.jsx)("span",{children:e.repo_name}),(0,g.jsx)("br",{}),(0,g.jsxs)("span",{className:"item-meta-info",children:[(0,u.ih)("Visits"),": ",e.view_cnt]}),(0,g.jsxs)("span",{className:"item-meta-info",children:[(0,u.ih)("Expiration"),": ",this.renderExpiration()]})]}),(0,g.jsx)("td",{children:(0,g.jsxs)(U.Z,{isOpen:this.state.isOpMenuOpen,toggle:this.toggleOpMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isOpMenuOpen}),(0,g.jsxs)("div",{className:this.state.isOpMenuOpen?"":"d-none",onClick:this.toggleOpMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsxs)("div",{className:"mobile-operation-menu",children:[!e.is_expired&&(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.viewLink,children:(0,u.ih)("View")}),(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.removeLink,children:(0,u.ih)("Remove")})]})]})]})})]});return(0,g.jsxs)(a.Fragment,{children:[this.props.isDesktop?h:p,i&&(0,g.jsx)(Pe.Z,{link:e.link,toggleDialog:this.toggleLinkDialog})]})}}]),n}(a.Component),He=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onRemoveLink=function(e){y.I.deleteUploadLink(e.token).then((function(){var t=s.state.items.filter((function(t){return t.token!==e.token}));s.setState({items:t});var n=(0,u.ih)("Successfully deleted 1 item.");D.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.toggleCleanInvalidUploadLinksDialog=function(){s.setState({isCleanInvalidUploadLinksDialogOpen:!s.state.isCleanInvalidUploadLinksDialogOpen})},s.cleanInvalidUploadLinks=function(){y.I.cleanInvalidUploadLinks().then((function(e){var t=s.state.items.filter((function(e){return""!==e.obj_id})).filter((function(e){return!e.is_expired}));s.setState({items:t}),D.Z.success((0,u.ih)("Successfully cleaned invalid upload links."))})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={isCleanInvalidUploadLinksDialogOpen:!1,loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listUserUploadLinks()}},{key:"listUserUploadLinks",value:function(){var e=this;y.I.listUserUploadLinks().then((function(t){var n=t.data.map((function(e){return new ze.Z(e)}));e.setState({loading:!1,items:n})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(Re,{onShowSidePanel:this.props.onShowSidePanel,onSearchedClick:this.props.onSearchedClick,children:(0,g.jsx)(Q.Z,{className:"operation-item d-none d-md-block",onClick:this.toggleCleanInvalidUploadLinksDialog,children:(0,u.ih)("Clean invalid upload links")})}),(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path share-upload-nav",children:(0,g.jsxs)("ul",{className:"nav",children:[u.Fl&&(0,g.jsx)("li",{className:"nav-item",children:(0,g.jsx)(c.rU,{to:"".concat(u.ze,"share-admin-share-links/"),className:"nav-link",children:(0,u.ih)("Share Links")})}),(0,g.jsx)("li",{className:"nav-item",children:(0,g.jsx)(c.rU,{to:"".concat(u.ze,"share-admin-upload-links/"),className:"nav-link active",children:(0,u.ih)("Upload Links")})})]})}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(Be,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items,onRemoveLink:this.onRemoveLink})})]})}),this.state.isCleanInvalidUploadLinksDialogOpen&&(0,g.jsx)(Te.Z,{title:(0,u.ih)("Clean invalid upload links"),message:(0,u.ih)("Are you sure you want to clean invalid upload links?"),executeOperation:this.cleanInvalidUploadLinks,confirmBtnText:(0,u.ih)("Clean"),toggleDialog:this.toggleCleanInvalidUploadLinksDialog})]})}}]),n}(a.Component),We=n(57808),Ve=(0,s.Z)((function e(t){(0,i.Z)(this,e),this.repo_id=t.repo_id,this.repo_name=t.repo_name,this.permission=t.permission,this.size_original=t.size,this.size=m.c.bytesToSize(t.size),this.owner_name=t.owner_name,this.owner_email=t.owner_email,this.owner_contact_email=t.owner_contact_email,this.encrypted=t.encrypted,this.last_modified=t.last_modified,this.modifier_contact_email=t.modifier_contact_email,this.modifier_email=t.modifier_email,this.modifier_name=t.modifier_name,this.type=t.type,this.starred=t.starred,this.monitored=t.monitored,this.status=t.status,this.storage_name=t.storage_name,void 0!=t.is_admin&&(this.is_admin=t.is_admin)}));var qe=function(){return(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"12%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Library Type")})}),(0,g.jsx)("th",{width:"80%"}),(0,g.jsx)("th",{width:"8%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Actions")})})]})})},Ke=n(65953),Ye=n(98290),Je=n(42309),Xe=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repoID;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{id:"watching-".concat(e),className:"ml-1",children:(0,g.jsx)(Je.Z,{symbol:"monitor"})}),(0,g.jsx)(Ye.Z,{placement:"bottom",target:"#watching-".concat(e),children:(0,u.ih)("You are watching file changes of this library.")})]})}}]),n}(a.Component),$e=Xe,Qe=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).freezeItem=function(e){s.setState({isItemFreezed:e})},s.sortByName=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("name",t)},s.sortByTime=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("time",t)},s.sortBySize=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("size",t)},s.state={isItemFreezed:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,s=t.items,r=t.sortBy,o=t.sortOrder,a=(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No shared libraries")}),(0,g.jsx)("p",{children:(0,u.ih)("No libraries have been shared directly with you. A shared library can be shared with full or restricted permission. If you need access to a library owned by another user, ask the user to share the library with you.")})]});if(n)return(0,g.jsx)(R.Z,{});if(i)return(0,g.jsx)("p",{className:"error text-center",children:i});var l="name"==r,c="time"==r,h="size"==r,p="asc"==o?(0,g.jsx)("span",{className:"fas fa-caret-up"}):(0,g.jsx)("span",{className:"fas fa-caret-down"}),d=(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"4%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Library Type")})}),(0,g.jsx)("th",{width:"34%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:this.sortByName,children:[(0,u.ih)("Name")," ",l&&p]})}),(0,g.jsx)("th",{width:"10%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Actions")})}),(0,g.jsx)("th",{width:"14%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:this.sortBySize,children:[(0,u.ih)("Size")," ",h&&p]})}),(0,g.jsx)("th",{width:"18%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:this.sortByTime,children:[(0,u.ih)("Last Update")," ",c&&p]})}),(0,g.jsx)("th",{width:"16%",children:(0,u.ih)("Owner")})]})}),f=m.c.isDesktop(),v=(0,g.jsxs)("table",{className:f?"":"table-thead-hidden",children:[f?d:(0,g.jsx)(qe,{}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(et,{data:t,isDesktop:f,isItemFreezed:e.state.isItemFreezed,freezeItem:e.freezeItem,onMonitorRepo:e.props.onMonitorRepo},n)}))})]});return s.length?v:a}}]),n}(a.Component),et=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggleOpMenu=function(){s.setState({isOpMenuOpen:!s.state.isOpMenuOpen},(function(){s.props.freezeItem(s.state.isOpMenuOpen)}))},s.handleMouseOver=function(){s.props.isItemFreezed||s.setState({highlight:!0,showOpIcon:!0})},s.handleMouseOut=function(){s.props.isItemFreezed||s.setState({highlight:!1,showOpIcon:!1})},s.share=function(e){e.preventDefault(),s.setState({isShowSharedDialog:!0})},s.leaveShare=function(e){e.preventDefault();var t,n=s.props.data;if(-1==n.owner_email.indexOf("@seafile_group")){var i={share_type:"personal",from:n.owner_email};t=y.I.leaveShareRepo(n.repo_id,i)}else t=y.I.leaveShareGroupOwnedRepo(n.repo_id);t.then((function(e){s.setState({unshared:!0});var t=(0,u.ih)("Successfully unshared {name}").replace("{name}",n.repo_name);D.Z.success(t)})).catch((function(e){var t=m.c.getErrorMsg(e);t===(0,u.ih)("Error")&&(t=(0,u.ih)("Failed to unshare {name}").replace("{name}",n.repo_name)),(0,D.Z)(t)}))},s.toggleShareDialog=function(){s.setState({isShowSharedDialog:!1})},s.onToggleStarRepo=function(e){e.preventDefault();var t=s.props.data.repo_name;s.state.isStarred?y.I.unstarItem(s.props.data.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully unstarred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})):y.I.starItem(s.props.data.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully starred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.visitRepo=function(){(0,c.c4)(s.repoURL)},s.watchFileChanges=function(){var e=s.props.data;y.I.monitorRepo(e.repo_id).then((function(){s.props.onMonitorRepo(e,!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.unwatchFileChanges=function(){var e=s.props.data;y.I.unMonitorRepo(e.repo_id).then((function(){s.props.onMonitorRepo(e,!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={highlight:!1,showOpIcon:!1,unshared:!1,isShowSharedDialog:!1,isStarred:s.props.data.starred,isOpMenuOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){if(this.state.unshared)return null;var e=this.props.data;e.icon_url=m.c.getLibIconUrl(e),e.icon_title=m.c.getLibIconTitle(e);var t=this.state.showOpIcon?"":" invisible",n="op-icon sf2-icon-share repo-share-btn"+t,i="op-icon sf2-icon-x3"+t,s=this.repoURL="".concat(u.ze,"library/").concat(e.repo_id,"/").concat(m.c.encodePath(e.repo_name),"/"),r=u._y&&("r"==e.permission||"rw"==e.permission),o=(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,onFocus:this.handleMouseOver,children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("a",{href:"#",role:"button","aria-label":this.state.isStarred?(0,u.ih)("Unstar"):(0,u.ih)("Star"),onClick:this.onToggleStarRepo,children:(0,g.jsx)("i",{className:"fa-star ".concat(this.state.isStarred?"fas":"far star-empty")})})}),(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:e.icon_url,title:e.icon_title,alt:e.icon_title,width:"24"})}),(0,g.jsx)("td",{children:(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:s,children:e.repo_name}),e.monitored&&(0,g.jsx)($e,{repoID:e.repo_id})]})}),(0,g.jsxs)("td",{children:[u._y&&e.is_admin&&(0,g.jsx)("a",{href:"#",className:n,title:(0,u.ih)("Share"),role:"button","aria-label":(0,u.ih)("Share"),onClick:this.share}),(0,g.jsx)("a",{href:"#",className:i,title:(0,u.ih)("Leave Share"),role:"button","aria-label":(0,u.ih)("Leave Share"),onClick:this.leaveShare}),r&&(0,g.jsxs)(U.Z,{isOpen:this.state.isOpMenuOpen,toggle:this.toggleOpMenu,children:[(0,g.jsx)(z.Z,{tag:"i",role:"button",tabIndex:"0",className:"sf-dropdown-toggle sf2-icon-caret-down".concat(t),title:(0,u.ih)("More Operations"),"aria-label":(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isOpMenuOpen}),(0,g.jsx)(B.Z,{children:(0,g.jsx)(G.Z,{onClick:e.monitored?this.unwatchFileChanges:this.watchFileChanges,children:e.monitored?(0,u.ih)("Unwatch File Changes"):(0,u.ih)("Watch File Changes")})})]})]}),(0,g.jsx)("td",{children:e.size}),(0,g.jsx)("td",{title:A()(e.last_modified).format("llll"),children:A()(e.last_modified).fromNow()}),(0,g.jsx)("td",{title:e.owner_contact_email,children:e.owner_name})]}),this.state.isShowSharedDialog&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:"library",itemName:e.repo_name,itemPath:"/",repoID:e.repo_id,repoEncrypted:e.encrypted,enableDirPrivateShare:!0,userPerm:e.permission,isAdmin:!0,toggleDialog:this.toggleShareDialog})})]}),l=(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,g.jsx)("td",{onClick:this.visitRepo,children:(0,g.jsx)("img",{src:e.icon_url,title:e.icon_title,alt:e.icon_title,width:"24"})}),(0,g.jsxs)("td",{onClick:this.visitRepo,children:[(0,g.jsx)(c.rU,{to:s,children:e.repo_name}),e.monitored&&(0,g.jsx)($e,{repoID:e.repo_id}),(0,g.jsx)("br",{}),(0,g.jsx)("span",{className:"item-meta-info",title:e.owner_contact_email,children:e.owner_name}),(0,g.jsx)("span",{className:"item-meta-info",children:e.size}),(0,g.jsx)("span",{className:"item-meta-info",title:A()(e.last_modified).format("llll"),children:A()(e.last_modified).fromNow()})]}),(0,g.jsx)("td",{children:(0,g.jsxs)(U.Z,{isOpen:this.state.isOpMenuOpen,toggle:this.toggleOpMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isOpMenuOpen}),(0,g.jsxs)("div",{className:this.state.isOpMenuOpen?"":"d-none",onClick:this.toggleOpMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsxs)("div",{className:"mobile-operation-menu",children:[(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.onToggleStarRepo,children:this.state.isStarred?(0,u.ih)("Unstar"):(0,u.ih)("Star")}),u._y&&e.is_admin&&(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.share,children:(0,u.ih)("Share")}),(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.leaveShare,children:(0,u.ih)("Leave Share")}),r&&(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:e.monitored?this.unwatchFileChanges:this.watchFileChanges,children:e.monitored?(0,u.ih)("Unwatch File Changes"):(0,u.ih)("Watch File Changes")})]})]})]})})]}),this.state.isShowSharedDialog&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:"library",itemName:e.repo_name,itemPath:"/",repoID:e.repo_id,repoEncrypted:e.encrypted,enableDirPrivateShare:!0,userPerm:e.permission,isAdmin:!0,toggleDialog:this.toggleShareDialog})})]});return this.props.isDesktop?o:l}}]),n}(a.Component),tt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).sortItems=function(e,t){We.ZP.save("seafile-repo-dir-sort-by",e),We.ZP.save("seafile-repo-dir-sort-order",t),s.setState({sortBy:e,sortOrder:t,items:m.c.sortRepos(s.state.items,e,t)})},s.toggleSortOptionsDialog=function(){s.setState({isSortOptionsDialogOpen:!s.state.isSortOptionsDialogOpen})},s.onMonitorRepo=function(e,t){var n=s.state.items.map((function(n){return n.repo_id===e.repo_id&&(n.monitored=t),n}));s.setState({items:n})},s.state={loading:!0,errorMsg:"",items:[],sortBy:We.ZP.load("seafile-repo-dir-sort-by")||"name",sortOrder:We.ZP.load("seafile-repo-dir-sort-order")||"asc",isSortOptionsDialogOpen:!1},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listRepos({type:"shared"}).then((function(t){var n=t.data.repos.map((function(e){return new Ve(e)}));e.setState({loading:!1,items:m.c.sortRepos(n,e.state.sortBy,e.state.sortOrder)})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsxs)("div",{className:"cur-view-path",children:[(0,g.jsx)("h3",{className:"sf-heading m-0",children:(0,u.ih)("Shared with me")}),!m.c.isDesktop()&&this.state.items.length>0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog})]}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(Qe,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems,onMonitorRepo:this.onMonitorRepo})})]})}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems})]})}}]),n}(a.Component),nt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,s=t.items,r=(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No libraries have been shared with you")}),(0,g.jsx)("p",{children:(0,u.ih)("No libraries have been shared with you from other servers.")})]});if(n)return(0,g.jsx)(R.Z,{});if(i)return(0,g.jsx)("p",{className:"error text-center",children:i});var o=(0,g.jsxs)("table",{children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Shared by")}),(0,g.jsx)("th",{width:"26%",children:(0,u.ih)("At server")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Time")}),(0,g.jsx)("th",{width:"10%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(it,{item:t,leaveShare:e.props.leaveShare},n)}))})]});return s.length?o:r}}]),n}(a.Component),it=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleMouseOver=function(){s.setState({isOpIconShown:!0})},s.handleMouseOut=function(){s.setState({isOpIconShown:!1})},s.leaveShare=function(e){e.preventDefault(),s.props.leaveShare(s.props.item)},s.state={isOpIconShown:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state.isOpIconShown;e.icon_url=m.c.getLibIconUrl(e),e.icon_title=m.c.getLibIconTitle(e);var n="".concat(u.ze,"remote-library/").concat(this.props.item.provider_id,"/").concat(this.props.item.repo_id,"/").concat(m.c.encodePath(this.props.item.repo_name),"/");return(0,g.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,onFocus:this.handleMouseOver,children:[(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:e.icon_url,title:e.icon_title,alt:e.icon_title,width:"24"})}),(0,g.jsx)("td",{children:(0,g.jsx)(c.rU,{to:n,children:e.repo_name})}),(0,g.jsx)("td",{children:e.from_user}),(0,g.jsx)("td",{children:e.from_server_url}),(0,g.jsx)("td",{title:A()(e.last_modified).format("llll"),children:A()(e.ctime).fromNow()}),(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"#",role:"button",className:"action-icon sf2-icon-x3 ".concat(t?"":"invisible"),title:(0,u.ih)("Leave Share"),"aria-label":(0,u.ih)("Leave Share"),onClick:this.leaveShare})})]})}}]),n}(a.Component),st=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).leaveShare=function(e){var t=e.id,n=e.repo_name;y.I.deleteOCMShareReceived(t).then((function(e){var i=s.state.items.filter((function(e){return e.id!=t}));s.setState({items:i}),D.Z.success((0,u.ih)("Successfully unshared {name}").replace("{name}",n))})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listOCMSharesReceived().then((function(t){e.setState({loading:!1,items:t.data.ocm_share_received_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,g.jsx)(a.Fragment,{children:(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path",children:(0,g.jsx)("h3",{className:"sf-heading m-0",children:(0,u.ih)("Shared from other servers")})}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(nt,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items,leaveShare:this.leaveShare})})]})})})}}]),n}(a.Component),rt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).getAllReceivedShares=function(){var e=y.I.server+"/ocm-via-webdav/received-shares/";y.I.req.get(e).then((function(e){s.setState({loading:!1,shareID:"",path:"",items:e.data.received_share_list})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.leaveShare=function(e){var t=e.id,n=e.name,i=y.I.server+"/ocm-via-webdav/received-shares/"+t+"/";y.I.req.delete(i).then((function(e){var i=s.state.items.filter((function(e){return e.id!=t}));s.setState({items:i}),D.Z.success((0,u.ih)("Successfully unshared {name}").replace("{name}",n))})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.openFolder=function(e){s.setState({loading:!0});var t=y.I.server+"/ocm-via-webdav/received-shares/"+e.id+"/?path="+e.path;y.I.req.get(t).then((function(t){s.setState({loading:!1,shareID:e.id,path:t.data.parent_dir,items:t.data.received_share_list})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onPathClick=function(e){s.setState({loading:!0});var t=y.I.server+"/ocm-via-webdav/received-shares/"+s.state.shareID+"/?path="+e;y.I.req.get(t).then((function(e){s.setState({loading:!1,items:e.data.received_share_list,path:e.data.parent_dir})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,shareID:"",path:"",items:[],errorMsg:""},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.getAllReceivedShares()}},{key:"render",value:function(){return(0,g.jsx)(a.Fragment,{children:(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path align-items-center",children:(0,g.jsx)(lt,{shareID:this.state.shareID,currentPath:this.state.path,onPathClick:this.onPathClick,getAllReceivedShares:this.getAllReceivedShares})}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(ot,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items,path:this.state.path,leaveShare:this.leaveShare,openFolder:this.openFolder})})]})})})}}]),n}(a.Component),ot=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,i.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,s=t.items,r=t.path,o=(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No libraries have been shared with you")}),(0,g.jsx)("p",{children:(0,u.ih)("No libraries have been shared with you from other servers.")})]});if(n)return(0,g.jsx)(R.Z,{});if(i)return(0,g.jsx)("p",{className:"error text-center",children:i});var a=(0,g.jsxs)("table",{children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"5%"}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"35%",children:(0,u.ih)("Shared By")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Time")}),(0,g.jsx)("th",{width:"5%"}),(0,g.jsx)("th",{width:"5%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(at,{item:t,path:r,leaveShare:e.props.leaveShare,openFolder:e.props.openFolder},n)}))})]});return s.length?a:o}}]),n}(a.Component),at=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleMouseOver=function(){s.setState({isOpIconShown:!0})},s.handleMouseOut=function(){s.setState({isOpIconShown:!1})},s.downloadFile=function(){var e=u.ze+"ocm-via-webdav/download-received-file/?share_id="+s.props.item.id+"&path="+s.props.item.path;window.location.href=e},s.leaveShare=function(e){e.preventDefault(),s.props.leaveShare(s.props.item)},s.openFolder=function(e){e.preventDefault(),s.props.openFolder(s.props.item)},s.state={isOpIconShown:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state.isOpIconShown;return e.is_dir?e.icon_url=m.c.getFolderIconUrl():e.icon_url=m.c.getFileIconUrl(e.name),(0,g.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:e.icon_url,width:"24",alt:""})}),(0,g.jsx)("td",{children:e.is_dir?(0,g.jsx)("a",{href:"#",onClick:this.openFolder,children:e.name}):e.name}),(0,g.jsx)("td",{children:e.shared_by}),(0,g.jsx)("td",{title:A()(e.last_modified).format("llll"),children:A()(e.ctime).fromNow()}),(0,g.jsx)("td",{children:e.is_dir?"":(0,g.jsx)("a",{href:"#",className:"action-icon sf2-icon-download ".concat(t?"":"invisible"),title:(0,u.ih)("Download"),onClick:this.downloadFile})}),(0,g.jsx)("td",{children:this.props.path?"":(0,g.jsx)("a",{href:"#",className:"action-icon sf2-icon-x3 ".concat(t?"":"invisible"),title:(0,u.ih)("Leave Share"),onClick:this.leaveShare})})]})}}]),n}(a.Component),lt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onPathClick=function(e){var t=m.c.getEventData(e,"path");s.props.onPathClick(t)},s.turnPathToLink=function(e){var t=(e=e.slice(1,e.length-1)).split("/"),n="";return t.map((function(e,i){return i===t.length-1?(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{className:"path-split",children:"/"}),(0,g.jsx)("span",{className:"path-file-name",children:e})]},i):(0===i?n="/":n+=e+"/",(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{className:"path-split",children:"/"}),(0,g.jsx)("a",{className:"path-link","data-path":n,onClick:s.onPathClick,children:e})]},i))}))},s.state={},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.turnPathToLink(this.props.currentPath);return(0,g.jsxs)("div",{className:"path-container",children:[(0,g.jsx)("a",{href:"#",onClick:this.props.getAllReceivedShares,children:(0,u.ih)("All")}),e]})}}]),n}(a.Component),ct=rt,ht=n(82388),pt=n(55516),dt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)("div",{className:"main-panel-north ".concat(this.props.children?"border-left-show":""),children:[(0,g.jsxs)("div",{className:"cur-view-toolbar",children:[(0,g.jsx)("span",{className:"sf2-icon-menu side-nav-toggle hidden-md-up d-md-none",title:"Side Nav Menu"}),(0,g.jsx)("div",{className:"operation",children:this.props.children})]}),(0,g.jsx)("div",{className:"common-toolbar",children:(0,g.jsx)(pt.Z,{isAdminPanel:!1})})]})}}]),n}(a.Component),ut=dt,mt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o-1)return e=(0,u.ih)("Name should not include '/'."),this.setState({errMessage:e}),!1;if(this.state.encrypt){var n=this.state.password1.trim(),i=this.state.password2.trim();if(!n.length)return e=(0,u.ih)("Please enter password"),this.setState({errMessage:e}),!1;if(!i.length)return e=(0,u.ih)("Please enter the password again"),this.setState({errMessage:e}),!1;if(n.length0&&(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{children:(0,u.ih)("Template")}),(0,g.jsx)(jt.ME,{defaultValue:{value:u.dj[0],label:u.dj[0]},options:u.dj.map((function(e,t){return{value:e,label:e}})),onChange:this.handlelibraryTemplatesInputChange})]}),u.al.length>0&&(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{children:(0,u.ih)("Storage Backend")}),(0,g.jsx)(jt.ME,{defaultValue:{value:u.al[0].id,label:u.al[0].name},options:u.al.map((function(e,t){return{value:e.id,label:e.name}})),onChange:this.handleStorageInputChange})]}),"group"===this.props.libraryType&&(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{for:"exampleSelect",children:(0,u.ih)("Permission")}),(0,g.jsxs)(de.Z,{type:"select",name:"select",id:"exampleSelect",onChange:this.onPermissionChange,value:this.state.permission,children:[(0,g.jsx)("option",{value:"rw",children:(0,u.ih)("Read-Write")}),(0,g.jsx)("option",{value:"r",children:(0,u.ih)("Read-Only")})]})]}),u.l3&&(0,g.jsxs)("div",{children:[(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"checkbox",id:"encrypt",onChange:this.onEncrypted}),(0,g.jsx)(pe.Z,{for:"encrypt",children:(0,u.ih)("Encrypt")})]}),!this.state.disabled&&(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{for:"passwd1",children:(0,u.ih)("Password")}),(0,g.jsxs)("span",{className:"tip",children:[" ",(0,u.ih)("(at least {placeholder} characters)").replace("{placeholder}",u.gl)]}),(0,g.jsx)(de.Z,{id:"passwd1",type:"password",disabled:this.state.disabled,value:this.state.password1,onChange:this.handlePassword1Change,autoComplete:"new-password"})]}),!this.state.disabled&&(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{for:"passwd2",children:(0,u.ih)("Password again")}),(0,g.jsx)(de.Z,{id:"passwd2",type:"password",disabled:this.state.disabled,value:this.state.password2,onChange:this.handlePassword2Change,autoComplete:"new-password"})]})]})]}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),St=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onCreateRepo=function(e){s.props.onCreateRepo(e),s.onCreateToggle()},s.onCreateToggle=function(){s.setState({isCreateRepoDialogShow:!s.state.isCreateRepoDialogShow})},s.toggleMore=function(){s.setState({isOpen:!s.state.isOpen})},s.onDropdownToggleKeyDown=function(e){"Enter"!=e.key&&"Space"!=e.key||s.toggleMore()},s.visitDeletedviaKey=function(e){"Enter"!=e.key&&"Space"!=e.key||(0,c.c4)("".concat(u.ze,"my-libs/deleted/"))},s.state={isCreateRepoDialogShow:!1,isOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("div",{className:"cur-view-toolbar",children:[(0,g.jsx)("span",{className:"sf2-icon-menu side-nav-toggle hidden-md-up d-md-none",title:"Side Nav Menu",onClick:this.props.onShowSidePanel}),m.c.isDesktop()?(0,g.jsxs)("div",{className:"operation",children:[(0,g.jsxs)("button",{className:"btn btn-secondary operation-item",title:(0,u.ih)("New Library"),onClick:this.onCreateToggle,children:[(0,g.jsx)("i",{className:"fas fa-plus-square text-secondary mr-1"}),(0,u.ih)("New Library")]}),(0,g.jsxs)(U.Z,{isOpen:this.state.isOpen,toggle:this.toggleMore,children:[(0,g.jsx)(z.Z,{className:"btn btn-secondary operation-item",onKeyDown:this.onDropdownToggleKeyDown,children:(0,u.ih)("More")}),(0,g.jsx)(B.Z,{children:(0,g.jsx)(G.Z,{className:"link-dropdown-container",onKeyDown:this.visitDeletedviaKey,children:(0,g.jsx)(c.rU,{className:"link-dropdown-item",to:u.ze+"my-libs/deleted/",children:(0,u.ih)("Deleted Libraries")})})})]})]}):(0,g.jsx)("span",{className:"sf2-icon-plus mobile-toolbar-icon",title:(0,u.ih)("New Library"),onClick:this.onCreateToggle})]}),this.state.isCreateRepoDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ct,{libraryType:this.props.libraryType,onCreateRepo:this.onCreateRepo,onCreateToggle:this.onCreateToggle})})]})}}]),n}(a.Component),bt=(n(90099),function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).getFileCounts=function(e){y.I.getRepoInfo(e.repo_id).then((function(e){s.setState({fileCount:e.data.file_count})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={fileCount:0},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.currentRepo;this.getFileCounts(e)}},{key:"componentWillReceiveProps",value:function(e){e.currentRepo.repo_id!==this.props.currentRepo.repo_id&&this.getFileCounts(e.currentRepo)}},{key:"render",value:function(){var e=this.props.currentRepo,t=m.c.getLibIconUrl(e),n=m.c.getLibIconUrl(e,!0);return(0,g.jsxs)("div",{className:"detail-container",children:[(0,g.jsxs)("div",{className:"detail-header",children:[(0,g.jsx)("div",{className:"detail-control sf2-icon-x1",onClick:this.props.closeDetails}),(0,g.jsxs)("div",{className:"detail-title dirent-title",children:[(0,g.jsx)("img",{src:t,width:"24",height:"24",alt:""})," ",(0,g.jsx)("span",{className:"name ellipsis",title:e.repo_name,children:e.repo_name})]})]}),(0,g.jsxs)("div",{className:"detail-body dirent-info",children:[(0,g.jsx)("div",{className:"img",children:(0,g.jsx)("img",{src:n,height:"96",alt:""})}),(0,g.jsx)("div",{className:"dirent-table-container",children:(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"35%"}),(0,g.jsx)("th",{width:"65%"})]})}),(0,g.jsxs)("tbody",{children:[(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Files")}),(0,g.jsx)("td",{children:this.state.fileCount})]}),(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Size")}),(0,g.jsx)("td",{children:e.size})]}),(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Last Update")}),(0,g.jsx)("td",{children:A()(e.last_modified).fromNow()})]})]})]})})]})]})}}]),n}(a.Component)),kt=n(7767),It=n(33028),Nt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).submit=function(){var e=s.state.keepDays;s.state.autoHistory&&(e=s.state.expireDays);var t=s.props.repoID;if(/^-?\d+$/.test(e)){var n=(0,u.ih)("Successfully set library history.");y.I.setRepoHistoryLimit(t,e).then((function(e){D.Z.success(n),s.setState({keepDays:e.data.keep_days}),s.props.toggleDialog()})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}else s.setState({errorInfo:(0,u.ih)("Please enter a non-negative integer")})},s.handleKeyPress=function(e){"Enter"===e.key&&(s.submit(),e.preventDefault())},s.onChange=function(e){var t=e.target.value;s.setState({keepDays:t,expireDays:t})},s.setLimitDays=function(e){"allHistory"===e?s.setState({keepDays:-1,disabled:!0}):"noHistory"===e?s.setState({keepDays:0,disabled:!0}):s.setState({disabled:!1}),s.setState({allHistory:"allHistory"===e,noHistory:"noHistory"===e,autoHistory:"autoHistory"===e})},s.state={keepDays:-1,expireDays:30,disabled:!0,allHistory:!0,noHistory:!1,autoHistory:!1,errorInfo:""},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.getRepoHistoryLimit(this.props.repoID).then((function(t){e.setState({keepDays:t.data.keep_days,allHistory:t.data.keep_days<0,noHistory:0===t.data.keep_days,autoHistory:t.data.keep_days>0,disabled:!(t.data.keep_days>0),expireDays:t.data.keep_days>0?t.data.keep_days:30})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}},{key:"render",value:function(){var e=this,t=this.props.itemName;return(0,g.jsxs)(d.Z,{isOpen:!0,children:[(0,g.jsxs)(J.Z,{toggle:this.props.toggleDialog,children:[(0,g.jsx)("span",{className:"op-target",title:t,children:t})," ",(0,u.ih)("History Setting")]}),(0,g.jsx)(b.Z,{children:(0,g.jsxs)(yt.Z,{children:[!u.Qo&&(0,g.jsx)(he.Z,{children:(0,g.jsx)(pe.Z,{className:"error",children:(0,u.ih)("Setting library history is disabled by Admin.")})}),(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"radio",name:"radio1",checked:this.state.allHistory,disabled:!u.Qo,onChange:function(){e.setLimitDays("allHistory")}})," ",(0,g.jsx)(pe.Z,{children:(0,u.ih)("Keep full history")})]}),(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"radio",name:"radio1",checked:this.state.noHistory,disabled:!u.Qo,onChange:function(){e.setLimitDays("noHistory")}})," ",(0,g.jsx)(pe.Z,{children:(0,u.ih)("Don't keep history")})]}),(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"radio",name:"radio1",checked:this.state.autoHistory,disabled:!u.Qo,onChange:function(){e.setLimitDays("autoHistory")}})," ",(0,g.jsx)(pe.Z,{children:(0,u.ih)("Only keep a period of history:")}),(0,g.jsx)(de.Z,{type:"text",className:"expire-input",value:this.state.expireDays,onChange:this.onChange,disabled:this.state.disabled,onKeyDown:this.handleKeyPress})," ",(0,g.jsx)(pe.Z,{children:(0,g.jsx)("span",{children:(0,u.ih)("days")})})]}),this.state.errorInfo&&(0,g.jsx)(Dt.Z,{color:"danger",children:this.state.errorInfo})]})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.props.toggleDialog,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.submit,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Mt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleOldPasswordInputChange=function(e){s.setState({oldPassword:e.target.value})},s.handleNewPasswordInputChange=function(e){s.setState({newPassword:e.target.value})},s.handleNewPasswordAgainInputChange=function(e){s.setState({newPasswordAgain:e.target.value})},s.formSubmit=function(e){var t=s.state,n=t.oldPassword,i=t.newPassword,r=t.newPasswordAgain;return n?i?i.length",t=(0,u.ih)("New password has been sent to your email {mail}. Please check your mailbox. If you don\u2019t receive the password, please check if your email address is properly configured.").replace("{mail}",e);return(0,g.jsxs)(d.Z,{isOpen:!0,centered:!0,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleDialog,children:(0,u.ih)("Reset library password")}),(0,g.jsxs)(b.Z,{children:[this.state.showLoading&&(0,g.jsx)("span",{children:(0,u.ih)("Sending new password...")}),this.state.showSuccess&&(0,g.jsx)("div",{dangerouslySetInnerHTML:{__html:t}}),this.state.showError&&(0,g.jsx)("span",{className:"err-message",children:this.state.errMessage})]})]})}}]),n}(a.Component),Pt=n(72233),Ft=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleInputChange=function(e){s.setState({inputValue:e})},s.formSubmit=function(){var e=s.state.inputValue;if(e&&e.length){s.setState({submitBtnDisabled:!0});var t=s.props,n=t.repoID,i=t.repoName,r=e.map((function(e,t){return e.value})).join(",");y.I.addNewRepoLabels(n,r).then((function(e){var t=(0,u.ih)("Successfully added label(s) for library {placeholder}").replace("{placeholder}",i);D.Z.success(t),s.props.toggleDialog()})).catch((function(e){var t=m.c.getErrorMsg(e);s.setState({formErrorMsg:t,submitBtnDisabled:!1})}))}else s.setState({formErrorMsg:(0,u.ih)("It is required.")})},s.state={isLoading:!0,existingLabels:null,errorMsg:"",submitBtnDisabled:!1},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.getAllRepoSnapshotLabels().then((function(t){e.setState({isLoading:!1,existingLabels:t.data,errorMsg:""})})).catch((function(t){var n=m.c.getErrorMsg(t);e.setState({isLoading:!1,errorMsg:n})}))}},{key:"render",value:function(){return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.props.toggleDialog,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleDialog,children:(0,u.ih)("Label Current State")}),(0,g.jsx)(b.Z,{children:(0,g.jsx)(_t,{data:this.state,handleChange:this.handleInputChange})}),this.state.existingLabels&&(0,g.jsxs)($.Z,{children:[(0,g.jsx)("button",{className:"btn btn-secondary",onClick:this.props.toggleDialog,children:(0,u.ih)("Cancel")}),(0,g.jsx)("button",{className:"btn btn-primary",disabled:this.state.submitBtnDisabled,onClick:this.formSubmit,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),_t=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.data,t=e.isLoading,n=e.errorMsg,i=e.existingLabels,s=e.formErrorMsg;return t?(0,g.jsx)(R.Z,{}):n?(0,g.jsx)("p",{className:"error mt-4 text-center",children:n}):(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(Pt.Z,{isMulti:!0,onChange:this.props.handleChange,placeholder:"",options:i.map((function(e,t){return{label:e,value:e}}))}),s&&(0,g.jsx)("p",{className:"error m-0 mt-2",children:s})]})}}]),n}(a.Component),Tt=Ft,Lt=n(47976),Ot=n(55146),Rt=n(13327),Et=n(99574),At=n(71757),Ut=n(82377),zt=n(51840),Bt=n(32487),Gt=n(71218),Ht=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.deleteUserFolderPermission=function(){var e=s.props.item;s.props.deleteUserFolderPermission(e)},s.onChangeUserFolderPerm=function(e){var t=s.props.item;s.props.onChangeUserFolderPerm(t.repo_id,e,t.folder_path,t.user_email)},s.state={isOperationShow:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=e.permission;return(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"".concat(u.ze,"profile/").concat(encodeURIComponent(e.user_email),"/"),target:"_blank",rel:"noreferrer",children:e.user_name})}),this.props.showPath&&(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"".concat(u.ze,"library/").concat(e.repo_id,"/").concat(m.c.encodePath(this.props.repoName+e.folder_path)),children:e.folder_name})}),(0,g.jsx)("td",{children:(0,g.jsx)(ve.Z,{isTextMode:!0,autoFocus:!0,isEditIconShow:this.state.isOperationShow,currentPermission:t,permissions:this.props.permissions,onPermissionChanged:this.onChangeUserFolderPerm})}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"hide"),onClick:this.deleteUserFolderPermission,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),Wt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleUserSelectChange=function(e){s.setState({selectedUsers:e})},s.setPermission=function(e){s.setState({permission:e})},s.addUserFolderPerm=function(){var e=s.state.selectedUsers,t=s.props.folderPath||s.state.folderPath;if(!e||!e.length||!t)return!1;var n=e.map((function(e,t){return e.email}));(s.props.isDepartmentRepo?y.I.addDepartmentRepoUserFolderPerm(s.props.repoID,s.state.permission,t,n):y.I.addUserFolderPerm(s.props.repoID,s.state.permission,t,n)).then((function(e){var t=[];if(e.data.failed.length>0)for(var n=0;n0&&this.state.errorMsg.map((function(e,t){var n="";return n=e.user_email?e.user_email+": "+e.error_msg:e,(0,g.jsx)("tr",{children:(0,g.jsx)("td",{colSpan:3,children:(0,g.jsx)("p",{className:"error",children:n})})},t)}))]})]}),(0,g.jsx)("div",{className:"share-list-container",children:(0,g.jsxs)("table",{className:"table-thead-hidden w-xs-250",children:[i,(0,g.jsx)("tbody",{children:n.map((function(n,i){return(0,g.jsx)(Ht,{item:n,permissions:e.permissions,deleteUserFolderPermission:e.deleteUserFolderPermItem,onChangeUserFolderPerm:e.onChangeUserFolderPerm,showPath:t,repoName:e.props.repoName},i)}))})]})})]})}}]),n}(a.Component),Vt=Wt,qt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.deleteGroupPermissionItem=function(){var e=s.props.item;s.props.deleteGroupPermissionItem(e)},s.onChangeGroupPermission=function(e){var t=s.props.item;s.props.onChangeGroupPermission(t,e)},s.state={isOperationShow:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"".concat(u.ze,"group/").concat(e.group_id,"/"),target:"_blank",rel:"noreferrer",children:e.group_name})}),this.props.showPath&&(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"".concat(u.ze,"library/").concat(e.repo_id,"/").concat(m.c.encodePath(this.props.repoName+e.folder_path)),children:e.folder_name})}),(0,g.jsx)("td",{children:(0,g.jsx)(ve.Z,{isTextMode:!0,autoFocus:!0,isEditIconShow:this.state.isOperationShow,currentPermission:e.permission,permissions:this.props.permissions,onPermissionChanged:this.onChangeGroupPermission})}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"hide"),onClick:this.deleteGroupPermissionItem,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),Kt=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleSelectChange=function(e){s.setState({selectedOption:e})},s.loadOptions=function(){y.I.shareableGroups().then((function(e){s.options=e.data.map((function(e,t){return{id:e.id,label:e.name,value:e.name}}))}))},s.listGroupPermissionItems=function(){var e=s.props,t=e.isDepartmentRepo,n=e.repoID,i=e.folderPath;(t?y.I.listDepartmentRepoGroupFolderPerm(n,i):y.I.listGroupFolderPerm(n,i)).then((function(e){0!==e.data.length&&s.setState({groupPermissionItems:e.data})}))},s.setPermission=function(e){s.setState({permission:e})},s.addGroupFolderPerm=function(){var e=s.state.selectedOption,t=s.props.folderPath||s.state.folderPath;if(!e||!t)return!1;(s.props.isDepartmentRepo?y.I.addDepartmentRepoGroupFolderPerm(s.props.repoID,s.state.permission,t,e.id):y.I.addGroupFolderPerm(s.props.repoID,s.state.permission,t,e.id)).then((function(e){var t=[];if(e.data.failed.length>0)for(var n=0;n0&&this.state.errorMsg.map((function(e,t){var n=e.group_id+": "+e.error_msg;return(0,g.jsx)("tr",{children:(0,g.jsx)("td",{colSpan:3,children:(0,g.jsx)("p",{className:"error",children:n})})},t)}))]})]}),(0,g.jsx)("div",{className:"share-list-container",children:(0,g.jsxs)("table",{className:"table-thead-hidden w-xs-250",children:[n,(0,g.jsx)("tbody",{children:this.state.groupPermissionItems.map((function(n,i){return(0,g.jsx)(qt,{item:n,permissions:e.permissions,deleteGroupPermissionItem:e.deleteGroupPermissionItem,onChangeGroupPermission:e.onChangeGroupPermission,showPath:t,repoName:e.props.repoName},i)}))})]})})]})}}]),n}(a.Component),Yt=Kt,Jt=(n(36491),function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggle=function(e){s.state.activeTab!==e&&s.setState({activeTab:e})},s.renderContent=function(){var e=s.state.activeTab;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{className:"share-dialog-side",children:(0,g.jsxs)(Lt.Z,{pills:!0,children:[(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"userPermission"===e,"aria-controls":"user-perm-panel",children:(0,g.jsx)(Rt.Z,{className:"userPermission"===e?"active":"",onClick:s.toggle.bind((0,w.Z)(s),"userPermission"),tabIndex:"0",onKeyDown:m.c.onKeyDown,children:(0,u.ih)("User Permission")})}),(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"groupPermission"===e,"aria-controls":"group-perm-panel",children:(0,g.jsx)(Rt.Z,{className:"groupPermission"===e?"active":"",onClick:s.toggle.bind((0,w.Z)(s),"groupPermission"),tabIndex:"0",onKeyDown:m.c.onKeyDown,children:(0,u.ih)("Group Permission")})})]})}),(0,g.jsx)("div",{className:"share-dialog-main",children:(0,g.jsxs)(Et.Z,{activeTab:s.state.activeTab,children:[(0,g.jsx)(At.Z,{tabId:"userPermission",role:"tabpanel",id:"user-perm-panel",children:(0,g.jsx)(Vt,{repoID:s.props.repoID,repoName:s.props.repoName,folderPath:s.props.folderPath,isDepartmentRepo:s.props.isDepartmentRepo})}),(0,g.jsx)(At.Z,{tabId:"groupPermission",role:"tabpanel",id:"group-perm-panel",children:(0,g.jsx)(Yt,{repoID:s.props.repoID,repoName:s.props.repoName,folderPath:s.props.folderPath,isDepartmentRepo:s.props.isDepartmentRepo})})]})})]})},s.state={activeTab:"userPermission"},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.repoName,n=e.folderName;return(0,g.jsx)("div",{children:(0,g.jsxs)(d.Z,{isOpen:!0,style:{maxWidth:"980px"},className:"share-dialog",toggle:this.props.toggleDialog,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleDialog,children:(0,g.jsx)("span",{children:t?m.c.generateDialogTitle((0,u.ih)("{placeholder} Folder Permission"),t):m.c.generateDialogTitle((0,u.ih)("Set {placeholder}'s permission"),n)})}),(0,g.jsx)(b.Z,{className:"dialog-list-container share-dialog-content",role:"tablist",children:this.renderContent()})]})})}}]),n}(a.Component)),Xt=n(67145),$t=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMenuItemClick=function(e){var t=m.c.getEventData(e,"toggle");s.props.onMenuItemClick(t)},s.onMenuItemKeyDown=function(e){"Enter"!=e.key&&"Space"!=e.key||s.onMenuItemClick(e)},s.onDropdownToggleClick=function(e){s.toggleOperationMenu(e)},s.onDropdownToggleKeyDown=function(e){"Enter"!=e.key&&"Space"!=e.key||s.onDropdownToggleClick(e)},s.toggleOperationMenu=function(e){var t=e.target?e.target.dataset:null;t&&t.toggle&&"Rename"===t.toggle?s.setState({isItemMenuShow:!s.state.isItemMenuShow}):s.setState({isItemMenuShow:!s.state.isItemMenuShow},(function(){s.state.isItemMenuShow?s.props.onFreezedItem():s.props.onUnfreezedItem()}))},s.toggleAdvancedMenuShown=function(e){s.setState({isAdvancedMenuShown:!0})},s.toggleAdvancedMenu=function(e){e.stopPropagation(),s.setState({isAdvancedMenuShown:!s.state.isAdvancedMenuShown},(function(){s.toggleOperationMenu(e)}))},s.onDropDownMouseMove=function(e){s.state.isAdvancedMenuShown&&e.target&&"dropdown-item"===e.target.className&&s.setState({isAdvancedMenuShown:!1})},s.generatorOperations=function(){var e=s.props.repo,t=u._y&&e.encrypted&&u.yV&&u.aZ,n=["Rename","Transfer"];if(u.n_&&n.push("Folder Permission"),n.push("Share Admin","Divider"),e.encrypted&&n.push("Change Password"),t&&n.push("Reset Password"),u._y){var i=e.monitored?"Unwatch File Changes":"Watch File Changes";n.push(i)}return n.push("Divider","History Setting","Advanced"),n},s.getAdvancedOperations=function(){var e=[];return e.push("API Token"),s.props.isPC&&u.cz&&e.push("Label Current State"),u.PZ&&e.push("Old Files Auto Delete"),e},s.translateOperations=function(e){var t="";switch(e){case"Star":t=(0,u.ih)("Star");break;case"Unstar":t=(0,u.ih)("Unstar");break;case"Share":t=(0,u.ih)("Share");break;case"Delete":t=(0,u.ih)("Delete");break;case"Rename":t=(0,u.ih)("Rename");break;case"Transfer":t=(0,u.ih)("Transfer");break;case"History Setting":t=(0,u.ih)("History Setting");break;case"Change Password":t=(0,u.ih)("Change Password");break;case"Reset Password":t=(0,u.ih)("Reset Password");break;case"Watch File Changes":t=(0,u.ih)("Watch File Changes");break;case"Unwatch File Changes":t=(0,u.ih)("Unwatch File Changes");break;case"Folder Permission":t=(0,u.ih)("Folder Permission");break;case"Label Current State":t=(0,u.ih)("Label Current State");break;case"API Token":t="API Token";break;case"Share Admin":t=(0,u.ih)("Share Admin");break;case"Old Files Auto Delete":t=(0,u.ih)("Auto Deletion Setting");break;case"Advanced":t=(0,u.ih)("Advanced")}return t},s.state={isItemMenuShow:!1,isAdvancedMenuShown:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.generatorOperations(),n=this.getAdvancedOperations();return this.props.isPC?(0,g.jsxs)(U.Z,{isOpen:this.state.isItemMenuShow,toggle:this.toggleOperationMenu,children:[(0,g.jsx)(z.Z,{tag:"i",role:"button",tabIndex:"0",className:"sf-dropdown-toggle sf2-icon-caret-down",title:(0,u.ih)("More Operations"),"aria-label":(0,u.ih)("More Operations"),onClick:this.onDropdownToggleClick,onKeyDown:this.onDropdownToggleKeyDown,"data-toggle":"dropdown"}),(0,g.jsx)(B.Z,{onMouseMove:this.onDropDownMouseMove,children:t.map((function(t,i){return"Divider"==t?(0,g.jsx)(G.Z,{divider:!0},i):"Advanced"==t?(0,g.jsxs)(U.Z,{direction:"right",className:"w-100",isOpen:e.state.isAdvancedMenuShown,toggle:e.toggleAdvancedMenu,onMouseMove:function(e){e.stopPropagation()},children:[(0,g.jsx)(z.Z,{caret:!0,className:"dropdown-item font-weight-normal rounded-0 d-flex justify-content-between align-items-center pr-2",onMouseEnter:e.toggleAdvancedMenuShown,children:e.translateOperations(t)}),(0,g.jsx)(B.Z,{children:n.map((function(t,n){return(0,g.jsx)(G.Z,{"data-toggle":t,onClick:e.onMenuItemClick,onKeyDown:e.onMenuItemKeyDown,children:e.translateOperations(t)},n)}))})]},i):(0,g.jsx)(G.Z,{"data-toggle":t,onClick:e.onMenuItemClick,onKeyDown:e.onMenuItemKeyDown,children:e.translateOperations(t)},i)}))})]}):(t.pop(),t.unshift("Delete"),t.unshift("Share"),this.props.isStarred?t.unshift("Unstar"):t.unshift("Star"),(0,g.jsxs)(U.Z,{isOpen:this.state.isItemMenuShow,toggle:this.toggleOperationMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isItemMenuShow}),(0,g.jsxs)("div",{className:"".concat(this.state.isItemMenuShow?"":"d-none"),onClick:this.toggleOperationMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsx)("div",{className:"mobile-operation-menu",children:t.map((function(t,n){return"Divider"!=t?(0,g.jsx)(G.Z,{className:"mobile-menu-item","data-toggle":t,onClick:e.onMenuItemClick,children:e.translateOperations(t)},n):null}))})]})]}))}}]),n}(a.Component),Qt=$t,en=n(5619),tn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onHideSelect=function(){s.setState({isEditing:!1})},s.onEditPermission=function(e){e.nativeEvent.stopImmediatePropagation(),s.setState({isEditing:!0})},s.onPermissionChanged=function(e){e.value!==s.props.currentPermission&&s.props.onPermissionChanged(e.value),s.setState({isEditing:!1})},s.onSelectHandler=function(e){e.nativeEvent.stopImmediatePropagation()},s.state={isEditing:!1},s.options=[{value:"rw",label:(0,g.jsx)("div",{children:(0,u.ih)("Read-Write")})},{value:"r",label:(0,g.jsx)("div",{children:(0,u.ih)("Read-Only")})}],s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.onHideSelect)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onHideSelect)}},{key:"render",value:function(){var e=this.props,t=e.currentPermission,n=e.isTextMode,i="rw"===t?(0,u.ih)("Read-Write"):(0,u.ih)("Read-Only");return(0,g.jsx)("div",{onClick:this.onSelectHandler,children:n&&!this.state.isEditing?(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{children:i}),this.props.isEditIconShow&&(0,g.jsx)(en.Z,{title:(0,u.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",op:this.onEditPermission})]}):(0,g.jsx)(jt.ME,{options:this.options,placeholder:i,onChange:this.onPermissionChanged,captureMenuScroll:!1})})}}]),n}(a.Component),nn=n(76998),sn=n.n(nn),rn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.onDeleteAPIToken=function(){s.props.deleteAPIToken(s.props.item.app_name)},s.onUpdateAPIToken=function(e){s.props.updateAPIToken(s.props.item.app_name,e)},s.onCopyAPIToken=function(){var e=s.props.item.api_token;sn()(e),D.Z.success((0,u.ih)("API token is copied to the clipboard."))},s.state={isOperationShow:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,tabIndex:"0",onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{className:"name",children:e.app_name}),(0,g.jsx)("td",{children:(0,g.jsx)(tn,{isTextMode:!0,isEditIconShow:this.state.isOperationShow,currentPermission:e.permission,onPermissionChanged:this.onUpdateAPIToken})}),(0,g.jsxs)("td",{children:[(0,g.jsx)("span",{children:e.api_token}),this.state.isOperationShow&&(0,g.jsx)(en.Z,{className:"far fa-copy action-icon",op:this.onCopyAPIToken,title:(0,u.ih)("Copy")})]}),(0,g.jsx)("td",{children:(0,g.jsx)(en.Z,{className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"hide"),op:this.onDeleteAPIToken,title:(0,u.ih)("Delete")})})]})}}]),n}(a.Component),on=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).listAPITokens=function(){y.I.listRepoAPITokens(s.repo.repo_id).then((function(e){s.setState({apiTokenList:e.data.repo_api_tokens,loading:!1})})).catch((function(e){403===e.response.status?s.setState({errorMsg:(0,u.ih)("Permission denied")}):s.handleError(e)}))},s.onInputChange=function(e){var t=e.target.value;s.setState({appName:t})},s.onKeyDown=function(e){13===e.keyCode&&(e.preventDefault(),s.addAPIToken())},s.setPermission=function(e){s.setState({permission:e})},s.addAPIToken=function(){if(s.state.appName){s.setState({isSubmitBtnActive:!1});var e=s.state,t=e.appName,n=e.permission,i=e.apiTokenList;y.I.addRepoAPIToken(s.repo.repo_id,t,n).then((function(e){i.push(e.data),s.setState({apiTokenList:i,isSubmitBtnActive:!0})})).catch((function(e){s.handleError(e),s.setState({isSubmitBtnActive:!0})}))}},s.deleteAPIToken=function(e){y.I.deleteRepoAPIToken(s.repo.repo_id,e).then((function(t){var n=s.state.apiTokenList.filter((function(t){return t.app_name!==e}));s.setState({apiTokenList:n})})).catch((function(e){s.handleError(e)}))},s.updateAPIToken=function(e,t){y.I.updateRepoAPIToken(s.repo.repo_id,e,t).then((function(n){var i=s.state.apiTokenList.filter((function(n){return n.app_name===e&&(n.permission=t),n}));s.setState({apiTokenList:i})})).catch((function(e){s.handleError(e)}))},s.handleError=function(e){e.response?D.Z.danger(e.response.data.error_msg||e.response.data.detail||(0,u.ih)("Error"),{duration:3}):D.Z.danger((0,u.ih)("Please check the network."),{duration:3})},s.renderContent=function(){var e=s.state.apiTokenList.map((function(e,t){return(0,g.jsx)(rn,{item:e,deleteAPIToken:s.deleteAPIToken,updateAPIToken:s.updateAPIToken},t)})),t=(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("App Name")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Permission")}),(0,g.jsx)("th",{width:"48%",children:"API Token"}),(0,g.jsx)("th",{width:"12%"})]})});return(0,g.jsxs)(a.Fragment,{children:[s.state.errorMsg&&(0,g.jsx)("p",{className:"error text-center",children:s.state.errorMsg}),!s.state.errorMsg&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("table",{className:"w-xs-250",children:[t,(0,g.jsx)("tbody",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{children:(0,g.jsx)(de.Z,{type:"text",id:"appName",value:s.state.appName,onChange:s.onInputChange,onKeyDown:s.onKeyDown})}),(0,g.jsx)("td",{children:(0,g.jsx)(tn,{isTextMode:!1,isEditIconShow:!1,currentPermission:s.state.permission,onPermissionChanged:s.setPermission})}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{className:"text-secondary",children:"--"})}),(0,g.jsx)("td",{children:(0,g.jsx)(Q.Z,{onClick:s.addAPIToken,disabled:!s.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})})]})})]}),(0,g.jsx)("div",{style:{minHeight:"10rem",maxHeight:"18rem"},children:0!==s.state.apiTokenList.length&&(0,g.jsxs)("table",{className:"table-thead-hidden w-xs-250",children:[t,(0,g.jsx)("tbody",{children:e})]})}),s.state.loading&&(0,g.jsx)(R.Z,{})]})]})},s.state={apiTokenList:[],permission:"rw",appName:"",errorMsg:"",loading:!0,isSubmitBtnActive:!0},s.repo=s.props.repo,s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listAPITokens()}},{key:"render",value:function(){var e=this.repo,t=''+m.c.HTMLescape(e.repo_name)+"",n=(0,u.ih)("{placeholder} API Token").replace("{placeholder}",t);return(0,g.jsxs)(d.Z,{isOpen:!0,style:{maxWidth:"800px"},toggle:this.props.onRepoAPITokenToggle,children:[(0,g.jsx)(J.Z,{toggle:this.props.onRepoAPITokenToggle,children:(0,g.jsx)("p",{dangerouslySetInnerHTML:{__html:n},className:"m-0"})}),(0,g.jsx)(b.Z,{children:(0,g.jsx)("div",{className:"o-auto",children:this.renderContent()})})]})}}]),n}(a.Component),an=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.onDeleteLink=function(e){e.preventDefault(),s.props.deleteItem(s.props.item)},s.state={isOperationShow:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e,t=this.props.item,n="/"===t.path?"/":t.path.slice(0,t.path.length-1);return e=t.is_dir?"".concat(u.ze,"library/").concat(t.repo_id,"/").concat(encodeURIComponent(t.repo_name)).concat(m.c.encodePath(n)):"".concat(u.ze,"lib/").concat(t.repo_id,"/file").concat(m.c.encodePath(t.path)),(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{className:"name",children:t.creator_name}),(0,g.jsx)("td",{children:t.is_dir?(0,g.jsx)(c.rU,{to:e,children:t.obj_name}):(0,g.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",children:t.obj_name})}),(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:t.link,target:"_blank",rel:"noreferrer",children:t.link})}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"invisible"),onClick:this.onDeleteLink,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),ln=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).deleteItem=function(e){y.I.deleteRepoShareLink(s.props.repo.repo_id,e.token).then((function(){var t=s.state.items.filter((function(t){return t.token!==e.token}));s.setState({items:t});var n=(0,u.ih)("Successfully deleted 1 item");D.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listRepoShareLinks(this.props.repo.repo_id).then((function(t){e.setState({loading:!1,items:t.data})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.loading,i=t.errorMsg,s=t.items;return(0,g.jsxs)(a.Fragment,{children:[n&&(0,g.jsx)(R.Z,{}),!n&&i&&(0,g.jsx)("p",{className:"error text-center mt-8",children:i}),!n&&!i&&!s.length&&(0,g.jsx)(O.Z,{forDialog:!0,children:(0,g.jsx)("p",{className:"text-secondary",children:(0,u.ih)("No share links")})}),!n&&!i&&s.length>0&&(0,g.jsxs)("table",{className:"table-hover",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"22%",children:(0,u.ih)("Creator")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"50%",children:(0,u.ih)("Link")}),(0,g.jsx)("th",{width:"8%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(an,{item:t,deleteItem:e.deleteItem},n)}))})]})]})}}]),n}(a.Component),cn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.onDeleteLink=function(e){e.preventDefault(),s.props.deleteItem(s.props.item)},s.state={isOperationShow:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t="/"===e.path?"/":e.path.slice(0,e.path.length-1),n="".concat(u.ze,"library/").concat(e.repo_id,"/").concat(encodeURIComponent(e.repo_name)).concat(m.c.encodePath(t));return(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{className:"name",children:e.creator_name}),(0,g.jsx)("td",{children:(0,g.jsx)(c.rU,{to:n,children:e.obj_name})}),(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:e.link,target:"_blank",rel:"noreferrer",children:e.link})}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"invisible"),onClick:this.onDeleteLink,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),hn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).deleteItem=function(e){y.I.deleteRepoUploadLink(s.props.repo.repo_id,e.token).then((function(){var t=s.state.items.filter((function(t){return t.token!==e.token}));s.setState({items:t});var n=(0,u.ih)("Successfully deleted 1 item");D.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listRepoUploadLinks(this.props.repo.repo_id).then((function(t){e.setState({loading:!1,items:t.data})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.loading,i=t.errorMsg,s=t.items;return(0,g.jsxs)(a.Fragment,{children:[n&&(0,g.jsx)(R.Z,{}),!n&&i&&(0,g.jsx)("p",{className:"error text-center mt-8",children:i}),!n&&!i&&!s.length&&(0,g.jsx)(O.Z,{forDialog:!0,children:(0,g.jsx)("p",{className:"text-secondary",children:(0,u.ih)("No upload links")})}),!n&&!i&&s.length>0&&(0,g.jsxs)("table",{className:"table-hover",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"22%",children:(0,u.ih)("Creator")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"50%",children:(0,u.ih)("Link")}),(0,g.jsx)("th",{width:"8%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(cn,{item:t,deleteItem:e.deleteItem},n)}))})]})]})}}]),n}(a.Component),pn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.onDeleteLink=function(e){e.preventDefault(),s.props.deleteItem(s.props.item)},s.changePerm=function(e){var t=s.props.item;y.I.updateShareToUserItemPermission(t.repo_id,t.path,"user",t.share_to,e).then((function(){s.setState({permission:e})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onEditPermission=function(e){e.nativeEvent.stopImmediatePropagation(),s.setState({isShowPermEditor:!0})},s.state={permission:s.props.item.permission,isOperationShow:!1,isShowPermEditor:!1},s.permissions=["rw","r"],u._y&&("/"===s.props.item.path&&s.props.isRepoOwner&&s.permissions.push("admin"),s.permissions.push("cloud-edit","preview")),s}return(0,s.Z)(n,[{key:"render",value:function(){var e,t=this.props.item,n="/"===t.path?"/":t.path.slice(0,t.path.length-1);return e="".concat(u.ze,"library/").concat(t.repo_id,"/").concat(encodeURIComponent(t.repo_name)).concat(m.c.encodePath(n)),(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{children:(0,g.jsx)(c.rU,{to:e,children:m.c.getFolderName(t.path)})}),(0,g.jsx)("td",{className:"name",children:t.share_to_name}),(0,g.jsxs)("td",{children:[!this.state.isShowPermEditor&&(0,g.jsxs)("div",{children:[(0,g.jsx)("span",{children:t.permission_name||m.c.sharePerms(this.state.permission)}),this.state.isOperationShow&&(0,g.jsx)("a",{href:"#",role:"button","aria-label":(0,u.ih)("Edit"),title:(0,u.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",onClick:this.onEditPermission})]}),this.state.isShowPermEditor&&(0,g.jsx)(ve.Z,{repoID:t.repo_id,isTextMode:!0,isEditIconShow:this.state.isOperationShow,isEditing:!0,currentPermission:this.state.permission,permissions:this.permissions,onPermissionChanged:this.changePerm})]}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"invisible"),onClick:this.onDeleteLink,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),dn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).deleteItem=function(e){y.I.deleteShareToUserItem(e.repo_id,e.path,"user",e.share_to).then((function(t){var n=s.state.items.filter((function(t){return t.path+t.share_to!==e.path+e.share_to}));s.setState({items:n});var i=(0,u.ih)("Successfully deleted 1 item");D.Z.success(i)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.getAllRepoFolderShareInfo(this.props.repo.repo_id,"user").then((function(t){e.setState({loading:!1,items:t.data.share_info_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.loading,i=t.errorMsg,s=t.items,r=this.props.repo.owner_email===u.b6;return(0,g.jsxs)(a.Fragment,{children:[n&&(0,g.jsx)(R.Z,{}),!n&&i&&(0,g.jsx)("p",{className:"error text-center mt-8",children:i}),!n&&!i&&!s.length&&(0,g.jsx)(O.Z,{forDialog:!0,children:(0,g.jsx)("p",{className:"text-secondary",children:(0,u.ih)("No user shares")})}),!n&&!i&&s.length>0&&(0,g.jsxs)("table",{className:"table-hover",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("User")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Permission")}),(0,g.jsx)("th",{width:"10%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(pn,{item:t,deleteItem:e.deleteItem,isRepoOwner:r},n)}))})]})]})}}]),n}(a.Component),un=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({isOperationShow:!0})},s.onMouseLeave=function(){s.setState({isOperationShow:!1})},s.onDeleteLink=function(e){e.preventDefault(),s.props.deleteItem(s.props.item)},s.changePerm=function(e){var t=s.props.item;y.I.updateShareToGroupItemPermission(t.repo_id,t.path,"group",t.share_to,e).then((function(){s.setState({permission:e})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onEditPermission=function(e){e.nativeEvent.stopImmediatePropagation(),s.setState({isShowPermEditor:!0})},s.state={permission:s.props.item.permission,isOperationShow:!1,isShowPermEditor:!1},s.permissions=["rw","r"],u._y&&("/"===s.props.item.path&&s.props.isRepoOwner&&s.permissions.push("admin"),s.permissions.push("cloud-edit","preview")),s}return(0,s.Z)(n,[{key:"render",value:function(){var e,t=this.props.item,n="/"===t.path?"/":t.path.slice(0,t.path.length-1);return e="".concat(u.ze,"library/").concat(t.repo_id,"/").concat(encodeURIComponent(t.repo_name)).concat(m.c.encodePath(n)),(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{children:(0,g.jsx)(c.rU,{to:e,children:m.c.getFolderName(t.path)})}),(0,g.jsx)("td",{className:"name",children:t.share_to_name}),(0,g.jsxs)("td",{children:[!this.state.isShowPermEditor&&(0,g.jsxs)("div",{children:[(0,g.jsx)("span",{children:t.permission_name||m.c.sharePerms(this.state.permission)}),this.state.isOperationShow&&(0,g.jsx)("a",{href:"#",role:"button","aria-label":(0,u.ih)("Edit"),title:(0,u.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",onClick:this.onEditPermission})]}),this.state.isShowPermEditor&&(0,g.jsx)(ve.Z,{repoID:t.repo_id,isTextMode:!0,isEditIconShow:this.state.isOperationShow,isEditing:!0,currentPermission:this.state.permission,permissions:this.permissions,onPermissionChanged:this.changePerm})]}),(0,g.jsx)("td",{children:(0,g.jsx)("span",{tabIndex:"0",role:"button",className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"invisible"),onClick:this.onDeleteLink,onKeyDown:m.c.onKeyDown,title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete")})})]})}}]),n}(a.Component),mn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).deleteItem=function(e){y.I.deleteShareToGroupItem(e.repo_id,e.path,"group",e.share_to).then((function(t){var n=s.state.items.filter((function(t){return t.path+t.share_to!==e.path+e.share_to}));s.setState({items:n});var i=(0,u.ih)("Successfully deleted 1 item");D.Z.success(i)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.state={loading:!0,errorMsg:"",items:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.getAllRepoFolderShareInfo(this.props.repo.repo_id,"group").then((function(t){e.setState({loading:!1,items:t.data.share_info_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.loading,i=t.errorMsg,s=t.items,r=this.props.repo.owner_email===u.b6;return(0,g.jsxs)(a.Fragment,{children:[n&&(0,g.jsx)(R.Z,{}),!n&&i&&(0,g.jsx)("p",{className:"error text-center mt-8",children:i}),!n&&!i&&!s.length&&(0,g.jsx)(O.Z,{forDialog:!0,children:(0,g.jsx)("p",{className:"text-secondary",children:(0,u.ih)("No group shares")})}),!n&&!i&&s.length>0&&(0,g.jsxs)("table",{className:"table-hover",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Group")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Permission")}),(0,g.jsx)("th",{width:"10%"})]})}),(0,g.jsx)("tbody",{children:s.map((function(t,n){return(0,g.jsx)(un,{item:t,deleteItem:e.deleteItem,isRepoOwner:r},n)}))})]})]})}}]),n}(a.Component),gn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).getInitialActiveTab=function(){return s.enableShareLink?"shareLink":s.enableUploadLink?"uploadLink":"shareToUser"},s.toggle=function(e){s.state.activeTab!==e&&s.setState({activeTab:e})},s.onTabKeyDown=function(e){"Enter"!=e.key&&"Space"!=e.key||e.target.click()},s.enableShareLink=!s.props.repo.encrypted&&u.Fl,s.enableUploadLink=!s.props.repo.encrypted&&u.$g,s.state={activeTab:s.getInitialActiveTab()},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.activeTab,t=this.props.repo.repo_name;return(0,g.jsx)("div",{children:(0,g.jsxs)(d.Z,{isOpen:!0,style:{maxWidth:"760px"},className:"share-dialog",toggle:this.props.toggleDialog,children:[(0,g.jsxs)(J.Z,{toggle:this.props.toggleDialog,children:[(0,g.jsx)("span",{className:"op-target",title:t,children:t})," ",(0,u.ih)("Share Admin")]}),(0,g.jsx)(b.Z,{className:"dialog-list-container share-dialog-content",role:"tablist",children:(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{className:"share-dialog-side",children:(0,g.jsxs)(Lt.Z,{pills:!0,children:[this.enableShareLink&&(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"shareLink"===e,"aria-controls":"share-link-panel",children:(0,g.jsx)(Rt.Z,{className:"shareLink"===e?"active":"",onClick:this.toggle.bind(this,"shareLink"),tabIndex:"0",onKeyDown:this.onTabKeyDown,children:(0,u.ih)("Share Links")})}),this.enableUploadLink&&(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"uploadLink"===e,"aria-controls":"upload-link-panel",children:(0,g.jsx)(Rt.Z,{className:"uploadLink"===e?"active":"",onClick:this.toggle.bind(this,"uploadLink"),tabIndex:"0",onKeyDown:this.onTabKeyDown,children:(0,u.ih)("Upload Links")})}),(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"shareToUser"===e,"aria-controls":"share-to-user-panel",children:(0,g.jsx)(Rt.Z,{className:"shareToUser"===e?"active":"",onClick:this.toggle.bind(this,"shareToUser"),tabIndex:"0",onKeyDown:this.onTabKeyDown,children:(0,u.ih)("User Shares")})}),(0,g.jsx)(Ot.Z,{role:"tab","aria-selected":"shareToGroup"===e,"aria-controls":"share-to-group-panel",children:(0,g.jsx)(Rt.Z,{className:"shareToGroup"===e?"active":"",onClick:this.toggle.bind(this,"shareToGroup"),tabIndex:"0",onKeyDown:this.onTabKeyDown,children:(0,u.ih)("Group Shares")})})]})}),(0,g.jsx)("div",{className:"share-dialog-main",children:(0,g.jsxs)(Et.Z,{activeTab:this.state.activeTab,children:[this.enableShareLink&&"shareLink"===e&&(0,g.jsx)(At.Z,{tabId:"shareLink",role:"tabpanel",id:"share-link-panel",children:(0,g.jsx)(ln,{repo:this.props.repo})}),this.enableUploadLink&&"uploadLink"===e&&(0,g.jsx)(At.Z,{tabId:"uploadLink",role:"tabpanel",id:"upload-link-panel",children:(0,g.jsx)(hn,{repo:this.props.repo})}),"shareToUser"===e&&(0,g.jsx)(At.Z,{tabId:"shareToUser",role:"tabpanel",id:"share-to-user-panel",children:(0,g.jsx)(dn,{repo:this.props.repo})}),"shareToGroup"===e&&(0,g.jsx)(At.Z,{tabId:"shareToGroup",role:"tabpanel",id:"share-to-group-panel",children:(0,g.jsx)(mn,{repo:this.props.repo})})]})})]})})]})})}}]),n}(a.Component),fn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).submit=function(){var e;if(s.state.isAutoDel){e=s.state.autoDelDays;if(!/^-?\d+$/.test(e)||e<=0)return void s.setState({errorInfo:(0,u.ih)("Please enter a positive integer")})}else e=0;var t=s.props.repoID;y.I.setRepoOldFilesAutoDelDays(t,e).then((function(e){s.props.toggleDialog(),D.Z.success((0,u.ih)("Successfully set it."))})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.handleKeyPress=function(e){"Enter"===e.key&&(s.submit(),e.preventDefault())},s.onChange=function(e){var t=e.target.value;s.setState({autoDelDays:t})},s.updateRadioCheck=function(e){"noAutoDel"===e?s.setState({isAutoDel:!1}):"autoDel"===e&&s.setState({isAutoDel:!0})},s.state={autoDelDays:0,isAutoDel:!1,errorInfo:""},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.getRepoOldFilesAutoDelDays(this.props.repoID).then((function(t){e.setState({autoDelDays:t.data.auto_delete_days,isAutoDel:t.data.auto_delete_days>0})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}},{key:"render",value:function(){var e=this;return(0,g.jsxs)(d.Z,{isOpen:!0,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleDialog,children:(0,u.ih)("Auto deletion")}),(0,g.jsx)(b.Z,{children:(0,g.jsxs)(yt.Z,{children:[(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"radio",name:"radio1",checked:!this.state.isAutoDel,onChange:function(){e.updateRadioCheck("noAutoDel")}})," ",(0,g.jsx)(pe.Z,{children:(0,u.ih)("Do not automatically delete files")})]}),(0,g.jsxs)(he.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"radio",name:"radio1",checked:this.state.isAutoDel,onChange:function(){e.updateRadioCheck("autoDel")}})," ",(0,g.jsx)(pe.Z,{children:(0,u.ih)("Automatically delete files that are not modified within certain days:")}),(0,g.jsx)(de.Z,{type:"text",className:"expire-input",value:this.state.autoDelDays,disabled:!this.state.isAutoDel,onChange:this.onChange,onKeyDown:this.handleKeyPress})," ",(0,g.jsx)(pe.Z,{children:(0,g.jsx)("span",{children:(0,u.ih)("days")})})]}),this.state.errorInfo&&(0,g.jsx)(Dt.Z,{color:"danger",children:this.state.errorInfo})]})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.props.toggleDialog,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.submit,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),vn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onFocus=function(){s.props.isItemFreezed||s.setState({isOpIconShow:!0})},s.onMouseEnter=function(){s.props.isItemFreezed||s.setState({isOpIconShow:!0,highlight:!0})},s.onMouseLeave=function(){s.props.isItemFreezed||s.setState({isOpIconShow:!1,highlight:!1})},s.onMenuItemClick=function(e){switch(e){case"Star":case"Unstar":s.onToggleStarRepo();break;case"Share":s.onShareToggle();break;case"Delete":s.onDeleteToggle();break;case"Rename":s.onRenameToggle();break;case"Transfer":s.onTransferToggle();break;case"History Setting":s.onHistorySettingToggle();break;case"Change Password":s.onChangePasswordToggle();break;case"Reset Password":s.onResetPasswordToggle();break;case"Watch File Changes":s.watchFileChanges();break;case"Unwatch File Changes":s.unwatchFileChanges();break;case"Folder Permission":s.onFolderPermissionToggle();break;case"Label Current State":s.onLabelToggle();break;case"API Token":s.onAPITokenToggle();break;case"Share Admin":s.toggleRepoShareAdminDialog();break;case"Old Files Auto Delete":s.toggleOldFilesAutoDelDialog()}},s.visitRepo=function(){!s.state.isRenaming&&s.props.repo.repo_name&&(0,c.c4)(s.repoURL)},s.onRepoClick=function(){s.props.onRepoClick(s.props.repo)},s.onToggleStarRepo=function(e){e.preventDefault();var t=s.props.repo.repo_name;s.state.isStarred?y.I.unstarItem(s.props.repo.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully unstarred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})):y.I.starItem(s.props.repo.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully starred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.watchFileChanges=function(){var e=s.props.repo;y.I.monitorRepo(e.repo_id).then((function(){s.props.onMonitorRepo(e,!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.unwatchFileChanges=function(){var e=s.props.repo;y.I.unMonitorRepo(e.repo_id).then((function(){s.props.onMonitorRepo(e,!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onShareToggle=function(e){void 0!=e&&e.preventDefault(),s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.onDeleteToggle=function(e){e.preventDefault(),s.setState({isDeleteDialogShow:!s.state.isDeleteDialogShow})},s.onRenameToggle=function(){s.props.onFreezedItem(),s.setState({isRenaming:!s.state.isRenaming})},s.onTransferToggle=function(){s.setState({isTransferDialogShow:!s.state.isTransferDialogShow})},s.onHistorySettingToggle=function(){s.setState({isHistorySettingDialogShow:!s.state.isHistorySettingDialogShow})},s.onChangePasswordToggle=function(){s.setState({isChangePasswordDialogShow:!s.state.isChangePasswordDialogShow})},s.onResetPasswordToggle=function(){s.setState({isResetPasswordDialogShow:!s.state.isResetPasswordDialogShow})},s.onLabelToggle=function(){s.setState({isLabelRepoStateDialogOpen:!s.state.isLabelRepoStateDialogOpen})},s.onFolderPermissionToggle=function(){s.setState({isFolderPermissionDialogShow:!s.state.isFolderPermissionDialogShow})},s.onAPITokenToggle=function(){s.setState({isAPITokenDialogShow:!s.state.isAPITokenDialogShow})},s.toggleRepoShareAdminDialog=function(){s.setState({isRepoShareAdminDialogOpen:!s.state.isRepoShareAdminDialogOpen})},s.toggleOldFilesAutoDelDialog=function(){s.setState({isOldFilesAutoDelDialogOpen:!s.state.isOldFilesAutoDelDialogOpen})},s.onUnfreezedItem=function(){s.setState({highlight:!1,isOpIconShow:!1}),s.props.onUnfreezedItem()},s.onRenameConfirm=function(e){var t=s.props.repo,n=t.repo_id;y.I.renameRepo(n,e).then((function(){s.props.onRenameRepo(t,e),s.onRenameCancel()})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onRenameCancel=function(){s.props.onUnfreezedItem(),s.setState({isRenaming:!s.state.isRenaming})},s.onTransferRepo=function(e){var t=s.props.repo.repo_id;y.I.transferRepo(t,e.email).then((function(e){s.props.onTransferRepo(t);var n=(0,u.ih)("Successfully transferred the library.");D.Z.success(n)})).catch((function(e){e.response?D.Z.danger(e.response.data.error_msg||(0,u.ih)("Error"),{duration:3}):D.Z.danger((0,u.ih)("Failed. Please check the network."),{duration:3})})),s.onTransferToggle()},s.onDeleteRepo=function(e){y.I.deleteRepo(e.repo_id).then((function(t){s.setState({isRepoDeleted:!0,isDeleteDialogShow:!1}),s.props.onDeleteRepo(e);var n=e.repo_name,i=(0,u.ih)("Successfully deleted {name}.").replace("{name}",n);D.Z.success(i)})).catch((function(t){var n=m.c.getErrorMsg(t);if(n===(0,u.ih)("Error")){var i=e.repo_name;n=(0,u.ih)("Failed to delete {name}.").replace("{name}",i)}D.Z.danger(n),s.setState({isRepoDeleted:!1})}))},s.renderPCUI=function(){var e=s.props.repo,t=m.c.getLibIconUrl(e),n=m.c.getLibIconTitle(e),i="".concat(u.ze,"library/").concat(e.repo_id,"/").concat(m.c.encodePath(e.repo_name),"/");return(0,g.jsxs)("tr",{className:s.state.highlight?"tr-highlight":"",onMouseEnter:s.onMouseEnter,onMouseLeave:s.onMouseLeave,onClick:s.onRepoClick,onFocus:s.onFocus,children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("a",{href:"#",role:"button","aria-label":s.state.isStarred?(0,u.ih)("Unstar"):(0,u.ih)("Star"),onClick:s.onToggleStarRepo,children:(0,g.jsx)("i",{className:"fa-star ".concat(s.state.isStarred?"fas":"far star-empty")})})}),(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:t,title:n,alt:n,width:"24"})}),(0,g.jsxs)("td",{children:[s.state.isRenaming&&(0,g.jsx)(Xt.Z,{name:e.repo_name,onRenameConfirm:s.onRenameConfirm,onRenameCancel:s.onRenameCancel}),!s.state.isRenaming&&e.repo_name&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:i,children:e.repo_name}),e.monitored&&(0,g.jsx)($e,{repoID:e.repo_id})]}),!s.state.isRenaming&&!e.repo_name&&(0,u.ih)("Broken (please contact your administrator to fix this library)")]}),(0,g.jsx)("td",{children:e.repo_name&&s.state.isOpIconShow&&(0,g.jsxs)("div",{children:[(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-share",title:(0,u.ih)("Share"),role:"button","aria-label":(0,u.ih)("Share"),onClick:s.onShareToggle}),(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-delete",title:(0,u.ih)("Delete"),role:"button","aria-label":(0,u.ih)("Delete"),onClick:s.onDeleteToggle}),(0,g.jsx)(Qt,{isPC:!0,repo:s.props.repo,onMenuItemClick:s.onMenuItemClick,onFreezedItem:s.props.onFreezedItem,onUnfreezedItem:s.onUnfreezedItem})]})}),(0,g.jsx)("td",{children:e.size}),u.al.length>0&&(0,g.jsx)("td",{children:e.storage_name}),(0,g.jsx)("td",{title:A()(e.last_modified).format("llll"),children:A()(e.last_modified).fromNow()})]})},s.renderMobileUI=function(){var e=s.props.repo,t=m.c.getLibIconUrl(e),n=m.c.getLibIconTitle(e),i=s.repoURL="".concat(u.ze,"library/").concat(e.repo_id,"/").concat(m.c.encodePath(e.repo_name),"/");return(0,g.jsxs)("tr",{className:s.state.highlight?"tr-highlight":"",onMouseEnter:s.onMouseEnter,onMouseLeave:s.onMouseLeave,onClick:s.onRepoClick,children:[(0,g.jsx)("td",{onClick:s.visitRepo,children:(0,g.jsx)("img",{src:t,title:n,alt:n,width:"24"})}),(0,g.jsxs)("td",{onClick:s.visitRepo,children:[s.state.isRenaming&&(0,g.jsx)(Xt.Z,{name:e.repo_name,onRenameConfirm:s.onRenameConfirm,onRenameCancel:s.onRenameCancel}),!s.state.isRenaming&&e.repo_name&&(0,g.jsxs)("div",{children:[(0,g.jsx)(c.rU,{to:i,children:e.repo_name}),e.monitored&&(0,g.jsx)($e,{repoID:e.repo_id})]}),!s.state.isRenaming&&!e.repo_name&&(0,g.jsx)("div",{children:"(gettext('Broken (please contact your administrator to fix this library)'))"}),(0,g.jsx)("span",{className:"item-meta-info",children:e.size}),(0,g.jsx)("span",{className:"item-meta-info",title:A()(e.last_modified).format("llll"),children:A()(e.last_modified).fromNow()})]}),(0,g.jsx)("td",{children:e.repo_name&&(0,g.jsx)(Qt,{repo:s.props.repo,isStarred:s.state.isStarred,onMenuItemClick:s.onMenuItemClick,onFreezedItem:s.props.onFreezedItem,onUnfreezedItem:s.onUnfreezedItem})})]})},s.state={isOpIconShow:!1,isStarred:s.props.repo.starred,isRenaming:!1,isShareDialogShow:!1,isDeleteDialogShow:!1,isTransferDialogShow:!1,isHistorySettingDialogShow:!1,isChangePasswordDialogShow:!1,isResetPasswordDialogShow:!1,isLabelRepoStateDialogOpen:!1,isFolderPermissionDialogShow:!1,isAPITokenDialogShow:!1,isRepoShareAdminDialogOpen:!1,isRepoDeleted:!1,isOldFilesAutoDelDialogOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repo;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(p(),{query:"(min-width: 768px)",children:this.renderPCUI()}),(0,g.jsx)(p(),{query:"(max-width: 767.8px)",children:this.renderMobileUI()}),this.state.isShareDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:"library",itemName:e.repo_name,itemPath:"/",repoID:e.repo_id,repoEncrypted:e.encrypted,enableDirPrivateShare:!0,userPerm:e.permission,toggleDialog:this.onShareToggle})}),this.state.isDeleteDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(kt.Z,{repo:e,isRepoDeleted:this.state.isRepoDeleted,onDeleteRepo:this.onDeleteRepo,toggle:this.onDeleteToggle})}),this.state.isTransferDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(It.Z,{itemName:e.repo_name,submit:this.onTransferRepo,toggleDialog:this.onTransferToggle})}),this.state.isHistorySettingDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Nt,{repoID:e.repo_id,itemName:e.repo_name,toggleDialog:this.onHistorySettingToggle})}),this.state.isChangePasswordDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Mt,{repoID:e.repo_id,repoName:e.repo_name,toggleDialog:this.onChangePasswordToggle})}),this.state.isResetPasswordDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Zt,{repoID:e.repo_id,toggleDialog:this.onResetPasswordToggle})}),this.state.isLabelRepoStateDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Tt,{repoID:e.repo_id,repoName:e.repo_name,toggleDialog:this.onLabelToggle})}),this.state.isFolderPermissionDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jt,{toggleDialog:this.onFolderPermissionToggle,repoID:e.repo_id,repoName:e.repo_name})}),this.state.isAPITokenDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(on,{repo:e,onRepoAPITokenToggle:this.onAPITokenToggle})}),this.state.isRepoShareAdminDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(gn,{repo:e,toggleDialog:this.toggleRepoShareAdminDialog})}),this.state.isOldFilesAutoDelDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(fn,{repoID:e.repo_id,toggleDialog:this.toggleOldFilesAutoDelDialog})})]})}}]),n}(a.Component),xn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onFreezedItem=function(){s.setState({isItemFreezed:!0})},s.onUnfreezedItem=function(){s.setState({isItemFreezed:!1})},s.sortByName=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortRepoList("name",t)},s.sortByTime=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortRepoList("time",t)},s.sortBySize=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortRepoList("size",t)},s.renderRepoListView=function(){return(0,g.jsx)(a.Fragment,{children:s.props.repoList.map((function(e){return(0,g.jsx)(vn,{repo:e,isItemFreezed:s.state.isItemFreezed,onFreezedItem:s.onFreezedItem,onUnfreezedItem:s.onUnfreezedItem,onRenameRepo:s.props.onRenameRepo,onDeleteRepo:s.props.onDeleteRepo,onTransferRepo:s.props.onTransferRepo,onMonitorRepo:s.props.onMonitorRepo,onRepoClick:s.props.onRepoClick},e.repo_id)}))})},s.renderPCUI=function(){var e=u.al.length>0,t="asc"===s.props.sortOrder?(0,g.jsx)("span",{className:"fas fa-caret-up"}):(0,g.jsx)("span",{className:"fas fa-caret-down"});return(0,g.jsxs)("table",{children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"4%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Library Type")})}),(0,g.jsx)("th",{width:e?"33%":"38%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortByName,children:[(0,u.ih)("Name")," ","name"===s.props.sortBy&&t]})}),(0,g.jsx)("th",{width:"14%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Actions")})}),(0,g.jsx)("th",{width:e?"15%":"20%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortBySize,children:[(0,u.ih)("Size")," ","size"===s.props.sortBy&&t]})}),e?(0,g.jsx)("th",{width:"15%",children:(0,u.ih)("Storage Backend")}):null,(0,g.jsx)("th",{width:e?"15%":"20%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortByTime,children:[(0,u.ih)("Last Update")," ","time"===s.props.sortBy&&t]})})]})}),(0,g.jsx)("tbody",{children:s.renderRepoListView()})]})},s.renderMobileUI=function(){return(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)(qe,{}),(0,g.jsx)("tbody",{children:s.renderRepoListView()})]})},s.state={isItemFreezed:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(p(),{query:"(min-width: 768px)",children:this.renderPCUI()}),(0,g.jsx)(p(),{query:"(max-width: 767.8px)",children:this.renderMobileUI()})]})}}]),n}(a.Component),wn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog})]}),(0,g.jsxs)("div",{className:"cur-view-content",children:[this.state.isLoading&&(0,g.jsx)(R.Z,{}),!this.state.isLoading&&this.state.errorMsg&&(0,g.jsx)("p",{className:"error text-center mt-8",children:this.state.errorMsg}),!this.state.isLoading&&!this.state.errorMsg&&0===this.state.repoList.length&&this.emptyTip,!this.state.isLoading&&!this.state.errorMsg&&this.state.repoList.length>0&&(0,g.jsx)(xn,{sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,repoList:this.state.repoList,onRenameRepo:this.onRenameRepo,onDeleteRepo:this.onDeleteRepo,onTransferRepo:this.onTransferRepo,onMonitorRepo:this.onMonitorRepo,onRepoClick:this.onRepoClick,sortRepoList:this.sortRepoList})]})]}),!this.state.isLoading&&!this.state.errorMsg&&this.state.isGuideForNewDialogOpen&&(0,g.jsx)(yn,{toggleDialog:this.toggleGuideForNewDialog}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortRepoList}),this.state.isShowDetails&&(0,g.jsx)("div",{className:"cur-view-detail",children:(0,g.jsx)(bt,{currentRepo:this.state.currentRepo,closeDetails:this.closeDetails})})]})]})}}]),n}(a.Component);A().locale(u.KQ);var jn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).refreshDeletedRepoList=function(e){var t=s.state.deletedRepoList.filter((function(t){return t.repo_id!==e}));s.setState({deletedRepoList:t})},s.state={deletedRepoList:[],isLoading:!0},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listDeletedRepo().then((function(t){e.setState({deletedRepoList:t.data,isLoading:!1})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}},{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{className:"main-panel-north",children:(0,g.jsx)(Le.Z,{onSearchedClick:this.props.onSearchedClick})}),(0,g.jsx)("div",{className:"main-panel-center",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path",children:(0,g.jsxs)("div",{className:"path-container",children:[(0,g.jsx)(c.rU,{to:u.ze+"my-libs/",children:(0,u.ih)("My Libraries")}),(0,g.jsx)("span",{className:"path-split",children:"/"}),(0,g.jsx)("span",{children:(0,u.ih)("Deleted Libraries")})]})}),(0,g.jsxs)("div",{className:"cur-view-content",children:[this.state.isLoading&&(0,g.jsx)(R.Z,{}),!this.state.isLoading&&0===this.state.deletedRepoList.length&&(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No deleted libraries")}),(0,g.jsx)("p",{children:(0,u.ih)("You have not deleted any libraries in the last {placeholder} days. A deleted library will be cleaned automatically after this period.").replace("{placeholder}",u.UR)})]}),0!==this.state.deletedRepoList.length&&(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"tip mt-2",children:(0,u.ih)("Tip: libraries deleted {placeholder} days ago will be cleaned automatically.").replace("{placeholder}",u.UR)}),(0,g.jsx)(Cn,{deletedRepoList:this.state.deletedRepoList,refreshDeletedRepoList:this.refreshDeletedRepoList})]})]})]})})]})}}]),n}(a.Component),Cn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.deletedRepoList;return(0,g.jsxs)("table",{children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{style:{width:"4%"}}),(0,g.jsx)("th",{style:{width:"52%"},children:(0,u.ih)("Name")}),(0,g.jsx)("th",{style:{width:"30%"},children:(0,u.ih)("Deleted Time")}),(0,g.jsx)("th",{style:{width:"14%"}})]})}),(0,g.jsx)("tbody",{children:t&&t.map((function(t){return(0,g.jsx)(Sn,{repo:t,refreshDeletedRepoList:e.props.refreshDeletedRepoList},t.repo_id)}))})]})}}]),n}(a.Component),Sn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.props.isItemFreezed||s.setState({hideRestoreMenu:!1,highlight:!0})},s.onMouseLeave=function(){s.props.isItemFreezed||s.setState({hideRestoreMenu:!0,highlight:!1})},s.restoreDeletedRepo=function(e){e.preventDefault();var t=s.props.repo.repo_id,n=s.props.repo.repo_name;y.I.restoreDeletedRepo(t).then((function(e){var i=(0,u.ih)("Successfully restored the library.")+" "+n;D.Z.success(i),s.props.refreshDeletedRepoList(t)})).catch((function(e){var t=m.c.getErrorMsg(e);t===(0,u.ih)("Error")&&(t=(0,u.ih)("Failed. Please check the network.")),D.Z.danger(t)}))},s.state={hideRestoreMenu:!0,highlight:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=A().utc(this.props.repo.del_time).toDate();e=A()(e).fromNow();var t=m.c.getLibIconUrl(this.props.repo);return(0,g.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,tabIndex:"0",onFocus:this.onMouseEnter,children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("img",{src:t,alt:"",width:"24"})}),(0,g.jsx)("td",{className:"name",children:this.props.repo.repo_name}),(0,g.jsx)("td",{className:"update",children:e}),(0,g.jsx)("td",{children:(0,g.jsx)("a",{href:"#",onClick:this.restoreDeletedRepo,title:(0,u.ih)("Restore"),role:"button","aria-label":(0,u.ih)("Restore"),className:"sf2-icon-reply action-icon ".concat(this.state.highlight?"":"vh")})})]})}}]),n}(a.Component),bn=jn,kn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o-1,r=t.owner_email===u.b6,o=t.is_admin,a=[];if(u._y){if(-1!=t.owner_email.indexOf("@seafile_group")){if(i){if(t.owner_email==n.id+"@seafile_group"){if(s.isDeparementOnwerGroupMember=!0,a=["Rename"],u.n_&&a.push("Folder Permission"),a.push("Share Admin","Divider"),t.encrypted&&a.push("Change Password"),t.encrypted&&u.yV&&u.aZ&&a.push("Reset Password"),"r"==t.permission||"rw"==t.permission){var l=t.monitored?"Unwatch File Changes":"Watch File Changes";a.push(l)}return a.push("Divider","History Setting","Details"),m.c.isDesktop()&&a.push("Advanced"),a}a.push("Unshare")}}else(r||o)&&a.push("Share"),(i||r||o)&&a.push("Unshare");if("r"==t.permission||"rw"==t.permission){var c=t.monitored?"Unwatch File Changes":"Watch File Changes";a.push(c)}}else r&&a.push("Share"),(i||r)&&a.push("Unshare");return a},s.generatorMobileMenu=function(){var e=[];if(s.props.libraryType&&"public"===s.props.libraryType){var t=s.props.repo.owner_email===u.b6;(u.AU||t)&&e.push("Unshare")}else e=s.generatorOperations(),s.isDeparementOnwerGroupMember&&(e.unshift("Unshare"),e.unshift("Share"));return e.length?(0,g.jsxs)(U.Z,{isOpen:s.state.isItemMenuShow,toggle:s.toggleOperationMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":s.state.isItemMenuShow,onClick:s.clickOperationMenuToggle}),(0,g.jsxs)("div",{className:"".concat(s.state.isItemMenuShow?"":"d-none"),onClick:s.toggleOperationMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsx)("div",{className:"mobile-operation-menu",children:e.map((function(e,t){return(0,g.jsx)(G.Z,{"data-toggle":e,onClick:s.onMenuItemClick,children:s.translateMenuItem(e)},t)}))})]})]}):null},s.generatorPCMenu=function(){var e=[];if(s.props.libraryType&&"public"===s.props.libraryType){var t=s.props.repo.owner_email===u.b6;(u.AU||t)&&e.push("Unshare")}else e=s.generatorOperations();var n=(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-share",title:(0,u.ih)("Share"),role:"button","aria-label":(0,u.ih)("Share"),onClick:s.onItemShare}),i=(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-x3",title:(0,u.ih)("Unshare"),role:"button","aria-label":(0,u.ih)("Unshare"),onClick:s.onItemUnshare}),r=(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-delete",title:(0,u.ih)("Delete"),role:"button","aria-label":(0,u.ih)("Delete"),onClick:s.onItemDeleteToggle});if(s.isDeparementOnwerGroupMember){var o=s.getAdvancedOperations();return(0,g.jsxs)(a.Fragment,{children:[n,r,(0,g.jsxs)(U.Z,{isOpen:s.state.isItemMenuShow,toggle:s.toggleOperationMenu,children:[(0,g.jsx)(z.Z,{className:"sf-dropdown-toggle sf2-icon-caret-down border-0 p-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":s.state.isItemMenuShow,"aria-haspopup":!0,style:{minWidth:"0"},onClick:s.clickOperationMenuToggle,onKeyDown:s.onDropdownToggleKeyDown}),(0,g.jsx)(B.Z,{onMouseMove:s.onDropDownMouseMove,children:e.map((function(e,t){return"Divider"==e?(0,g.jsx)(G.Z,{divider:!0},t):"Advanced"==e?(0,g.jsxs)(U.Z,{direction:"right",className:"w-100",isOpen:s.state.isAdvancedMenuShown,toggle:s.toggleAdvancedMenu,onMouseMove:function(e){e.stopPropagation()},children:[(0,g.jsx)(z.Z,{caret:!0,className:"dropdown-item font-weight-normal rounded-0 d-flex justify-content-between align-items-center pr-2",onMouseEnter:s.toggleAdvancedMenuShown,children:s.translateMenuItem(e)}),(0,g.jsx)(B.Z,{children:o.map((function(e,t){return(0,g.jsx)(G.Z,{"data-toggle":e,onClick:s.onMenuItemClick,onKeyDown:s.onMenuItemKeyDown,children:s.translateMenuItem(e)},t)}))})]},t):(0,g.jsx)(G.Z,{"data-toggle":e,onClick:s.onMenuItemClick,onKeyDown:s.onMenuItemKeyDown,children:s.translateMenuItem(e)},t)}))})]})]})}return(0,g.jsx)(a.Fragment,{children:e.map((function(e){switch(e){case"Share":return(0,g.jsx)(a.Fragment,{children:n},e);case"Unshare":return(0,g.jsx)(a.Fragment,{children:i},e);case"Watch File Changes":case"Unwatch File Changes":return(0,g.jsxs)(U.Z,{isOpen:s.state.isItemMenuShow,toggle:s.toggleOperationMenu,children:[(0,g.jsx)(z.Z,{className:"sf-dropdown-toggle sf2-icon-caret-down border-0 p-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":s.state.isItemMenuShow,"aria-haspopup":!0,style:{minWidth:"0"},onClick:s.clickOperationMenuToggle,onKeyDown:s.onDropdownToggleKeyDown}),(0,g.jsx)(B.Z,{children:[e].map((function(e,t){return(0,g.jsx)(G.Z,{"data-toggle":e,onClick:s.onMenuItemClick,onKeyDown:s.onMenuItemKeyDown,children:s.translateMenuItem(e)},t)}))})]},e);default:return null}}))})},s.onToggleStarRepo=function(e){e.preventDefault();var t=s.props.repo.repo_name;s.state.isStarred?y.I.unstarItem(s.props.repo.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully unstarred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})):y.I.starItem(s.props.repo.repo_id,"/").then((function(){s.setState({isStarred:!s.state.isStarred});var e=(0,u.ih)("Successfully starred {library_name_placeholder}.").replace("{library_name_placeholder}",t);D.Z.success(e)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.renderPCUI=function(){var e=s.getRepoComputeParams(),t=e.iconUrl,n=e.iconTitle,i=e.libPath,r=s.props.repo;return(0,g.jsx)(a.Fragment,{children:(0,g.jsxs)("tr",{className:s.state.highlight?"tr-highlight":"",onMouseEnter:s.onMouseEnter,onMouseOver:s.onMouseOver,onMouseLeave:s.onMouseLeave,onFocus:s.onMouseEnter,children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("a",{href:"#",role:"button","aria-label":s.state.isStarred?(0,u.ih)("Unstar"):(0,u.ih)("Star"),onClick:s.onToggleStarRepo,children:(0,g.jsx)("i",{className:"fa-star ".concat(s.state.isStarred?"fas":"far star-empty")})})}),(0,g.jsx)("td",{children:(0,g.jsx)("img",{src:t,title:n,alt:n,width:"24"})}),(0,g.jsx)("td",{children:s.state.isRenaming?(0,g.jsx)(Xt.Z,{name:r.repo_name,onRenameConfirm:s.onRenameConfirm,onRenameCancel:s.onRenameCancel}):(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:i,children:r.repo_name}),r.monitored&&(0,g.jsx)($e,{repoID:r.repo_id})]})}),(0,g.jsx)("td",{children:s.state.isOperationShow&&s.generatorPCMenu()}),(0,g.jsx)("td",{children:r.size}),(0,g.jsx)("td",{title:A()(r.last_modified).format("llll"),children:A()(r.last_modified).fromNow()}),(0,g.jsx)("td",{title:r.owner_contact_email,children:r.owner_name})]})})},s.visitRepo=function(){s.state.isRenaming||(0,c.c4)(s.repoURL)},s.renderMobileUI=function(){var e=s.getRepoComputeParams(),t=e.iconUrl,n=e.iconTitle,i=e.libPath,r=s.props.repo;return s.repoURL=i,(0,g.jsx)(a.Fragment,{children:(0,g.jsxs)("tr",{className:s.state.highlight?"tr-highlight":"",onMouseEnter:s.onMouseEnter,onMouseOver:s.onMouseOver,onMouseLeave:s.onMouseLeave,children:[(0,g.jsx)("td",{onClick:s.visitRepo,children:(0,g.jsx)("img",{src:t,title:n,width:"24",alt:n})}),(0,g.jsxs)("td",{onClick:s.visitRepo,children:[s.state.isRenaming?(0,g.jsx)(Xt.Z,{name:r.repo_name,onRenameConfirm:s.onRenameConfirm,onRenameCancel:s.onRenameCancel}):(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:i,children:r.repo_name}),r.monitored&&(0,g.jsx)($e,{repoID:r.repo_id})]}),(0,g.jsx)("br",{}),(0,g.jsx)("span",{className:"item-meta-info",title:r.owner_contact_email,children:r.owner_name}),(0,g.jsx)("span",{className:"item-meta-info",children:r.size}),(0,g.jsx)("span",{className:"item-meta-info",title:A()(r.last_modified).format("llll"),children:A()(r.last_modified).fromNow()})]}),(0,g.jsx)("td",{children:s.generatorMobileMenu()})]})})},s.state={highlight:!1,isOperationShow:!1,isItemMenuShow:!1,isAdvancedMenuShown:!1,isShowSharedDialog:!1,isRenaming:!1,isStarred:s.props.repo.starred,isFolderPermissionDialogOpen:!1,isHistorySettingDialogShow:!1,isDeleteDialogShow:!1,isAPITokenDialogShow:!1,isRepoShareAdminDialogOpen:!1,isRepoDeleted:!1,isChangePasswordDialogShow:!1,isResetPasswordDialogShow:!1,isOldFilesAutoDelDialogOpen:!1},s.isDeparementOnwerGroupMember=!1,s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repo,t=e.owner_email.indexOf("@seafile_group")>-1;return(0,g.jsxs)(a.Fragment,{children:[m.c.isDesktop()?this.renderPCUI():this.renderMobileUI(),this.state.isShowSharedDialog&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:"library",itemName:e.repo_name,itemPath:"/",repoID:e.repo_id,repoEncrypted:e.encrypted,enableDirPrivateShare:!0,userPerm:e.permission,isAdmin:e.is_admin,isGroupOwnedRepo:t,toggleDialog:this.toggleShareDialog})}),this.state.isFolderPermissionDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jt,{toggleDialog:this.onItemFolderPermissionToggle,repoID:e.repo_id,repoName:e.repo_name,isDepartmentRepo:!0})}),this.state.isDeleteDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(kt.Z,{repo:this.props.repo,isRepoDeleted:this.state.isRepoDeleted,onDeleteRepo:this.onItemDelete,toggle:this.onItemDeleteToggle})}),this.state.isHistorySettingDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Nt,{repoID:e.repo_id,itemName:e.repo_name,toggleDialog:this.onHistorySettingToggle})}),this.state.isAPITokenDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(on,{repo:e,onRepoAPITokenToggle:this.onAPITokenToggle})}),this.state.isRepoShareAdminDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(gn,{repo:e,toggleDialog:this.toggleRepoShareAdminDialog})}),this.state.isChangePasswordDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Mt,{repoID:e.repo_id,repoName:e.repo_name,toggleDialog:this.onChangePasswordToggle})}),this.state.isResetPasswordDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Zt,{repoID:e.repo_id,toggleDialog:this.onResetPasswordToggle})}),this.state.isOldFilesAutoDelDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(fn,{repoID:e.repo_id,toggleDialog:this.toggleOldFilesAutoDelDialog})})]})}}]),n}(a.Component),Mn=Nn,Zn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).sortByName=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("name",t)},s.sortByTime=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("time",t)},s.sortBySize=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("size",t)},s.getSortMetaData=function(){return{sortByName:"name"==s.props.sortBy,sortByTime:"time"==s.props.sortBy,sortBySize:"size"==s.props.sortBy,sortIcon:"asc"==s.props.sortOrder?(0,g.jsx)("span",{className:"fas fa-caret-up"}):(0,g.jsx)("span",{className:"fas fa-caret-down"})}},s.onFreezedItem=function(){s.setState({isItemFreezed:!0})},s.onUnfreezedItem=function(){s.setState({isItemFreezed:!1})},s.onItemRename=function(e,t){if(s.props.repoList.some((function(e){return e.name===t}))){var n=(0,u.ih)('The name "{name}" is already taken. Please choose a different name.');return n=n.replace("{name}",m.c.HTMLescape(t)),D.Z.danger(n),!1}s.props.onItemRename(e,t)},s.renderRepoListView=function(){return(0,g.jsx)(a.Fragment,{children:s.props.repoList.map((function(e){return(0,g.jsx)(Mn,{repo:e,libraryType:s.props.libraryType,currentGroup:s.props.currentGroup,isItemFreezed:s.state.isItemFreezed,onFreezedItem:s.onFreezedItem,onUnfreezedItem:s.onUnfreezedItem,onItemUnshare:s.props.onItemUnshare,onItemDelete:s.props.onItemDelete,onItemDetails:s.props.onItemDetails,onItemRename:s.props.onItemRename,onMonitorRepo:s.props.onMonitorRepo},e.repo_id)}))})},s.renderPCUI=function(){var e=void 0===s.props.isShowTableThread||s.props.isShowTableThread,t=s.getSortMetaData(),n=t.sortByName,i=t.sortByTime,r=t.sortBySize,o=t.sortIcon;return(0,g.jsxs)("table",{className:e?"":"table-thead-hidden",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"4%"}),(0,g.jsx)("th",{width:"4%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Library Type")})}),(0,g.jsx)("th",{width:"36%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortByName,children:[(0,u.ih)("Name")," ",n&&o]})}),(0,g.jsx)("th",{width:"12%",children:(0,g.jsx)("span",{className:"sr-only",children:(0,u.ih)("Actions")})}),(0,g.jsx)("th",{width:"14%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortBySize,children:[(0,u.ih)("Size")," ",r&&o]})}),(0,g.jsx)("th",{width:"14%",children:(0,g.jsxs)("a",{className:"d-block table-sort-op",href:"#",onClick:s.sortByTime,children:[(0,u.ih)("Last Update")," ",i&&o]})}),(0,g.jsx)("th",{width:"16%",children:(0,u.ih)("Owner")})]})}),(0,g.jsx)("tbody",{children:s.renderRepoListView()})]})},s.renderMobileUI=function(){return(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)(qe,{}),(0,g.jsx)("tbody",{children:s.renderRepoListView()})]})},s.state={isItemFreezed:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=m.c.isDesktop()?this.renderPCUI():this.renderMobileUI();return this.props.hasNextPage?(0,g.jsxs)(a.Fragment,{children:[e,(0,g.jsx)(R.Z,{})]}):e}}]),n}(a.Component),Pn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onCreateRepo=function(e){y.I.createPublicRepo(e).then((function(e){var t={repo_id:e.data.id,repo_name:e.data.name,permission:e.data.permission,size:e.data.size,owner_name:e.data.owner_name,owner_email:e.data.owner,mtime:e.data.mtime,encrypted:e.data.encrypted},n=new Ve(t),i=s.addRepoItem(n);s.setState({repoList:i}),s.onCreateRepoToggle()})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onRepoSelectedHandler=function(e){e.forEach((function(e){y.I.selectOwnedRepoToPublic(e.repo_id,{share_type:"public",permission:e.sharePermission}).then((function(){var t=s.addRepoItem(e);s.setState({repoList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}))},s.onItemUnshare=function(e){y.I.unshareRepo(e.repo_id,{share_type:"public"}).then((function(){var t=s.state.repoList.filter((function(t){return t.repo_id!==e.repo_id}));s.setState({repoList:t});var n=(0,u.ih)("Successfully unshared {name}").replace("{name}",e.repo_name);D.Z.success(n)})).catch((function(t){var n=m.c.getErrorMsg(t);n===(0,u.ih)("Error")&&(n=(0,u.ih)("Failed to unshare {name}").replace("{name}",e.repo_name)),(0,D.Z)(n)}))},s.onItemDelete=function(){},s.addRepoItem=function(e){for(var t=!1,n=0,i=s.state.repoList,r=0;r0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog})]}),(0,g.jsxs)("div",{className:"cur-view-content",children:[this.state.isLoading&&(0,g.jsx)(R.Z,{}),!this.state.isLoading&&e&&e,!this.state.isLoading&&0===this.state.repoList.length&&t,!this.state.isLoading&&this.state.repoList.length>0&&(0,g.jsx)(Zn,{libraryType:this.state.libraryType,repoList:this.state.repoList,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems,onItemUnshare:this.onItemUnshare,onItemDelete:this.onItemDelete})]})]})}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems}),this.state.isCreateRepoDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ct,{libraryType:this.state.libraryType,onCreateToggle:this.onCreateRepoToggle,onCreateRepo:this.onCreateRepo})}),this.state.isSelectRepoDialpgShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(In,{onRepoSelectedHandler:this.onRepoSelectedHandler,onShareRepoDialogClose:this.onSelectRepoToggle})})]})}}]),n}(a.Component),Fn=Pn,_n=n(74165),Tn=n(15861),Ln=n(242),On=n.n(Ln),Rn=""!==u.NZ?On()(u.NZ):void 0,En=new(function(){function e(){(0,i.Z)(this,e)}return(0,s.Z)(e,[{key:"watchRepo",value:function(e,t){Rn&&(Rn.emit("repo_update",{request:"watch_update",repo_id:e,user:{name:u.u2,username:u.b6,contact_email:u.Ru}}),Rn.on("repo_update",t))}},{key:"unwatchRepo",value:function(e,t){Rn&&(Rn.emit("repo_update",{request:"unwatch_update",repo_id:e,user:{name:u.u2,username:u.b6,contact_email:u.Ru}}),Rn.off("repo_update",t))}}]),e}()),An=n(52423),Un=n(57050),zn=n(25335),Bn=n(84385),Gn=n(84690),Hn=n(21761),Wn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleSubmit=function(e){var t=s.props.repoID,n=s.state.password;y.I.setRepoDecryptPassword(t,n).then((function(e){s.props.onLibDecryptDialog()})).catch((function(e){s.setState({showError:!0})})),e.preventDefault()},s.handleKeyPress=function(e){"Enter"==e.key&&s.handleSubmit(e)},s.handleChange=function(e){s.setState({password:e.target.value,showError:!1})},s.toggle=function(){window.location.href=u.ze},s.state={password:"",showError:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsx)(d.Z,{isOpen:!0,children:(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("button",{type:"button",className:"close",onClick:this.toggle,children:(0,g.jsx)("span",{"aria-hidden":"true",children:"\xd7"})}),(0,g.jsxs)(yt.Z,{className:"lib-decrypt-form text-center",children:[(0,g.jsx)("img",{src:"".concat(u.si,"img/lock.png"),alt:"","aria-hidden":"true"}),(0,g.jsx)("p",{className:"intro",children:(0,u.ih)("This library is password protected")}),this.state.showError&&(0,g.jsx)("p",{className:"error",children:(0,u.ih)("Wrong password")}),(0,g.jsx)("input",{type:"password",name:"password",className:"form-control password-input",autoComplete:"off",onKeyPress:this.handleKeyPress,placeholder:(0,u.ih)("Password"),onChange:this.handleChange}),(0,g.jsx)("button",{type:"submit",className:"btn btn-primary submit",onClick:this.handleSubmit,children:(0,u.ih)("Submit")}),(0,g.jsxs)("p",{className:"tip",children:["* ",(0,u.ih)("The password will be kept in the server for only 1 hour.")]})]})]})})}}]),n}(a.Component),Vn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0){var r=s.state.childName.substring(0,e),o=s.state.childName.substring(e);s.setState({childName:r+"(draft)"+o,isMarkdownDraft:!s.state.isMarkdownDraft})}else 0===e?s.setState({childName:"(draft)"+s.state.childName,isMarkdownDraft:!s.state.isMarkdownDraft}):s.setState({isMarkdownDraft:!s.state.isMarkdownDraft})},s.checkDuplicatedName=function(){return s.props.checkDuplicatedName(s.state.childName)},s.onAfterModelOpened=function(){s.newInput.current&&(s.newInput.current.focus(),s.newInput.current.setSelectionRange(0,0))},s.toggleMarkSdocDraft=function(e){s.setState({isSdocDraft:e.target.checked})},s.state={parentPath:"",childName:e.fileType||"",isMarkdownDraft:!1,isSdocDraft:!1,errMessage:"",isSubmitBtnActive:!1},s.newInput=a.createRef(),s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.parentPath;"/"===e[e.length-1]?this.setState({parentPath:e}):this.setState({parentPath:e+"/"})}},{key:"render",value:function(){var e=this.state.isSdocDraft,t=this.props.toggleDialog;return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:t,onOpened:this.onAfterModelOpened,children:[(0,g.jsx)(J.Z,{toggle:t,children:(0,u.ih)("New File")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsxs)(yt.Z,{children:[(0,g.jsxs)(he.Z,{children:[(0,g.jsx)(pe.Z,{for:"fileName",children:(0,u.ih)("Name")}),(0,g.jsx)(de.Z,{id:"fileName",onKeyPress:this.handleKeyPress,innerRef:this.newInput,value:this.state.childName,onChange:this.handleChange})]}),".md"==this.props.fileType&&u.NT&&(0,g.jsx)(he.Z,{check:!0,children:(0,g.jsxs)(pe.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"checkbox",onChange:this.handleCheck})," ",(0,u.ih)("This is a draft")]})}),".sdoc"==this.props.fileType&&(0,g.jsx)(he.Z,{check:!0,children:(0,g.jsxs)(pe.Z,{check:!0,children:[(0,g.jsx)(de.Z,{type:"checkbox",checked:e,onChange:this.toggleMarkSdocDraft}),(0,g.jsx)("span",{children:(0,u.ih)("Mark as draft")})]})})]}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",className:"mt-2",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:t,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Xn=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggleMobileOpMenu=function(){s.setState({isMobileOpMenuOpen:!s.state.isMobileOpMenuOpen})},s.hideOperationMenu=function(){s.setState({isUploadMenuShow:!1,isCreateMenuShow:!1})},s.toggleOperationMenu=function(e){e.nativeEvent.stopImmediatePropagation();var t=e.target.getBoundingClientRect(),n={position:"fixed",display:"block",left:t.left,top:t.bottom};s.setState({operationMenuStyle:n})},s.onUploadClick=function(e){s.toggleOperationMenu(e),s.setState({isUploadMenuShow:!s.state.isUploadMenuShow,isCreateMenuShow:!1})},s.onUploadFile=function(e){s.setState({isUploadMenuShow:!1}),s.props.onUploadFile(e)},s.onUploadFolder=function(e){s.setState({isUploadMenuShow:!1}),s.props.onUploadFolder(e)},s.onCreateClick=function(e){s.toggleOperationMenu(e),s.setState({isCreateMenuShow:!s.state.isCreateMenuShow,isUploadMenuShow:!1})},s.onShareClick=function(){s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.onCreateFolderToggle=function(){s.setState({isCreateFolderDialogShow:!s.state.isCreateFolderDialogShow})},s.onCreateFileToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:""})},s.onCreateMarkdownToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:".md"})},s.onCreateExcelToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:".xlsx"})},s.onCreatePPTToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:".pptx"})},s.onCreateWordToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:".docx"})},s.onCreateSeaDocToggle=function(){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:".sdoc"})},s.onAddFolder=function(e){s.setState({isCreateFolderDialogShow:!1}),s.props.onAddFolder(e)},s.checkDuplicatedName=function(e){return s.props.direntList.some((function(t){return t.name===e}))},s.state={fileType:".md",isCreateFileDialogShow:!1,isCreateFolderDialogShow:!1,isUploadMenuShow:!1,isCreateMenuShow:!1,isShareDialogShow:!1,operationMenuStyle:"",isMobileOpMenuOpen:!1},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){document.addEventListener("click",this.hideOperationMenu)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.hideOperationMenu)}},{key:"render",value:function(){var e=this.props,t=e.path,n=e.repoName,i=e.userPerm,s="/"===t?"library":"dir",r="/"==t?n:m.c.getFolderName(t),o=m.c.getUserPermission(i),l=o.isCustomPermission,c=o.customPermission,h=!0,p=!0;if(l){var d=c.permission;h=d.upload,p=d.create}var f=null;if(m.c.isDesktop()){var v=this.props.showShareBtn;f=(0,g.jsxs)(a.Fragment,{children:[h&&(0,g.jsx)(a.Fragment,{children:m.c.isSupportUploadFolder()?(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("button",{className:"btn btn-secondary operation-item",onClick:this.onUploadClick,"aria-haspopup":"true","aria-expanded":this.state.isUploadMenuShow,"aria-controls":"upload-menu",children:(0,u.ih)("Upload")}),this.state.isUploadMenuShow&&(0,g.jsxs)("div",{className:"menu dropdown-menu",style:this.state.operationMenuStyle,role:"menu",id:"upload-menu",children:[(0,g.jsx)("button",{type:"button",className:"dropdown-item",onClick:this.onUploadFile,role:"menuitem",children:(0,u.ih)("Upload Files")}),(0,g.jsx)("button",{type:"button",className:"dropdown-item",onClick:this.onUploadFolder,role:"menuitem",children:(0,u.ih)("Upload Folder")})]})]}):(0,g.jsx)("button",{className:"btn btn-secondary operation-item",title:(0,u.ih)("Upload"),onClick:this.onUploadFile,children:(0,u.ih)("Upload")})}),p&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("button",{className:"btn btn-secondary operation-item",onClick:this.onCreateClick,"aria-haspopup":"true","aria-expanded":this.state.isUploadMenuShow,"aria-controls":"new-menu",children:(0,u.ih)("New")}),this.state.isCreateMenuShow&&(0,g.jsxs)("div",{className:"menu dropdown-menu",style:this.state.operationMenuStyle,role:"menu",id:"new-menu",children:[(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreateFolderToggle,role:"menuitem",children:(0,u.ih)("New Folder")}),(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreateFileToggle,children:(0,u.ih)("New File")}),(0,g.jsx)("div",{className:"dropdown-divider"}),(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreateMarkdownToggle,role:"menuitem",children:(0,u.ih)("New Markdown File")}),(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreateExcelToggle,role:"menuitem",children:(0,u.ih)("New Excel File")}),(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreatePPTToggle,role:"menuitem",children:(0,u.ih)("New PowerPoint File")}),(0,g.jsx)("button",{className:"dropdown-item",onClick:this.onCreateWordToggle,role:"menuitem",children:(0,u.ih)("New Word File")}),u.np&&(0,g.jsxs)("button",{className:"dropdown-item",onClick:this.onCreateSeaDocToggle,role:"menuitem",children:[(0,u.ih)("New SeaDoc File")," (beta)"]})]})]}),v&&(0,g.jsx)("button",{className:"btn btn-secondary operation-item",title:(0,u.ih)("Share"),onClick:this.onShareClick,children:(0,u.ih)("Share")})]})}else f=(0,g.jsxs)(U.Z,{isOpen:this.state.isMobileOpMenuOpen,toggle:this.toggleMobileOpMenu,children:[(0,g.jsx)(z.Z,{tag:"span",className:"sf2-icon-plus mobile-toolbar-icon"}),(0,g.jsxs)(B.Z,{children:[h&&(0,g.jsx)(G.Z,{onClick:this.onUploadFile,children:(0,u.ih)("Upload")}),p&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(G.Z,{onClick:this.onCreateFolderToggle,children:(0,u.ih)("New Folder")}),(0,g.jsx)(G.Z,{onClick:this.onCreateFileToggle,children:(0,u.ih)("New File")})]})]})]});return(0,g.jsxs)(a.Fragment,{children:[("rw"===i||"admin"===i||"cloud-edit"===i||l)&&(0,g.jsx)("div",{className:"dir-operation",children:f}),m.c.isDesktop()&&(0,g.jsx)(Kn,{currentMode:this.props.currentMode,switchViewMode:this.props.switchViewMode,isCustomPermission:l}),this.state.isCreateFileDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jn,{parentPath:this.props.path,fileType:this.state.fileType,onAddFile:this.props.onAddFile,checkDuplicatedName:this.checkDuplicatedName,toggleDialog:this.onCreateFileToggle})}),this.state.isCreateFolderDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Yn.Z,{parentPath:this.props.path,onAddFolder:this.onAddFolder,checkDuplicatedName:this.checkDuplicatedName,addFolderCancel:this.onCreateFolderToggle})}),this.state.isShareDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:s,itemName:r,itemPath:this.props.path,repoID:this.props.repoID,repoEncrypted:this.props.repoEncrypted,enableDirPrivateShare:this.props.enableDirPrivateShare,userPerm:this.props.userPerm,isGroupOwnedRepo:this.props.isGroupOwnedRepo,toggleDialog:this.onShareClick})})]})}}]),n}(a.Component),$n=n(3888),Qn=n(69498),ei=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleSubmit=function(){s.props.isMutipleOperation?s.moveItems():s.moveItem()},s.moveItems=function(){var e=s.props.repoID,t=s.state,n=t.repo,i=t.selectedPath,r=(0,u.ih)("Invalid destination path");if(n&&""!==i){var o=s.props.selectedDirentList,a=[];if(o.forEach((function(e){var t=m.c.joinPath(s.props.path,e.name);a.push(t)})),a.some((function(e){return e===i})))s.setState({errMessage:r});else if(i&&i===s.props.path&&n.repo_id===e)s.setState({errMessage:r});else{var l="";if(a.some((function(e){var t=i.length>e.length&&i.indexOf(e)>-1;return t&&(l=e),t})))return r=(r=(r=(0,u.ih)("Can not move directory %(src)s to its subdirectory %(des)s")).replace("%(src)s",l)).replace("%(des)s",i),void s.setState({errMessage:r});s.props.onItemsMove(n,i),s.toggle()}}else s.setState({errMessage:r})},s.moveItem=function(){var e=s.props.repoID,t=s.state,n=t.repo,i=t.selectedPath,r=m.c.joinPath(s.props.path,s.props.dirent.name),o=(0,u.ih)("Invalid destination path");if(!n||n.repo_id===e&&""===i)s.setState({errMessage:o});else if(i&&r===i)s.setState({errMessage:o});else if(i&&s.props.path===i&&n.repo_id===e)s.setState({errMessage:o});else{if(i&&i.length>r.length&&i.indexOf(r)>-1)return o=(o=(o=(0,u.ih)("Can not move directory %(src)s to its subdirectory %(des)s")).replace("%(src)s",r)).replace("%(des)s",i),void s.setState({errMessage:o});s.props.onItemMove(n,s.props.dirent,i,s.props.path),s.toggle()}},s.toggle=function(){s.props.onCancelMove()},s.onDirentItemClick=function(e,t){s.setState({repo:e,selectedPath:t,errMessage:""})},s.onRepoItemClick=function(e){s.setState({repo:e,selectedPath:"/",errMessage:""})},s.state={repo:{repo_id:s.props.repoID},selectedPath:s.props.path,errMessage:""},s}return(0,s.Z)(n,[{key:"shouldComponentUpdate",value:function(e,t){return this.state.errMessage!==t.errMessage}},{key:"render",value:function(){var e=(0,u.ih)("Move {placeholder} to");e=this.props.isMutipleOperation?(0,u.ih)("Move selected item(s) to:"):e.replace("{placeholder}",''+m.c.HTMLescape(this.props.dirent.name)+"");var t=this.props.repoEncrypted?"only_current_library":"current_repo_and_other_repos",n=this.props,i=n.dirent,s=n.selectedDirentList,r=(i||s[0]).permission;return m.c.getUserPermission(r).isCustomPermission&&(t="only_current_library"),(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.toggle,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:(0,g.jsx)("div",{dangerouslySetInnerHTML:{__html:e}})}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)(Gt.Z,{repoID:this.props.repoID,currentPath:this.props.path,onDirentItemClick:this.onDirentItemClick,onRepoItemClick:this.onRepoItemClick,mode:t}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",className:"mt-2",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),ti=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleSubmit=function(){s.props.isMutipleOperation?s.copyItems():s.copyItem()},s.copyItems=function(){var e=s.state,t=e.repo,n=e.selectedPath,i=(0,u.ih)("Invalid destination path");if(t&&""!==n){var r=s.props.selectedDirentList,o=[];if(r.forEach((function(e){var t=m.c.joinPath(s.props.path,e.name);o.push(t)})),o.some((function(e){return e===n})))s.setState({errMessage:i});else{var a="";if(o.some((function(e){var t=n.length>e.length&&n.indexOf(e)>-1;return t&&(a=e),t})))return i=(i=(i=(0,u.ih)("Can not move directory %(src)s to its subdirectory %(des)s")).replace("%(src)s",a)).replace("%(des)s",n),void s.setState({errMessage:i});s.props.onItemsCopy(t,n),s.toggle()}}else s.setState({errMessage:i})},s.copyItem=function(){var e=s.state,t=e.repo,n=e.repoID,i=e.selectedPath,r=m.c.joinPath(s.props.path,s.props.dirent.name),o=(0,u.ih)("Invalid destination path");if(!t||t.repo_id===n&&""===i)s.setState({errMessage:o});else if(i&&r===i)s.setState({errMessage:o});else{if(i&&i.length>r.length&&i.indexOf(r)>-1)return o=(o=(o=(0,u.ih)("Can not copy directory %(src)s to its subdirectory %(des)s")).replace("%(src)s",r)).replace("%(des)s",i),void s.setState({errMessage:o});s.props.onItemCopy(t,s.props.dirent,i,s.props.path),s.toggle()}},s.toggle=function(){s.props.onCancelCopy()},s.onDirentItemClick=function(e,t){s.setState({repo:e,selectedPath:t,errMessage:""})},s.onRepoItemClick=function(e){s.setState({repo:e,selectedPath:"/",errMessage:""})},s.state={repo:{repo_id:s.props.repoID},selectedPath:s.props.path,errMessage:""},s}return(0,s.Z)(n,[{key:"shouldComponentUpdate",value:function(e,t){return this.state.errMessage!==t.errMessage}},{key:"render",value:function(){var e=(0,u.ih)("Copy {placeholder} to");e=this.props.isMutipleOperation?(0,u.ih)("Copy selected item(s) to:"):e.replace("{placeholder}",''+m.c.HTMLescape(this.props.dirent.name)+"");var t=this.props.repoEncrypted?"only_current_library":"current_repo_and_other_repos";return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.toggle,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:(0,g.jsx)("div",{dangerouslySetInnerHTML:{__html:e}})}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)(Gt.Z,{repoID:this.props.repoID,currentPath:this.props.path,onDirentItemClick:this.onDirentItemClick,onRepoItemClick:this.onRepoItemClick,mode:t}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",className:"mt-2",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),ni=n(86561),ii=n(22724),si=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleChange=function(e){e.target.value.trim()?s.setState({isSubmitBtnActive:!0}):s.setState({isSubmitBtnActive:!1}),s.setState({newName:e.target.value})},s.handleSubmit=function(){var e=s.validateInput(),t=e.isValid,n=e.errMessage;if(t)if(s.checkDuplicatedName()){var i=(0,u.ih)('The name "{name}" is already taken. Please choose a different name.');i=i.replace("{name}",m.c.HTMLescape(s.state.newName)),s.setState({errMessage:i})}else s.props.onRename(s.state.newName),s.props.toggleCancel();else s.setState({errMessage:n})},s.handleKeyPress=function(e){"Enter"===e.key&&s.handleSubmit()},s.toggle=function(){s.props.toggleCancel()},s.changeState=function(e){var t=e.name;s.setState({newName:t})},s.validateInput=function(){var e=s.state.newName.trim(),t=!0,n="";return e?e.indexOf("/")>-1?{isValid:t=!1,errMessage:n=(0,u.ih)("Name should not include '/'.")}:{isValid:t,errMessage:n}:{isValid:t=!1,errMessage:n=(0,u.ih)("Name is required.")}},s.checkDuplicatedName=function(){return s.props.checkDuplicatedName(s.state.newName)},s.onAfterModelOpened=function(){if(s.newInput.current){s.newInput.current.focus();var e=s.props.dirent;if("file"===e.type){var t=e.name.lastIndexOf(".md");s.newInput.current.setSelectionRange(0,t,"forward")}else s.newInput.current.setSelectionRange(0,-1)}},s.state={newName:"",errMessage:"",isSubmitBtnActive:!1},s.newInput=a.createRef(),s}return(0,s.Z)(n,[{key:"componentWillMount",value:function(){this.setState({newName:this.props.dirent.name})}},{key:"componentDidMount",value:function(){var e=this.props.dirent;this.changeState(e)}},{key:"componentWillReceiveProps",value:function(e){this.changeState(e.dirent)}},{key:"render",value:function(){var e=this.props.dirent.type;return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.toggle,onOpened:this.onAfterModelOpened,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:"file"===e?(0,u.ih)("Rename File"):(0,u.ih)("Rename Folder")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("p",{children:"file"===e?(0,u.ih)("New file name"):(0,u.ih)("New folder name")}),(0,g.jsx)(de.Z,{onKeyPress:this.handleKeyPress,innerRef:this.newInput,value:this.state.newName,onChange:this.handleChange}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",className:"mt-2",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),ri=n(2169),oi=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onItemsDelete=function(){s.props.onItemsDelete()},s.onItemsDownload=function(){var e=s.props,t=e.path,n=e.repoID,i=e.selectedDirentList;if(i.length){if(1===i.length&&!i[0].isDir()){var r=m.c.joinPath(t,i[0].name),o=Qn.Z.getUrl({type:"download_file_url",repoID:n,filePath:r});return void(location.href=o)}if(u.Zb){var a=s.props.selectedDirentList.map((function(e){return e.name}));y.I.zipDownload(n,t,a).then((function(e){var t=e.data.zip_token;location.href="".concat(u.gc,"zip/").concat(t)})).catch((function(e){var t=m.c.getErrorMsg(e);s.setState({isLoading:!1,errorMsg:t})}))}else s.setState({isZipDialogOpen:!0})}},s.closeZipDialog=function(){s.setState({isZipDialogOpen:!1})},s.checkDuplicatedName=function(e){return m.c.checkDuplicatedNameInList(s.props.direntList,e)},s.onItemRename=function(e){var t=s.props.selectedDirentList[0];s.props.onItemRename(t,e)},s.onPermissionItem=function(){s.setState({showLibContentViewDialogs:!s.state.showLibContentViewDialogs,isPermissionDialogOpen:!s.state.isPermissionDialogOpen})},s.onMarkAsDraft=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.sdocMarkAsDraft(t,n).then((function(t){s.props.updateDirent(e,"is_sdoc_draft",!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onUnmarkAsDraft=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.sdocUnmarkAsDraft(t,n).then((function(t){s.props.updateDirent(e,"is_sdoc_draft",!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onStartRevise=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.sdocStartRevise(t,n).then((function(e){var n=u.ze+"lib/"+t+"/file"+m.c.encodePath(e.data.file_path);window.open(n)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.getDirentMenuList=function(e){var t=s.props.isRepoOwner,n=s.props.currentRepoInfo,i=m.c.getDirentOperationList(t,n,e,!0),r=["Move","Copy","Delete","Download"];return i="dir"==e.type?i.filter((function(e,t){return-1==r.indexOf(e.key)&&"Divider"!=e})):i.filter((function(e,t){return-1==r.indexOf(e.key)}))},s.onMenuItemClick=function(e){var t=s.props.selectedDirentList[0];switch(e){case"Share":s.setState({showLibContentViewDialogs:!0,showShareDialog:!0});break;case"Rename":s.setState({showLibContentViewDialogs:!0,isRenameDialogOpen:!0});break;case"Permission":s.onPermissionItem();break;case"Tags":s.listFileTags(t);break;case"Lock":s.lockFile(t);break;case"Unlock":s.unlockFile(t);break;case"Mark as draft":s.onMarkAsDraft(t);break;case"Unmark as draft":s.onUnmarkAsDraft(t);break;case"History":s.onHistory(t);break;case"Access Log":s.onAccessLog(t);break;case"Properties":s.props.showDirentDetail("info");break;case"Open via Client":s.onOpenViaClient(t)}},s.lockFile=function(e){var t=s.getDirentPath(e);y.I.lockfile(s.props.repoID,t).then((function(t){t.data.is_locked&&(s.props.updateDirent(e,"is_locked",!0),s.props.updateDirent(e,"locked_by_me",!0),s.props.updateDirent(e,"lock_owner_name",u.u2),s.props.unSelectDirent())})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.unlockFile=function(e){var t=s.getDirentPath(e);y.I.unlockfile(s.props.repoID,t).then((function(t){t.data.is_locked||(s.props.updateDirent(e,"is_locked",!1),s.props.updateDirent(e,"locked_by_me",!1),s.props.updateDirent(e,"lock_owner_name",""),s.props.unSelectDirent())})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onOpenViaClient=function(e){var t=s.getDirentPath(e),n=Qn.Z.getUrl({type:"open_via_client",repoID:s.props.repoID,filePath:t});location.href=n},s.onHistory=function(e){var t=s.getDirentPath(e),n=Qn.Z.getUrl({type:"file_revisions",repoID:s.props.repoID,filePath:t});location.href=n},s.onAccessLog=function(e){var t=s.getDirentPath(e),n=u.ze+"repo/file-access/"+s.props.repoID+"/?p="+encodeURIComponent(t);window.open(n)},s.toggleCancel=function(){s.setState({showLibContentViewDialogs:!1,showShareDialog:!1,showEditFileTagDialog:!1,isRenameDialogOpen:!1,isPermissionDialogOpen:!1})},s.listFileTags=function(e){var t=s.getDirentPath(e);y.I.listFileTags(s.props.repoID,t).then((function(e){for(var t=e.data.file_tags,n=0,i=t.length;n0&&s.forEach((function(e){o+=e.name+" "})),(0,g.jsxs)("div",{className:"path-container",children:[this.props.pathPrefix&&this.props.pathPrefix.map((function(t,n){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:t.url,className:"normal",onClick:function(n){return e.onTabNavClick(n,t.name,t.id)},children:(0,u.ih)(t.showName)}),(0,g.jsx)("span",{className:"path-split",children:"/"})]},n)})),this.props.pathPrefix&&0===this.props.pathPrefix.length&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{to:u.ze+"my-libs/",className:"normal",onClick:function(t){return e.onTabNavClick(t,"my-libs")},children:(0,u.ih)("Libraries")}),(0,g.jsx)("span",{className:"path-split",children:"/"})]}),!this.props.pathPrefix&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(c.rU,{href:u.ze+"my-libs/",className:"normal",onClick:function(t){return e.onTabNavClick(t,"my-libs")},children:(0,u.ih)("Libraries")}),(0,g.jsx)("span",{className:"path-split",children:"/"})]}),"/"===n||""===n?(0,g.jsx)("span",{className:"path-repo-name",children:i}):(0,g.jsx)("a",{className:"path-link","data-path":"/",onClick:this.onPathClick,children:i}),r,this.props.isViewFile&&(0,g.jsx)(di.O,{repoID:this.props.repoID,path:this.props.currentPath}),this.props.isViewFile&&0!==s.length&&(0,g.jsxs)("span",{id:"column-mode-file-tags",className:"tag-list tag-list-stacked align-middle ml-1 d-flex align-items-center",children:[s.map((function(e,t){return(0,g.jsx)("span",{className:"file-tag",style:{zIndex:t,backgroundColor:e.color}},e.id)})),(0,g.jsx)(Ye.Z,{target:"column-mode-file-tags",placement:"bottom",children:o})]})]})}}]),n}(a.Component),mi=ui,gi={randomUUID:"undefined"!==typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},fi=new Uint8Array(16);function vi(){if(!qn&&!(qn="undefined"!==typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qn(fi)}for(var xi=[],wi=0;wi<256;++wi)xi.push((wi+256).toString(16).slice(1));function yi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return xi[e[t+0]]+xi[e[t+1]]+xi[e[t+2]]+xi[e[t+3]]+"-"+xi[e[t+4]]+xi[e[t+5]]+"-"+xi[e[t+6]]+xi[e[t+7]]+"-"+xi[e[t+8]]+xi[e[t+9]]+"-"+xi[e[t+10]]+xi[e[t+11]]+xi[e[t+12]]+xi[e[t+13]]+xi[e[t+14]]+xi[e[t+15]]}var Di=function(e,t,n){if(gi.randomUUID&&!t&&!e)return gi.randomUUID();var i=(e=e||{}).random||(e.rng||vi)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return yi(i)},ji=n(1413),Ci=n(58579),Si=n(22642),bi=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0){var o=e.color,a=t.name;y.I.createRepoTag(n,a,o).then((function(e){i[r]=new zn.Z(e.data.repo_tag),s.setState({repotagList:i})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}},s.state={repotagList:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.loadTags()}},{key:"render",value:function(){var e=this;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("ul",{className:"tag-list tag-list-container my-2",children:this.state.repotagList.map((function(t,n){return t.is_virtual?(0,g.jsx)(_i,{item:t,repoID:e.props.repoID,deleteVirtualTag:e.deleteVirtualTag,updateVirtualTag:e.updateVirtualTag},n):(0,g.jsx)(Zi,{item:t,repoID:e.props.repoID,onDeleteTag:e.onDeleteTag},n)}))}),(0,g.jsxs)("div",{className:"add-tag-link px-4 py-2 d-flex align-items-center",onClick:this.createVirtualTag,children:[(0,g.jsx)("span",{className:"sf2-icon-plus mr-2"}),(0,u.ih)("Create a new tag")]}),(0,g.jsx)(Ti,{toggle:this.props.onListTagCancel,repotagList:this.state.repotagList,updateTags:this.updateTags,repoID:this.props.repoID})]})}}]),n}(a.Component),Oi=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onShowListRepoTag=function(e){s.setState({isListRepoTagShow:!0})},s.hidePopover=function(e){if(e)for(var t=e.target;t;){if("string"===typeof t.className&&t.className.includes("tag-color-popover"))return;t=t.parentNode}s.setState({isListRepoTagShow:!1})},s.toggleCancel=function(){s.setState({isListRepoTagShow:!1})},s.state={isListRepoTagShow:!1},s.tagsIconID="tags-icon-".concat(Di()),s}return(0,s.Z)(n,[{key:"isMarkdownFile",value:function(e){return m.c.getFileName(e).includes(".md")}},{key:"render",value:function(){var e=this.props,t=e.repoID,n=e.userPerm,i=e.currentPath;if("rw"!==n)return"";if(this.isMarkdownFile(i))return"";var s=null;if(m.c.getFileName(i)){var r=u.ze+"repo/"+t+"/trash/?path="+encodeURIComponent(i);s=(0,g.jsxs)("ul",{className:"path-toolbar",children:[(0,g.jsx)("li",{className:"toolbar-item",children:(0,g.jsx)("a",{className:"op-link sf2-icon-tag",href:"#",id:this.tagsIconID,role:"button",onClick:this.onShowListRepoTag,title:(0,u.ih)("Tags"),"aria-label":(0,u.ih)("Tags")})}),(0,g.jsx)("li",{className:"toolbar-item",children:(0,g.jsx)("a",{className:"op-link sf2-icon-recycle",href:r,title:(0,u.ih)("Trash"),"aria-label":(0,u.ih)("Trash")})})]})}else{var o=u.ze+"repo/"+t+"/trash/",a=u.ze+"repo/history/"+t+"/";s=(0,g.jsxs)("ul",{className:"path-toolbar",children:[(0,g.jsx)("li",{className:"toolbar-item",children:(0,g.jsx)("a",{className:"op-link sf2-icon-tag",href:"#",id:this.tagsIconID,role:"button",onClick:this.onShowListRepoTag,title:(0,u.ih)("Tags"),"aria-label":(0,u.ih)("Tags")})}),(0,g.jsx)("li",{className:"toolbar-item",children:(0,g.jsx)("a",{className:"op-link sf2-icon-recycle",href:o,title:(0,u.ih)("Trash"),"aria-label":(0,u.ih)("Trash")})}),(0,g.jsx)("li",{className:"toolbar-item",children:(0,g.jsx)("a",{className:"op-link sf2-icon-history",href:a,title:(0,u.ih)("History"),"aria-label":(0,u.ih)("History")})})]})}return(0,g.jsxs)(g.Fragment,{children:[s,this.state.isListRepoTagShow&&(0,g.jsx)(ki,{popoverClassName:"list-tag-popover",target:this.tagsIconID,hideSeahubPopover:this.hidePopover,hideSeahubPopoverWithEsc:this.hidePopover,canHideSeahubPopover:!0,boundariesElement:document.body,placement:"bottom-end",children:(0,g.jsx)(Li,{repoID:t,onListTagCancel:this.toggleCancel})})]})}}]),n}(a.Component),Ri=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggleSortOptionsDialog=function(){s.setState({isSortOptionsDialogOpen:!s.state.isSortOptionsDialogOpen})},s.state={isSortOptionsDialogOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=m.c.isDesktop();return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(mi,{repoName:this.props.repoName,pathPrefix:this.props.pathPrefix,currentPath:this.props.currentPath,onPathClick:this.props.onPathClick,onTabNavClick:this.props.onTabNavClick,repoID:this.props.repoID,isViewFile:this.props.isViewFile,fileTags:this.props.fileTags}),e&&(0,g.jsx)(Oi,{repoID:this.props.repoID,repoName:this.props.repoName,userPerm:this.props.userPerm,currentPath:this.props.currentPath,updateUsedRepoTags:this.props.updateUsedRepoTags,onDeleteRepoTag:this.props.onDeleteRepoTag}),!e&&this.props.direntList.length>0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.props.sortBy,sortOrder:this.props.sortOrder,sortItems:this.props.sortItems})]})}}]),n}(a.Component),Ei=n(70366),Ai=n(45526),Ui=n(27988);var zi=function(e){var t=e.column.name;return(0,g.jsx)(Ui.Z,{md:3,className:"d-flex column-name",children:(0,g.jsx)("div",{className:"w-100 text-truncate",children:t||""})})},Bi=n(4942),Gi=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).blurInput=function(){setTimeout((function(){s.inputRef.current&&s.inputRef.current.blur()}),1)},s.onBlur=function(){var e=s.props,t=e.column,n=e.onCommit,i={};i[t.key]=s.state.value.trim(),n(i,t)},s.onChange=function(e){var t=e.target.value;t!==s.state.value&&s.setState({value:t})},s.onCut=function(e){e.stopPropagation()},s.onPaste=function(e){e.stopPropagation()},s.onKeyDown=function(e){if(e.keyCode===Si.mW.Esc)return e.stopPropagation(),void s.blurInput();var t=e.currentTarget,n=t.selectionStart,i=t.selectionEnd,r=t.value;(e.keyCode===Si.mW.ChineseInputMethod||e.keyCode===Si.mW.LeftArrow&&0===n||e.keyCode===Si.mW.RightArrow&&i===r.length)&&e.stopPropagation()},s.state={value:e.row[e.column.key]||""},s.inputRef=a.createRef(),s}return(0,s.Z)(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=e.row[e.column.key];t!==this.state.value&&this.setState({value:t})}},{key:"render",value:function(){var e=this.props.column,t=this.state.value;return(0,g.jsx)("input",{type:"text",onBlur:this.onBlur,onCut:this.onCut,onPaste:this.onPaste,onChange:this.onChange,className:"form-control",value:t||"",onKeyDown:this.onKeyDown,disabled:!e.editable,ref:this.inputRef})}}]),n}(a.Component),Hi=Gi;var Wi=function(e){var t=e.column,n=e.row[t.key],i=t.data||{},s=i.result_type,r=i.format;return s===Si.HC.DATE?(0,g.jsx)("div",{className:"form-control disabled",children:(0,Ai.n4)(n,r)}):s===Si.HC.STRING?n:"object"===typeof n?null:(0,g.jsx)(g.Fragment,{})},Vi=n(81694),qi=n.n(Vi),Ki=n(44115),Yi=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onCompositionStart=function(){s.isInputtingChinese=!0},s.onChange=function(e){s.timer&&clearTimeout(s.timer);var t=s.props,n=t.onChange,i=t.wait,r=e.target.value;s.setState({searchValue:r||""},(function(){s.isInputtingChinese||(s.timer=setTimeout((function(){n&&n(s.state.searchValue.trim())}),i))}))},s.onCompositionEnd=function(e){s.isInputtingChinese=!1,s.onChange(e)},s.setFocus=function(e){if(s.inputRef!==document.activeElement&&(s.inputRef.focus(),e)){var t=s.state.searchValue.length;s.inputRef.setSelectionRange(0,t)}},s.state={searchValue:e.value},s.isInputtingChinese=!1,s.timer=null,s.inputRef=null,s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.props.autoFocus&&this.inputRef&&this.inputRef!==document.activeElement&&setTimeout((function(){e.inputRef.focus()}),0)}},{key:"componentWillReceiveProps",value:function(e){e.value!==this.props.value&&this.setState({searchValue:e.value})}},{key:"componentWillUnmount",value:function(){this.timer&&clearTimeout(this.timer),this.timer=null,this.inputRef=null}},{key:"render",value:function(){var e=this,t=this.props,n=t.placeholder,i=t.autoFocus,s=t.className,r=t.onKeyDown,o=t.disabled,a=t.style,l=this.state.searchValue;return(0,g.jsx)("input",{type:"text",value:l,className:qi()("form-control",s),onChange:this.onChange,autoFocus:i,placeholder:n,onCompositionStart:this.onCompositionStart,onCompositionEnd:this.onCompositionEnd,onKeyDown:r,disabled:o,style:a,ref:function(t){return e.inputRef=t}})}}]),n}(a.Component);Yi.defaultProps={wait:100,disabled:!1,value:""};var Ji,Xi=Yi,$i=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).getCascadeColumnValue=function(e){var t=e.column,n=e.row,i=e.columns,s=(t.data||{}).cascade_column_key;return s&&i.find((function(e){return e.key===s}))?n[s]:""},s.getSelectColumnOptions=function(e){var t=e.column,n=e.row,i=e.columns,s=(0,Ai.T8)(t),r=t.data||{},o=r.cascade_column_key,a=r.cascade_settings;if(o&&i.find((function(e){return e.key===o}))){var l=n[o];if(!l)return[];var c=a[l];return c&&Array.isArray(c)&&0!==c.length?s.filter((function(e){return c.includes(e.id)})):[]}return s},s.toggle=function(){s.ref.toggle(),s.props.onUpdateState()},s.onChangeSearch=function(e){if(s.state.searchVal!==e){var t=e.toLowerCase(),n=t?s.options.filter((function(e){return e.name&&e.name.toLowerCase().indexOf(t)>-1})):s.options;s.setState({searchVal:e,filteredOptions:n})}},s.onSelectOption=function(e){var t=s.props.column;s.setState({value:e},(function(){s.props.onCommit((0,Bi.Z)({},t.key,e),t),s.toggle()}))};var r=s.getSelectColumnOptions(e);return s.state={value:e.row[e.column.key],searchVal:"",highlightIndex:-1,maxItemNum:0,itemHeight:0,filteredOptions:r},s.options=r,s.timer=null,s.editorKey="single-select-editor-".concat(e.column.key),s}return(0,s.Z)(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(e){this.getCascadeColumnValue(this.props)!==this.getCascadeColumnValue(e)&&(this.options=this.getSelectColumnOptions(e),this.setState({filteredOptions:this.options}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.value,i=t.filteredOptions,s=this.props.column;return(0,g.jsx)(Ki.Z,{target:this.editorKey,className:"single-select-editor-popover",trigger:"legacy",placement:"bottom-start",hideArrow:!0,toggle:this.toggle,ref:function(t){return e.ref=t},children:(0,g.jsxs)("div",{className:"single-select-editor-container",children:[(0,g.jsx)("div",{className:"search-single-selects",children:(0,g.jsx)(Xi,{placeholder:(0,u.ih)("Find an option"),onKeyDown:this.onKeyDown,onChange:this.onChangeSearch,autoFocus:!0})}),(0,g.jsx)("div",{className:"single-select-editor-content",children:i.map((function(t){var i=n===t.id,r={backgroundColor:t.color,color:t.textColor||null,maxWidth:Math.max(138,s.width?s.width-62:0)};return(0,g.jsxs)("div",{className:"single-select-option-container",onClick:e.onSelectOption.bind(e,i?null:t.id),children:[(0,g.jsx)("div",{className:"single-select-option",style:r,children:t.name}),(0,g.jsx)("div",{className:"single-select-option-selected",children:i&&(0,g.jsx)("i",{})})]},t.id)}))})]})})}}]),n}(a.Component),Qi=$i,es=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).updateState=function(){s.setState({isShowSingleSelect:!s.state.isShowSingleSelect})},s.onCommit=function(e,t){s.props.onCommit(e,t)};var r=e.column;return s.options=(0,Ai.T8)(r),s.state={isShowSingleSelect:!1},s.editorKey="single-select-editor-".concat(r.key),s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.isShowSingleSelect,t=this.props,n=t.column,i=t.row[n.key],s=this.options.find((function(e){return e.id===i})),r=s?{backgroundColor:s.color,color:s.textColor||null}:{backgroundColor:Si.yR},o=s?s.name:(0,u.ih)(Si.sL);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{id:this.editorKey,className:qi()("selected-single-select-container",{disable:!n.editable,focus:e}),children:(0,g.jsxs)("div",{className:"single-select-inner w-100 h-100 d-flex align-items-center justify-content-between",children:[(0,g.jsx)("div",{children:i&&(0,g.jsx)("div",{className:"single-select-option",style:r,title:o,children:o})}),n.editable&&(0,g.jsx)("i",{className:"fas fa-caret-down"})]})}),n.editable&&(0,g.jsx)(Qi,{column:n,row:this.props.row,columns:this.props.columns,onCommit:this.onCommit,onUpdateState:this.updateState})]})}}]),n}(a.Component),ts=es,ns=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).onChange=function(e){var t=s.props.column.data,n=t&&t.format?t.format:Si.Ul,i=null;t&&"custom_currency"===t.format&&(i=t.currency_symbol);var r=e.target.value.trim();if((0,Ai.V5)()||!(r.indexOf(".\u3002")>-1)){var o=(0,Ai.MS)(r,n,i);o!==s.state.value&&s.setState({value:o})}},s.onKeyDown=function(e){var t=e.currentTarget,n=t.selectionStart,i=t.selectionEnd,r=t.value;e.keyCode===Si.mW.Enter||e.keyCode===Si.mW.Esc?(e.preventDefault(),s.input.blur()):(e.keyCode===Si.mW.LeftArrow&&0===n||e.keyCode===Si.mW.RightArrow&&i===r.length)&&e.stopPropagation()},s.onBlur=function(){var e=s.state.value,t=s.props.column;s.props.onCommit((0,Bi.Z)({},t.key,(0,Ai.ap)(e,t.data)),t)},s.setInputRef=function(e){return s.input=e,s.input},s.onPaste=function(e){e.stopPropagation()},s.onCut=function(e){e.stopPropagation()};var r=e.row,o=e.column,a=r[o.key];return s.state={value:(0,Ai.d8)(a,o.data)},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.column;return(0,g.jsx)("input",{ref:this.setInputRef,type:"text",className:"form-control",value:this.state.value,onBlur:this.onBlur,onPaste:this.onPaste,onCut:this.onCut,onKeyDown:this.onKeyDown,onChange:this.onChange,disabled:!e.editable})}}]),n}(a.Component),is=ns,ss=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.column,n=e.row,i=t.data,s=t.key,r=(0,Ai.n4)(n[s],i?i.format:"");return(0,g.jsx)("input",{type:"text",className:"form-control",value:r,disabled:!0})}}]),n}(a.Component),rs=ss,os=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.column,n=e.row,i=t.key,s=(0,Ai.n4)(n[i],"YYYY-MM-DD HH:mm:ss")||"";return(0,g.jsx)("div",{className:"form-control",style:{width:320},children:s})}}]),n}(a.Component),as=os,ls=(Ji={},(0,Bi.Z)(Ji,Si.EM.TEXT,Hi),(0,Bi.Z)(Ji,Si.EM.FORMULA,Wi),(0,Bi.Z)(Ji,Si.EM.SINGLE_SELECT,ts),(0,Bi.Z)(Ji,Si.EM.NUMBER,is),(0,Bi.Z)(Ji,Si.EM.DATE,rs),(0,Bi.Z)(Ji,Si.EM.CTIME,as),(0,Bi.Z)(Ji,Si.EM.MTIME,as),Ji),cs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.column,n=e.row,i=e.columns,s=ls[t.type]||ls.text;return(0,g.jsxs)("div",{className:"pb-4 row column-item",children:[(0,g.jsx)(zi,{column:t}),(0,g.jsx)(Ui.Z,{md:9,className:"d-flex align-items-center extra-attribute-item-info",children:(0,g.jsx)(s,{column:t,row:n,columns:i,onCommit:this.props.onCommit})})]})}}]),n}(a.Component),hs=cs,ps=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).startAnimation=function(e){!0===s.state.animationEnd&&e&&e(),setTimeout((function(){var t=s.modalRef.current.firstChild,n=s.getDialogStyle(),i=n.width,r=n.maxWidth,o=n.marginLeft,a=n.height;t.style.width="".concat(i,"px"),t.style.maxWidth="".concat(r,"px"),t.style.marginLeft="".concat(o,"px"),t.style.height="".concat(a,"px"),t.style.marginRight="unset",t.style.marginTop="28px",setTimeout((function(){s.setState({animationEnd:!0},(function(){t.style.transition="none",e&&e()}))}),280)}),1)},s.getFormatUpdateData=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=s.state.columns,n={},i=function(i){var s=t.find((function(e){return e.key===i}));if(s&&s.editable){var r=s.type,o=s.name,a=e[i];if(r===Si.EM.SINGLE_SELECT){var l=(0,Ai.T8)(s).find((function(e){return e.id===a}));n[o]=l?l.name:""}else n[s.name]=e[i]}};for(var r in e)i(r);return n},s.getData=function(){var e=s.props,t=e.repoID,n=e.filePath;y.I.getFileExtendedProperties(t,n).then((function(e){var t=e.data,n=t.row,i=t.metadata,r=t.editable_columns;s.isExist=Boolean(n._id),s.setState({row:n,columns:(0,Ai.s2)(i,r,s.isEmptyFile),isLoading:!1,errorMsg:""})})).catch((function(e){var t=m.c.getErrorMsg(e);s.setState({isLoading:!1,errorMsg:t})}))},s.createData=function(e){var t=s.props,n=t.repoID,i=t.filePath;y.I.newFileExtendedProperties(n,i,e).then((function(e){s.isExist=!0;var t=e.data.row;s.setState({row:t,isLoading:!1,errorMsg:""})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger((0,u.ih)(t))}))},s.updateData=function(e,t){var n=(0,ji.Z)((0,ji.Z)({},s.state.row),e);s.setState({row:n},(function(){var t=s.getFormatUpdateData(e),n=s.props,i=n.repoID,r=n.filePath;s.isExist?y.I.updateFileExtendedProperties(i,r,t).then((function(e){s.setState({update:{},row:e.data.row})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger((0,u.ih)(t))})):s.createData(t)}))},s.onHotKey=function(e){(0,Ei.ZP)("esc",e)&&s.onToggle()},s.onToggle=function(){s.props.onToggle()},s.getDialogStyle=function(){return{width:800,maxWidth:800,marginLeft:(window.innerWidth-800)/2,height:Si.KF}},s.getInitStyle=function(){var e=window.innerWidth;return{width:"".concat(e-80,"px"),maxWidth:"".concat(e-80,"px"),marginLeft:"".concat(80,"px"),height:"".concat(100,"px"),marginRight:"".concat(80,"px"),marginTop:"30%",transition:"all .3s"}},s.renderColumns=function(){var e=s.state,t=e.isLoading,n=e.errorMsg,i=e.columns,r=e.row,o=e.update;if(t)return(0,g.jsx)("div",{className:"w-100 h-100 d-flex align-items-center justify-content-center",children:(0,g.jsx)(R.Z,{})});if(n)return(0,g.jsx)("div",{className:"w-100 h-100 d-flex align-items-center justify-content-center error-message",children:(0,u.ih)(n)});var a=(0,ji.Z)((0,ji.Z)({},r),o);return(0,g.jsx)(g.Fragment,{children:i.map((function(e){return(0,g.jsx)(hs,{column:e,row:a,columns:i,onCommit:s.updateData},e.key)}))})},s.renderContent=function(){return s.state.animationEnd?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(J.Z,{toggle:s.onToggle,children:(0,u.ih)("Edit extra properties")}),(0,g.jsx)(b.Z,{children:s.renderColumns()})]}):null};var r=e.direntDetail,o=e.direntType;if(s.state={animationEnd:!1,isLoading:!0,update:{},row:{},columns:[],errorMsg:""},"dir"===o)s.isEmptyFile=!1;else{var l=(null===r||void 0===r?void 0:r.id)||"";s.isEmptyFile=l==="0".repeat(l.length)}return s.isExist=!1,s.modalRef=a.createRef(),s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.startAnimation(this.getData),window.addEventListener("keydown",this.onHotKey)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.onHotKey)}},{key:"render",value:function(){var e=this.state.animationEnd;return(0,g.jsx)(d.Z,{isOpen:!0,className:"extra-attributes-dialog",style:e?this.getDialogStyle():this.getInitStyle(),zIndex:Si.Ue.f,contentClassName:"extra-attributes-content-container",modalClassName:"extra-attributes-modal",wrapClassName:"extra-attributes",fade:!1,innerRef:this.modalRef,toggle:this.onToggle,children:this.renderContent()})}}]),n}(a.Component),ds=ps,us=n(44031),ms=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).submit=function(){var e=s.props,t=e.repoID,n=e.path;s.setState({submitting:!0}),y.I.applyFolderExtendedProperties(t,n).then((function(){D.Z.success((0,u.ih)("Successfully applied the properties.")),s.props.toggle()})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t),s.setState({submitting:!1})}))},s.state={submitting:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.submitting;return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.props.toggle,className:"apply-properties-dialog",children:[(0,g.jsx)(J.Z,{toggle:this.props.toggle,children:(0,u.ih)("Apply properties")}),(0,g.jsx)(b.Z,{children:(0,g.jsx)("p",{children:(0,u.ih)("Are you sure you want to apply the properties to all the files inside the folder?")})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.props.toggle,disabled:e,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",className:"flex-shrink-0 apply-properties",disabled:e,onClick:this.submit,children:e?(0,g.jsx)(R.Z,{}):(0,g.jsx)(g.Fragment,{children:(0,u.ih)("Submit")})})]})]})}}]),n}(a.Component),gs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).getDirentPosition=function(){var e=s.props.repoInfo,t=s.getDirentPath(),n=e.repo_name;if("/"!==t){var i=t.lastIndexOf("/");n+=t.slice(0,i)}return n},s.onEditFileTagToggle=function(){s.setState({isEditFileTagShow:!s.state.isEditFileTagShow})},s.onFileTagChanged=function(){var e=s.getDirentPath();s.props.onFileTagChanged(s.props.dirent,e)},s.getDirentPath=function(){if(m.c.isMarkdownFile(s.props.path))return s.props.path;var e=s.props,t=e.dirent,n=e.path;return m.c.joinPath(n,t.name)},s.toggleExtraPropertiesDialog=function(){s.setState({isShowExtraProperties:!s.state.isShowExtraProperties})},s.toggleApplyPropertiesDialog=function(){s.setState({isShowApplyProperties:!s.state.isShowApplyProperties})},s.renderTags=function(){var e=s.props,t=e.direntType,n=e.direntDetail,i=s.getDirentPosition();return"dir"===t?(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"35%"}),(0,g.jsx)("th",{width:"65%"})]})}),(0,g.jsxs)("tbody",{children:[(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Location")}),(0,g.jsx)("td",{children:i})]}),(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Last Update")}),(0,g.jsx)("td",{children:A()(n.mtime).format("YYYY-MM-DD")})]}),"rw"===n.permission&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("tr",{className:"file-extra-attributes",children:(0,g.jsx)("th",{colSpan:2,children:(0,g.jsx)("div",{className:"edit-file-extra-attributes-btn",onClick:s.toggleExtraPropertiesDialog,children:(0,u.ih)("Edit extra properties")})})}),(0,g.jsx)("tr",{className:"file-extra-attributes",children:(0,g.jsx)("th",{colSpan:2,children:(0,g.jsx)("div",{className:"edit-file-extra-attributes-btn text-truncate",onClick:s.toggleApplyPropertiesDialog,title:(0,u.ih)("Apply properties to files inside the folder"),children:(0,u.ih)("Apply properties to files inside the folder")})})})]})]})]}):(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"35%"}),(0,g.jsx)("th",{width:"65%"})]})}),(0,g.jsxs)("tbody",{children:[(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Size")}),(0,g.jsx)("td",{children:m.c.bytesToSize(n.size)})]}),(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Location")}),(0,g.jsx)("td",{children:i})]}),(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{children:(0,u.ih)("Last Update")}),(0,g.jsx)("td",{children:A()(n.last_modified).fromNow()})]}),(0,g.jsxs)("tr",{className:"file-tag-container",children:[(0,g.jsx)("th",{children:(0,u.ih)("Tags")}),(0,g.jsxs)("td",{children:[(0,g.jsx)(us.Z,{fileTagList:s.props.fileTagList}),(0,g.jsx)("span",{onClick:s.onEditFileTagToggle,children:(0,g.jsx)(Je.Z,{symbol:"tag"})})]})]}),"rw"===n.permission&&(0,g.jsx)("tr",{className:"file-extra-attributes",children:(0,g.jsx)("th",{colSpan:2,children:(0,g.jsx)("div",{className:"edit-file-extra-attributes-btn",onClick:s.toggleExtraPropertiesDialog,children:(0,u.ih)("Edit extra properties")})})})]})]})},s.state={isEditFileTagShow:!1,isShowExtraProperties:!1,isShowApplyProperties:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.direntType,n=e.direntDetail,i=e.fileTagList,s=this.getDirentPath();return(0,g.jsxs)(a.Fragment,{children:[this.renderTags(),this.state.isEditFileTagShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ni.Z,{repoID:this.props.repoID,fileTagList:i,filePath:s,toggleCancel:this.onEditFileTagToggle,onFileTagChanged:this.onFileTagChanged})}),this.state.isShowExtraProperties&&(0,g.jsx)(ds,{repoID:this.props.repoID,filePath:s,direntType:t,direntDetail:n,onToggle:this.toggleExtraPropertiesDialog}),this.state.isShowApplyProperties&&(0,g.jsx)(ms,{toggle:this.toggleApplyPropertiesDialog,repoID:this.props.repoID,path:s})]})}}]),n}(a.Component);gs.defaultProps={fileTagList:[]};var fs=gs,vs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).loadDirentInfo=function(e,t,n){if(e){var i=m.c.joinPath(t,e.name);s.updateDetailView(e,i)}else{var r=m.c.getDirName(t);y.I.listDir(n,r).then((function(e){for(var n=e.data.dirent_list,i=null,r=0;r-1&&s.setHighlightIndex(s.state.highlightIndex-1);else if(e.keyCode===Si.mW.DownArrow){var i=s.state.searchVal.trim(),r=s.state.repotagList.filter((function(e){return e.name.includes(i)}));s.state.highlightIndex0&&n.map((function(t,n){return(0,g.jsx)(Is,{index:n,highlightIndex:e.state.highlightIndex,setHighlightIndex:e.setHighlightIndex,repoTag:t,repoID:e.props.repoID,filePath:e.props.filePath,fileTagList:e.props.fileTagList,onFileTagChanged:e.props.onFileTagChanged},t.id)}))]}),i&&(0,g.jsx)(Cs,{callBack:this.createNewTag,footerName:"".concat((0,u.ih)("Create a new tag")," '").concat(t,"'")})]})}}]),n}(a.Component),Ms=Ns,Zs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).toggleOpMenu=function(){s.setState({isOpMenuOpen:!s.state.isOpMenuOpen})},s.onMouseEnter=function(){s.props.isItemFreezed||s.setState({highlight:!0,isOperationShow:!0}),s.state.canDrag&&s.setState({isDragTipShow:!0})},s.onMouseOver=function(){s.props.isItemFreezed||s.setState({highlight:!0,isOperationShow:!0}),s.state.canDrag&&s.setState({isDragTipShow:!0})},s.onMouseLeave=function(){s.props.isItemFreezed||s.setState({highlight:!1,isOperationShow:!1}),s.setState({isDragTipShow:!1})},s.unfreezeItem=function(){s.setState({highlight:!1,isOperationShow:!1}),s.props.unfreezeItem()},s.onItemSelected=function(){s.props.onItemSelected(s.props.dirent)},s.onItemStarred=function(e){var t=s.props.dirent,n=s.props.repoID,i=s.getDirentPath(t);e.preventDefault(),t.starred?y.I.unstarItem(n,i).then((function(){s.props.updateDirent(s.props.dirent,"starred",!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})):y.I.starItem(n,i).then((function(){s.props.updateDirent(s.props.dirent,"starred",!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onDirentClick=function(e){e.stopPropagation(),"TD"==e.target.tagName&&s.props.onDirentClick(s.props.dirent)},s.onItemClick=function(e){e.preventDefault();var t=s.props.dirent;s.state.isRenameing||(t.isDir()?s.props.onItemClick(t):s.canPreview&&(m.c.imageCheck(t.name)?s.props.showImagePopup(t):s.props.onItemClick(t)))},s.onItemDelete=function(e){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),s.props.onItemDelete(s.props.dirent)},s.onItemShare=function(e){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.closeSharedDialog=function(){s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.onMobileMenuItemClick=function(e){var t=e.target.getAttribute("data-op");s.onMenuItemClick(t,e)},s.onMenuItemClick=function(e,t){switch(e){case"Download":s.onItemDownload(t);break;case"Share":s.onItemShare(t);break;case"Delete":s.onItemDelete(t);break;case"Rename":s.onItemRenameToggle();break;case"Move":s.onItemMoveToggle();break;case"Copy":s.onItemCopyToggle();break;case"Tags":s.onEditFileTagToggle();break;case"Permission":s.onPermissionItem();break;case"Unlock":s.onUnlockItem();break;case"Lock":s.onLockItem();break;case"Convert to Markdown":s.onItemConvert(t,"markdown");break;case"Convert to sdoc":s.onItemConvert(t,"sdoc");break;case"Mark as draft":s.onMarkAsDraft();break;case"Unmark as draft":s.onUnmarkAsDraft();break;case"History":s.onHistory();break;case"Access Log":s.onAccessLog();break;case"Properties":s.props.onDirentClick(s.props.dirent),s.props.showDirentDetail("info");break;case"Open via Client":s.onOpenViaClient();break;case"Convert with ONLYOFFICE":s.onConvertWithONLYOFFICE()}},s.onItemConvert=function(e,t){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),s.props.onItemConvert(s.props.dirent,t)},s.onEditFileTagToggle=function(){s.setState({isEditFileTagShow:!s.state.isEditFileTagShow})},s.onFileTagChanged=function(){var e=s.getDirentPath(s.props.dirent);s.props.onFileTagChanged(s.props.dirent,e)},s.onItemRenameToggle=function(){s.props.onItemRenameToggle(s.props.dirent),s.setState({isOperationShow:!1,isRenameing:!0,canDrag:!1})},s.onRenameConfirm=function(e){s.props.onItemRename(s.props.dirent,e),s.onRenameCancel()},s.onRenameCancel=function(){s.setState({isRenameing:!1,canDrag:s.canDrag}),s.unfreezeItem()},s.onItemMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onItemCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onPermissionItem=function(){s.setState({isPermissionDialogOpen:!s.state.isPermissionDialogOpen})},s.onLockItem=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent);y.I.lockfile(e,t).then((function(){s.props.updateDirent(s.props.dirent,"is_locked",!0),s.props.updateDirent(s.props.dirent,"locked_by_me",!0);var e=u.b6.split("@");s.props.updateDirent(s.props.dirent,"lock_owner_name",e[0])})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onUnlockItem=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent);y.I.unlockfile(e,t).then((function(){s.props.updateDirent(s.props.dirent,"is_locked",!1),s.props.updateDirent(s.props.dirent,"locked_by_me",!1),s.props.updateDirent(s.props.dirent,"lock_owner_name","")})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onMarkAsDraft=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent);y.I.sdocMarkAsDraft(e,t).then((function(e){s.props.updateDirent(s.props.dirent,"is_sdoc_draft",!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onUnmarkAsDraft=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent);y.I.sdocUnmarkAsDraft(e,t).then((function(e){s.props.updateDirent(s.props.dirent,"is_sdoc_draft",!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onHistory=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent),n=Qn.Z.getUrl({type:"file_revisions",repoID:e,filePath:t});location.href=n},s.onAccessLog=function(){var e=s.getDirentPath(s.props.dirent),t=u.ze+"repo/file-access/"+s.props.repoID+"/?p="+encodeURIComponent(e);window.open(t)},s.onOpenViaClient=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent),n=Qn.Z.getUrl({type:"open_via_client",repoID:e,filePath:t});location.href=n},s.onConvertWithONLYOFFICE=function(){var e=s.props.repoID,t=s.getDirentPath(s.props.dirent);y.I.onlyofficeConvert(e,t).then((function(e){s.props.loadDirentList(e.data.parent_dir)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onItemDownload=function(e){e.preventDefault(),e.nativeEvent.stopImmediatePropagation();var t=s.props.dirent,n=s.props.repoID,i=s.getDirentPath(t);if("dir"===t.type)u.Zb?y.I.zipDownload(n,s.props.path,s.props.dirent.name).then((function(e){var t=e.data.zip_token;location.href="".concat(u.gc,"zip/").concat(t)})).catch((function(e){var t=m.c.getErrorMsg(e);s.setState({isLoading:!1,errorMsg:t})})):s.setState({isZipDialogOpen:!0});else{var r=Qn.Z.getUrl({type:"download_file_url",repoID:n,filePath:i});location.href=r}},s.closeZipDialog=function(){s.setState({isZipDialogOpen:!1})},s.getDirentPath=function(e){var t=s.props.path;return"/"===t?t+e.name:t+"/"+e.name},s.onTagTooltipToggle=function(e){e.stopPropagation(),s.setState({isShowTagTooltip:!s.state.isShowTagTooltip})},s.onItemMove=function(e,t,n,i){s.props.onItemMove(e,t,n,i)},s.onItemDragStart=function(e){if(m.c.isIEBrower()||!s.state.canDrag)return!1;e.dataTransfer.effectAllowed="move";var t=s.props.selectedDirentList;if(t.length>0&&t.includes(s.props.dirent)){s.props.onShowDirentsDraggablePreview(),e.dataTransfer.setDragImage(s.refs.empty_content,0,0);var n=t.map((function(e){var t=s.getDirentPath(e);return{nodeDirent:e,nodeParentPath:s.props.path,nodeRootPath:t}}));return n=JSON.stringify(n),void e.dataTransfer.setData("applicaiton/drag-item-info",n)}e.dataTransfer&&e.dataTransfer.setDragImage&&e.dataTransfer.setDragImage(s.refs.drag_icon,15,15);var i=s.getDirentPath(s.props.dirent),r={nodeDirent:s.props.dirent,nodeParentPath:s.props.path,nodeRootPath:i};r=JSON.stringify(r),e.dataTransfer.setData("applicaiton/drag-item-info",r)},s.onItemDragEnter=function(e){if(m.c.isIEBrower()||!s.state.canDrag)return!1;"dir"===s.props.dirent.type&&(e.stopPropagation(),s.setState({isDropTipshow:!0}))},s.onItemDragOver=function(e){if(m.c.isIEBrower()||!s.state.canDrag)return!1;"copy"!==e.dataTransfer.dropEffect&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},s.onItemDragLeave=function(e){if(m.c.isIEBrower()||!s.state.canDrag)return!1;"dir"===s.props.dirent.type&&e.stopPropagation(),s.setState({isDropTipshow:!1})},s.onItemDragDrop=function(e){if(m.c.isIEBrower()||!s.state.canDrag)return!1;if(s.setState({isDropTipshow:!1}),!e.dataTransfer.files.length&&"dir"===s.props.dirent.type){e.stopPropagation();var t=e.dataTransfer.getData("applicaiton/drag-item-info");if(t=JSON.parse(t),Array.isArray(t)){var n=t.map((function(e){return e.nodeRootPath})),i=m.c.joinPath(s.props.path,s.props.dirent.name);if(n.some((function(e){return e===i})))return;s.props.onItemsMove(s.props.currentRepoInfo,i)}else{var r=t,o=r.nodeDirent,a=r.nodeParentPath,l=r.nodeRootPath,c=s.props.dirent;if(o.name!==c.name&&("dir"!==c.type||"dir"!==o.type||a===s.props.path||-1===s.props.path.indexOf(l))){var h=m.c.joinPath(s.props.path,s.props.dirent.name);s.onItemMove(s.props.currentRepoInfo,o,h,a)}}}},s.onItemMouseDown=function(e){s.props.onItemMouseDown(e)},s.onItemContextMenu=function(e){var t=s.props.dirent;s.props.onItemContextMenu(e,t)},s.renderItemOperation=function(){var e=s.props,t=e.dirent,n=e.currentRepoInfo,i=e.selectedDirentList,r=!0,o=!0,l=(0,w.Z)(s),c=l.isCustomPermission,h=l.customPermission;if(c){var p=h.permission;r=p.download,o=p.delete}var d=m.c.isHasPermissionToShare(n,t.permission,t);return(0,g.jsx)(a.Fragment,{children:i.length>1?(0,g.jsx)(a.Fragment,{children:s.state.isOperationShow&&!t.isSelected&&(0,g.jsxs)("div",{className:"operations",children:[("rw"===t.permission||"r"===t.permission||c&&r)&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-download",title:(0,u.ih)("Download"),role:"button","aria-label":(0,u.ih)("Download"),onClick:s.onItemDownload}),d&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-share",title:(0,u.ih)("Share"),role:"button","aria-label":(0,u.ih)("Share"),onClick:s.onItemShare}),("rw"===t.permission||"cloud-edit"===t.permission||c&&o)&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-delete",title:(0,u.ih)("Delete"),role:"button","aria-label":(0,u.ih)("Delete"),onClick:s.onItemDelete}),(0,g.jsx)(ri.Z,{item:s.props.dirent,toggleClass:"sf2-icon-caret-down",isHandleContextMenuEvent:!0,getMenuList:s.props.getDirentItemMenuList,onMenuItemClick:s.onMenuItemClick,unfreezeItem:s.unfreezeItem,freezeItem:s.props.freezeItem})]})}):(0,g.jsx)(a.Fragment,{children:s.state.isOperationShow&&(0,g.jsxs)("div",{className:"operations",children:[("rw"===t.permission||"r"===t.permission||c&&r)&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-download",title:(0,u.ih)("Download"),role:"button","aria-label":(0,u.ih)("Download"),onClick:s.onItemDownload}),d&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-share",title:(0,u.ih)("Share"),role:"button","aria-label":(0,u.ih)("Share"),onClick:s.onItemShare}),("rw"===t.permission||"cloud-edit"===t.permission||c&&o)&&(0,g.jsx)("a",{href:"#",className:"op-icon sf2-icon-delete",title:(0,u.ih)("Delete"),role:"button","aria-label":(0,u.ih)("Delete"),onClick:s.onItemDelete}),(0,g.jsx)(ri.Z,{item:s.props.dirent,toggleClass:"sf2-icon-caret-down",isHandleContextMenuEvent:!0,getMenuList:s.props.getDirentItemMenuList,onMenuItemClick:s.onMenuItemClick,unfreezeItem:s.unfreezeItem,freezeItem:s.props.freezeItem})]})})})};var r=s.props.dirent,o=m.c.getUserPermission(r.permission),l=o.isCustomPermission,c=o.customPermission;if(s.isCustomPermission=l,s.customPermission=c,s.canPreview=!0,s.canDrag="rw"===r.permission,l){var h=c.permission,p=h.preview,d=h.modify;s.canPreview=p||d,s.canDrag=d}return s.state={isOperationShow:!1,highlight:!1,isZipDialogOpen:!1,isMoveDialogShow:!1,isCopyDialogShow:!1,isShareDialogShow:!1,isMutipleOperation:!1,canDrag:s.canDrag,isShowTagTooltip:!1,isDragTipShow:!1,isDropTipshow:!1,isEditFileTagShow:!1,isPermissionDialogOpen:!1,isOpMenuOpen:!1},s.tagListTitleID="tag-list-title-".concat(Di()),s}return(0,s.Z)(n,[{key:"componentWillReceiveProps",value:function(e){var t=this;e.isItemFreezed===this.props.isItemFreezed||e.isItemFreezed||this.setState({highlight:!1,isOperationShow:!1},(function(){e.activeDirent&&e.activeDirent.name===e.dirent.name&&t.setState({isOperationShow:!0})}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.path,i=t.dirent,s=t.activeDirent,r=m.c.joinPath(n,i.name),o="";this.props.currentRepoInfo&&(o=u.ze+"library/"+this.props.repoID+"/"+this.props.currentRepoInfo.repo_name+m.c.encodePath(r));var l=u.ze+"lib/"+this.props.repoID+"/file"+m.c.encodePath(r);i.is_sdoc_revision&&i.revision_id&&(l=u.ze+"lib/"+this.props.repoID+"/revisions/"+i.revision_id+"/");var c="";i.file_tags&&i.file_tags.length>0&&(c=i.file_tags.map((function(e){return e.name})).join(" "));var h=m.c.getDirentIcon(i),d=this.state.highlight?"tr-highlight ":"";d+=this.state.isDropTipshow?"tr-drop-effect":"",d+=s&&s.name===i.name?"tr-active":"",d+=i.isSelected?"tr-active":"";var f=(0,u.ih)("locked by {name}").replace("{name}",i.lock_owner_name),v=m.c.isDesktop(),x=this.state.canDrag,w=(0,g.jsxs)("tr",{className:d,draggable:x,onFocus:this.onMouseEnter,onMouseEnter:this.onMouseEnter,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onClick:this.onDirentClick,onDragStart:this.onItemDragStart,onDragEnter:this.onItemDragEnter,onDragOver:this.onItemDragOver,onDragLeave:this.onItemDragLeave,onDrop:this.onItemDragDrop,onMouseDown:this.onItemMouseDown,onContextMenu:this.onItemContextMenu,children:[(0,g.jsx)("td",{className:"pl10 ".concat(this.state.isDragTipShow?"tr-drag-effect":""),children:(0,g.jsx)("input",{type:"checkbox",className:"vam",onChange:this.onItemSelected,checked:i.isSelected})}),(0,g.jsx)("td",{className:"pl10",children:void 0!==i.starred&&(0,g.jsx)("a",{href:"#",role:"button","aria-label":i.starred?(0,u.ih)("Unstar"):(0,u.ih)("Star"),onClick:this.onItemStarred,children:(0,g.jsx)("i",{className:"fa-star ".concat(i.starred?"fas":"far star-empty")})})}),(0,g.jsx)("td",{className:"pl10",children:(0,g.jsxs)("div",{className:"dir-icon",children:[this.canPreview&&i.encoded_thumbnail_src?(0,g.jsx)("img",{ref:"drag_icon",src:"".concat(u.ze).concat(i.encoded_thumbnail_src),className:"thumbnail cursor-pointer",onClick:this.onItemClick,alt:""}):(0,g.jsx)("img",{ref:"drag_icon",src:h,width:"24",alt:""}),i.is_locked&&(0,g.jsx)("img",{className:"locked",src:u.si+"img/file-locked-32.png",alt:(0,u.ih)("locked"),title:f}),(0,g.jsx)("div",{ref:"empty_content",style:{position:"absolute",width:"1px",height:"1px"}})]})}),(0,g.jsxs)("td",{className:"name",children:[this.state.isRenameing&&(0,g.jsx)(Xt.Z,{hasSuffix:"dir"!==i.type,name:i.name,onRenameConfirm:this.onRenameConfirm,onRenameCancel:this.onRenameCancel}),!this.state.isRenameing&&(0,g.jsxs)(a.Fragment,{children:[i.isDir()||this.canPreview?(0,g.jsx)("a",{href:"dir"===i.type?o:l,onClick:this.onItemClick,children:i.name}):(0,g.jsx)("a",{className:"sf-link",onClick:this.onItemClick,children:i.name}),m.c.isSdocFile(i.name)&&i.is_sdoc_draft&&(0,g.jsx)("span",{className:"dirent-sdoc-draft-identifier",children:(0,u.ih)("Draft")})]})]}),(0,g.jsxs)("td",{className:"tag-list-title",children:["dir"!==i.type&&i.file_tags&&i.file_tags.length>0&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{id:this.tagListTitleID,className:"dirent-item tag-list tag-list-stacked",children:i.file_tags.map((function(e,t){var n=i.file_tags.length;return(0,g.jsx)("span",{className:"file-tag",style:{zIndex:n-t,backgroundColor:e.color}},e.id)}))}),(0,g.jsx)(Ye.Z,{target:this.tagListTitleID,placement:"bottom",children:c})]}),"dir"!==i.type&&(!i.file_tags||0==i.file_tags.length)&&(0,g.jsx)("div",{id:this.tagListTitleID,className:"dirent-item tag-list tag-list-stacked"})]}),(0,g.jsx)("td",{className:"operation",children:this.renderItemOperation()}),(0,g.jsx)("td",{className:"file-size",children:i.size&&i.size}),(0,g.jsx)("td",{className:"last-update",title:A().unix(i.mtime).format("llll"),children:i.mtime_relative})]}),y=(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{onClick:this.onItemClick,children:(0,g.jsxs)("div",{className:"dir-icon",children:[this.canPreview&&i.encoded_thumbnail_src?(0,g.jsx)("img",{src:"".concat(u.ze).concat(i.encoded_thumbnail_src),className:"thumbnail cursor-pointer",alt:""}):(0,g.jsx)("img",{src:h,width:"24",alt:""}),i.is_locked&&(0,g.jsx)("img",{className:"locked",src:u.si+"img/file-locked-32.png",alt:(0,u.ih)("locked"),title:f})]})}),(0,g.jsxs)("td",{onClick:this.onItemClick,children:[this.state.isRenameing&&(0,g.jsx)(Xt.Z,{hasSuffix:"dir"!==i.type,name:i.name,onRenameConfirm:this.onRenameConfirm,onRenameCancel:this.onRenameCancel}),!this.state.isRenameing&&(0,g.jsx)(a.Fragment,{children:i.isDir()||this.canPreview?(0,g.jsx)("a",{href:"dir"===i.type?o:l,children:i.name}):(0,g.jsx)("a",{className:"sf-link",children:i.name})}),(0,g.jsx)("br",{}),i.size&&(0,g.jsx)("span",{className:"item-meta-info",children:i.size}),(0,g.jsx)("span",{className:"item-meta-info",children:i.mtime_relative})]}),(0,g.jsx)("td",{children:(0,g.jsxs)(U.Z,{isOpen:this.state.isOpMenuOpen,toggle:this.toggleOpMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isOpMenuOpen}),(0,g.jsxs)("div",{className:this.state.isOpMenuOpen?"":"d-none",onClick:this.toggleOpMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsxs)("div",{className:"mobile-operation-menu",children:[void 0!==i.starred&&(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.onItemStarred,children:i.starred?(0,u.ih)("Unstar"):(0,u.ih)("Star")}),this.props.getDirentItemMenuList(i,!0).map((function(t,n){return"Divider"!=t&&"Open via Client"!=t.key?(0,g.jsx)(G.Z,{className:"mobile-menu-item","data-op":t.key,onClick:e.onMobileMenuItemClick,children:t.value},n):null}))]})]})]})})]});return(0,g.jsxs)(a.Fragment,{children:[v?w:y,this.state.isMoveDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ei,{path:this.props.path,repoID:this.props.repoID,dirent:this.props.dirent,isMutipleOperation:this.state.isMutipleOperation,onItemMove:this.props.onItemMove,onCancelMove:this.onItemMoveToggle,repoEncrypted:this.props.repoEncrypted})}),this.state.isCopyDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ti,{path:this.props.path,repoID:this.props.repoID,dirent:this.props.dirent,isMutipleOperation:this.state.isMutipleOperation,onItemCopy:this.props.onItemCopy,onCancelCopy:this.onItemCopyToggle,repoEncrypted:this.props.repoEncrypted})}),(0,g.jsx)(p(),{query:"(min-width: 768px)",children:this.state.isEditFileTagShow&&(0,g.jsx)(Ms,{repoID:this.props.repoID,fileTagList:i.file_tags,filePath:r,toggleCancel:this.onEditFileTagToggle,onFileTagChanged:this.onFileTagChanged,target:this.tagListTitleID,isEditFileTagShow:this.state.isEditFileTagShow})}),(0,g.jsx)(p(),{query:"(max-width: 767.8px)",children:this.state.isEditFileTagShow&&(0,g.jsx)(ni.Z,{repoID:this.props.repoID,fileTagList:i.file_tags,filePath:r,toggleCancel:this.onEditFileTagToggle,onFileTagChanged:this.onFileTagChanged})}),this.state.isZipDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ii.Z,{repoID:this.props.repoID,path:this.props.path,target:this.props.dirent.name,toggleDialog:this.closeZipDialog})}),this.state.isShareDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:i.type,itemName:i.name,itemPath:r,userPerm:i.permission,repoID:this.props.repoID,repoEncrypted:this.props.repoEncrypted,enableDirPrivateShare:this.props.enableDirPrivateShare,isGroupOwnedRepo:this.props.isGroupOwnedRepo,toggleDialog:this.closeSharedDialog})}),this.state.isPermissionDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jt,{toggleDialog:this.onPermissionItem,repoID:this.props.repoID,folderPath:r,folderName:i.name,isDepartmentRepo:this.props.isGroupOwnedRepo})})]})}}]),n}(a.Component),Ps=n(99832),Fs=n(60925),_s=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0&&!s.state.activeDirent||(s.setState({activeDirent:e}),s.props.onDirentClick(e))},s.sortByName=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("name",t)},s.sortByTime=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("time",t)},s.sortBySize=function(e){e.preventDefault();var t="asc"==s.props.sortOrder?"desc":"asc";s.props.sortItems("size",t)},s.prepareImageItem=function(e){var t=e.name,n=s.props.repoID,i=m.c.encodePath(m.c.joinPath(s.props.path,t)),r="".concat(u.ze,"repo/").concat(n,"/raw").concat(i);return{name:t,url:"".concat(u.ze,"lib/").concat(n,"/file").concat(i),src:r}},s.showImagePopup=function(e){var t=s.props.fullDirentList.filter((function(e){return m.c.imageCheck(e.name)})),n=t.map((function(e){return s.prepareImageItem(e)}));s.setState({isImagePopupOpen:!0,imageItems:n,imageIndex:t.indexOf(e)})},s.moveToPrevImage=function(){var e=s.state.imageItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+e-1)%e}}))},s.moveToNextImage=function(){var e=s.state.imageItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+1)%e}}))},s.closeImagePopup=function(){s.setState({isImagePopupOpen:!1})},s.onCreateFileToggle=function(e){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:e||""})},s.onCreateFolderToggle=function(){s.setState({isCreateFolderDialogShow:!s.state.isCreateFolderDialogShow})},s.onAddFolder=function(e){s.setState({isCreateFolderDialogShow:!1}),s.props.onAddFolder(e)},s.checkDuplicatedName=function(e){return s.props.direntList.some((function(t){return t.name===e}))},s.onMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onItemsDownload=function(){var e=s.props,t=e.path,n=e.repoID,i=e.selectedDirentList;if(i.length){if(1===i.length&&!i[0].isDir()){var r=m.c.joinPath(t,i[0].name),o=Qn.Z.getUrl({type:"download_file_url",repoID:n,filePath:r});return void(location.href=o)}var a=i.map((function(e){return e.name}));s.setState({isProgressDialogShow:!0,downloadItems:a})}},s.onCloseZipDownloadDialog=function(){s.setState({isProgressDialogShow:!1})},s.onMouseDown=function(e){e.stopPropagation(),e.button},s.handleContextClick=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;e.preventDefault(),e.stopPropagation();var r=e.clientX||e.touches&&e.touches[0].pageX,o=e.clientY||e.touches&&e.touches[0].pageY;s.props.posX&&(r-=s.props.posX),s.props.posY&&(o-=s.props.posY),(0,Fs.SC)();var a={id:t,position:{x:r,y:o},target:e.target,currentObject:i,menuList:n};0!==n.length&&(0,Fs.AE)(a)},s.onContainerClick=function(){(0,Fs.SC)(),s.state.activeDirent&&s.onDirentClick(null)},s.onContainerMouseDown=function(e){s.onMouseDown(e)},s.onContainerContextMenu=function(e){e.preventDefault();var t=s.props.userPerm,n=m.c.getUserPermission(s.props.userPerm),i=n.isCustomPermission,r=n.customPermission;if("admin"===t||"rw"===t||i){var o=Ds.Z.NEW_FOLDER,a=Ds.Z.NEW_FILE,l=Ds.Z.NEW_MARKDOWN_FILE,c=Ds.Z.NEW_EXCEL_FILE,h=Ds.Z.NEW_POWERPOINT_FILE,p=Ds.Z.NEW_WORD_FILE,d=Ds.Z.NEW_SEADOC_FILE,g=[o,a,"Divider",l,c,h,p];if(u.np&&g.push(d),0===s.props.selectedDirentList.length){if(i)if(!r.permission.create)return;var f=g;s.handleContextClick(e,"dirent-container-menu",f)}else if(1===s.props.selectedDirentList.length)if(s.state.activeDirent){if(s.onDirentClick(null),e.preventDefault(),e.persist(),i)if(!r.permission.modify)return;setTimeout((function(){var t=g;s.handleContextClick(e,"dirent-container-menu",t)}),0)}else{var v=s.props.selectedDirentList[0],x=s.getDirentItemMenuList(v,!0);s.handleContextClick(e,"dirent-item-menu",x,v)}else{var w=[];if(i){var y=r.permission,D=y.modify,j=y.copy,C=y.download,S=y.delete;D&&w.push(Ds.Z.MOVE),j&&w.push(Ds.Z.COPY),C&&w.push(Ds.Z.DOWNLOAD),S&&w.push(Ds.Z.DELETE)}else w=[Ds.Z.MOVE,Ds.Z.COPY,Ds.Z.DOWNLOAD,Ds.Z.DELETE];s.handleContextClick(e,"dirents-menu",w)}}},s.onContainerMenuItemClick=function(e){switch(e){case"New Folder":s.onCreateFolderToggle();break;case"New File":s.onCreateFileToggle();break;case"New Markdown File":s.onCreateFileToggle(".md");break;case"New Excel File":s.onCreateFileToggle(".xlsx");break;case"New PowerPoint File":s.onCreateFileToggle(".pptx");break;case"New Word File":s.onCreateFileToggle(".docx");break;case"New SeaDoc File":s.onCreateFileToggle(".sdoc")}(0,Fs.SC)()},s.onDirentsMenuItemClick=function(e){switch(e){case"Move":s.onMoveToggle();break;case"Copy":s.onCopyToggle();break;case"Download":s.onItemsDownload();break;case"Delete":s.props.onItemsDelete()}(0,Fs.SC)()},s.onThreadMouseDown=function(e){s.onMouseDown(e)},s.onThreadContextMenu=function(e){e.stopPropagation()},s.onItemMouseDown=function(e){s.onMouseDown(e)},s.onItemContextMenu=function(e,t){if(!(s.props.selectedDirentList.length>1)){s.onDirentClick(t);var n=s.getDirentItemMenuList(t,!0);s.handleContextClick(e,"dirent-item-menu",n,t)}},s.setDirentItemRef=function(e){return function(t){s.direntItems[e]=t}},s.onMenuItemClick=function(e,t,n){var i=s.getDirentIndex(t);s.direntItems[i].onMenuItemClick(e,n),(0,Fs.SC)()},s.onShowMenu=function(e){s.freezeItem()},s.onHideMenu=function(e){s.unfreezeItem()},s.getDirentIndex=function(e){for(var t=s.props.direntList,n=0,i=0;i0&&(o=Us()(t.name).slice(0,7),l=t.file_tags.map((function(e){return e.name})).join(" "));var c="";this.props.currentRepoInfo&&(c=u.ze+"library/"+this.props.repoID+"/"+this.props.currentRepoInfo.repo_name+m.c.encodePath(i));var h=u.ze+"lib/"+this.props.repoID+"/file"+m.c.encodePath(i);t.is_sdoc_revision&&t.revision_id&&(h=u.ze+"lib/"+this.props.repoID+"/revisions/"+t.revision_id+"/");var p="grid-file-img-link cursor-pointer";p+=this.state.isGridSelected?" grid-selected-active":" ",p+=this.state.isGridDropTipShow?" grid-drop-show":" ";var d=(0,u.ih)("locked by {name}");return d=d.replace("{name}",t.lock_owner_name),(0,g.jsx)(a.Fragment,{children:(0,g.jsxs)("li",{className:"grid-item",onContextMenu:this.onGridItemContextMenu,onMouseDown:this.onGridItemMouseDown,children:[(0,g.jsxs)("div",{className:p,draggable:this.canDrag,onClick:this.onItemClick,onDragStart:this.onGridItemDragStart,onDragEnter:this.onGridItemDragEnter,onDragOver:this.onGridItemDragOver,onDragLeave:this.onGridItemDragLeave,onDrop:this.onGridItemDragDrop,children:[this.canPreview&&t.encoded_thumbnail_src?(0,g.jsx)("img",{src:"".concat(u.ze).concat(r),ref:this.gridIcon,className:"thumbnail",onClick:this.onItemClick,alt:""}):(0,g.jsx)("img",{src:s,ref:this.gridIcon,width:"96",alt:""}),t.is_locked&&(0,g.jsx)("img",{className:"grid-file-locked-icon",src:u.si+"img/file-locked-32.png",alt:(0,u.ih)("locked"),title:d})]}),(0,g.jsxs)("div",{className:"grid-file-name",onDragStart:this.onGridItemDragStart,draggable:this.canDrag,children:["dir"!==t.type&&t.file_tags&&t.file_tags.length>0&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{id:"tag-list-title-".concat(o),className:"dirent-item tag-list tag-list-stacked d-inline-block align-middle",children:t.file_tags.map((function(e,n){var i=t.file_tags.length;return(0,g.jsx)("span",{className:"file-tag",style:{zIndex:i-n,backgroundColor:e.color}},e.id)}))}),(0,g.jsx)(Ye.Z,{target:"tag-list-title-".concat(o),placement:"bottom",children:l})]}),t.isDir()||this.canPreview?(0,g.jsx)("a",{className:"grid-file-name-link ".concat(this.state.isGridSelected?"grid-link-selected-active":""),href:"dir"===t.type?c:h,onClick:this.onItemLinkClick,children:t.name}):(0,g.jsx)("a",{className:"sf-link grid-file-name-link ".concat(this.state.isGridSelected?"grid-link-selected-active":""),onClick:this.onItemLinkClick,children:t.name})]})]})})}}]),n}(a.Component),Bs=(n(12188),function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onCreateFileToggle=function(e){s.setState({isCreateFileDialogShow:!s.state.isCreateFileDialogShow,fileType:e||""})},s.onGridItemClick=function(e){(0,Fs.SC)(),s.setState({activeDirent:e}),s.props.onGridItemClick(e)},s.onMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onAddFolder=function(e){s.setState({isCreateFolderDialogShow:!1}),s.props.onAddFolder(e)},s.onItemShare=function(e){e.nativeEvent.stopImmediatePropagation(),s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.closeSharedDialog=function(){s.setState({isShareDialogShow:!s.state.isShareDialogShow})},s.onItemDelete=function(e,t){t.nativeEvent.stopImmediatePropagation(),s.props.onItemDelete(e)},s.onItemConvert=function(e,t,n){t.nativeEvent.stopImmediatePropagation(),s.props.onItemConvert(e,n)},s.onMenuItemClick=function(e,t,n){switch((0,Fs.SC)(),e){case"Download":s.onItemDownload(t,n);break;case"Share":s.onItemShare(n);break;case"Delete":s.onItemDelete(t,n);break;case"Rename":s.onItemRenameToggle();break;case"Move":s.onItemMoveToggle();break;case"Copy":s.onItemCopyToggle();break;case"Convert to Markdown":s.onItemConvert(t,n,"markdown");break;case"Convert to sdoc":s.onItemConvert(t,n,"sdoc");break;case"Tags":s.onEditFileTagToggle();break;case"Permission":s.onPermissionItem();break;case"Unlock":s.onUnlockItem(t);break;case"Lock":s.onLockItem(t);break;case"Mark as draft":s.onMarkAsDraft(t);break;case"Unmark as draft":s.onUnmarkAsDraft(t);break;case"History":s.onHistory(t);break;case"New Folder":s.onCreateFolderToggle(t);break;case"New File":s.onCreateFileToggle("");break;case"New Markdown File":s.onCreateFileToggle(".md");break;case"New Excel File":s.onCreateFileToggle(".xlsx");break;case"New PowerPoint File":s.onCreateFileToggle(".pptx");break;case"New Word File":s.onCreateFileToggle(".docx");break;case"New SeaDoc File":s.onCreateFileToggle(".sdoc");break;case"Access Log":s.onAccessLog(t);break;case"Properties":s.props.showDirentDetail("info");break;case"Open via Client":s.onOpenViaClient(t)}},s.onEditFileTagToggle=function(){s.setState({isEditFileTagShow:!s.state.isEditFileTagShow})},s.onFileTagChanged=function(){var e=s.state.activeDirent?s.state.activeDirent:"",t=m.c.joinPath(s.props.path,e.name);s.props.onFileTagChanged(e,t)},s.getDirentPath=function(e){var t=s.props.path;return"/"===t?t+e.name:t+"/"+e.name},s.closeZipDialog=function(){s.setState({isZipDialogOpen:!1})},s.onItemDownload=function(e,t){t.nativeEvent.stopImmediatePropagation();var n=e,i=s.props.repoID,r=s.getDirentPath(n);if("dir"===n.type)s.setState({isZipDialogOpen:!0});else{var o=Qn.Z.getUrl({type:"download_file_url",repoID:i,filePath:r});location.href=o}},s.onCreateFolderToggle=function(){s.setState({isCreateFolderDialogShow:!s.state.isCreateFolderDialogShow})},s.onItemRenameToggle=function(){s.setState({isRenameDialogShow:!s.state.isRenameDialogShow})},s.onItemMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onItemCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onPermissionItem=function(){s.setState({isPermissionDialogOpen:!s.state.isPermissionDialogOpen})},s.onLockItem=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.lockfile(t,n).then((function(){s.props.updateDirent(e,"is_locked",!0),s.props.updateDirent(e,"locked_by_me",!0);var t=u.b6.split("@");s.props.updateDirent(e,"lock_owner_name",t[0])})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onUnlockItem=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.unlockfile(t,n).then((function(){s.props.updateDirent(e,"is_locked",!1),s.props.updateDirent(e,"locked_by_me",!1),s.props.updateDirent(e,"lock_owner_name","")})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onMarkAsDraft=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.sdocMarkAsDraft(t,n).then((function(t){s.props.updateDirent(e,"is_sdoc_draft",!0)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onUnmarkAsDraft=function(e){var t=s.props.repoID,n=s.getDirentPath(e);y.I.sdocUnmarkAsDraft(t,n).then((function(t){s.props.updateDirent(e,"is_sdoc_draft",!1)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onHistory=function(e){var t=s.props.repoID,n=s.getDirentPath(e),i=Qn.Z.getUrl({type:"file_revisions",repoID:t,filePath:n});location.href=i},s.onAccessLog=function(e){var t=s.getDirentPath(e),n=u.ze+"repo/file-access/"+s.props.repoID+"/?p="+encodeURIComponent(t);window.open(n)},s.onOpenViaClient=function(e){var t=s.props.repoID,n=s.getDirentPath(e),i=Qn.Z.getUrl({type:"open_via_client",repoID:t,filePath:n});location.href=i},s.onItemRename=function(e){s.props.onItemRename(s.state.activeDirent,e)},s.prepareImageItem=function(e){var t=e.name,n=s.props.repoID,i=m.c.encodePath(m.c.joinPath(s.props.path,t)),r="".concat(u.ze,"repo/").concat(n,"/raw").concat(i);return{name:t,url:"".concat(u.ze,"lib/").concat(n,"/file").concat(i),src:r}},s.showImagePopup=function(e){var t=s.props.fullDirentList.filter((function(e){return m.c.imageCheck(e.name)})),n=t.map((function(e){return s.prepareImageItem(e)}));s.setState({isImagePopupOpen:!0,imageItems:n,imageIndex:t.indexOf(e)})},s.closeImagePopup=function(){s.setState({isImagePopupOpen:!1})},s.moveToPrevImage=function(){var e=s.state.imageItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+e-1)%e}}))},s.moveToNextImage=function(){var e=s.state.imageItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+1)%e}}))},s.checkDuplicatedName=function(e){return m.c.checkDuplicatedNameInList(s.props.direntList,e)},s.onMouseDown=function(e){e.stopPropagation(),e.button},s.onGridContainerMouseDown=function(e){s.onMouseDown(e)},s.onGridItemMouseDown=function(e){s.onMouseDown(e)},s.gridContainerClick=function(){(0,Fs.SC)(),s.props.isDirentDetailShow||s.onGridItemClick(null)},s.onGridContainerContextMenu=function(e){e.preventDefault();var t=s.props.userPerm;if("admin"===t||"rw"===t){var n=Ds.Z.NEW_FOLDER,i=Ds.Z.NEW_FILE,r=Ds.Z.NEW_MARKDOWN_FILE,o=Ds.Z.NEW_EXCEL_FILE,a=Ds.Z.NEW_POWERPOINT_FILE,l=Ds.Z.NEW_WORD_FILE,c=Ds.Z.NEW_SEADOC_FILE,h=[n,i,"Divider",r,o,a,l];u.np&&h.push(c),s.handleContextClick(e,"dirent-grid-container-menu",h)}},s.onGridItemContextMenu=function(e,t){var n=s.getDirentItemMenuList(t,!0);s.handleContextClick(e,"grid-item-contextmenu",n,t),s.props.onGridItemClick&&s.props.onGridItemClick(t)},s.handleContextClick=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;e.preventDefault(),e.stopPropagation();var r=e.clientX||e.touches&&e.touches[0].pageX,o=e.clientY||e.touches&&e.touches[0].pageY;s.props.posX&&(r-=s.props.posX),s.props.posY&&(o-=s.props.posY),(0,Fs.SC)(),s.setState({activeDirent:i});var a={id:t,position:{x:r,y:o},target:e.target,currentObject:i,menuList:n};0!==n.length&&(0,Fs.AE)(a)},s.getDirentItemMenuList=function(e,t){var n=s.isRepoOwner,i=s.props.currentRepoInfo;return m.c.getDirentOperationList(n,i,e,t)},s.state={isImagePopupOpen:!1,imageItems:[],imageIndex:0,isShareDialogShow:!1,isMoveDialogShow:!1,isCopyDialogShow:!1,isEditFileTagShow:!1,isZipDialogOpen:!1,isRenameDialogShow:!1,isCreateFolderDialogShow:!1,isCreateFileDialogShow:!1,fileType:"",isPermissionDialogOpen:!1,isMutipleOperation:!1,isGridItemFreezed:!1,activeDirent:null},s.isRepoOwner=e.currentRepoInfo.owner_email===u.b6,s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.direntList,i=t.path,s=this.state.activeDirent?this.state.activeDirent:"",r=m.c.joinPath(i,s.name);return this.props.isDirentListLoading?(0,g.jsx)(R.Z,{}):(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("ul",{className:"grid-view",onClick:this.gridContainerClick,onContextMenu:this.onGridContainerContextMenu,onMouseDown:this.onGridContainerMouseDown,children:0!==n.length&&n.map((function(t,n){return(0,g.jsx)(zs,{dirent:t,repoID:e.props.repoID,path:e.props.path,onItemClick:e.props.onItemClick,currentRepoInfo:e.props.currentRepoInfo,showImagePopup:e.showImagePopup,onGridItemContextMenu:e.onGridItemContextMenu,onItemMove:e.props.onItemMove,onGridItemMouseDown:e.onGridItemMouseDown,onGridItemClick:e.onGridItemClick,activeDirent:e.state.activeDirent},n)}))}),(0,g.jsx)(Ps.Z,{id:"grid-item-contextmenu",onMenuItemClick:this.onMenuItemClick}),(0,g.jsx)(Ps.Z,{id:"dirent-grid-container-menu",onMenuItemClick:this.onMenuItemClick}),this.state.isCreateFolderDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Yn.Z,{parentPath:this.props.path,onAddFolder:this.onAddFolder,checkDuplicatedName:this.checkDuplicatedName,addFolderCancel:this.onCreateFolderToggle})}),this.state.isCreateFileDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jn,{parentPath:this.props.path,fileType:this.state.fileType,onAddFile:this.props.onAddFile,checkDuplicatedName:this.checkDuplicatedName,toggleDialog:this.onCreateFileToggle})}),this.state.isMoveDialogShow&&(0,g.jsx)(ei,{path:this.props.path,repoID:this.props.repoID,repoEncrypted:this.props.currentRepoInfo.encrypted,isMutipleOperation:this.state.isMutipleOperation,onItemMove:this.props.onItemMove,onCancelMove:this.onMoveToggle,dirent:this.state.activeDirent}),this.state.isZipDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ii.Z,{repoID:this.props.repoID,path:this.props.path,target:s.name,toggleDialog:this.closeZipDialog})}),this.state.isCopyDialogShow&&(0,g.jsx)(ti,{path:this.props.path,repoID:this.props.repoID,repoEncrypted:this.props.currentRepoInfo.encrypted,isMutipleOperation:this.state.isMutipleOperation,onItemCopy:this.props.onItemCopy,onCancelCopy:this.onCopyToggle,dirent:this.state.activeDirent}),this.state.isEditFileTagShow&&(0,g.jsx)(ni.Z,{repoID:this.props.repoID,fileTagList:s.file_tags,filePath:r,toggleCancel:this.onEditFileTagToggle,onFileTagChanged:this.onFileTagChanged}),this.state.isShareDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ke.Z,{itemType:s.type,itemName:s.name,itemPath:r,userPerm:s.permission,repoID:this.props.repoID,repoEncrypted:!1,enableDirPrivateShare:this.props.enableDirPrivateShare,isGroupOwnedRepo:this.props.isGroupOwnedRepo,toggleDialog:this.closeSharedDialog})}),this.state.isRenameDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(si,{dirent:this.state.activeDirent,onRename:this.onItemRename,checkDuplicatedName:this.checkDuplicatedName,toggleCancel:this.onItemRenameToggle})}),this.state.isPermissionDialogOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jt,{toggleDialog:this.onPermissionItem,repoID:this.props.repoID,folderPath:r,folderName:s.name,isDepartmentRepo:this.props.isGroupOwnedRepo})}),this.state.isImagePopupOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(js.Z,{imageItems:this.state.imageItems,imageIndex:this.state.imageIndex,closeImagePopup:this.closeImagePopup,moveToPrevImage:this.moveToPrevImage,moveToNextImage:this.moveToNextImage})})]})}}]),n}(a.Component)),Gs=Bs,Hs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return"/"===this.props.path&&0===this.props.direntList.length?(0,g.jsx)(ws,{path:this.props.path,isDirentListLoading:this.props.isDirentListLoading,onAddFile:this.props.onAddFile}):(0,g.jsxs)(a.Fragment,{children:[this.props.isRepoInfoBarShow&&(0,g.jsx)(ys.Z,{repoID:this.props.repoID,currentPath:this.props.path,readmeMarkdown:this.props.readmeMarkdown,draftCounts:this.props.draftCounts,usedRepoTags:this.props.usedRepoTags,updateUsedRepoTags:this.props.updateUsedRepoTags,onFileTagChanged:this.props.onFileTagChanged}),(0,g.jsx)(Gs,{path:this.props.path,repoID:this.props.repoID,currentRepoInfo:this.props.currentRepoInfo,isGroupOwnedRepo:this.props.isGroupOwnedRepo,userPerm:this.props.userPerm,enableDirPrivateShare:this.props.enableDirPrivateShare,direntList:this.props.direntList,fullDirentList:this.props.fullDirentList,onAddFile:this.props.onAddFile,onItemClick:this.props.onItemClick,onItemDelete:this.props.onItemDelete,onItemMove:this.props.onItemMove,onItemCopy:this.props.onItemCopy,onItemConvert:this.props.onItemConvert,isDirentListLoading:this.props.isDirentListLoading,updateDirent:this.props.updateDirent,onRenameNode:this.props.onRenameNode,showDirentDetail:this.props.showDirentDetail,onGridItemClick:this.props.onGridItemClick,isDirentDetailShow:this.props.isDirentDetailShow,onItemRename:this.props.onItemRename,onAddFolder:this.props.onAddFolder,onFileTagChanged:this.props.onFileTagChanged})]})}}]),n}(a.Component),Ws=Hs,Vs=n(95046),qs=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleChange=function(e){e.target.value.trim()?s.setState({isSubmitBtnActive:!0}):s.setState({isSubmitBtnActive:!1}),s.setState({newName:e.target.value})},s.handleSubmit=function(){var e=s.validateInput(),t=e.isValid,n=e.errMessage;if(t)if(s.checkDuplicatedName()){var i=(0,u.ih)('The name "{name}" is already taken. Please choose a different name.');i=i.replace("{name}",m.c.HTMLescape(s.state.newName)),s.setState({errMessage:i})}else s.props.onRename(s.state.newName);else s.setState({errMessage:n})},s.handleKeyPress=function(e){"Enter"===e.key&&s.handleSubmit()},s.toggle=function(){s.props.toggleCancel()},s.changeState=function(e){var t=e.object.name;s.setState({newName:t})},s.validateInput=function(){var e=s.state.newName.trim(),t=!0,n="";return e?e.indexOf("/")>-1?{isValid:t=!1,errMessage:n=(0,u.ih)("Name should not include '/'.")}:{isValid:t,errMessage:n}:{isValid:t=!1,errMessage:n=(0,u.ih)("Name is required.")}},s.checkDuplicatedName=function(){return s.props.checkDuplicatedName(s.state.newName)},s.onAfterModelOpened=function(){if(s.newInput.current){var e=s.props.currentNode,t=e.object.type;if(s.newInput.current.focus(),"file"===t){var n=e.object.name.lastIndexOf(".md");s.newInput.current.setSelectionRange(0,n,"forward")}else s.newInput.current.setSelectionRange(0,-1)}},s.state={newName:"",errMessage:"",isSubmitBtnActive:!1},s.newInput=a.createRef(),s}return(0,s.Z)(n,[{key:"componentWillMount",value:function(){this.setState({newName:this.props.currentNode.object.name})}},{key:"componentDidMount",value:function(){var e=this.props.currentNode;this.changeState(e)}},{key:"componentWillReceiveProps",value:function(e){this.changeState(e.currentNode)}},{key:"render",value:function(){var e=this.props.currentNode.object.type;return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.toggle,onOpened:this.onAfterModelOpened,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:"file"===e?(0,u.ih)("Rename File"):(0,u.ih)("Rename Folder")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("p",{children:"file"===e?(0,u.ih)("New file name"):(0,u.ih)("New folder name")}),(0,g.jsx)(de.Z,{onKeyPress:this.handleKeyPress,innerRef:this.newInput,placeholder:"newName",value:this.state.newName,onChange:this.handleChange}),this.state.errMessage&&(0,g.jsx)(Dt.Z,{color:"danger",className:"mt-2",children:this.state.errMessage})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Ks=qs,Ys=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onNodeClick=function(e){s.setState({opNode:e}),m.c.imageCheck(e.object.name)?s.showNodeImagePopup(e):s.props.onNodeClick(e)},s.onMenuItemClick=function(e,t){switch(s.setState({opNode:t}),e){case"New Folder":t?s.onAddFolderToggle():s.onAddFolderToggle("root");break;case"New File":t?s.onAddFileToggle():s.onAddFileToggle("root");break;case"Rename":s.onRenameToggle();break;case"Delete":s.onDeleteNode(t);break;case"Copy":s.onCopyToggle();break;case"Move":s.onMoveToggle();break;case"Open in New Tab":s.onOpenFile(t)}},s.onAddFileToggle=function(e){if("root"===e){var t=s.props.treeData.root;s.setState({isAddFileDialogShow:!s.state.isAddFileDialogShow,opNode:t})}else s.setState({isAddFileDialogShow:!s.state.isAddFileDialogShow})},s.onAddFolderToggle=function(e){if("root"===e){var t=s.props.treeData.root;s.setState({isAddFolderDialogShow:!s.state.isAddFolderDialogShow,opNode:t})}else s.setState({isAddFolderDialogShow:!s.state.isAddFolderDialogShow})},s.onRenameToggle=function(){s.setState({isRenameDialogShow:!s.state.isRenameDialogShow})},s.onCopyToggle=function(){s.setState({isCopyDialogShow:!s.state.isCopyDialogShow})},s.onMoveToggle=function(){s.setState({isMoveDialogShow:!s.state.isMoveDialogShow})},s.onAddFolderNode=function(e){s.setState({isAddFolderDialogShow:!s.state.isAddFolderDialogShow}),s.props.onAddFolderNode(e)},s.onRenameNode=function(e){s.setState({isRenameDialogShow:!s.state.isRenameDialogShow});var t=s.state.opNode;s.props.onRenameNode(t,e)},s.onDeleteNode=function(e){s.props.onDeleteNode(e)},s.onOpenFile=function(e){var t=u.ze+"lib/"+s.props.repoID+"/file"+m.c.encodePath(e.path);window.open(t,"_blank")},s.checkDuplicatedName=function(e){var t=s.state.opNode;return(t.parentNode?t.parentNode:t).children.map((function(e){return e.object})).some((function(t){return t.name===e}))},s.showNodeImagePopup=function(e){var t=e.parentNode.children.filter((function(e){return m.c.imageCheck(e.object.name)})).map((function(e){return e.object.name}));s.setState({isNodeImagePopupOpen:!0,imageNodeItems:s.prepareImageItems(e),imageIndex:t.indexOf(e.object.name)})},s.prepareImageItems=function(e){var t=e.parentNode.children.filter((function(e){return m.c.imageCheck(e.object.name)})),n=!s.props.currentRepoInfo.encrypted;return t.map((function(t){return function(t){var i=t.object.name,r=m.c.encodePath(m.c.joinPath(e.parentNode.path,i)),o="gif"===i.substr(i.lastIndexOf(".")+1).toLowerCase(),a=s.props.repoID,l="";return l=n&&!o?"".concat(u.ze,"thumbnail/").concat(a,"/").concat(u.fp).concat(r):"".concat(u.ze,"repo/").concat(a,"/raw").concat(r),{name:i,url:"".concat(u.ze,"lib/").concat(a,"/file").concat(r),src:l}}(t)}))},s.closeNodeImagePopup=function(){s.setState({isNodeImagePopupOpen:!1})},s.moveToPrevImage=function(){var e=s.state.imageNodeItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+e-1)%e}}))},s.moveToNextImage=function(){var e=s.state.imageNodeItems.length;s.setState((function(t){return{imageIndex:(t.imageIndex+1)%e}}))},s.stopTreeScrollPropagation=function(e){e.stopPropagation()},s.state={opNode:null,isAddFileDialogShow:!1,isAddFolderDialogShow:!1,isRenameDialogShow:!1,isNodeImagePopupOpen:!1,imageNodeItems:[],imageIndex:0,isCopyDialogShow:!1,isMoveDialogShow:!1,isMutipleOperation:!1},s.isNodeMenuShow=!0,s}return(0,s.Z)(n,[{key:"componentWillReceiveProps",value:function(e){this.setState({opNode:e.currentNode})}},{key:"render",value:function(){var e=this.props.navRate?"0 0 "+100*this.props.navRate+"%":"0 0 25%",t=this.props.inResizing?"none":"";return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("div",{className:"dir-content-nav",role:"navigation",style:{flex:e,userSelect:t},onScroll:this.stopTreeScrollPropagation,children:this.props.isTreeDataLoading?(0,g.jsx)(R.Z,{}):(0,g.jsx)(Vs.Z,{userPerm:this.props.userPerm,isNodeMenuShow:this.isNodeMenuShow,treeData:this.props.treeData,currentPath:this.props.currentPath,onNodeClick:this.onNodeClick,onNodeExpanded:this.props.onNodeExpanded,onNodeCollapse:this.props.onNodeCollapse,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.onFreezedItem,onUnFreezedItem:this.onUnFreezedItem,onItemMove:this.props.onItemMove,currentRepoInfo:this.props.currentRepoInfo,selectedDirentList:this.props.selectedDirentList,onItemsMove:this.props.onItemsMove})}),this.state.isAddFolderDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Yn.Z,{parentPath:this.state.opNode.path,onAddFolder:this.onAddFolderNode,checkDuplicatedName:this.checkDuplicatedName,addFolderCancel:this.onAddFolderToggle})}),this.state.isAddFileDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Jn,{parentPath:this.state.opNode.path,onAddFile:this.props.onAddFileNode,checkDuplicatedName:this.checkDuplicatedName,toggleDialog:this.onAddFileToggle})}),this.state.isRenameDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ks,{currentNode:this.state.opNode,onRename:this.onRenameNode,checkDuplicatedName:this.checkDuplicatedName,toggleCancel:this.onRenameToggle})}),this.state.isCopyDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ti,{path:this.state.opNode.parentNode.path,repoID:this.props.repoID,dirent:this.state.opNode.object,onItemCopy:this.props.onItemCopy,repoEncrypted:this.props.currentRepoInfo.encrypted,onCancelCopy:this.onCopyToggle,isMutipleOperation:this.state.isMutipleOperation})}),this.state.isMoveDialogShow&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(ei,{path:this.state.opNode.parentNode.path,repoID:this.props.repoID,dirent:this.state.opNode.object,onItemMove:this.props.onItemMove,repoEncrypted:this.props.currentRepoInfo.encrypted,onCancelMove:this.onMoveToggle,isMutipleOperation:this.state.isMutipleOperation})}),this.state.isNodeImagePopupOpen&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(js.Z,{imageItems:this.state.imageNodeItems,imageIndex:this.state.imageIndex,closeImagePopup:this.closeNodeImagePopup,moveToPrevImage:this.moveToPrevImage,moveToNextImage:this.moveToNextImage})})]})}}]),n}(a.Component);Ys.defaultProps={navRate:.25};var Js=Ys,Xs=n(50699),$s=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o.4?s.setState({inResizing:!1,navRate:.38}):s.setState({navRate:n})},s.setCookie=function(e,t){var n=e+"="+t+";";document.cookie=n},s.getCookie=function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0,s=n.length;i=t.scrollHeight&&s.props.onListContainerScroll()},s.state={currentDirent:null},s.errMessage=(0,g.jsx)("div",{className:"message err-tip",children:(0,u.ih)("Folder does not exist.")}),s}return(0,s.Z)(n,[{key:"componentWillReceiveProps",value:function(e){e.path===this.props.path&&e.updateDetail===this.props.updateDetail||this.setState({currentDirent:null})}},{key:"render",value:function(){var e=this.props,t=e.path,n=e.repoID,i=e.usedRepoTags,s=e.readmeMarkdown,r=e.draftCounts,o=!1;return"/"===t&&(0===i.length&&null===s&&0===r||(o=!0)),(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("div",{className:"cur-view-container",children:["read-only"===this.props.currentRepoInfo.status&&(0,g.jsx)("div",{className:"readonly-tip-message",children:(0,u.ih)("This library has been set to read-only by admin and cannot be updated.")}),(0,g.jsx)("div",{className:"cur-view-path",children:(0,g.jsx)(Ri,{repoID:n,repoName:this.props.currentRepoInfo.repo_name,pathPrefix:this.props.pathPrefix,currentPath:this.props.path,userPerm:this.props.userPerm,isViewFile:this.props.isViewFile,onTabNavClick:this.props.onTabNavClick,onPathClick:this.onPathClick,updateUsedRepoTags:this.props.updateUsedRepoTags,fileTags:this.props.fileTags,onDeleteRepoTag:this.props.onDeleteRepoTag,direntList:this.props.direntList,sortBy:this.props.sortBy,sortOrder:this.props.sortOrder,sortItems:this.props.sortItems})}),(0,g.jsxs)("div",{className:"cur-view-content lib-content-container ".concat("column"===this.props.currentMode?"view-mode-container":""),onScroll:this.onItemsScroll,children:[!this.props.pathExist&&this.errMessage,this.props.pathExist&&(0,g.jsxs)(a.Fragment,{children:["list"===this.props.currentMode&&(0,g.jsx)(Es,{path:this.props.path,repoID:n,currentRepoInfo:this.props.currentRepoInfo,isGroupOwnedRepo:this.props.isGroupOwnedRepo,userPerm:this.props.userPerm,enableDirPrivateShare:this.props.enableDirPrivateShare,isRepoInfoBarShow:o,usedRepoTags:this.props.usedRepoTags,readmeMarkdown:this.props.readmeMarkdown,draftCounts:this.props.draftCounts,updateUsedRepoTags:this.props.updateUsedRepoTags,isDirentListLoading:this.props.isDirentListLoading,direntList:this.props.direntList,fullDirentList:this.props.fullDirentList,sortBy:this.props.sortBy,sortOrder:this.props.sortOrder,sortItems:this.props.sortItems,onAddFolder:this.props.onAddFolder,onAddFile:this.props.onAddFile,onItemClick:this.onItemClick,onItemSelected:this.onItemSelected,onItemDelete:this.onItemDelete,onItemRename:this.props.onItemRename,onItemMove:this.onItemMove,onItemCopy:this.props.onItemCopy,onItemConvert:this.props.onItemConvert,onDirentClick:this.onDirentClick,updateDirent:this.props.updateDirent,isAllItemSelected:this.props.isAllDirentSelected,onAllItemSelected:this.props.onAllDirentSelected,selectedDirentList:this.props.selectedDirentList,onItemsMove:this.props.onItemsMove,onItemsCopy:this.props.onItemsCopy,onItemsDelete:this.props.onItemsDelete,onFileTagChanged:this.props.onFileTagChanged,showDirentDetail:this.props.showDirentDetail,loadDirentList:this.props.loadDirentList}),"grid"===this.props.currentMode&&(0,g.jsx)(Ws,{path:this.props.path,repoID:n,currentRepoInfo:this.props.currentRepoInfo,isGroupOwnedRepo:this.props.isGroupOwnedRepo,userPerm:this.props.userPerm,enableDirPrivateShare:this.props.enableDirPrivateShare,onRenameNode:this.props.onRenameNode,isRepoInfoBarShow:o,usedRepoTags:this.props.usedRepoTags,readmeMarkdown:this.props.readmeMarkdown,draftCounts:this.props.draftCounts,updateUsedRepoTags:this.props.updateUsedRepoTags,isDirentListLoading:this.props.isDirentListLoading,direntList:this.props.direntList,fullDirentList:this.props.fullDirentList,onAddFile:this.props.onAddFile,onItemClick:this.onItemClick,onItemDelete:this.props.onItemDelete,onItemMove:this.onItemMove,onItemCopy:this.props.onItemCopy,onItemConvert:this.props.onItemConvert,updateDirent:this.props.updateDirent,onAddFolder:this.props.onAddFolder,showDirentDetail:this.props.showDirentDetail,onGridItemClick:this.onGridItemClick,isDirentDetailShow:this.props.isDirentDetailShow,onItemRename:this.props.onItemRename,onFileTagChanged:this.props.onFileTagChanged}),"column"===this.props.currentMode&&(0,g.jsx)(tr,{path:this.props.path,repoID:n,currentRepoInfo:this.props.currentRepoInfo,isGroupOwnedRepo:this.props.isGroupOwnedRepo,userPerm:this.props.userPerm,enableDirPrivateShare:this.props.enableDirPrivateShare,isTreeDataLoading:this.props.isTreeDataLoading,treeData:this.props.treeData,currentNode:this.props.currentNode,onNodeClick:this.props.onNodeClick,onNodeCollapse:this.props.onNodeCollapse,onNodeExpanded:this.props.onNodeExpanded,onAddFolderNode:this.props.onAddFolder,onAddFileNode:this.props.onAddFile,onRenameNode:this.props.onRenameNode,onDeleteNode:this.props.onDeleteNode,isViewFile:this.props.isViewFile,isFileLoading:this.props.isFileLoading,isFileLoadedErr:this.props.isFileLoadedErr,hash:this.props.hash,isDraft:this.props.isDraft,hasDraft:this.props.hasDraft,goDraftPage:this.props.goDraftPage,filePermission:this.props.filePermission,content:this.props.content,lastModified:this.props.lastModified,latestContributor:this.props.latestContributor,onLinkClick:this.props.onLinkClick,isRepoInfoBarShow:o,usedRepoTags:this.props.usedRepoTags,readmeMarkdown:this.props.readmeMarkdown,draftCounts:this.props.draftCounts,updateUsedRepoTags:this.props.updateUsedRepoTags,isDirentListLoading:this.props.isDirentListLoading,direntList:this.props.direntList,fullDirentList:this.props.fullDirentList,sortBy:this.props.sortBy,sortOrder:this.props.sortOrder,sortItems:this.props.sortItems,onAddFolder:this.props.onAddFolder,onAddFile:this.props.onAddFile,onItemClick:this.onItemClick,onItemSelected:this.onItemSelected,onItemDelete:this.onItemDelete,onItemRename:this.props.onItemRename,onItemMove:this.onItemMove,onItemCopy:this.props.onItemCopy,onItemConvert:this.props.onItemConvert,onDirentClick:this.onDirentClick,updateDirent:this.props.updateDirent,isAllItemSelected:this.props.isAllDirentSelected,onAllItemSelected:this.props.onAllDirentSelected,selectedDirentList:this.props.selectedDirentList,onItemsMove:this.props.onItemsMove,onItemsCopy:this.props.onItemsCopy,onItemsDelete:this.props.onItemsDelete,onFileTagChanged:this.props.onFileTagChanged,showDirentDetail:this.props.showDirentDetail})]})]})]}),this.props.isDirentDetailShow&&(0,g.jsx)(a.Fragment,{children:(0,g.jsx)("div",{className:"cur-view-detail",children:"/"!==this.props.path||this.state.currentDirent?(0,g.jsx)(xs,{repoID:n,path:this.props.path,dirent:this.state.currentDirent,currentRepoInfo:this.props.currentRepoInfo,fileTags:this.props.isViewFile?this.props.fileTags:[],onFileTagChanged:this.props.onFileTagChanged,onItemDetailsClose:this.props.closeDirentDetail,direntDetailPanelTab:this.props.direntDetailPanelTab}):(0,g.jsx)(bt,{currentRepo:this.props.currentRepoInfo,closeDetails:this.props.closeDirentDetail})})})]})}}]),n}(a.Component),ir=n(53008),sr=n.n(ir),rr="uploading",or="error",ar="isSaving",lr="uploaded",cr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onUploadCancel=function(e){e.preventDefault(),s.props.onUploadCancel(s.props.resumableFile)},s.onUploadRetry=function(e){e.preventDefault(),s.props.onUploadRetry(s.props.resumableFile)},s.formatFileSize=function(e){return"number"!==typeof e?"":e>=1e9?(e/1e9).toFixed(1)+" G":e>=1e6?(e/1e6).toFixed(1)+" M":e>=1e3?(e/1e3).toFixed(1)+" K":e.toFixed(1)+" B"},s.state={uploadState:rr},s}return(0,s.Z)(n,[{key:"componentWillReceiveProps",value:function(e){var t=e.resumableFile,n=rr;t.error?n=or:(0!==t.remainingTime||t.isSaved||(n=ar),t.isSaved&&(n=lr)),this.setState({uploadState:n})}},{key:"render",value:function(){var e=this.props.resumableFile,t=Math.round(100*e.progress()),n=e.error,i=e.newFileName,s=this.formatFileSize(e.size);return(0,g.jsxs)("tr",{className:"file-upload-item",children:[(0,g.jsx)("td",{className:"upload-name",children:(0,g.jsx)("div",{className:"ellipsis",title:i,children:i})}),(0,g.jsx)("td",{className:"ellipsis",children:(0,g.jsx)("span",{className:"file-size",title:s,children:s})}),(0,g.jsxs)("td",{className:"upload-progress ellipsis",children:[(this.state.uploadState===rr||this.state.uploadState===ar)&&(0,g.jsxs)(a.Fragment,{children:[e.size>=1e8&&(0,g.jsxs)(a.Fragment,{children:[e.isUploading()&&(0,g.jsxs)("div",{className:"progress-container",children:[(0,g.jsx)("div",{className:"progress",children:(0,g.jsx)("div",{className:"progress-bar",role:"progressbar",style:{width:"".concat(t,"%")},"aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100"})}),-1===e.remainingTime&&(0,g.jsx)("div",{className:"progress-text",children:(0,u.ih)("Preparing to upload...")}),e.remainingTime>0&&(0,g.jsxs)("div",{className:"progress-text",children:[(0,u.ih)("Remaining")," ",m.c.formatTime(e.remainingTime)]}),0===e.remainingTime&&(0,g.jsx)("div",{className:"progress-text",children:(0,u.ih)("Indexing...")})]}),!e.isUploading()&&(0,g.jsx)("div",{className:"progress-container d-flex align-items-center",children:(0,g.jsx)("div",{className:"progress",children:(0,g.jsx)("div",{className:"progress-bar",role:"progressbar",style:{width:"".concat(t,"%")},"aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100"})})})]}),e.size<1e8&&(0,g.jsx)("div",{className:"progress-container d-flex align-items-center",children:(0,g.jsx)("div",{className:"progress",children:(0,g.jsx)("div",{className:"progress-bar",role:"progressbar",style:{width:"".concat(t,"%")},"aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100"})})})]}),this.state.uploadState===or&&(0,g.jsx)("div",{className:"message err-message ml-0",dangerouslySetInnerHTML:{__html:n}})]}),(0,g.jsx)("td",{className:"upload-operation ellipsis",children:(0,g.jsxs)(a.Fragment,{children:[this.state.uploadState===rr&&(0,g.jsx)("a",{href:"#",onClick:this.onUploadCancel,children:(0,u.ih)("Cancel")}),this.state.uploadState===or&&(0,g.jsx)("a",{href:"#",onClick:this.onUploadRetry,children:(0,u.ih)("Retry")}),this.state.uploadState===ar&&(0,g.jsx)("span",{className:"saving",children:(0,u.ih)("Saving...")}),this.state.uploadState===lr&&(0,g.jsx)("span",{className:"uploaded",children:(0,u.ih)("Uploaded")})]})})]})}}]),n}(a.Component),hr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.file,t=(0,u.ih)("Please upload files less than {placeholder}M").replace("{placeholder}",u.Og);return(0,g.jsxs)("tr",{className:"file-upload-item",children:[(0,g.jsx)("td",{className:"upload-name",children:(0,g.jsx)("div",{className:"ellipsis",title:e.name,children:e.name})}),(0,g.jsx)("td",{colSpan:3,className:"error",children:t})]})}}]),n}(a.Component),pr=hr,dr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onCancelAllUploading=function(){s.props.onCancelAllUploading()},s.onMinimizeUpload=function(e){e.nativeEvent.stopImmediatePropagation(),s.setState({isMinimized:!s.state.isMinimized})},s.onCloseUpload=function(e){e.nativeEvent.stopImmediatePropagation(),s.props.onCloseUploadDialog()},s.state={isMinimized:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=m.c.formatBitRate(this.props.uploadBitrate),n=(0,u.ih)("File Upload"),i=(0,u.ih)("File Uploading...")+" "+this.props.totalProgress+"% ("+t+")",s=(0,g.jsx)("span",{className:"sf2-icon-minus",onClick:this.onMinimizeUpload}),r=(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{className:"sf2-icon-minus",onClick:this.onMinimizeUpload}),(0,g.jsx)("span",{className:"sf2-icon-x1",onClick:this.onCloseUpload})]}),o=this.props,l=o.totalProgress,c=o.allFilesUploaded,h=o.retryFileList;return(0,g.jsxs)("div",{className:"uploader-list-view mw-100",style:{height:this.state.isMinimized?"2.25rem":"20rem"},children:[(0,g.jsxs)("div",{className:"uploader-list-header",children:[(0,g.jsx)("div",{className:"title",children:100===l?n:i}),(0,g.jsx)("div",{className:"uploader-options",children:100===l||c?r:s})]}),(0,g.jsxs)("div",{className:"uploader-list-content",children:[(0,g.jsxs)("div",{className:"text-right mt-2",children:[h.length>0?(0,g.jsx)("span",{className:"cursor-pointer",onClick:this.props.onUploadRetryAll,children:(0,u.ih)("Retry All")}):(0,g.jsx)("span",{className:"cursor-pointer disabled-link",children:(0,u.ih)("Retry All")}),c?(0,g.jsx)("span",{className:"cursor-pointer ml-3 disabled-link",children:(0,u.ih)("Cancel All")}):(0,g.jsx)("span",{className:"cursor-pointer ml-3",onClick:this.onCancelAllUploading,children:(0,u.ih)("Cancel All")})]}),(0,g.jsxs)("table",{className:"table-thead-hidden",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("name")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("size")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("progress")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("state")})]})}),(0,g.jsxs)("tbody",{children:[this.props.forbidUploadFileList.map((function(e,t){return(0,g.jsx)(pr,{file:e},t)})),this.props.uploadFileList.map((function(t,n){return(0,g.jsx)(cr,{resumableFile:t,onUploadCancel:e.props.onUploadCancel,onUploadRetry:e.props.onUploadRetry},n)}))]})]})]})]})}}]),n}(a.Component),ur=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o0&&0===t.length&&s.setState({isUploadProgressDialogShow:!0,totalProgress:100})},s.setUploadFileList=function(){var e=s.resumable.files;s.setState({uploadFileList:e,isUploadProgressDialogShow:!0}),m.c.registerGlobalVariable("uploader","isUploadProgressDialogShow",!0)},s.onFileProgress=function(e){var t=s.getBitrate(),n=s.state.uploadFileList.map((function(n){if(n.uniqueIdentifier===e.uniqueIdentifier&&t){var i=8*(n.size-n.size*n.progress()),s=Math.floor(i/t);n.remainingTime=s}return n}));s.setState({uploadBitrate:t,uploadFileList:n})},s.getBitrate=function(){var e=0,t=0,n=(new Date).getTime();if(s.resumable.files.forEach((function(t){e+=t.progress()*t.size})),s.timestamp){var i=n-s.timestamp;if(i'+m.c.HTMLescape(o)+"",l=(0,u.ih)("Are you sure you want to delete %s ?").replace("%s",a),c="";return(t>0||n>0)&&(c=(0,u.ih)("This folder has been shared to {user_amount} user(s) and {group_amount} group(s).").replace("{user_amount}",t).replace("{group_amount}",n)),(0,g.jsxs)(d.Z,{isOpen:!0,toggle:r,children:[(0,g.jsx)(J.Z,{toggle:r,children:(0,u.ih)("Delete Folder")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("p",{dangerouslySetInnerHTML:{__html:l}}),c&&(0,g.jsx)("p",{className:"error",children:c})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:r,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.deleteFolder,children:(0,u.ih)("Delete")})]})]})}}]),n}(a.Component);var wr=function(){return(0,g.jsx)(d.Z,{isOpen:!0,centered:!0,className:"container-markdown-container",children:(0,g.jsxs)(b.Z,{className:"container-markdown-content",children:[(0,g.jsx)(R.Z,{}),(0,g.jsxs)("div",{className:"d-flex justify-content-center",children:[(0,u.ih)("Converting"),"..."]})]})})},yr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).showDirentDetail=function(e){e?s.setState({direntDetailPanelTab:e},(function(){s.setState({isDirentDetailShow:!0})})):s.setState({direntDetailPanelTab:"",isDirentDetailShow:!0})},s.toggleDirentDetail=function(){s.setState({direntDetailPanelTab:"",isDirentDetailShow:!s.state.isDirentDetailShow})},s.closeDirentDetail=function(){s.setState({isDirentDetailShow:!1,direntDetailPanelTab:""})},s.onpopstate=function(e){if(e.state&&e.state.key){if("/"===s.state.path)return;s.loadDirentList("/"),s.setState({path:"/",isViewFile:!1})}else if(e.state&&e.state.path){var t=e.state.path;if("column"===s.state.currentMode&&m.c.isMarkdownFile(t))return void s.showFile(t);s.loadDirentList(t),s.setState({path:t,isViewFile:!1})}},s.onRepoUpdateEvent=function(){var e=new Date;if(!(parseFloat(e-s.lastModifyTime)/1e3<=5)){var t=s.props.repoID,n=s.state,i=n.path,r=n.dirID;"column"===s.state.currentMode?s.state.isViewFile?s.updateColumnMarkdownData(i):y.I.dirMetaData(t,i).then((function(e){e.data.id!==r&&s.loadDirentList(i)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})):y.I.dirMetaData(t,i).then((function(e){e.data.id!==r&&s.loadDirentList(i)})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))}},s.updateUsedRepoTags=function(){var e=s.props.repoID;y.I.listRepoTags(e).then((function(e){var t=[];e.data.repo_tags.forEach((function(e){var n=new zn.Z(e);n.fileCount>0&&t.push(n)})),s.setState({usedRepoTags:t})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.updateReadmeMarkdown=function(e){s.setState({readmeMarkdown:null}),e.forEach((function(e){var t=e.name.toLowerCase();if("readme.md"===t||"readme.markdown"===t)return s.setState({readmeMarkdown:e}),!0}))},s.updateColumnMarkdownData=function(e){var t=s.props.repoID;s.setState({path:e,isViewFile:!0}),y.I.getFileInfo(t,e).then((function(n){var i=n.data,r=i.mtime,o=i.permission,a=i.last_modifier_name,l=i.is_draft,c=i.has_draft,h=i.draft_id;y.I.getFileDownloadLink(t,e).then((function(e){y.I.getFileContent(e.data).then((function(e){s.state.content!==e.data&&s.setState({isFileLoading:!0}),s.setState({content:e.data,filePermission:o,latestContributor:a,lastModified:A().unix(r).fromNow(),isFileLoading:!1,isFileLoadedErr:!1,isDraft:l,hasDraft:c,draftID:h})}))}))})).catch((function(){s.setState({isFileLoading:!1,isFileLoadedErr:!0})}))},s.loadDirData=function(e){var t=s.props.repoID;En.watchRepo(t,s.onRepoUpdateEvent),s.updateUsedRepoTags(),u.NT&&y.I.getRepoDraftCounts(t).then((function(e){s.setState({draftCounts:e.data.draft_counts})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})),m.c.isMarkdownFile(e)?y.I.getFileInfo(s.props.repoID,e).then((function(){"column"!==s.state.currentMode&&(We.ZP.save("seafile_view_mode","column"),s.setState({currentMode:"column"})),s.loadSidePanel(e),s.showFile(e)})).catch((function(){"column"===s.state.currentMode?(s.loadSidePanel(e),s.showDir(e)):s.showDir(e)})):"column"===s.state.currentMode?(s.loadSidePanel(e),s.showDir(e)):s.showDir(e)},s.loadSidePanel=function(e){var t=s.props.repoID;"/"===e?y.I.listDir(t,"/").then((function(e){var t=e.data,n=t.dirent_list,i=t.user_perm,r=s.state.treeData;s.addResponseListToNode(n,r.root),s.setState({isTreeDataLoading:!1,treeData:r,userPerm:i})})).catch((function(){s.setState({isTreeDataLoading:!1})})):s.loadNodeAndParentsByPath(e)},s.showDir=function(e){var t=s.props.repoID;if(s.state.isSessionExpired||s.setState({isDirentListLoading:!0,isViewFile:!1,selectedDirentList:[]}),s.loadDirentList(e),s.resetShowLength(),s.isNeedUpdateHistoryState){var n=s.state.currentRepoInfo,i=u.ze+"library/"+t+"/"+encodeURIComponent(n.repo_name)+m.c.encodePath(e);window.history.pushState({url:i,path:e},e,i)}else s.isNeedUpdateHistoryState=!0},s.showFile=function(e){var t=s.props.repoID;"column"===s.state.currentMode&&y.I.listFileTags(t,e).then((function(e){var t=e.data.file_tags.map((function(e){return new Un.Z(e)}));s.setState({fileTags:t})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)})),s.setState({isFileLoading:!0,path:e,isViewFile:!0}),y.I.getFileInfo(t,e).then((function(n){var i=n.data,r=i.mtime,o=i.permission,a=i.last_modifier_name,l=i.is_draft,c=i.has_draft,h=i.draft_id;y.I.getFileDownloadLink(t,e).then((function(e){y.I.getFileContent(e.data).then((function(e){s.setState({content:e.data,filePermission:o,latestContributor:a,lastModified:A().unix(r).fromNow(),isFileLoading:!1,isFileLoadedErr:!1,isDraft:l,hasDraft:c,draftID:h})}))}))})).catch((function(e){var t=m.c.getErrorMsg(e,!0);e.response&&403===e.response.status||D.Z.danger(t),s.setState({isFileLoading:!1,isFileLoadedErr:!0})}));var n=s.state.currentRepoInfo,i=u.ze+"library/"+t+"/"+encodeURIComponent(n.repo_name)+m.c.encodePath(e);window.history.pushState({url:i,path:e},e,i)},s.loadDirentList=function(e){var t=s.props.repoID;y.I.listDir(t,e,{with_thumbnail:!0}).then((function(n){var i=[],r=null;n.data.dirent_list.forEach((function(e){var t=e.name.toLowerCase();"readme.md"!==t&&"readme.markdown"!==t||(r=e);var n=new An.Z(e);i.push(n)})),s.setState({pathExist:!0,userPerm:n.data.user_perm,isDirentListLoading:!1,direntList:m.c.sortDirents(i,s.state.sortBy,s.state.sortOrder),dirID:n.data.dir_id,readmeMarkdown:r,path:e,isSessionExpired:!1}),!s.state.repoEncrypted&&i.length&&s.getThumbnails(t,e,s.state.direntList)})).catch((function(e){m.c.getErrorMsg(e,!0),e.response&&403===e.response.status?s.setState({isDirentListLoading:!1}):s.setState({isDirentListLoading:!1,pathExist:!1})}))},s.onListContainerScroll=function(){var e=s.state.itemsShowLength+100;s.setState({itemsShowLength:e})},s.resetShowLength=function(){s.setState({itemsShowLength:100})},s.getThumbnails=function(e,t,n){var i=n.filter((function(e){return(m.c.imageCheck(e.name)||u.eA&&m.c.videoCheck(e.name))&&!e.encoded_thumbnail_src}));if(0!=i.length){var r=(0,w.Z)(s),o=i.length;!function s(a){var l=i[a],c=[t,l.name].join("/");y.I.createThumbnail(e,c,48).then((function(e){l.encoded_thumbnail_src=e.data.encoded_thumbnail_src})).catch((function(e){})).then((function(){a1?(0,u.ih)("Restored {name} and {n} other items"):(0,u.ih)("Restored {name}");r=r.replace("{name}",n[0].path.split("/").pop()).replace("{n}",n.length-1),D.Z.success(r)}if(i.length){var o=i.length>1?(0,u.ih)("Failed to restore {name} and {n} other items"):(0,u.ih)("Failed to restore {name}");o=o.replace("{name}",i[0].path.split("/").pop()).replace("{n}",i.length-1),D.Z.danger(o)}})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onDeleteItems=function(){var e=s.props.repoID,t=s.getSelectedDirentPaths(),n=s.getSelectedDirentNames();s.setState({updateDetail:!s.state.updateDetail}),y.I.deleteMutipleDirents(e,s.state.path,n).then((function(e){"column"===s.state.currentMode&&s.deleteTreeNodes(t),s.deleteDirents(n);var i="";i=t.length>1?(i=(i=(0,u.ih)("Successfully deleted {name} and {n} other items.")).replace("{name}",n[0])).replace("{n}",n.length-1):(i=(0,u.ih)("Successfully deleted {name}.")).replace("{name}",n[0]);var r=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("span",{children:i}),(0,g.jsx)("a",{className:"action-link p-0 ml-1",href:"#",onClick:s.restoreDeletedDirents.bind((0,w.Z)(s),e.data.commit_id,t),children:(0,u.ih)("Undo")})]});D.Z.success(r,{duration:5})})).catch((function(e){var t=m.c.getErrorMsg(e);t===(0,u.ih)("Error")&&(t=(t=(t=(0,u.ih)("Failed to delete {name} and {n} other items.")).replace("{name}",n[0])).replace("{n}",n.length-1)),D.Z.danger(t)}))},s.onAddFolder=function(e){var t=s.props.repoID;y.I.createDir(t,e).then((function(){var t=m.c.getFileName(e),n=m.c.getDirName(e);"column"===s.state.currentMode&&s.addNodeToTree(t,n,"dir"),n!==s.state.path||s.state.isViewFile||s.addDirent(t,"dir")})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onAddFile=function(e,t,n){var i=s.props.repoID;y.I.createFile(i,e,t).then((function(t){var r=m.c.getFileName(e),o=m.c.getDirName(e);if("column"===s.state.currentMode&&s.addNodeToTree(r,o,"file"),o===s.state.path&&!s.state.isViewFile){if(n)return void y.I.sdocMarkAsDraft(i,e).then((function(e){s.addDirent(r,"file",e.data.size,n)})).catch((function(e){var n=m.c.getErrorMsg(e);D.Z.danger(n),s.addDirent(r,"file",t.data.size)}));s.addDirent(r,"file",t.data.size)}})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.switchViewMode=function(e){if(e!==s.state.currentMode)if("detail"!==e){We.ZP.save("seafile_view_mode",e);var t=s.state.path;if("column"===s.state.currentMode&&s.state.isViewFile){t=m.c.getDirName(t),s.setState({path:t,isViewFile:!1});var n=s.state.currentRepoInfo,i=u.ze+"library/"+n.repo_id+"/"+encodeURIComponent(n.repo_name)+m.c.encodePath(t);window.history.pushState({url:i,path:t},t,i)}"column"===e&&s.loadSidePanel(s.state.path),s.isNeedUpdateHistoryState=!1,s.setState({currentMode:e}),s.showDir(t)}else s.toggleDirentDetail()},s.onSearchedClick=function(e){var t=e.is_dir?e.path.slice(0,e.path.length-1):e.path;if(s.state.currentPath!==t)if("column"===s.state.currentMode){for(var n=-1,i=m.c.getPaths(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:null,n=m.c.getFileName(e);if(t!==s.state.path){var i=s.state.direntList.filter((function(e){return e.name!==n}));s.recaculateSelectedStateAfterDirentDeleted(n,i),s.setState({direntList:i}),s.updateReadmeMarkdown(i)}else s.loadDirentList(s.state.path)},s.moveDirents=function(e){var t=s.state.direntList.filter((function(t){return-1===e.indexOf(t.name)}));s.setState({direntList:t,selectedDirentList:[],isDirentSelected:!1,isAllDirentSelected:!1}),s.updateReadmeMarkdown(t)},s.updateDirent=function(e,t,n){var i=s.state.direntList.map((function(i){return i.name===e.name&&(i[t]=n),i}));s.setState({direntList:i})},s.loadTreeNodeByPath=function(e){var t=s.props.repoID,n=s.state.treeData.clone(),i=n.getNodeByPath(e);i.isLoaded?(n.getNodeByPath(i.parentNode.path).isExpanded=!0,s.setState({treeData:n,currentNode:i})):y.I.listDir(t,i.path).then((function(e){s.addResponseListToNode(e.data.dirent_list,i),n.getNodeByPath(i.parentNode.path).isExpanded=!0,s.setState({treeData:n,currentNode:i})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.loadNodeAndParentsByPath=function(e){var t=s.props.repoID,n=s.state.treeData.clone();m.c.isMarkdownFile(e)&&(e=m.c.getDirName(e)),y.I.listDir(t,e,{with_parents:!0}).then((function(e){for(var t=e.data,i=t.dirent_list,r=t.user_perm,o={},a=0;a0&&(n=n.filter((function(t){return t.name!==e}))),s.setState({selectedDirentList:n,isDirentSelected:n.length>0,isAllDirentSelected:n.length===t.length})},s.onLibDecryptDialog=function(){s.setState({libNeedDecrypt:!1}),s.loadDirData(s.state.path)},s.goDraftPage=function(){window.open(u.ze+"drafts/"+s.state.draftID+"/")},s.sortItems=function(e,t){We.ZP.save("seafile-repo-dir-sort-by",e),We.ZP.save("seafile-repo-dir-sort-order",t),s.setState({sortBy:e,sortOrder:t,items:m.c.sortDirents(s.state.direntList,e,t)})},s.onUploadFile=function(e){e.nativeEvent.stopImmediatePropagation(),s.uploader.onFileUpload()},s.onUploadFolder=function(e){e.nativeEvent.stopImmediatePropagation(),s.uploader.onFolderUpload()},s.onToolbarFileTagChanged=function(){var e=s.props.repoID,t=s.state.path;y.I.listFileTags(e,t).then((function(e){var t=e.data.file_tags.map((function(e){return new Un.Z(e)}));s.setState({fileTags:t})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.unSelectDirent=function(){s.setState({isDirentSelected:!1,selectedDirentList:[]});s.onDirentSelected({})},s.onDeleteRepoTag=function(e){var t=s.state.direntList.map((function(t){if(t.file_tags){var n=t.file_tags.filter((function(t){return t.repo_tag_id!==e}));t.file_tags=n}return t}));s.setState({direntList:t}),s.updateUsedRepoTags()},s.handleSubmit=function(e){var t={share_type:"personal",from:s.state.currentRepoInfo.owner_email};y.I.leaveShareRepo(s.props.repoID,t).then((function(e){(0,c.c4)(u.ze+"shared-libs/")})).catch((function(e){var t=m.c.getErrorMsg(e,!0);D.Z.danger(t)})),e.preventDefault()},s.state={currentMode:We.ZP.load("seafile_view_mode")||"list",path:"",pathExist:!0,isViewFile:!1,hash:"",currentRepoInfo:null,repoName:"",repoEncrypted:!1,libNeedDecrypt:!1,isGroupOwnedRepo:!1,userPerm:"",selectedDirentList:[],isDraft:!1,hasDraft:!1,fileTags:[],draftID:"",draftCounts:0,usedRepoTags:[],readmeMarkdown:null,isTreeDataLoading:!0,treeData:Hn.Z.buildTree(),currentNode:null,isFileLoading:!0,isFileLoadedErr:!1,filePermission:"",content:"",lastModified:"",latestContributor:"",isDirentListLoading:!0,direntList:[],isDirentSelected:!1,sortBy:We.ZP.load("seafile-repo-dir-sort-by")||"name",sortOrder:We.ZP.load("seafile-repo-dir-sort-order")||"asc",isAllDirentSelected:!1,dirID:"",errorMsg:"",isDirentDetailShow:!1,direntDetailPanelTab:"",updateDetail:!1,itemsShowLength:100,isSessionExpired:!1,isCopyMoveProgressDialogShow:!1,isDeleteFolderDialogOpen:!1,asyncCopyMoveTaskId:"",asyncOperationType:"move",asyncOperationProgress:0,asyncOperatedFilesLength:0,isConvertLoading:!1},s.oldonpopstate=window.onpopstate,window.onpopstate=s.onpopstate,s.lastModifyTime=new Date,s.isNeedUpdateHistoryState=!0,s.currentMoveItemName="",s.currentMoveItemPath="",s}return(0,s.Z)(n,[{key:"componentWillMount",value:function(){var e=window.location.hash;"#"===e.slice(0,1)&&this.setState({hash:e})}},{key:"componentDidMount",value:function(){var e=(0,Tn.Z)((0,_n.Z)().mark((function e(){var t,n,i,s,r,o,a,l,c;return(0,_n.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.repoID,n=window.location.href.split("#")[0],n=decodeURIComponent(n),i=(i=n.slice(n.indexOf(t)+t.length+1)).slice(i.indexOf("/")),e.prev=5,e.next=8,y.I.getRepoInfo(t);case 8:if(s=e.sent,r=new Bn.Z(s.data),o=r.owner_email.indexOf("@seafile_group")>-1,this.setState({currentRepoInfo:r}),!r.permission.startsWith("custom-")){e.next=18;break}return a=r.permission.split("-")[1],e.next=16,y.I.getCustomPermission(t,a);case 16:l=e.sent,window.custom_permission=l.data.permission;case 18:this.isNeedUpdateHistoryState=!1,this.setState({repoName:r.repo_name,libNeedDecrypt:r.lib_need_decrypt,repoEncrypted:r.encrypted,isGroupOwnedRepo:o,path:i}),r.lib_need_decrypt||this.loadDirData(i),e.next=26;break;case 23:e.prev=23,e.t0=e.catch(5),e.t0.response?403==e.t0.response.status?(this.setState({isDirentListLoading:!1,errorMsg:(0,u.ih)("Permission denied")}),c=(0,u.ih)("Permission denied"),D.Z.danger(c)):404==e.t0.response.status?this.setState({isDirentListLoading:!1,errorMsg:(0,u.ih)("Library share permission not found.")}):this.setState({isDirentListLoading:!1,errorMsg:(0,u.ih)("Error")}):this.setState({isDirentListLoading:!1,errorMsg:(0,u.ih)("Please check the network.")});case 26:case"end":return e.stop()}}),e,this,[[5,23]])})));return function(){return e.apply(this,arguments)}}()},{key:"componentWillUnmount",value:function(){window.onpopstate=this.oldonpopstate,En.unwatchRepo(this.props.repoID,this.onRepoUpdateEvent)}},{key:"componentDidUpdate",value:function(){this.lastModifyTime=new Date}},{key:"getAsyncCopyMoveProgress",value:function(){var e=(0,Tn.Z)((0,_n.Z)().mark((function e(){var t,n,i,s,r,o,a,l,c,h;return(0,_n.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.state,n=t.asyncOperationType,i=t.asyncCopyMoveTaskId,e.prev=1,e.next=4,y.I.queryAsyncOperationProgress(i);case 4:if(s=e.sent,!(r=s.data).failed){e.next=12;break}return o=(0,u.ih)("Failed to move files to another library."),"copy"===n&&(o=(0,u.ih)("Failed to copy files to another library.")),D.Z.danger(o),this.setState({asyncOperationProgress:0,isCopyMoveProgressDialogShow:!1}),e.abrupt("return");case 12:if(!r.successful){e.next=19;break}return"move"===n&&(this.currentMoveItemName&&this.currentMoveItemPath?("column"===this.state.currentMode&&this.deleteTreeNode(this.currentMoveItemPath),this.moveDirent(this.currentMoveItemName),this.currentMoveItemName="",this.currentMoveItemPath=""):("column"===this.state.currentMode&&(a=this.getSelectedDirentPaths(),this.deleteTreeNodes(a)),l=this.getSelectedDirentNames(),this.moveDirents(l))),this.setState({isCopyMoveProgressDialogShow:!1}),c=(0,u.ih)("Successfully moved files to another library."),"copy"===n&&(c=(0,u.ih)("Successfully copied files to another library.")),D.Z.success(c),e.abrupt("return");case 19:h=r.total?parseInt((r.done/r.total*100).toFixed(2)):0,this.getAsyncCopyMoveProgress(),this.setState({asyncOperationProgress:h}),e.next=27;break;case 24:e.prev=24,e.t0=e.catch(1),this.setState({asyncOperationProgress:0,isCopyMoveProgressDialogShow:!1});case 27:case"end":return e.stop()}}),e,this,[[1,24]])})));return function(){return e.apply(this,arguments)}}()},{key:"renameItemAjaxCallback",value:function(e,t){"column"===this.state.currentMode&&this.renameTreeNode(e,t),this.renameDirent(e,t)}},{key:"deleteItem",value:function(e,t){var n=this,i=this.props.repoID;t?this.setState({folderToDelete:e},(function(){n.toggleDeleteFolderDialog()})):y.I.deleteFile(i,e).then((function(i){n.deleteItemAjaxCallback(e,t);var s=m.c.getFileName(e),r=(0,u.ih)("Successfully deleted {name}").replace("{name}",s),o=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("span",{children:r}),(0,g.jsx)("a",{className:"action-link p-0 ml-1",href:"#",onClick:n.restoreDeletedDirents.bind(n,i.data.commit_id,[e]),children:(0,u.ih)("Undo")})]});D.Z.success(o,{duration:5})})).catch((function(t){var n=m.c.getErrorMsg(t);if(n===(0,u.ih)("Error")){var i=m.c.getFileName(e);n=(0,u.ih)("Failed to delete {name}").replace("{name}",i)}D.Z.danger(n)}))}},{key:"deleteItemAjaxCallback",value:function(e){"column"===this.state.currentMode&&this.deleteTreeNode(e),this.deleteDirent(e)}},{key:"deleteDirent",value:function(e){if(e===this.state.path){var t=m.c.getDirName(e);this.showDir(t)}else if(m.c.isChildPath(e,this.state.path)){var n=m.c.getFileName(e),i=this.state.direntList.filter((function(e){return e.name!==n}));this.recaculateSelectedStateAfterDirentDeleted(n,i),this.setState({direntList:i}),this.updateReadmeMarkdown(i)}else if(m.c.isAncestorPath(e,this.state.path)){var s=m.c.getDirName(e);this.showDir(s)}}},{key:"createTreeNode",value:function(e,t){var n=this.createDirent(e,t);return new Gn.Z({object:n})}},{key:"createDirent",value:function(e,t,n,i){var s=this.state.userPerm,r={name:e,type:t,mtime:(new Date).getTime()/1e3,size:n,permission:s};return i&&(r.is_sdoc_draft=i),new An.Z(r)}},{key:"render",value:function(){var e=this;if(this.state.libNeedDecrypt)return(0,g.jsx)(S.Z,{children:(0,g.jsx)(Wn,{repoID:this.props.repoID,onLibDecryptDialog:this.onLibDecryptDialog})});if(this.state.errorMsg)return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("p",{className:"error mt-6 text-center",children:this.state.errorMsg}),(0,g.jsx)("button",{type:"submit",className:"btn btn-primary submit",onClick:this.handleSubmit,children:(0,u.ih)("Leave Share")})]});if(!this.state.currentRepoInfo)return"";var t=!1,n=this.state,i=n.currentRepoInfo,s=n.userPerm,r=n.isCopyMoveProgressDialogShow,o=n.isDeleteFolderDialogOpen,l=n.isConvertLoading,c=m.c.isHasPermissionToShare(i,s),h=i.owner_email===u.b6,p=i.is_virtual,d=i.is_admin;p||!h&&!d||(t=!0);var f=this.state.direntList.filter((function(t,n){return n0&&s.setState({errMessage:e.data.failed})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.toggleItemFreezed=function(e){s.setState({isItemFreezed:e})},s.handleScroll=function(e){var t=s.state,n=t.page,i=t.hasNextPage,r=t.isLoadingMore;if(i&&!r){var o=e.target.clientHeight,a=e.target.scrollHeight;o+e.target.scrollTop+1>=a&&s.setState({isLoadingMore:!0},(function(){s.listGroupMembers(n+1)}))}},s.changeMember=function(e){s.setState({groupMembers:s.state.groupMembers.map((function(t){return t.email==e.email&&(t=e),t}))})},s.deleteMember=function(e){var t=s.state.groupMembers;t.splice(t.indexOf(e),1),s.setState({groupMembers:t})},s.searchMembers=function(e){var t=s.state.groupMembers,n=e.target.value,i=n.trim().toLowerCase(),r=t.filter((function(e){return e.name.toLowerCase().indexOf(i)>-1}));s.setState({keyword:n,membersFound:r})},s.clearSearch=function(){s.setState({keyword:"",membersFound:[]})},s.onSearchInputFocus=function(){s.setState({searchActive:!0})},s.onSearchInputBlur=function(){s.setState({searchActive:!1})},s.state={isLoading:!0,isLoadingMore:!1,groupMembers:[],page:1,perPage:100,hasNextPage:!1,selectedOption:null,errMessage:[],isItemFreezed:!1,searchActive:!1,keyword:"",membersFound:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listGroupMembers(this.state.page)}},{key:"render",value:function(){var e=this.state,t=e.isLoading,n=e.hasNextPage,i=e.groupMembers,s=e.keyword,r=e.membersFound,o=e.searchActive;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("p",{className:"mb-2",children:(0,u.ih)("Add group member")}),(0,g.jsxs)("div",{className:"add-members",children:[(0,g.jsx)(Bt.Z,{placeholder:(0,u.ih)("Search users..."),onSelectChange:this.onSelectChange,ref:"userSelect",isMulti:!0,className:"add-members-select"}),this.state.selectedOption?(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.addGroupMember,children:(0,u.ih)("Submit")}):(0,g.jsx)(Q.Z,{color:"secondary",disabled:!0,children:(0,u.ih)("Submit")})]}),this.state.errMessage.length>0&&this.state.errMessage.map((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(0,g.jsx)("div",{className:"group-error error",children:e.error_msg},t)})),i.length>10&&(0,g.jsxs)(Ut.Z,{className:"search-group-members rounded ".concat(o?"active":""),children:[(0,g.jsx)(kr.Z,{children:(0,g.jsx)("i",{className:"fas fa-search","aria-hidden":!0})}),(0,g.jsx)(de.Z,{type:"text",className:"input-group-input px-0",placeholder:(0,u.ih)("Search group members"),value:s,onChange:this.searchMembers,onFocus:this.onSearchInputFocus,onBlur:this.onSearchInputBlur}),s&&(0,g.jsx)(kr.Z,{children:(0,g.jsx)("i",{className:"sf2-icon-x1","aria-hidden":!0,onClick:this.clearSearch})})]}),(0,g.jsx)("div",{className:"manage-members",onScroll:s.trim()?function(){}:this.handleScroll,children:t?(0,g.jsx)(R.Z,{}):(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(Zr,{groupMembers:s.trim()?r:i,changeMember:this.changeMember,deleteMember:this.deleteMember,groupID:this.props.groupID,isOwner:this.props.isOwner,isItemFreezed:this.state.isItemFreezed,toggleItemFreezed:this.toggleItemFreezed}),!s.trim()&&n&&(0,g.jsx)(R.Z,{})]})})]})}}]),n}(a.Component),Fr=Pr,_r=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.groupID,n=e.isOwner,i=e.toggleManageMembersDialog;return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:i,className:"group-manage-members-dialog",children:[(0,g.jsx)(J.Z,{toggle:i,children:(0,u.ih)("Manage group members")}),(0,g.jsx)(b.Z,{className:"pb-0",children:(0,g.jsx)(Fr,{groupID:t,isOwner:n})})]})}}]),n}(a.Component),Tr=_r,Lr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).leaveGroup=function(){y.I.quitGroup(s.props.groupID,u.b6).then((function(e){s.props.onGroupChanged()})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:this.props.toggleLeaveGroupDialog,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleLeaveGroupDialog,children:(0,u.ih)("Leave Group")}),(0,g.jsx)(b.Z,{children:(0,g.jsx)("p",{children:(0,u.ih)("Really want to leave this group?")})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.props.toggleLeaveGroupDialog,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.leaveGroup,children:(0,u.ih)("Leave")})]})]})}}]),n}(a.Component),Or=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).loadGroup=function(e){y.I.getGroup(e).then((function(e){var t=new j(e.data),n=s.getEmptyTip(t),i=t.admins.indexOf(u.b6)>-1,r=t.owner===u.b6,o=0!==t.parent_group_id;s.setState({emptyTip:n,currentGroup:t,isStaff:i,isDepartmentGroup:o,isOwner:r,currentPage:1,repoList:[]},(function(){s.loadRepos(s.state.currentPage)}))})).catch((function(e){s.setState({isLoading:!1,errMessage:m.c.getErrorMsg(e,!0)})}))},s.loadRepos=function(e){var t=s.state.perPage;y.I.listGroupRepos(s.props.groupID,e,t).then((function(n){var i=!0;n.data.length=a&&s.setState({isLoadingMore:!0},(function(){s.loadRepos(n+1)}))}},s.state={isLoading:!0,isLoadingMore:!1,errMessage:"",emptyTip:null,currentGroup:null,currentRepo:null,isStaff:!1,isOwner:!1,sortBy:We.ZP.load("seafile-repo-dir-sort-by")||"name",sortOrder:We.ZP.load("seafile-repo-dir-sort-order")||"asc",isSortOptionsDialogOpen:!1,repoList:[],currentPage:1,perPage:300,hasNextPage:!1,libraryType:"group",isCreateRepoDialogShow:!1,isDepartmentGroup:!1,showGroupDropdown:!1,showGroupMembersPopover:!1,showRenameGroupDialog:!1,showDismissGroupDialog:!1,showTransferGroupDialog:!1,showImportMembersDialog:!1,showManageMembersDialog:!1,groupMembers:[],isShowDetails:!1,isLeaveGroupDialogOpen:!1},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.groupID;this.loadGroup(e)}},{key:"componentWillReceiveProps",value:function(e){e.groupID!==this.props.groupID&&this.loadGroup(e.groupID)}},{key:"render",value:function(){var e=this,t=this.state,n=t.errMessage,i=t.emptyTip,s=t.currentGroup,r=t.isDepartmentGroup,o=t.isStaff,l=!1;s&&(0===s.parent_group_id||s.admins.indexOf(u.b6)>-1)&&(l=!0);var h=0;return r&&s.group_quota&&(h=s.group_quota_usage/s.group_quota*100+"%"),(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("div",{className:"main-panel-north border-left-show",children:[(0,g.jsxs)("div",{className:"cur-view-toolbar",children:[(0,g.jsx)("span",{className:"sf2-icon-menu side-nav-toggle hidden-md-up d-md-none",title:"Side Nav Menu",onClick:this.props.onShowSidePanel}),(0,g.jsx)("div",{className:"operation",children:(!r&&u.cA||r&&o)&&(m.c.isDesktop()?(0,g.jsxs)("button",{className:"btn btn-secondary operation-item",title:(0,u.ih)("New Library"),onClick:this.onCreateRepoToggle,children:[(0,g.jsx)("i",{className:"fas fa-plus-square text-secondary mr-1"}),(0,u.ih)("New Library")]}):(0,g.jsx)("span",{className:"sf2-icon-plus mobile-toolbar-icon",title:(0,u.ih)("New Library"),onClick:this.onCreateRepoToggle}))})]}),(0,g.jsx)(Le.Z,{onSearchedClick:this.props.onSearchedClick})]}),(0,g.jsxs)("div",{className:"main-panel-center flex-row",children:[(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path",children:s&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)("div",{className:"path-container",children:[(0,g.jsx)(c.rU,{to:"".concat(u.ze,"groups/"),onClick:function(){return e.onTabNavClick("groups")},children:(0,u.ih)("Groups")}),(0,g.jsx)("span",{className:"path-split",children:"/"}),(0,g.jsx)("span",{children:s.name}),r&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)("span",{className:"department-group-icon fas fa-building",title:(0,u.ih)("This is a special group representing a department.")}),s.group_quota>0&&(0,g.jsx)("span",{className:"department-usage-container",children:(0,g.jsxs)("div",{className:"department-usage",children:[(0,g.jsx)("span",{id:"quota-bar",className:"department-quota-bar",children:(0,g.jsx)("span",{id:"quota-usage",className:"usage",style:{width:h}})}),(0,g.jsxs)("span",{className:"department-quota-info",children:[m.c.bytesToSize(s.group_quota_usage)," / ",m.c.bytesToSize(s.group_quota)]})]})})]})]}),(0,g.jsxs)("div",{className:"path-tool",children:[l&&(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(en.Z,{className:"sf2-icon-cog1 action-icon group-top-action-icon",title:(0,u.ih)("Settings"),op:this.toggleGroupDropdown}),this.state.showGroupDropdown&&(0,g.jsxs)("div",{className:"sf-popover",id:"group-setting-popover",children:[(0,g.jsxs)("div",{className:"sf-popover-hd sf-popover-title",children:[(0,g.jsx)("span",{children:(0,u.ih)("Settings")}),(0,g.jsx)("a",{href:"#",className:"sf-popover-close js-close sf2-icon-x1 action-icon",role:"button","aria-label":(0,u.ih)("Close"),onClick:this.toggleGroupDropdown})]}),(0,g.jsxs)("div",{className:"sf-popover-con",children:[(this.state.isStaff||this.state.isOwner)&&(0,g.jsxs)("ul",{className:"sf-popover-list",children:[(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleRenameGroupDialog,children:(0,u.ih)("Rename")})}),this.state.isOwner&&(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleTransferGroupDialog,children:(0,u.ih)("Transfer")})})]}),(this.state.isStaff||this.state.isOwner)&&(0,g.jsxs)("ul",{className:"sf-popover-list",children:[(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleImportMembersDialog,children:(0,u.ih)("Import Members")})}),(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleManageMembersDialog,children:(0,u.ih)("Manage Members")})})]}),this.state.isOwner&&(0,g.jsx)("ul",{className:"sf-popover-list",children:(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleDismissGroupDialog,children:(0,u.ih)("Delete Group")})})}),!this.state.isOwner&&!r&&(0,g.jsx)("ul",{className:"sf-popover-list",children:(0,g.jsx)("li",{children:(0,g.jsx)("a",{href:"#",className:"sf-popover-item",onClick:this.toggleLeaveGroupDialog,children:(0,u.ih)("Leave Group")})})})]})]})]}),(0,g.jsx)("a",{href:"#",className:"sf2-icon-user2 action-icon group-top-action-icon",title:(0,u.ih)("Members"),id:"groupMembers",onClick:function(){return e.toggleGroupMembersPopover("open")}}),this.state.showGroupMembersPopover&&(0,g.jsxs)("div",{className:"sf-popover",id:"group-members-popover",children:[(0,g.jsxs)("div",{className:"sf-popover-hd sf-popover-title group-member-list-header",children:[(0,g.jsx)("span",{children:(0,u.ih)("Members")}),(0,g.jsx)("a",{href:"#",className:"sf-popover-close js-close sf2-icon-x1 action-icon",onClick:this.toggleGroupMembersPopover})]}),(0,g.jsx)("div",{className:"sf-popover-con",children:(0,g.jsx)("ul",{className:"sf-popover-list group-member-list",children:this.state.groupMembers.map((function(t,n){return(0,g.jsx)("li",{children:(0,g.jsxs)("a",{href:"#",className:"sf-popover-item user-item d-flex",children:[(0,g.jsx)("img",{src:t.avatar_url,alt:"",className:"group-member-avatar avatar"}),(0,g.jsxs)("span",{className:"txt-item ellipsis d-flex",children:[(0,g.jsx)("span",{className:"group-member-name ellipsis",children:t.name}),(0,g.jsx)("span",{className:"group-member-admin",children:e.translateRole(t.role)})]})]})},n)}))})})]}),!m.c.isDesktop()&&this.state.repoList.length>0&&(0,g.jsx)("span",{className:"sf3-font sf3-font-sort action-icon",onClick:this.toggleSortOptionsDialog}),this.state.isSortOptionsDialogOpen&&(0,g.jsx)(_e,{toggleDialog:this.toggleSortOptionsDialog,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems})]})]})}),(0,g.jsxs)("div",{className:"cur-view-content d-block",onScroll:this.handleScroll,children:[this.state.isLoading&&(0,g.jsx)(R.Z,{}),!this.state.isLoading&&n&&(0,g.jsx)("div",{className:"error text-center mt-2",children:n}),!this.state.isLoading&&0===this.state.repoList.length&&i,!this.state.isLoading&&this.state.repoList.length>0&&(0,g.jsx)(Zn,{repoList:this.state.repoList,hasNextPage:this.state.hasNextPage,currentGroup:this.state.currentGroup,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems,onItemUnshare:this.onItemUnshare,onItemDelete:this.onItemDelete,onItemDetails:this.onItemDetails,onItemRename:this.onItemRename,onMonitorRepo:this.onMonitorRepo})]})]}),this.state.isShowDetails&&(0,g.jsx)("div",{className:"cur-view-detail",children:(0,g.jsx)(bt,{currentRepo:this.state.currentRepo,closeDetails:this.closeDetails})})]}),this.state.isCreateRepoDialogShow&&!this.state.isDepartmentGroup&&(0,g.jsx)(S.Z,{children:(0,g.jsx)(Ct,{libraryType:this.state.libraryType,onCreateToggle:this.onCreateRepoToggle,onCreateRepo:this.onCreateRepo})}),this.state.isCreateRepoDialogShow&&this.state.isDepartmentGroup&&(0,g.jsx)(Ct,{isAdmin:this.state.isAdmin,onCreateToggle:this.onCreateRepoToggle,onCreateRepo:this.onCreateRepo,libraryType:"department"}),this.state.showRenameGroupDialog&&(0,g.jsx)(Cr,{showRenameGroupDialog:this.state.showRenameGroupDialog,toggleRenameGroupDialog:this.toggleRenameGroupDialog,loadGroup:this.loadGroup,groupID:this.props.groupID,onGroupChanged:this.props.onGroupChanged,currentGroupName:s.name}),this.state.showDismissGroupDialog&&(0,g.jsx)(jr,{showDismissGroupDialog:this.state.showDismissGroupDialog,toggleDismissGroupDialog:this.toggleDismissGroupDialog,loadGroup:this.loadGroup,groupID:this.props.groupID,onGroupChanged:this.props.onGroupChanged}),this.state.showTransferGroupDialog&&(0,g.jsx)(Sr,{toggleTransferGroupDialog:this.toggleTransferGroupDialog,groupID:this.props.groupID,onGroupChanged:this.props.onGroupChanged}),this.state.showImportMembersDialog&&(0,g.jsx)(br,{toggleImportMembersDialog:this.toggleImportMembersDialog,importMembersInBatch:this.importMembersInBatch}),this.state.showManageMembersDialog&&(0,g.jsx)(Tr,{toggleManageMembersDialog:this.toggleManageMembersDialog,groupID:this.props.groupID,onGroupChanged:this.props.onGroupChanged,isOwner:this.state.isOwner}),this.state.isLeaveGroupDialogOpen&&(0,g.jsx)(Lr,{toggleLeaveGroupDialog:this.toggleLeaveGroupDialog,groupID:this.props.groupID,onGroupChanged:this.props.onGroupChanged})]})}}]),n}(a.Component),Rr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,i.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.onShowSidePanel,n=e.onSearchedClick;return(0,g.jsxs)("div",{className:"main-panel-north border-left-show",children:[(0,g.jsxs)("div",{className:"cur-view-toolbar",children:[(0,g.jsx)("span",{title:"Side Nav Menu",onClick:t,className:"sf2-icon-menu side-nav-toggle hidden-md-up d-md-none"}),u.Wz&&(0,g.jsxs)("div",{className:"operation",children:[(0,g.jsx)(p(),{query:"(min-width: 768px)",children:(0,g.jsxs)(Q.Z,{color:"btn btn-secondary operation-item",onClick:this.props.toggleAddGroupModal,children:[(0,g.jsx)("i",{className:"fas fa-plus-square text-secondary mr-1"}),(0,u.ih)("New Group")]})}),(0,g.jsx)(p(),{query:"(max-width: 767.8px)",children:(0,g.jsx)("span",{className:"sf2-icon-plus mobile-toolbar-icon",title:(0,u.ih)("New Group"),onClick:this.props.toggleAddGroupModal})})]})]}),(0,g.jsx)(Le.Z,{searchPlaceholder:this.props.searchPlaceholder,onSearchedClick:n})]})}}]),n}(a.Component),Er=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).handleGroupChange=function(e){var t=e.target.value;t.trim()?s.setState({isSubmitBtnActive:!0}):s.setState({isSubmitBtnActive:!1}),s.setState({groupName:t}),s.state.errorMsg&&s.setState({errorMsg:""})},s.handleSubmitGroup=function(){var e=s.state.groupName.trim();if(e){var t=(0,w.Z)(s);y.I.createGroup(e).then((function(e){t.props.onCreateGroup()})).catch((function(e){var t=m.c.getErrorMsg(e);s.setState({errorMsg:t})}))}else s.setState({errorMsg:(0,u.ih)("Name is required")});s.setState({groupName:""})},s.handleKeyDown=function(e){13===e.keyCode&&(s.handleSubmitGroup(),e.preventDefault())},s.state={groupName:"",errorMsg:"",isSubmitBtnActive:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)(d.Z,{isOpen:this.props.showAddGroupModal,toggle:this.props.toggleAddGroupModal,autoFocus:!1,children:[(0,g.jsx)(J.Z,{toggle:this.props.toggleAddGroupModal,children:(0,u.ih)("New Group")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("label",{htmlFor:"groupName",children:(0,u.ih)("Name")}),(0,g.jsx)(de.Z,{type:"text",id:"groupName",value:this.state.groupName,onChange:this.handleGroupChange,onKeyDown:this.handleKeyDown,autoFocus:!0}),(0,g.jsx)("span",{className:"error",children:this.state.errorMsg})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.props.toggleAddGroupModal,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmitGroup,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Ar=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onItemUnshare=function(e){var t=s.props.group;y.I.unshareRepoToGroup(e.repo_id,t.id).then((function(){var t=s.state.repoList.filter((function(t){return t.repo_id!==e.repo_id}));s.setState({repoList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onItemDelete=function(e){var t=s.state.repoList.filter((function(t){return t.repo_id!==e.repo_id}));s.setState({repoList:t})},s.onItemRename=function(e,t){var n=s.props.group;y.I.renameGroupOwnedLibrary(n.id,e.repo_id,t).then((function(n){var i=s.state.repoList.map((function(n){return n.repo_id===e.repo_id&&(n.repo_name=t),n}));s.setState({repoList:i})})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t)}))},s.onMonitorRepo=function(e,t){var n=s.state.repoList.map((function(n){return n.repo_id===e.repo_id&&(n.monitored=t),n}));s.setState({repoList:n})},s.state={repoList:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.group.repos.map((function(e){return new Ve(e)}));this.setState({repoList:e})}},{key:"render",value:function(){var e=this.props.group,t=(0,g.jsx)("p",{className:"group-item-empty-tip",children:(0,u.ih)("No libraries")});return(0,g.jsxs)("div",{className:"group-list-panel",children:[(0,g.jsx)("h4",{className:"group-item-heading ellipsis",children:(0,g.jsx)("a",{href:"".concat(u.ze,"group/").concat(e.id,"/"),title:e.name,children:e.name})}),0===this.state.repoList.length?t:(0,g.jsx)(Zn,{isShowTableThread:!1,isShowRepoOwner:!1,currentGroup:this.props.group,repoList:this.state.repoList,onItemUnshare:this.onItemUnshare,onItemDelete:this.onItemDelete,onItemDetails:this.props.onItemDetails,onItemRename:this.onItemRename,onMonitorRepo:this.onMonitorRepo})]})}}]),n}(a.Component),Ur=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).listGroups=function(){y.I.listGroups(!0).then((function(e){var t=e.data.map((function(e){return new j(e)}));s.setState({isLoading:!1,groupList:t.sort((function(e,t){return e.name.toLowerCase()'+m.c.HTMLescape(this.props.accepter)+"",i=(0,u.ih)("Are you sure to revoke access of user {placeholder} ?").replace("{placeholder}",n);return(0,g.jsxs)(d.Z,{isOpen:!0,toggle:e,children:[(0,g.jsx)(J.Z,{toggle:e,children:(0,u.ih)("Revoke Access")}),(0,g.jsx)(b.Z,{children:(0,g.jsx)("p",{dangerouslySetInnerHTML:{__html:i}})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:e,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{className:"submit-btn",color:"primary",onClick:this.onRevokeInvitation,disabled:t,children:t?(0,g.jsx)(R.Z,{}):(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Wr=(n(61515),function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).toggleOpMenu=function(){s.setState({isOpMenuOpen:!s.state.isOpMenuOpen})},s.onMouseEnter=function(){s.setState({isOpIconShown:!0})},s.onMouseLeave=function(){s.setState({isOpIconShown:!1})},s.deleteItem=function(e){e.preventDefault(),s.setState({isOpIconShown:!1});var t=s.props.invitation.token;y.I.deleteInvitation(t).then((function(e){s.setState({deleted:!0}),D.Z.success((0,u.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);D.Z.danger(t),s.setState({isOpIconShown:!0})}))},s.revokeItem=function(){s.setState({deleted:!0})},s.toggleRevokeDialog=function(e){e.preventDefault(),s.setState({isRevokeDialogOpen:!s.state.isRevokeDialogOpen})},s.state={isOpIconShown:!1,isOpMenuOpen:!1,isRevokeDialogOpen:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.isOpIconShown,n=e.deleted,i=e.isRevokeDialogOpen;if(n)return null;var s=this.props.invitation,r=(0,g.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,tabIndex:"0",children:[(0,g.jsx)("td",{children:s.accepter}),(0,g.jsx)("td",{children:A()(s.invite_time).format("YYYY-MM-DD")}),(0,g.jsx)("td",{children:A()(s.expire_time).format("YYYY-MM-DD")}),(0,g.jsx)("td",{children:s.accept_time&&(0,g.jsx)("i",{className:"sf2-icon-tick invite-accept-icon"})}),(0,g.jsx)("td",{children:t&&(s.accept_time?(0,g.jsx)("a",{href:"#",role:"button",className:"action-icon sf3-font sf3-font-cancel-invitation",title:(0,u.ih)("Revoke Access"),"aria-label":(0,u.ih)("Revoke Access"),onClick:this.toggleRevokeDialog}):(0,g.jsx)("a",{href:"#",role:"button",className:"action-icon sf2-icon-x3",title:(0,u.ih)("Delete"),"aria-label":(0,u.ih)("Delete"),onClick:this.deleteItem}))})]}),o=(0,g.jsxs)("tr",{children:[(0,g.jsxs)("td",{children:[s.accepter,(0,g.jsx)("br",{}),(0,g.jsxs)("span",{className:"item-meta-info",children:[A()(s.invite_time).format("YYYY-MM-DD"),(0,g.jsxs)("span",{className:"small",children:["(",(0,u.ih)("Invite Time"),")"]})]}),(0,g.jsxs)("span",{className:"item-meta-info",children:[A()(s.expire_time).format("YYYY-MM-DD"),(0,g.jsxs)("span",{className:"small",children:["(",(0,u.ih)("Expiration"),")"]})]}),(0,g.jsx)("span",{className:"item-meta-info",children:s.accept_time&&(0,u.ih)("Accepted")})]}),(0,g.jsx)("td",{children:(0,g.jsxs)(U.Z,{isOpen:this.state.isOpMenuOpen,toggle:this.toggleOpMenu,children:[(0,g.jsx)(z.Z,{tag:"i",className:"sf-dropdown-toggle fa fa-ellipsis-v ml-0",title:(0,u.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.isOpMenuOpen}),(0,g.jsxs)("div",{className:this.state.isOpMenuOpen?"":"d-none",onClick:this.toggleOpMenu,children:[(0,g.jsx)("div",{className:"mobile-operation-menu-bg-layer"}),(0,g.jsx)("div",{className:"mobile-operation-menu",children:s.accept_time?(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.toggleRevokeDialog,children:(0,u.ih)("Revoke Access")}):(0,g.jsx)(G.Z,{className:"mobile-menu-item",onClick:this.deleteItem,children:(0,u.ih)("Delete")})})]})]})})]});return(0,g.jsxs)(a.Fragment,{children:[this.props.isDesktop?r:o,i&&(0,g.jsx)(Hr,{accepter:s.accepter,token:s.token,revokeInvitation:this.revokeItem,toggleDialog:this.toggleRevokeDialog})]})}}]),n}(a.Component)),Vr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,i.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.data,t=e.loading,n=e.errorMsg,i=e.invitationsList;if(t)return(0,g.jsx)(R.Z,{});if(n)return(0,g.jsx)("p",{className:"error text-center mt-2",children:n});if(!i.length)return(0,g.jsxs)(O.Z,{children:[(0,g.jsx)("h2",{children:(0,u.ih)("No guest invitations")}),(0,g.jsx)("p",{children:(0,u.ih)('You have not invited any guests yet. A guest can access shared libraries through the web interface allowing more efficient ways to collaborate than through links. You can invite a guest by clicking the "Invite Guest" button in the menu bar.')})]});var s=m.c.isDesktop();return(0,g.jsxs)("table",{className:"table-hover".concat(s?"":" table-thead-hidden"),children:[(0,g.jsx)("thead",{children:s?(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"25%",children:(0,u.ih)("Email")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Invite Time")}),(0,g.jsx)("th",{width:"20%",children:(0,u.ih)("Expiration")}),(0,g.jsx)("th",{width:"18%",children:(0,u.ih)("Accepted")}),(0,g.jsx)("th",{width:"7%"})]}):(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"92%"}),(0,g.jsx)("th",{width:"8%"})]})}),(0,g.jsx)("tbody",{children:i.map((function(e,t){return(0,g.jsx)(Wr,{isDesktop:s,invitation:e},t)}))})]})}}]),n}(a.Component),qr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onInvitePeople=function(e){e.push.apply(e,s.state.invitationsList),s.setState({invitationsList:e})},s.toggleInvitePeopleDialog=function(){s.setState({isInvitePeopleDialogOpen:!s.state.isInvitePeopleDialogOpen})},s.state={loading:!0,errorMsg:"",invitationsList:[],isInvitePeopleDialogOpen:!1},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listInvitations().then((function(t){e.setState({invitationsList:t.data,loading:!1})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(zr,{onShowSidePanel:this.props.onShowSidePanel,onSearchedClick:this.props.onSearchedClick,toggleInvitePeopleDialog:this.toggleInvitePeopleDialog}),(0,g.jsx)("div",{className:"main-panel-center flex-row",children:(0,g.jsxs)("div",{className:"cur-view-container",children:[(0,g.jsx)("div",{className:"cur-view-path",children:(0,g.jsx)("h3",{className:"sf-heading",children:(0,u.ih)("Invite Guest")})}),(0,g.jsx)("div",{className:"cur-view-content",children:(0,g.jsx)(Vr,{data:this.state})})]})}),this.state.isInvitePeopleDialogOpen&&(0,g.jsx)(Gr,{onInvitePeople:this.onInvitePeople,toggleDialog:this.toggleInvitePeopleDialog})]})}}]),n}(a.Component),Kr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).inputNewName=function(e){event.target.value.trim()?s.setState({isSubmitBtnActive:!0}):s.setState({isSubmitBtnActive:!1}),s.setState({name:e.target.value})},s.handleKeyPress=function(e){"Enter"===e.key&&s.handleSubmit()},s.handleSubmit=function(){var e=s.state,t=e.isExist,n=e.name,i=e.repoID;s.props.addWiki(t,n,i),s.props.toggleCancel()},s.toggle=function(){s.props.toggleCancel()},s.state={isExist:!1,name:"",repoID:"",isSubmitBtnActive:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,g.jsxs)(d.Z,{isOpen:!0,autoFocus:!1,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:(0,u.ih)("New Wiki")}),(0,g.jsxs)(b.Z,{children:[(0,g.jsx)("label",{className:"form-label",children:(0,u.ih)("Name")}),(0,g.jsx)(de.Z,{onKeyPress:this.handleKeyPress,autoFocus:!0,value:this.state.name,onChange:this.inputNewName})]}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Yr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onChange=function(e){s.setState({repoID:e.repo_id})},s.handleSubmit=function(){var e=s.state.repoID;s.props.addWiki(e),s.props.toggleCancel()},s.toggle=function(){s.props.toggleCancel()},s.state={repos:[],repoID:""},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;y.I.listRepos().then((function(t){var n=t.data.repos.filter((function(e){switch(e.type){case"mine":return!e.encrypted;case"shared":return!e.encrypted&&e.is_admin;default:return!e.encrypted&&!t.data.repos.some((function(t){return t.type!=e.type&&t.repo_id==e.repo_id}))}})).map((function(e){return new Ve(e)}));n=m.c.sortRepos(n,"name","asc"),e.setState({repos:n})}))}},{key:"render",value:function(){var e=this;return(0,g.jsxs)(d.Z,{isOpen:!0,children:[(0,g.jsx)(J.Z,{toggle:this.toggle,children:(0,u.ih)("Publish a Library")}),(0,g.jsx)(b.Z,{className:"dialog-list-container",children:(0,g.jsxs)("table",{children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{children:[(0,g.jsx)("th",{width:"6%"}),(0,g.jsx)("th",{width:"9%"}),(0,g.jsx)("th",{width:"55%",children:(0,u.ih)("Name")}),(0,g.jsx)("th",{width:"30%",children:(0,u.ih)("Last Update")})]})}),(0,g.jsx)("tbody",{children:this.state.repos.map((function(t,n){return(0,g.jsxs)("tr",{children:[(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("input",{type:"radio",className:"vam",name:"repo",value:t.repo_id,onChange:e.onChange.bind(e,t)})}),(0,g.jsx)("td",{className:"text-center",children:(0,g.jsx)("img",{src:m.c.getLibIconUrl(t,!1),width:"24",title:m.c.getLibIconTitle(t),alt:m.c.getLibIconTitle(t)})}),(0,g.jsx)("td",{children:t.repo_name}),(0,g.jsx)("td",{children:A()(t.last_modified).fromNow()})]},n)}))})]})}),(0,g.jsxs)($.Z,{children:[(0,g.jsx)(Q.Z,{color:"secondary",onClick:this.toggle,children:(0,u.ih)("Cancel")}),this.state.repoID?(0,g.jsx)(Q.Z,{color:"primary",onClick:this.handleSubmit,children:(0,u.ih)("Submit")}):(0,g.jsx)(Q.Z,{color:"primary",disabled:!0,children:(0,u.ih)("Submit")})]})]})}}]),n}(a.Component),Jr=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var s=arguments.length,r=new Array(s),o=0;o-1)&&(n=s.generatorPrefix(e,t)),s.setState({currentTab:e,pathPrefix:n},(function(){var e=s.state,t=e.currentTab,n=e.pathPrefix;window.history.replaceState({currentTab:t,pathPrefix:n},null)})),m.c.isDesktop()||s.state.isSidePanelClosed||s.setState({isSidePanelClosed:!0})},s.generatorPrefix=function(e,t){var n=[];if(t){var i={url:u.ze+"groups/",showName:"Groups",name:"groups",id:null},r={url:u.ze+"group/"+t+"/",showName:e,name:e,id:t};n.push(i),n.push(r)}else{var o={url:u.ze+e+"/",showName:s.getTabShowName(e),name:e,id:null};n.push(o)}return n},s.getTabShowName=function(e){return"my-libs"===e?"Libraries":"shared-libs"===e?"Shared with me":"org"===e?"Shared with all":void 0},s.toggleSidePanel=function(){s.setState({isSidePanelClosed:!s.state.isSidePanelClosed})},s.state={isOpen:!1,isSidePanelClosed:!1,draftCounts:0,draftList:[],isLoadingDraft:!0,currentTab:"/",pathPrefix:[]},s.dirViewPanels=["my-libs","shared-libs","org"],window.onpopstate=s.onpopstate,s}return(0,s.Z)(n,[{key:"componentWillMount",value:function(){m.c.isDesktop()||this.setState({isSidePanelClosed:!0})}},{key:"componentDidMount",value:function(){this.navigateClientUrlToLib();var e=window.location.href.split("/");u.NT&&this.getDrafts(),this.setState({currentTab:e[e.length-2]})}},{key:"render",value:function(){var e=this.state,t=e.currentTab,n=e.isSidePanelClosed,i=u.cA?(0,g.jsx)(Dn,{path:u.ze,onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}):(0,g.jsx)(ho,{path:u.ze,onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick});return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(v,{}),(0,g.jsxs)("div",{id:"main",children:[(0,g.jsx)(Z,{isSidePanelClosed:this.state.isSidePanelClosed,onCloseSidePanel:this.onCloseSidePanel,currentTab:t,tabItemClick:this.tabItemClick,draftCounts:this.state.draftCounts}),(0,g.jsx)(F,{children:(0,g.jsxs)(c.F0,{className:"reach-router",children:[i,(0,g.jsx)(oo,{path:u.ze+"dashboard",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(ao,{path:u.ze+"drafts",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick,children:(0,g.jsx)(q,{path:"/",getDrafts:this.getDrafts,isLoadingDraft:this.state.isLoadingDraft,draftList:this.state.draftList,updateDraftsList:this.updateDraftsList})}),(0,g.jsx)(lo,{path:u.ze+"starred",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(co,{path:u.ze+"linked-devices",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(mo,{path:u.ze+"share-admin-libs",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(go,{path:u.ze+"share-admin-folders",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(Ue,{path:u.ze+"share-admin-share-links",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(He,{path:u.ze+"share-admin-upload-links",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(ho,{path:u.ze+"shared-libs",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(po,{path:u.ze+"shared-with-ocm",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(uo,{path:u.ze+"ocm-via-webdav",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(Dn,{path:u.ze+"my-libs",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(bn,{path:u.ze+"my-libs/deleted/",onSearchedClick:this.onSearchedClick}),(0,g.jsx)(Dr,{path:u.ze+"library/:repoID/*",pathPrefix:this.state.pathPrefix,onMenuClick:this.onShowSidePanel,onTabNavClick:this.tabItemClick}),(0,g.jsx)(wt,{path:u.ze+"remote-library/:providerID/:repoID/*",pathPrefix:this.state.pathPrefix,onMenuClick:this.onShowSidePanel,onTabNavClick:this.tabItemClick}),(0,g.jsx)(Ur,{path:u.ze+"groups",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(Or,{path:u.ze+"group/:groupID",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick,onTabNavClick:this.tabItemClick,onGroupChanged:this.onGroupChanged}),(0,g.jsx)(no,{path:u.ze+"published",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick}),(0,g.jsx)(Fn,{path:u.ze+"org/",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick,onTabNavClick:this.tabItemClick}),(0,g.jsx)(qr,{path:u.ze+"invitations/",onShowSidePanel:this.onShowSidePanel,onSearchedClick:this.onSearchedClick})]})}),(0,g.jsx)(p(),{query:"(max-width: 767.8px)",children:(0,g.jsx)(d.Z,{zIndex:"1030",isOpen:!n,toggle:this.toggleSidePanel,contentClassName:"d-none"})})]})]})}}]),n}(a.Component);l.render((0,g.jsx)(fo,{}),document.getElementById("wrapper"))},60925:function(e,t,n){"use strict";n.d(t,{AE:function(){return c},SC:function(){return h},bg:function(){return o},cI:function(){return a}});var i=n(31725),s=n.n(i),r=n(77338),o="REACT_CONTEXTMENU_SHOW",a="REACT_CONTEXTMENU_HIDE";function l(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;"function"===typeof window.CustomEvent?n=new window.CustomEvent(e,{detail:t}):(n=document.createEvent("CustomEvent")).initCustomEvent(e,!1,!0,t),i&&(i.dispatchEvent(n),s()(r.h,t))}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;l(o,s()({},e,{type:o}),t)}function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;l(a,s()({},e,{type:a}),t)}},99832:function(e,t,n){"use strict";var i=n(15671),s=n(43144),r=n(60136),o=n(29388),a=n(72791),l=n(17650),c=n(60925),h=n(77338),p=n(95996),d=n(80184),u=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).registerHandlers=function(){document.addEventListener("mousedown",s.handleOutsideClick),document.addEventListener("touchstart",s.handleOutsideClick),document.addEventListener("scroll",s.handleHide),document.addEventListener("contextmenu",s.handleHide),document.addEventListener("keydown",s.handleKeyNavigation),window.addEventListener("resize",s.handleHide)},s.unregisterHandlers=function(){document.removeEventListener("mousedown",s.handleOutsideClick),document.removeEventListener("touchstart",s.handleOutsideClick),document.removeEventListener("scroll",s.handleHide),document.removeEventListener("contextmenu",s.handleHide),document.removeEventListener("keydown",s.handleKeyNavigation),window.removeEventListener("resize",s.handleHide)},s.handleShow=function(e){if(e.detail.id===s.props.id){var t=e.detail.position,n=t.x,i=t.y,r=e.detail,o=r.currentObject,a=r.menuList;s.setState({isVisible:!0,x:n,y:i,currentObject:o,menuList:a}),s.registerHandlers(),(0,h._N)(s.props.onShowMenu,e)}},s.handleHide=function(e){!s.state.isVisible||e.detail&&e.detail.id&&e.detail.id!==s.props.id||(s.unregisterHandlers(),s.setState({isVisible:!1}),(0,h._N)(s.props.onHideMenu,e))},s.handleOutsideClick=function(e){s.menu.contains(e.target)||(0,c.SC)()},s.handleMouseLeave=function(e){e.preventDefault(),s.props.hideOnLeave&&(0,c.SC)()},s.handleContextMenu=function(e){s.handleHide(e)},s.handleKeyNavigation=function(e){!1!==s.state.isVisible&&(e.preventDefault(),s.hideMenu(e))},s.hideMenu=function(e){27!==e.keyCode&&13!==e.keyCode||(0,c.SC)()},s.getMenuPosition=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n={top:t,left:e};if(!s.menu)return n;var i=window,r=i.innerWidth,o=i.innerHeight,a=s.menu.getBoundingClientRect();return t+a.height>o&&(n.top-=a.height),e+a.width>r&&(n.left-=a.width),n.top<0&&(n.top=a.height0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n={top:t,left:e};if(!s.menu)return n;var i=window,r=i.innerWidth,o=i.innerHeight,a=s.menu.getBoundingClientRect();return n.left=e-a.width,t+a.height>o&&(n.top-=a.height),n.left<0&&(n.left+=a.width),n.top<0&&(n.top=a.heightr&&(n.left=a.width1?t-1:0),i=1;i-1?{isValid:t=!1,errMessage:n=(0,l.ih)("Name should not include '/'.")}:{isValid:t,errMessage:n}:{isValid:t=!1,errMessage:n=(0,l.ih)("Name is required.")}},s.state={name:e.name},s.inputRef=a.createRef(),s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;if(this.inputRef.current.focus(),this.props.hasSuffix){var t=this.props.name.lastIndexOf(".");this.inputRef.current.setSelectionRange(0,t,"forward")}else this.inputRef.current.setSelectionRange(0,-1);setTimeout((function(){document.addEventListener("click",e.onClick)}),1)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onClick)}},{key:"render",value:function(){return(0,p.jsx)("div",{className:"rename-container",children:(0,p.jsx)("input",{ref:this.inputRef,value:this.state.name,onChange:this.onChange,onKeyDown:this.onKeyDown})})}}]),n}(a.Component);t.Z=d},49266:function(e,t,n){"use strict";n.d(t,{Z:function(){return Z}});var i=n(15671),s=n(43144),r=n(60136),o=n(29388),a=n(72791),l=n(53885),c=n(62298),h=n(4292),p=n(95234),d=n(95060),u=n(81815),m=n(72426),g=n.n(m),f=n(53585),v=n(22228),x=n(95996),w=n(51832),y=n(80184),D=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onFileTagChanged=function(e){var t=e.parent_path,n={name:e.filename},i="/"===t?t+e.filename:t+"/"+e.filename;s.props.onFileTagChanged(n,i)},s.onDeleteTaggedFile=function(e){var t=s.props.repoID,n=e.file_tag_id;v.I.deleteFileTag(t,n).then((function(t){s.getTaggedFiles(),s.props.updateUsedRepoTags(),s.props.onFileTagChanged&&!e.file_deleted&&s.onFileTagChanged(e)})).catch((function(e){var t=x.c.getErrorMsg(e);w.Z.danger(t)}))},s.getTaggedFiles=function(){var e=s.props,t=e.repoID,n=e.currentTag,i=e.shareLinkToken;(i?v.I.getShareLinkTaggedFiles(i,n.id):v.I.listTaggedFiles(t,n.id)).then((function(e){var t=[];void 0!==e.data.tagged_files&&e.data.tagged_files.forEach((function(e){var n=e;t.push(n)})),s.setState({taggedFileList:t})})).catch((function(e){var t=x.c.getErrorMsg(e);w.Z.danger(t)}))},s.state={taggedFileList:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.getTaggedFiles()}},{key:"render",value:function(){var e=this,t=this.state.taggedFileList;return(0,y.jsxs)(c.Z,{isOpen:!0,style:{maxWidth:"678px"},children:[(0,y.jsx)(h.Z,{toggle:this.props.onClose,children:(0,f.ih)("Tagged Files")}),(0,y.jsx)(p.Z,{className:"dialog-list-container",children:(0,y.jsxs)("table",{children:[(0,y.jsx)("thead",{children:(0,y.jsxs)("tr",{children:[(0,y.jsx)("th",{width:"50%",className:"ellipsis",children:(0,f.ih)("Name")}),(0,y.jsx)("th",{width:"20%",children:(0,f.ih)("Size")}),(0,y.jsx)("th",{width:"22%",children:(0,f.ih)("Last Update")}),(0,y.jsx)("th",{width:"8%"})]})}),(0,y.jsx)("tbody",{children:t.map((function(t,n){return(0,y.jsx)(j,{repoID:e.props.repoID,taggedFile:t,onDeleteTaggedFile:e.onDeleteTaggedFile,shareLinkToken:e.props.shareLinkToken,enableFileDownload:e.props.enableFileDownload},n)}))})]})}),(0,y.jsx)(d.Z,{children:(0,y.jsx)(u.Z,{color:"secondary",onClick:this.props.toggleCancel,children:(0,f.ih)("Close")})})]})}}]),n}(a.Component),j=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({active:!0})},s.onMouseLeave=function(){s.setState({active:!1})},s.deleteFile=function(e){e.preventDefault(),s.props.onDeleteTaggedFile(s.props.taggedFile)},s.state={active:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.taggedFile,n=e.shareLinkToken,i=e.enableFileDownload,s=t.parent_path?x.c.joinPath(t.parent_path,t.filename):"",r=n?f.ze+"d/"+n+"/files/?p="+x.c.encodePath(s):f.ze+"lib/"+this.props.repoID+"/file"+x.c.encodePath(s);return(0,y.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onFocus:this.onMouseEnter,children:[t.file_deleted?(0,y.jsx)(a.Fragment,{children:(0,y.jsxs)("td",{colSpan:"3",className:"name",children:[t.filename," ",(0,y.jsx)("span",{style:{color:"red"},children:(0,f.ih)("deleted")})]})}):(0,y.jsxs)(a.Fragment,{children:[(0,y.jsx)("td",{children:(0,y.jsx)("a",{href:r,target:"_blank",className:"d-inline-block w-100 ellipsis",title:t.filename,rel:"noreferrer",children:t.filename})}),(0,y.jsx)("td",{children:x.c.bytesToSize(t.size)}),(0,y.jsx)("td",{children:g().unix(t.mtime).fromNow()})]}),(0,y.jsxs)("td",{children:[!n&&(0,y.jsx)("a",{href:"#",role:"button","aria-label":(0,f.ih)("Delete"),title:(0,f.ih)("Delete"),className:"action-icon sf2-icon-x3".concat(this.state.active?"":" invisible"),onClick:this.deleteFile}),n&&i&&(0,y.jsx)("a",{className:"action-icon sf2-icon-download".concat(this.state.active?"":" invisible"),href:"".concat(r,"&dl=1"),title:(0,f.ih)("Download"),"aria-label":(0,f.ih)("Download")})]})]})}}]),n}(a.Component),C=n(39571),S=(0,s.Z)((function e(t){(0,i.Z)(this,e),this.created=t.created_at,this.createdStr=g()(new Date(t.created_at).getTime()).format("YYYY-MM-DD HH:mm"),this.id=t.id,this.ownerNickname=t.owner_nickname,this.originRepoID=t.origin_repo_id,this.draftFilePath=t.draft_file_path})),b=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onDeleteDraftItem=function(e){C.Z.deleteDraft(e.id).then((function(){var t=s.state.drafts.filter((function(t){return t.id!==e.id}));s.setState({drafts:t});var n=(0,f.ih)("Successfully deleted draft %(draft)s.");n=n.replace("%(draft)s",e.draftFilePath),w.Z.success(n)})).catch((function(){var t=(0,f.ih)("Failed to delete draft %(draft)s.");t=t.replace("%(draft)s",e.draftFilePath),w.Z.danger(t)}))},s.toggle=function(){s.props.toggle()},s.state={drafts:[]},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;v.I.listRepoDrafts(this.props.repoID).then((function(t){var n=t.data.drafts.map((function(e){return new S(e)}));e.setState({drafts:n})}))}},{key:"render",value:function(){var e=this;return(0,y.jsxs)(c.Z,{isOpen:!0,children:[(0,y.jsx)(h.Z,{toggle:this.toggle,children:(0,f.ih)("Drafts")}),(0,y.jsx)(p.Z,{className:"dialog-list-container",children:(0,y.jsxs)("table",{children:[(0,y.jsx)("thead",{children:(0,y.jsxs)("tr",{children:[(0,y.jsx)("th",{width:"50%",className:"ellipsis",children:(0,f.ih)("Name")}),(0,y.jsx)("th",{width:"20%",children:(0,f.ih)("Owner")}),(0,y.jsx)("th",{width:"20%",children:(0,f.ih)("Last Update")}),(0,y.jsx)("th",{width:"10%"})]})}),(0,y.jsx)("tbody",{children:this.state.drafts.map((function(t,n){return(0,y.jsx)(k,{draftItem:t,onDeleteDraftItem:e.onDeleteDraftItem},n)}))})]})}),(0,y.jsx)(d.Z,{children:(0,y.jsx)(u.Z,{color:"secondary",onClick:this.toggle,children:(0,f.ih)("Close")})})]})}}]),n}(a.Component),k=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.setState({active:!0})},s.onMouseLeave=function(){s.setState({active:!1})},s.state={active:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.draftItem,t=f.ze+"drafts/"+e.id+"/",n=this.state.active?"action-icon sf2-icon-x3":"action-icon vh sf2-icon-x3";return(0,y.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,y.jsx)("td",{className:"name",children:(0,y.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",children:x.c.getFileName(e.draftFilePath)})}),(0,y.jsx)("td",{children:e.ownerNickname}),(0,y.jsx)("td",{children:g()(e.createdStr).fromNow()}),(0,y.jsx)("td",{children:(0,y.jsx)("i",{className:n,onClick:this.props.onDeleteDraftItem.bind(this,e)})})]})}}]),n}(a.Component),I=n(24753),N=n(63446),M=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).state={readmeContent:null,isLoading:!0},s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;v.I.getFileDownloadLink(this.props.repoID,this.props.filePath).then((function(t){v.I.getFileContent(t.data).then((function(t){e.setState({readmeContent:t.data,isLoading:!1})}))})).catch((function(e){var t=x.c.getErrorMsg(e);w.Z.danger(t)}))}},{key:"render",value:function(){return(0,y.jsxs)(c.Z,{isOpen:!0,toggle:this.props.toggleCancel,className:"readme-dialog",size:"lg",children:[(0,y.jsxs)(h.Z,{children:[this.props.fileName,(0,y.jsx)("a",{className:"readme-dialog-edit",href:this.props.href,target:"_blank",rel:"noreferrer",children:(0,y.jsx)("i",{className:"fa fa-pencil-alt"})})]}),(0,y.jsx)(p.Z,{children:this.state.isLoading?(0,y.jsx)(N.Z,{}):(0,y.jsx)(I.av,{markdownContent:this.state.readmeContent,showTOC:!1,scriptSource:f.si+"js/mathjax/tex-svg.js"})}),(0,y.jsx)(d.Z,{children:(0,y.jsx)(u.Z,{color:"secondary",onClick:this.props.toggleCancel,children:(0,f.ih)("Close")})})]})}}]),n}(a.Component),Z=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).onListTaggedFiles=function(e){s.setState({currentTag:e,isListTaggedFileShow:!s.state.isListTaggedFileShow})},s.onCloseDialog=function(){s.setState({isListTaggedFileShow:!1})},s.toggleDrafts=function(){s.setState({showRepoDrafts:!s.state.showRepoDrafts})},s.toggleReadme=function(){s.setState({showReadmeDialog:!s.state.showReadmeDialog})},s.state={currentTag:null,isListTaggedFileShow:!1,showRepoDrafts:!1,showReadmeDialog:!1},s}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.repoID,i=t.currentPath,s=t.usedRepoTags,r=t.readmeMarkdown,o=t.draftCounts,a=t.className;void 0===r&&(r=null),void 0===o&&(o=0);var c=null!==r?f.ze+"lib/"+n+"/file"+x.c.joinPath(i,r.name)+"?mode=edit":"",h=null!==r?i+r.name:"";return(0,y.jsxs)("div",{className:"repo-info-bar ".concat(a||""),children:[s.length>0&&(0,y.jsx)("ul",{className:"used-tag-list",children:s.map((function(t){return(0,y.jsxs)("li",{className:"used-tag-item",children:[(0,y.jsx)("span",{className:"used-tag",style:{backgroundColor:t.color}}),(0,y.jsx)("span",{className:"used-tag-name",title:t.name,children:t.name}),(0,y.jsx)("button",{type:"button",className:"used-tag-files border-0 bg-transparent",onClick:e.onListTaggedFiles.bind(e,t),children:t.fileCount>1?t.fileCount+" files":t.fileCount+" file"})]},t.id)}))}),(0,y.jsxs)("div",{className:s.length>0&&r?"file-info-list mt-1":"file-info-list",children:[null!==r&&parseInt(r.size)>1&&(0,y.jsxs)("span",{className:"file-info",onClick:this.toggleReadme,children:[(0,y.jsx)("span",{className:"info-icon sf2-icon-readme"}),(0,y.jsx)("span",{className:"used-tag-name",children:r.name})]}),null!==r&&parseInt(r.size)<2&&(0,y.jsxs)("span",{className:"file-info",children:[(0,y.jsx)("span",{className:"info-icon sf2-icon-readme"}),(0,y.jsx)("a",{className:"used-tag-name",href:c,target:"_blank",rel:"noreferrer",children:r.name})]}),o>0&&(0,y.jsxs)("span",{className:"file-info",children:[(0,y.jsx)("span",{className:"info-icon sf2-icon-drafts"}),(0,y.jsx)("span",{className:"used-tag-name",children:(0,f.ih)("draft")}),(0,y.jsx)("button",{type:"button",className:"used-tag-files border-0 bg-transparent",onClick:this.toggleDrafts,children:o>1?o+" files":o+" file"})]})]}),this.state.isListTaggedFileShow&&(0,y.jsx)(l.Z,{children:(0,y.jsx)(D,{repoID:n,currentTag:this.state.currentTag,onClose:this.onCloseDialog,toggleCancel:this.onListTaggedFiles,updateUsedRepoTags:this.props.updateUsedRepoTags,onFileTagChanged:this.props.onFileTagChanged,shareLinkToken:this.props.shareLinkToken,enableFileDownload:this.props.enableFileDownload})}),this.state.showRepoDrafts&&(0,y.jsx)(l.Z,{children:(0,y.jsx)(b,{toggle:this.toggleDrafts,repoID:this.props.repoID})}),this.state.showReadmeDialog&&(0,y.jsx)(l.Z,{children:(0,y.jsx)(M,{toggleCancel:this.toggleReadme,repoID:n,filePath:h,href:c,fileName:r.name})})]})}}]),n}(a.Component)},95046:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var i=n(15671),s=n(43144),r=n(60136),o=n(29388),a=n(72791),l=n(93191),c=n(53585),h=n(2169),p=n(95996),d=n(80184),u=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).onMouseEnter=function(){s.props.isItemFreezed||s.setState({isShowOperationMenu:!0,isHighlight:!0})},s.onMouseOver=function(){s.props.isItemFreezed||s.setState({isShowOperationMenu:!0,isHighlight:!0})},s.onMouseLeave=function(){s.props.isItemFreezed||s.setState({isShowOperationMenu:!1,isHighlight:!1})},s.onNodeClick=function(){var e=s.props.node.object;if(e.isDir())s.props.onNodeClick(s.props.node);else{var t=p.c.getUserPermission(e.permission),n=t.isCustomPermission,i=t.customPermission;if(n){var r=i.permission,o=r.preview,a=r.modify;if(!o&&!a)return}s.props.onNodeClick(s.props.node)}},s.onLoadToggle=function(e){e.stopPropagation();var t=s.props.node;t.isExpanded?s.props.onNodeCollapse(t):s.props.onNodeExpanded(t)},s.onNodeDragStart=function(e){if(p.c.isIEBrower()||!s.canDrag)return!1;s.props.onNodeDragStart(e,s.props.node)},s.onNodeDragEnter=function(e){if(p.c.isIEBrower()||!s.canDrag)return!1;"dir"===s.props.node.object.type&&s.setState({isNodeDropShow:!0}),s.props.onNodeDragEnter(e,s.props.node)},s.onNodeDragMove=function(e){if(p.c.isIEBrower()||!s.canDrag)return!1;s.props.onNodeDragMove(e)},s.onNodeDragLeave=function(e){if(p.c.isIEBrower()||!s.canDrag)return!1;s.setState({isNodeDropShow:!1}),s.props.onNodeDragLeave(e,s.props.node)},s.onNodeDrop=function(e){if(p.c.isIEBrower()||!s.canDrag)return!1;e.stopPropagation(),s.setState({isNodeDropShow:!1}),s.props.onNodeDrop(e,s.props.node)},s.unfreezeItem=function(){s.setState({isShowOperationMenu:!1}),s.props.unfreezeItem()},s.onMenuItemClick=function(e,t,n){s.props.onMenuItemClick(e,n)},s.onItemMouseDown=function(e){e.stopPropagation(),e.button},s.onItemContextMenu=function(e){s.handleContextClick(e)},s.handleContextClick=function(e){s.props.handleContextClick(e,s.props.node),s.setState({isShowOperationMenu:!1})},s.getNodeTypeAndIcon=function(){var e=s.props.node,t="",n="";if("dir"===e.object.type)t=(0,d.jsx)("i",{className:"far fa-folder"}),n="dir";else{var i=e.object.name.lastIndexOf(".");if(-1===i)t=(0,d.jsx)("i",{className:"far fa-file"}),n="file";else{var r=e.object.name.slice(i).toLowerCase();".png"===r||".jpg"===r||".jpeg"===r||".gif"===r||".bmp"===r?(t=(0,d.jsx)("i",{className:"far fa-image"}),n="image"):".md"===r||".markdown"===r?(t=(0,d.jsx)("i",{className:"far fa-file-alt"}),n="file"):(t=(0,d.jsx)("i",{className:"far fa-file"}),n="file")}}return{icon:t,type:n}},s.calculateMenuList=function(e){var t=l.Z.NEW_FOLDER,n=l.Z.NEW_FILE,i=l.Z.COPY,r=l.Z.MOVE,o=l.Z.RENAME,a=l.Z.DELETE,c=l.Z.OPEN_VIA_CLIENT,h=[o,a,i,r,c];"dir"===e.object.type&&(h=[t,n,i,r,o,a]);var d=s.props.userPerm,u=p.c.getUserPermission(d),m=u.isCustomPermission,g=u.customPermission;if(!m)return h;h=[];var f=g.permission,v=f.create,x=f.modify,w=f.delete,y=f.copy;return"dir"===e.object.type&&v&&h.push(t,n),y&&h.push(i),x&&h.push(r,o),w&&h.push(a),"dir"!==e.object.type&&h.push(c),h},s.renderChildren=function(){var e=s.props,t=e.node,i=e.paddingLeft;return t.hasChildren()?(0,d.jsx)("div",{className:"children",style:{paddingLeft:i},children:t.children.map((function(e){return(0,d.jsx)(n,{node:e,paddingLeft:i,userPerm:s.props.userPerm,currentPath:s.props.currentPath,isNodeMenuShow:s.props.isNodeMenuShow,isItemFreezed:s.props.isItemFreezed,onNodeClick:s.props.onNodeClick,onNodeCollapse:s.props.onNodeCollapse,onNodeExpanded:s.props.onNodeExpanded,freezeItem:s.props.freezeItem,onMenuItemClick:s.props.onMenuItemClick,unfreezeItem:s.unfreezeItem,onNodeDragStart:s.props.onNodeDragStart,onNodeDragMove:s.props.onNodeDragMove,onNodeDrop:s.props.onNodeDrop,onNodeDragEnter:s.props.onNodeDragEnter,onNodeDragLeave:s.props.onNodeDragLeave,handleContextClick:s.props.handleContextClick},e.path)}))}):""},s.state={isHighlight:!1,isShowOperationMenu:!1,isNodeDropShow:!1};var r=e.userPerm;s.canDrag="rw"===r;var o=p.c.getUserPermission(r),a=o.isCustomPermission,c=o.customPermission;if(a){var h=c.permission.modify;s.canDrag=h}return s}return(0,s.Z)(n,[{key:"componentWillReceiveProps",value:function(e){e.isItemFreezed||this.setState({isShowOperationMenu:!1,isHighlight:!1})}},{key:"render",value:function(){var e=this.props,t=e.currentPath,n=e.node,i=e.isNodeMenuShow,s=e.userPerm,r=this.getNodeTypeAndIcon(),o=r.type,a=r.icon,l=this.state.isHighlight?"tree-node-inner-hover ":"";n.path===t&&(l="tree-node-hight-light");var u=p.c.getUserPermission(s).isCustomPermission;return(0,d.jsxs)("div",{className:"tree-node",children:[(0,d.jsxs)("div",{type:o,className:"tree-node-inner text-nowrap ".concat(l," ").concat("/"===n.path?"hide":""," ").concat(this.state.isNodeDropShow?"tree-node-drop":""),title:n.object.name,onMouseEnter:this.onMouseEnter,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:this.onItemMouseDown,onContextMenu:this.onItemContextMenu,onClick:this.onNodeClick,children:[(0,d.jsx)("div",{className:"tree-node-text",draggable:this.canDrag,onDragStart:this.onNodeDragStart,onDragEnter:this.onNodeDragEnter,onDragLeave:this.onNodeDragLeave,onDragOver:this.onNodeDragMove,onDrop:this.onNodeDrop,children:n.object.name}),(0,d.jsxs)("div",{className:"left-icon",children:["dir"===o&&(!n.isLoaded||n.isLoaded&&n.hasChildren())&&(0,d.jsx)("i",{className:"folder-toggle-icon fa ".concat(n.isExpanded?"fa-caret-down":"fa-caret-right"),onMouseDown:function(e){return e.stopPropagation()},onClick:this.onLoadToggle}),(0,d.jsx)("i",{className:"tree-node-icon",children:a})]}),i&&(0,d.jsx)("div",{className:"right-icon",children:("rw"===s||c.rd||u)&&this.state.isShowOperationMenu&&(0,d.jsx)(h.Z,{item:this.props.node,toggleClass:"fas fa-ellipsis-v",getMenuList:this.calculateMenuList,onMenuItemClick:this.onMenuItemClick,freezeItem:this.props.freezeItem,unfreezeItem:this.unfreezeItem})})]}),n.isExpanded&&this.renderChildren()]})}}]),n}(a.Component),m=n(99832),g=n(60925),f=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;(0,i.Z)(this,n),(s=t.call(this,e)).onItemMove=function(e,t,n,i){s.props.onItemMove(e,t,n,i)},s.onNodeDragStart=function(e,t){if(p.c.isIEBrower())return!1;var n={nodeDirent:t.object,nodeParentPath:t.parentNode.path,nodeRootPath:t.path};n=JSON.stringify(n),e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("applicaiton/drag-item-info",n)},s.onNodeDragEnter=function(e,t){if(p.c.isIEBrower()||!s.canDrop)return!1;e.persist(),"tree-view tree "===e.target.className&&s.setState({isTreeViewDropTipShow:!0})},s.onNodeDragMove=function(e){if(p.c.isIEBrower()||!s.canDrop)return!1;e.preventDefault(),e.dataTransfer.dropEffect="move"},s.onNodeDragLeave=function(e,t){if(p.c.isIEBrower()||!s.canDrop)return!1;"tree-view tree tree-view-drop"===e.target.className&&s.setState({isTreeViewDropTipShow:!1})},s.onContainerClick=function(e){(0,g.SC)()},s.onNodeClick=function(e){(0,g.SC)(),s.props.onNodeClick(e)},s.onNodeDrop=function(e,t){if(p.c.isIEBrower()||!s.canDrop)return!1;if(!e.dataTransfer.files.length){var n=e.dataTransfer.getData("applicaiton/drag-item-info"),i=n=JSON.parse(n),r=i.nodeDirent,o=i.nodeParentPath,a=i.nodeRootPath,l=t;if(Array.isArray(n))return l?void s.onMoveItems(n,l,s.props.currentRepoInfo,l.path):("/"===n[0].nodeParentPath||s.props.onItemsMove(s.props.currentRepoInfo,"/"),void s.setState({isTreeViewDropTipShow:!1}));if(!l)return"/"===o||s.onItemMove(s.props.currentRepoInfo,r,"/",o),void s.setState({isTreeViewDropTipShow:!1});if("dir"===l.object.type&&o!==l.path&&(o!==l.parentNode.path||l.object.name!==r.name)){if("dir"===l.object.type&&"dir"===r.type)if(l.parentNode.path!==o)if(p.c.getPaths(l.path).includes(a))return;s.onItemMove(s.props.currentRepoInfo,r,l.path,o)}}},s.onMoveItems=function(e,t,n,i){var r=[],o=p.c.getPaths(i);(e.forEach((function(e){var t=e.nodeRootPath;r.push(t)})),"dir"===t.object.type)&&(r.some((function(e){return e===i}))||e[0].nodeParentPath&&e[0].nodeParentPath===t.path||r.some((function(e){return o.includes(e)}))||s.props.onItemsMove(n,i))},s.freezeItem=function(){s.setState({isItemFreezed:!0})},s.unfreezeItem=function(){s.setState({isItemFreezed:!1})},s.onMenuItemClick=function(e,t){s.props.onMenuItemClick(e,t),(0,g.SC)()},s.onMouseDown=function(e){e.stopPropagation(),e.button},s.onContextMenu=function(e){e.preventDefault();var t=s.props.currentRepoInfo;if("admin"!==t.permission&&"rw"!==t.permission)return"";s.handleContextClick(e)},s.handleContextClick=function(e,t){if(e.preventDefault(),e.stopPropagation(),s.props.isNodeMenuShow){var n=e.clientX||e.touches&&e.touches[0].pageX,i=e.clientY||e.touches&&e.touches[0].pageY;s.props.posX&&(n-=s.props.posX),s.props.posY&&(i-=s.props.posY),(0,g.SC)();var r=s.getMenuList(t),o={id:"tree-node-contextmenu",position:{x:n,y:i},target:e.target,currentObject:t,menuList:r};(0,g.AE)(o)}},s.getMenuList=function(e){var t=[],n=l.Z.NEW_FOLDER,i=l.Z.NEW_FILE,r=l.Z.COPY,o=l.Z.MOVE,a=l.Z.RENAME,c=l.Z.DELETE,h=l.Z.OPEN_VIA_CLIENT;if(!e)return[n,i];t="dir"===e.object.type?[n,i,r,o,a,c]:[a,c,r,o,h];var d=s.props.userPerm,u=p.c.getUserPermission(d),m=u.isCustomPermission,g=u.customPermission;if(!m)return t;t=[];var f=g.permission,v=f.create,x=f.modify,w=f.delete,y=f.copy;return e?("dir"===e.object.type&&v&&t.push(n,i),y&&t.push(r),x&&t.push(o,a),w&&t.push(c),"dir"!==e.object.type&&t.push(h),t):(v&&t.push(n,i),t)},s.onShowMenu=function(){s.freezeItem()},s.onHideMenu=function(){s.unfreezeItem()},s.state={isItemFreezed:!1,isTreeViewDropTipShow:!1};var r=e.userPerm;s.canDrop="rw"===r;var o=p.c.getUserPermission(r),a=o.isCustomPermission,c=o.customPermission;if(a){var h=c.permission.modify;s.canDrop=h}return s}return(0,s.Z)(n,[{key:"render",value:function(){return(0,d.jsxs)("div",{className:"tree-view tree ".concat(this.state.isTreeViewDropTipShow&&this.canDrop?"tree-view-drop":""),onDrop:this.onNodeDrop,onDragEnter:this.onNodeDragEnter,onDragLeave:this.onNodeDragLeave,onMouseDown:this.onMouseDown,onContextMenu:this.onContextMenu,onClick:this.onContainerClick,children:[(0,d.jsx)(u,{userPerm:this.props.userPerm,node:this.props.treeData.root,currentPath:this.props.currentPath,paddingLeft:20,isNodeMenuShow:this.props.isNodeMenuShow,isItemFreezed:this.state.isItemFreezed,onNodeClick:this.onNodeClick,onMenuItemClick:this.props.onMenuItemClick,onNodeExpanded:this.props.onNodeExpanded,onNodeCollapse:this.props.onNodeCollapse,onNodeDragStart:this.onNodeDragStart,freezeItem:this.freezeItem,unfreezeItem:this.unfreezeItem,onNodeDragMove:this.onNodeDragMove,onNodeDrop:this.onNodeDrop,onNodeDragEnter:this.onNodeDragEnter,onNodeDragLeave:this.onNodeDragLeave,handleContextClick:this.handleContextClick}),(0,d.jsx)(m.Z,{id:"tree-node-contextmenu",onMenuItemClick:this.onMenuItemClick,onHideMenu:this.onHideMenu,onShowMenu:this.onShowMenu})]})}}]),n}(a.Component)},50699:function(e,t,n){"use strict";var i=n(15671),s=n(43144),r=n(60136),o=n(29388),a=n(72791),l=n(24753),c=n(53585),h=n(63446),p=n(95996),d=n(80184),u="wiki-page-content",m=function(e){(0,r.Z)(n,e);var t=(0,o.Z)(n);function n(e){var s;return(0,i.Z)(this,n),(s=t.call(this,e)).getTitlesInfo=function(){var e=[],t=document.querySelectorAll('h1[id^="user-content"]')[0];if(t){var n=t.getAttribute("id"),i=n&&n.replace("user-content-","");i=i?"".concat(i," - ").concat(c.oF):c.oF,p.c.updateTabTitle(i)}for(var r=document.querySelectorAll('h2[id^="user-content"], h3[id^="user-content"]'),o=0;os.titlesInfo[n-1])return e=s.titlesInfo.length-1,void s.setState({activeTitleIndex:e});for(var i=0;is.titlesInfo[i])){e=i-1;break}s.setState({activeTitleIndex:e})},s.changeInlineNode=function(e){var t,n;if("image"==e.type&&c.O6){if(t=e.data.src,new RegExp(c.xx+"/lib/"+c.Jv+"/file.*raw=1").test(t)){var i=t.indexOf("/file"),r=t.indexOf("?");n=t.substring(i+5,r)}else{if(!/^\.\.\/*/.test(t)&&!/^\.\/*/.test(t))return;var o=s.props.path,a=o.slice(0,o.lastIndexOf("/"))+"/"+t;n=p.c.pathNormalize(a)}e.data.src=c.xx+"/view-image-via-public-wiki/?slug="+c.oF+"&path="+n}else if("link"==e.type)if(t=e.data.href,p.c.isInternalFileLink(t,c.Jv))if(p.c.isInternalMarkdownLink(t,c.Jv)){var l=p.c.getPathFromInternalMarkdownLink(t,c.Jv);e.data.href=c.xx+"/published/"+c.oF+l}else e.data.href=t.replace(/(.*)lib\/([-0-9a-f]{36})\/file(.*)/g,(function(e,t,n,i){return"".concat(t,"d/").concat(c.lI,"/files/?p=").concat(i,"&dl=1")}));else if(p.c.isInternalDirLink(t,c.Jv)){var h=p.c.getPathFromInternalDirLink(t,c.Jv);e.data.href=c.xx+"/published/"+c.oF+h}return e},s.modifyValueBeforeRender=function(e){return p.c.changeMarkdownNodes(e,s.changeInlineNode)},s.renderMarkdown=function(){var e=!0;return!1===s.props.isTOCShow&&(e=!1),s.props.isWiki?(0,d.jsx)(l.av,{showTOC:e,scriptSource:c.si+"js/mathjax/tex-svg.js",markdownContent:s.props.markdownContent,activeTitleIndex:s.state.activeTitleIndex,modifyValueBeforeRender:s.modifyValueBeforeRender}):(0,d.jsx)(l.av,{showTOC:e,scriptSource:c.si+"js/mathjax/tex-svg.js",markdownContent:s.props.markdownContent,activeTitleIndex:s.state.activeTitleIndex})},s.state={activeTitleIndex:0},s.markdownContainer=a.createRef(),s.links=[],s.titlesInfo=[],s}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.links=document.querySelectorAll(".".concat(u," a")),this.links.forEach((function(t){t.addEventListener("click",e.onLinkClick)})),this.getTitlesInfo()}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.markdownContent!==e.markdownContent&&this.links.forEach((function(e){e.removeEventListener("click",t.onLinkClick)}))}},{key:"componentDidUpdate",value:function(){var e=this;this.links=document.querySelectorAll(".".concat(u," a")),this.links.forEach((function(t){t.addEventListener("click",e.onLinkClick)})),0===this.titlesInfo.length&&this.getTitlesInfo()}},{key:"componentWillUnmount",value:function(){var e=this;this.links.forEach((function(t){t.removeEventListener("click",e.onLinkClick)}))}},{key:"render",value:function(){if(this.props.isFileLoading)return(0,d.jsx)(h.Z,{});var e="".concat(this.props.repoID?u+" w-100":u);return(0,d.jsx)("div",{ref:this.markdownContainer,className:"wiki-page-container",onScroll:this.onScrollHandler.bind(this),children:(0,d.jsxs)("div",{className:e,children:[this.props.children,this.renderMarkdown(),(0,d.jsxs)("p",{id:"wiki-page-last-modified",children:[(0,c.ih)("Last modified by")," ",this.props.latestContributor,", ",(0,d.jsx)("span",{children:this.props.lastModified})]})]})})}}]),n}(a.Component);l.av.defaultProps={isWiki:!1},t.Z=m},57186:function(e){function t(){}e.exports=function(e,n,i){var s=!1;return i=i||t,r.count=e,0===e?n():r;function r(e,t){if(r.count<=0)throw new Error("after called too many times");--r.count,e?(s=!0,n(e),n=i):0!==r.count||s||n(null,t)}}},59873:function(e){e.exports=function(e,t,n){var i=e.byteLength;if(t=t||0,n=n||i,e.slice)return e.slice(t,n);if(t<0&&(t+=i),n<0&&(n+=i),n>i&&(n=i),t>=i||t>=n||0===i)return new ArrayBuffer(0);for(var s=new Uint8Array(e),r=new Uint8Array(n-t),o=t,a=0;o0&&e.jitter<=1?e.jitter:0,this.attempts=0}e.exports=t,t.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},t.prototype.reset=function(){this.attempts=0},t.prototype.setMin=function(e){this.ms=e},t.prototype.setMax=function(e){this.max=e},t.prototype.setJitter=function(e){this.jitter=e}},60934:function(e,t){!function(e){"use strict";t.encode=function(t){var n,i=new Uint8Array(t),s=i.length,r="";for(n=0;n>2],r+=e[(3&i[n])<<4|i[n+1]>>4],r+=e[(15&i[n+1])<<2|i[n+2]>>6],r+=e[63&i[n+2]];return s%3===2?r=r.substring(0,r.length-1)+"=":s%3===1&&(r=r.substring(0,r.length-2)+"=="),r},t.decode=function(t){var n,i,s,r,o,a=.75*t.length,l=t.length,c=0;"="===t[t.length-1]&&(a--,"="===t[t.length-2]&&a--);var h=new ArrayBuffer(a),p=new Uint8Array(h);for(n=0;n>4,p[c++]=(15&s)<<4|r>>2,p[c++]=(3&r)<<6|63&o;return h}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},15665:function(e){var t="undefined"!==typeof t?t:"undefined"!==typeof WebKitBlobBuilder?WebKitBlobBuilder:"undefined"!==typeof MSBlobBuilder?MSBlobBuilder:"undefined"!==typeof MozBlobBuilder&&MozBlobBuilder,n=function(){try{return 2===new Blob(["hi"]).size}catch(e){return!1}}(),i=n&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(e){return!1}}(),s=t&&t.prototype.append&&t.prototype.getBlob;function r(e){return e.map((function(e){if(e.buffer instanceof ArrayBuffer){var t=e.buffer;if(e.byteLength!==t.byteLength){var n=new Uint8Array(e.byteLength);n.set(new Uint8Array(t,e.byteOffset,e.byteLength)),t=n.buffer}return t}return e}))}function o(e,n){n=n||{};var i=new t;return r(e).forEach((function(e){i.append(e)})),n.type?i.getBlob(n.type):i.getBlob()}function a(e,t){return new Blob(r(e),t||{})}"undefined"!==typeof Blob&&(o.prototype=Blob.prototype,a.prototype=Blob.prototype),e.exports=n?i?Blob:a:s?o:void 0},94870:function(e){var t=[].slice;e.exports=function(e,n){if("string"==typeof n&&(n=e[n]),"function"!=typeof n)throw new Error("bind() requires a function");var i=t.call(arguments,2);return function(){return n.apply(e,i.concat(t.call(arguments)))}}},79773:function(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s0&&(this.extraHeaders=t.extraHeaders),t.localAddress&&(this.localAddress=t.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}e.exports=h,h.priorWebsocketSuccess=!1,s(h.prototype),h.protocol=a.protocol,h.Socket=h,h.Transport=n(11221),h.transports=n(36624),h.parser=n(92103),h.prototype.createTransport=function(e){r('creating transport "%s"',e);var t=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}(this.query);t.EIO=a.protocol,t.transport=e;var n=this.transportOptions[e]||{};return this.id&&(t.sid=this.id),new i[e]({query:t,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,withCredentials:n.withCredentials||this.withCredentials,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0,isReactNative:this.isReactNative})},h.prototype.open=function(){var e;if(this.rememberUpgrade&&h.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length){var t=this;return void setTimeout((function(){t.emit("error","No transports available")}),0)}e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(n){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)},h.prototype.setTransport=function(e){r("setting transport %s",e.name);var t=this;this.transport&&(r("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",(function(){t.onDrain()})).on("packet",(function(e){t.onPacket(e)})).on("error",(function(e){t.onError(e)})).on("close",(function(){t.onClose("transport close")}))},h.prototype.probe=function(e){r('probing transport "%s"',e);var t=this.createTransport(e,{probe:1}),n=!1,i=this;function s(){if(i.onlyBinaryUpgrades){var s=!this.supportsBinary&&i.transport.supportsBinary;n=n||s}n||(r('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",(function(s){if(!n)if("pong"===s.type&&"probe"===s.data){if(r('probe transport "%s" pong',e),i.upgrading=!0,i.emit("upgrading",t),!t)return;h.priorWebsocketSuccess="websocket"===t.name,r('pausing current transport "%s"',i.transport.name),i.transport.pause((function(){n||"closed"!==i.readyState&&(r("changing transport and sending upgrade packet"),d(),i.setTransport(t),t.send([{type:"upgrade"}]),i.emit("upgrade",t),t=null,i.upgrading=!1,i.flush())}))}else{r('probe transport "%s" failed',e);var o=new Error("probe error");o.transport=t.name,i.emit("upgradeError",o)}})))}function o(){n||(n=!0,d(),t.close(),t=null)}function a(n){var s=new Error("probe error: "+n);s.transport=t.name,o(),r('probe transport "%s" failed because of error: %s',e,n),i.emit("upgradeError",s)}function l(){a("transport closed")}function c(){a("socket closed")}function p(e){t&&e.name!==t.name&&(r('"%s" works - aborting "%s"',e.name,t.name),o())}function d(){t.removeListener("open",s),t.removeListener("error",a),t.removeListener("close",l),i.removeListener("close",c),i.removeListener("upgrading",p)}h.priorWebsocketSuccess=!1,t.once("open",s),t.once("error",a),t.once("close",l),this.once("close",c),this.once("upgrading",p),t.open()},h.prototype.onOpen=function(){if(r("socket open"),this.readyState="open",h.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){r("starting upgrade probes");for(var e=0,t=this.upgrades.length;e';i=document.createElement(e)}catch(t){(i=document.createElement("iframe")).name=n.iframeId,i.src="javascript:0"}i.id=n.iframeId,n.form.appendChild(i),n.iframe=i}this.form.action=this.uri(),h(),e=e.replace(l,"\\\n"),this.area.value=e.replace(a,"\\n");try{this.form.submit()}catch(p){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===n.iframe.readyState&&c()}:this.iframe.onload=c}},59812:function(e,t,n){var i=n(96537),s=n(1857),r=n(79773),o=n(10993),a=n(36693)("engine.io-client:polling-xhr"),l=n(80888);function c(){}function h(e){if(s.call(this,e),this.requestTimeout=e.requestTimeout,this.extraHeaders=e.extraHeaders,"undefined"!==typeof location){var t="https:"===location.protocol,n=location.port;n||(n=t?443:80),this.xd="undefined"!==typeof location&&e.hostname!==location.hostname||n!==e.port,this.xs=e.secure!==t}}function p(e){this.method=e.method||"GET",this.uri=e.uri,this.xd=!!e.xd,this.xs=!!e.xs,this.async=!1!==e.async,this.data=void 0!==e.data?e.data:null,this.agent=e.agent,this.isBinary=e.isBinary,this.supportsBinary=e.supportsBinary,this.enablesXDR=e.enablesXDR,this.withCredentials=e.withCredentials,this.requestTimeout=e.requestTimeout,this.pfx=e.pfx,this.key=e.key,this.passphrase=e.passphrase,this.cert=e.cert,this.ca=e.ca,this.ciphers=e.ciphers,this.rejectUnauthorized=e.rejectUnauthorized,this.extraHeaders=e.extraHeaders,this.create()}if(e.exports=h,e.exports.Request=p,o(h,s),h.prototype.supportsBinary=!0,h.prototype.request=function(e){return(e=e||{}).uri=this.uri(),e.xd=this.xd,e.xs=this.xs,e.agent=this.agent||!1,e.supportsBinary=this.supportsBinary,e.enablesXDR=this.enablesXDR,e.withCredentials=this.withCredentials,e.pfx=this.pfx,e.key=this.key,e.passphrase=this.passphrase,e.cert=this.cert,e.ca=this.ca,e.ciphers=this.ciphers,e.rejectUnauthorized=this.rejectUnauthorized,e.requestTimeout=this.requestTimeout,e.extraHeaders=this.extraHeaders,new p(e)},h.prototype.doWrite=function(e,t){var n="string"!==typeof e&&void 0!==e,i=this.request({method:"POST",data:e,isBinary:n}),s=this;i.on("success",t),i.on("error",(function(e){s.onError("xhr post error",e)})),this.sendXhr=i},h.prototype.doPoll=function(){a("xhr poll");var e=this.request(),t=this;e.on("data",(function(e){t.onData(e)})),e.on("error",(function(e){t.onError("xhr poll error",e)})),this.pollXhr=e},r(p.prototype),p.prototype.create=function(){var e={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};e.pfx=this.pfx,e.key=this.key,e.passphrase=this.passphrase,e.cert=this.cert,e.ca=this.ca,e.ciphers=this.ciphers,e.rejectUnauthorized=this.rejectUnauthorized;var t=this.xhr=new i(e),n=this;try{a("xhr open %s: %s",this.method,this.uri),t.open(this.method,this.uri,this.async);try{if(this.extraHeaders)for(var s in t.setDisableHeaderCheck&&t.setDisableHeaderCheck(!0),this.extraHeaders)this.extraHeaders.hasOwnProperty(s)&&t.setRequestHeader(s,this.extraHeaders[s])}catch(r){}if("POST"===this.method)try{this.isBinary?t.setRequestHeader("Content-type","application/octet-stream"):t.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(r){}try{t.setRequestHeader("Accept","*/*")}catch(r){}"withCredentials"in t&&(t.withCredentials=this.withCredentials),this.requestTimeout&&(t.timeout=this.requestTimeout),this.hasXDR()?(t.onload=function(){n.onLoad()},t.onerror=function(){n.onError(t.responseText)}):t.onreadystatechange=function(){if(2===t.readyState)try{var e=t.getResponseHeader("Content-Type");(n.supportsBinary&&"application/octet-stream"===e||"application/octet-stream; charset=UTF-8"===e)&&(t.responseType="arraybuffer")}catch(r){}4===t.readyState&&(200===t.status||1223===t.status?n.onLoad():setTimeout((function(){n.onError("number"===typeof t.status?t.status:0)}),0))},a("xhr data %s",this.data),t.send(this.data)}catch(r){return void setTimeout((function(){n.onError(r)}),0)}"undefined"!==typeof document&&(this.index=p.requestsCount++,p.requests[this.index]=this)},p.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},p.prototype.onData=function(e){this.emit("data",e),this.onSuccess()},p.prototype.onError=function(e){this.emit("error",e),this.cleanup(!0)},p.prototype.cleanup=function(e){if("undefined"!==typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=c:this.xhr.onreadystatechange=c,e)try{this.xhr.abort()}catch(t){}"undefined"!==typeof document&&delete p.requests[this.index],this.xhr=null}},p.prototype.onLoad=function(){var e;try{var t;try{t=this.xhr.getResponseHeader("Content-Type")}catch(n){}e=("application/octet-stream"===t||"application/octet-stream; charset=UTF-8"===t)&&this.xhr.response||this.xhr.responseText}catch(n){this.onError(n)}null!=e&&this.onData(e)},p.prototype.hasXDR=function(){return"undefined"!==typeof XDomainRequest&&!this.xs&&this.enablesXDR},p.prototype.abort=function(){this.cleanup()},p.requestsCount=0,p.requests={},"undefined"!==typeof document)if("function"===typeof attachEvent)attachEvent("onunload",d);else if("function"===typeof addEventListener){addEventListener("onpagehide"in l?"pagehide":"unload",d,!1)}function d(){for(var e in p.requests)p.requests.hasOwnProperty(e)&&p.requests[e].abort()}},1857:function(e,t,n){var i=n(11221),s=n(55988),r=n(92103),o=n(10993),a=n(65590),l=n(36693)("engine.io-client:polling");e.exports=h;var c=null!=new(n(96537))({xdomain:!1}).responseType;function h(e){var t=e&&e.forceBase64;c&&!t||(this.supportsBinary=!1),i.call(this,e)}o(h,i),h.prototype.name="polling",h.prototype.doOpen=function(){this.poll()},h.prototype.pause=function(e){var t=this;function n(){l("paused"),t.readyState="paused",e()}if(this.readyState="pausing",this.polling||!this.writable){var i=0;this.polling&&(l("we are currently polling - waiting to pause"),i++,this.once("pollComplete",(function(){l("pre-pause polling complete"),--i||n()}))),this.writable||(l("we are currently writing - waiting to pause"),i++,this.once("drain",(function(){l("pre-pause writing complete"),--i||n()})))}else n()},h.prototype.poll=function(){l("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},h.prototype.onData=function(e){var t=this;l("polling got data %s",e);r.decodePayload(e,this.socket.binaryType,(function(e,n,i){if("opening"===t.readyState&&"open"===e.type&&t.onOpen(),"close"===e.type)return t.onClose(),!1;t.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():l('ignoring poll - transport state "%s"',this.readyState))},h.prototype.doClose=function(){var e=this;function t(){l("writing close packet"),e.write([{type:"close"}])}"open"===this.readyState?(l("transport open - closing"),t()):(l("transport not open - deferring close"),this.once("open",t))},h.prototype.write=function(e){var t=this;this.writable=!1;var n=function(){t.writable=!0,t.emit("drain")};r.encodePayload(e,this.supportsBinary,(function(e){t.doWrite(e,n)}))},h.prototype.uri=function(){var e=this.query||{},t=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(e[this.timestampParam]=a()),this.supportsBinary||e.sid||(e.b64=1),e=s.encode(e),this.port&&("https"===t&&443!==Number(this.port)||"http"===t&&80!==Number(this.port))&&(n=":"+this.port),e.length&&(e="?"+e),t+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+e}},9747:function(e,t,n){var i,s,r=n(19778).lW,o=n(11221),a=n(92103),l=n(55988),c=n(10993),h=n(65590),p=n(36693)("engine.io-client:websocket");if("undefined"!==typeof WebSocket?i=WebSocket:"undefined"!==typeof self&&(i=self.WebSocket||self.MozWebSocket),"undefined"===typeof window)try{s=n(77020)}catch(m){}var d=i||s;function u(e){e&&e.forceBase64&&(this.supportsBinary=!1),this.perMessageDeflate=e.perMessageDeflate,this.usingBrowserWebSocket=i&&!e.forceNode,this.protocols=e.protocols,this.usingBrowserWebSocket||(d=s),o.call(this,e)}e.exports=u,c(u,o),u.prototype.name="websocket",u.prototype.supportsBinary=!0,u.prototype.doOpen=function(){if(this.check()){var e=this.uri(),t=this.protocols,n={};this.isReactNative||(n.agent=this.agent,n.perMessageDeflate=this.perMessageDeflate,n.pfx=this.pfx,n.key=this.key,n.passphrase=this.passphrase,n.cert=this.cert,n.ca=this.ca,n.ciphers=this.ciphers,n.rejectUnauthorized=this.rejectUnauthorized),this.extraHeaders&&(n.headers=this.extraHeaders),this.localAddress&&(n.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket&&!this.isReactNative?t?new d(e,t):new d(e):new d(e,t,n)}catch(i){return this.emit("error",i)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},u.prototype.addEventListeners=function(){var e=this;this.ws.onopen=function(){e.onOpen()},this.ws.onclose=function(){e.onClose()},this.ws.onmessage=function(t){e.onData(t.data)},this.ws.onerror=function(t){e.onError("websocket error",t)}},u.prototype.write=function(e){var t=this;this.writable=!1;for(var n=e.length,i=0,s=n;i=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},t.enable(s())},49707:function(e,t,n){function i(e){var n;function i(){if(i.enabled){var e=i,s=+new Date,r=s-(n||s);e.diff=r,e.prev=n,e.curr=s,n=s;for(var o=new Array(arguments.length),a=0;a0)return function(e){if((e=String(e)).length>100)return;var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o)return;var a=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*r;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return a.long?o(l=e,s,"day")||o(l,i,"hour")||o(l,n,"minute")||o(l,t,"second")||l+" ms":function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=n)return Math.round(e/n)+"m";if(e>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},92103:function(e,t,n){var i,s=n(57660),r=n(98801),o=n(59873),a=n(57186),l=n(66397);"undefined"!==typeof ArrayBuffer&&(i=n(60934));var c="undefined"!==typeof navigator&&/Android/i.test(navigator.userAgent),h="undefined"!==typeof navigator&&/PhantomJS/i.test(navigator.userAgent),p=c||h;t.protocol=3;var d=t.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},u=s(d),m={type:"error",data:"parser error"},g=n(15665);function f(e,t,n){for(var i=new Array(e.length),s=a(e.length,n),r=function(e,n,s){t(n,(function(t,n){i[e]=n,s(t,i)}))},o=0;o1?{type:u[s],data:e.substring(1)}:{type:u[s]}:m}s=new Uint8Array(e)[0];var r=o(e,1);return g&&"blob"===n&&(r=new g([r])),{type:u[s],data:r}},t.decodeBase64Packet=function(e,t){var n=u[e.charAt(0)];if(!i)return{type:n,data:{base64:!0,data:e.substr(1)}};var s=i.decode(e.substr(1));return"blob"===t&&g&&(s=new g([s])),{type:n,data:s}},t.encodePayload=function(e,n,i){"function"===typeof n&&(i=n,n=null);var s=r(e);if(n&&s)return g&&!p?t.encodePayloadAsBlob(e,i):t.encodePayloadAsArrayBuffer(e,i);if(!e.length)return i("0:");f(e,(function(e,i){t.encodePacket(e,!!s&&n,!1,(function(e){i(null,function(e){return e.length+":"+e}(e))}))}),(function(e,t){return i(t.join(""))}))},t.decodePayload=function(e,n,i){if("string"!==typeof e)return t.decodePayloadAsBinary(e,n,i);var s;if("function"===typeof n&&(i=n,n=null),""===e)return i(m,0,1);for(var r,o,a="",l=0,c=e.length;l0;){for(var a=new Uint8Array(s),l=0===a[0],c="",h=1;255!==a[h];h++){if(c.length>310)return i(m,0,1);c+=a[h]}s=o(s,2+c.length),c=parseInt(c);var p=o(s,0,c);if(l)try{p=String.fromCharCode.apply(null,new Uint8Array(p))}catch(g){var d=new Uint8Array(p);p="";for(h=0;h=55296&&t<=56319&&s=55296&&e<=57343){if(t)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function a(e,t){return s(e>>t&63|128)}function l(e,t){if(0==(4294967168&e))return s(e);var n="";return 0==(4294965248&e)?n=s(e>>6&31|192):0==(4294901760&e)?(o(e,t)||(e=65533),n=s(e>>12&15|224),n+=a(e,6)):0==(4292870144&e)&&(n=s(e>>18&7|240),n+=a(e,12),n+=a(e,6)),n+=s(63&e|128)}function c(){if(i>=n)throw Error("Invalid byte index");var e=255&t[i];if(i++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function h(e){var s,r;if(i>n)throw Error("Invalid byte index");if(i==n)return!1;if(s=255&t[i],i++,0==(128&s))return s;if(192==(224&s)){if((r=(31&s)<<6|c())>=128)return r;throw Error("Invalid continuation byte")}if(224==(240&s)){if((r=(15&s)<<12|c()<<6|c())>=2048)return o(r,e)?r:65533;throw Error("Invalid continuation byte")}if(240==(248&s)&&(r=(7&s)<<18|c()<<12|c()<<6|c())>=65536&&r<=1114111)return r;throw Error("Invalid UTF-8 detected")}e.exports={version:"2.1.2",encode:function(e,t){for(var n=!1!==(t=t||{}).strict,i=r(e),s=i.length,o=-1,a="";++o65535&&(r+=s((t-=65536)>>>10&1023|55296),t=56320|1023&t),r+=s(t);return r}(c)}}},98801:function(e,t,n){var i=n(19778).lW,s=n(89588),r=Object.prototype.toString,o="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===r.call(Blob),a="function"===typeof File||"undefined"!==typeof File&&"[object FileConstructor]"===r.call(File);e.exports=function e(t){if(!t||"object"!==typeof t)return!1;if(s(t)){for(var n=0,r=t.length;n0&&!this.encoding){var e=this.packetBuffer.shift();this.packet(e)}},u.prototype.cleanup=function(){c("cleanup");for(var e=this.subs.length,t=0;t=this._reconnectionAttempts)c("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var t=this.backoff.duration();c("will wait %dms before reconnect attempt",t),this.reconnecting=!0;var n=setTimeout((function(){e.skipReconnect||(c("attempting reconnect"),e.emitAll("reconnect_attempt",e.backoff.attempts),e.emitAll("reconnecting",e.backoff.attempts),e.skipReconnect||e.open((function(t){t?(c("reconnect attempt error"),e.reconnecting=!1,e.reconnect(),e.emitAll("reconnect_error",t.data)):(c("reconnect success"),e.onreconnect())})))}),t);this.subs.push({destroy:function(){clearTimeout(n)}})}},u.prototype.onreconnect=function(){var e=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",e)}},91457:function(e){e.exports=function(e,t,n){return e.on(t,n),{destroy:function(){e.removeListener(t,n)}}}},11927:function(e,t,n){var i=n(99512),s=n(79773),r=n(21364),o=n(91457),a=n(94870),l=n(60918)("socket.io-client:socket"),c=n(55988),h=n(98801);e.exports=u;var p={connect:1,connect_error:1,connect_timeout:1,connecting:1,disconnect:1,error:1,reconnect:1,reconnect_attempt:1,reconnect_failed:1,reconnect_error:1,reconnecting:1,ping:1,pong:1},d=s.prototype.emit;function u(e,t,n){this.io=e,this.nsp=t,this.json=this,this.ids=0,this.acks={},this.receiveBuffer=[],this.sendBuffer=[],this.connected=!1,this.disconnected=!0,this.flags={},n&&n.query&&(this.query=n.query),this.io.autoConnect&&this.open()}s(u.prototype),u.prototype.subEvents=function(){if(!this.subs){var e=this.io;this.subs=[o(e,"open",a(this,"onopen")),o(e,"packet",a(this,"onpacket")),o(e,"close",a(this,"onclose"))]}},u.prototype.open=u.prototype.connect=function(){return this.connected||(this.subEvents(),this.io.reconnecting||this.io.open(),"open"===this.io.readyState&&this.onopen(),this.emit("connecting")),this},u.prototype.send=function(){var e=r(arguments);return e.unshift("message"),this.emit.apply(this,e),this},u.prototype.emit=function(e){if(p.hasOwnProperty(e))return d.apply(this,arguments),this;var t=r(arguments),n={type:(void 0!==this.flags.binary?this.flags.binary:h(t))?i.BINARY_EVENT:i.EVENT,data:t,options:{}};return n.options.compress=!this.flags||!1!==this.flags.compress,"function"===typeof t[t.length-1]&&(l("emitting packet with ack id %d",this.ids),this.acks[this.ids]=t.pop(),n.id=this.ids++),this.connected?this.packet(n):this.sendBuffer.push(n),this.flags={},this},u.prototype.packet=function(e){e.nsp=this.nsp,this.io.packet(e)},u.prototype.onopen=function(){if(l("transport is open - connecting"),"/"!==this.nsp)if(this.query){var e="object"===typeof this.query?c.encode(this.query):this.query;l("sending connect packet with query %s",e),this.packet({type:i.CONNECT,query:e})}else this.packet({type:i.CONNECT})},u.prototype.onclose=function(e){l("close (%s)",e),this.connected=!1,this.disconnected=!0,delete this.id,this.emit("disconnect",e)},u.prototype.onpacket=function(e){var t=e.nsp===this.nsp,n=e.type===i.ERROR&&"/"===e.nsp;if(t||n)switch(e.type){case i.CONNECT:this.onconnect();break;case i.EVENT:case i.BINARY_EVENT:this.onevent(e);break;case i.ACK:case i.BINARY_ACK:this.onack(e);break;case i.DISCONNECT:this.ondisconnect();break;case i.ERROR:this.emit("error",e.data)}},u.prototype.onevent=function(e){var t=e.data||[];l("emitting event %j",t),null!=e.id&&(l("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?d.apply(this,t):this.receiveBuffer.push(t)},u.prototype.ack=function(e){var t=this,n=!1;return function(){if(!n){n=!0;var s=r(arguments);l("sending ack %j",s),t.packet({type:h(s)?i.BINARY_ACK:i.ACK,id:e,data:s})}}},u.prototype.onack=function(e){var t=this.acks[e.id];"function"===typeof t?(l("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),delete this.acks[e.id]):l("bad ack %s",e.id)},u.prototype.onconnect=function(){this.connected=!0,this.disconnected=!1,this.emitBuffered(),this.emit("connect")},u.prototype.emitBuffered=function(){var e;for(e=0;e=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},t.enable(s())},12701:function(e,t,n){function i(e){var n;function i(){if(i.enabled){var e=i,s=+new Date,r=s-(n||s);e.diff=r,e.prev=n,e.curr=s,n=s;for(var o=new Array(arguments.length),a=0;a0)return function(e){if((e=String(e)).length>100)return;var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o)return;var a=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*r;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return a.long?o(l=e,s,"day")||o(l,i,"hour")||o(l,n,"minute")||o(l,t,"second")||l+" ms":function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=n)return Math.round(e/n)+"m";if(e>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},88252:function(e,t,n){var i=n(36085),s=n(55052),r=Object.prototype.toString,o="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===r.call(Blob),a="function"===typeof File||"undefined"!==typeof File&&"[object FileConstructor]"===r.call(File);function l(e,t){if(!e)return e;if(s(e)){var n={_placeholder:!0,num:t.length};return t.push(e),n}if(i(e)){for(var r=new Array(e.length),o=0;o=0&&e.num=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},t.enable(s())},28178:function(e,t,n){function i(e){var n;function i(){if(i.enabled){var e=i,s=+new Date,r=s-(n||s);e.diff=r,e.prev=n,e.curr=s,n=s;for(var o=new Array(arguments.length),a=0;a0)return function(e){if((e=String(e)).length>100)return;var o=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!o)return;var a=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*r;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return a.long?o(l=e,s,"day")||o(l,i,"hour")||o(l,n,"minute")||o(l,t,"second")||l+" ms":function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=n)return Math.round(e/n)+"m";if(e>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},12111:function(e,t,n){e.exports=function(){"use strict";var e=function(e){var t=e.id,n=e.viewBox,i=e.content;this.id=t,this.viewBox=n,this.content=i};e.prototype.stringify=function(){return this.content},e.prototype.toString=function(){return this.stringify()},e.prototype.destroy=function(){var e=this;["id","viewBox","content"].forEach((function(t){return delete e[t]}))};var t=function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n};function i(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:"undefined"!==typeof self&&self;var s=i((function(e,t){!function(t,n){e.exports=n()}(0,(function(){function e(e){return e&&"object"===typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(e){return Array.isArray(e)?[]:{}}function n(n,i){return i&&!0===i.clone&&e(n)?r(t(n),n,i):n}function i(t,i,s){var o=t.slice();return i.forEach((function(i,a){"undefined"===typeof o[a]?o[a]=n(i,s):e(i)?o[a]=r(t[a],i,s):-1===t.indexOf(i)&&o.push(n(i,s))})),o}function s(t,i,s){var o={};return e(t)&&Object.keys(t).forEach((function(e){o[e]=n(t[e],s)})),Object.keys(i).forEach((function(a){e(i[a])&&t[a]?o[a]=r(t[a],i[a],s):o[a]=n(i[a],s)})),o}function r(e,t,r){var o=Array.isArray(t),a=(r||{arrayMerge:i}).arrayMerge||i;return o?Array.isArray(e)?a(e,t,r):n(t,r):s(e,t,r)}return r.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,n){return r(e,n,t)}))},r}))})),r=i((function(e,t){var n={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}};t.default=n,e.exports=t.default})),o=function(e){return Object.keys(e).map((function(t){return t+'="'+e[t].toString().replace(/"/g,""")+'"'})).join(" ")},a=r.svg,l=r.xlink,c={};c[a.name]=a.uri,c[l.name]=l.uri;var h=function(e,t){void 0===e&&(e="");var n=s(c,t||{});return""+e+""},p=function(e){function n(){e.apply(this,arguments)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={isMounted:{}};return i.isMounted.get=function(){return!!this.node},n.createFromExistingNode=function(e){return new n({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},n.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},n.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"===typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},n.prototype.render=function(){var e=this.stringify();return t(h(e)).childNodes[0]},n.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(n.prototype,i),n}(e);return p}()},47482:function(e,t,n){e.exports=function(){"use strict";function e(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:"undefined"!==typeof self&&self;var t=e((function(e,t){!function(t,n){e.exports=n()}(0,(function(){function e(e){return e&&"object"===typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(e){return Array.isArray(e)?[]:{}}function n(n,i){return i&&!0===i.clone&&e(n)?r(t(n),n,i):n}function i(t,i,s){var o=t.slice();return i.forEach((function(i,a){"undefined"===typeof o[a]?o[a]=n(i,s):e(i)?o[a]=r(t[a],i,s):-1===t.indexOf(i)&&o.push(n(i,s))})),o}function s(t,i,s){var o={};return e(t)&&Object.keys(t).forEach((function(e){o[e]=n(t[e],s)})),Object.keys(i).forEach((function(a){e(i[a])&&t[a]?o[a]=r(t[a],i[a],s):o[a]=n(i[a],s)})),o}function r(e,t,r){var o=Array.isArray(t),a=(r||{arrayMerge:i}).arrayMerge||i;return o?Array.isArray(e)?a(e,t,r):n(t,r):s(e,t,r)}return r.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,n){return r(e,n,t)}))},r}))}));function i(e){return e=e||Object.create(null),{on:function(t,n){(e[t]||(e[t]=[])).push(n)},off:function(t,n){e[t]&&e[t].splice(e[t].indexOf(n)>>>0,1)},emit:function(t,n){(e[t]||[]).map((function(e){e(n)})),(e["*"]||[]).map((function(e){e(t,n)}))}}}var s=e((function(e,t){var n={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}};t.default=n,e.exports=t.default})),r=function(e){return Object.keys(e).map((function(t){return t+'="'+e[t].toString().replace(/"/g,""")+'"'})).join(" ")},o=s.svg,a=s.xlink,l={};l[o.name]=o.uri,l[a.name]=a.uri;var c,h=function(e,n){void 0===e&&(e="");var i=t(l,n||{});return""+e+""},p=s.svg,d=s.xlink,u={attrs:(c={style:["position: absolute","width: 0","height: 0"].join("; "),"aria-hidden":"true"},c[p.name]=p.uri,c[d.name]=d.uri,c)},m=function(e){this.config=t(u,e||{}),this.symbols=[]};m.prototype.add=function(e){var t=this.symbols,n=this.find(e.id);return n?(t[t.indexOf(n)]=e,!1):(t.push(e),!0)},m.prototype.remove=function(e){var t=this.symbols,n=this.find(e);return!!n&&(t.splice(t.indexOf(n),1),n.destroy(),!0)},m.prototype.find=function(e){return this.symbols.filter((function(t){return t.id===e}))[0]||null},m.prototype.has=function(e){return null!==this.find(e)},m.prototype.stringify=function(){var e=this.config.attrs,t=this.symbols.map((function(e){return e.stringify()})).join("");return h(t,e)},m.prototype.toString=function(){return this.stringify()},m.prototype.destroy=function(){this.symbols.forEach((function(e){return e.destroy()}))};var g=function(e){var t=e.id,n=e.viewBox,i=e.content;this.id=t,this.viewBox=n,this.content=i};g.prototype.stringify=function(){return this.content},g.prototype.toString=function(){return this.stringify()},g.prototype.destroy=function(){var e=this;["id","viewBox","content"].forEach((function(t){return delete e[t]}))};var f=function(e){var t=!!document.importNode,n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement;return t?document.importNode(n,!0):n},v=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={isMounted:{}};return n.isMounted.get=function(){return!!this.node},t.createFromExistingNode=function(e){return new t({id:e.getAttribute("id"),viewBox:e.getAttribute("viewBox"),content:e.outerHTML})},t.prototype.destroy=function(){this.isMounted&&this.unmount(),e.prototype.destroy.call(this)},t.prototype.mount=function(e){if(this.isMounted)return this.node;var t="string"===typeof e?document.querySelector(e):e,n=this.render();return this.node=n,t.appendChild(n),n},t.prototype.render=function(){var e=this.stringify();return f(h(e)).childNodes[0]},t.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(t.prototype,n),t}(g),x={autoConfigure:!0,mountTo:"body",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:"locationChange",locationChangeAngularEmitter:!1,usagesToUpdate:"use[*|href]",moveGradientsOutsideSymbol:!1},w=function(e){return Array.prototype.slice.call(e,0)},y={isChrome:function(){return/chrome/i.test(navigator.userAgent)},isFirefox:function(){return/firefox/i.test(navigator.userAgent)},isIE:function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},isEdge:function(){return/edge/i.test(navigator.userAgent)}},D=function(e,t){var n=document.createEvent("CustomEvent");n.initCustomEvent(e,!1,!1,t),window.dispatchEvent(n)},j=function(e){var t=[];return w(e.querySelectorAll("style")).forEach((function(e){e.textContent+="",t.push(e)})),t},C=function(e){return(e||window.location.href).split("#")[0]},S=function(e){angular.module("ng").run(["$rootScope",function(t){t.$on("$locationChangeSuccess",(function(t,n,i){D(e,{oldUrl:i,newUrl:n})}))}])},b="linearGradient, radialGradient, pattern, mask, clipPath",k=function(e,t){return void 0===t&&(t=b),w(e.querySelectorAll("symbol")).forEach((function(e){w(e.querySelectorAll(t)).forEach((function(t){e.parentNode.insertBefore(t,e)}))})),e};function I(e,t){return w(e).reduce((function(e,n){if(!n.attributes)return e;var i=w(n.attributes),s=t?i.filter(t):i;return e.concat(s)}),[])}var N=s.xlink.uri,M="xlink:href",Z=/[{}|\\\^\[\]`"<>]/g;function P(e){return e.replace(Z,(function(e){return"%"+e[0].charCodeAt(0).toString(16).toUpperCase()}))}function F(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _(e,t,n){return w(e).forEach((function(e){var i=e.getAttribute(M);if(i&&0===i.indexOf(t)){var s=i.replace(t,n);e.setAttributeNS(N,M,s)}})),e}var T,L=["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke","style"],O=L.map((function(e){return"["+e+"]"})).join(","),R=function(e,t,n,i){var s=P(n),r=P(i);I(e.querySelectorAll(O),(function(e){var t=e.localName,n=e.value;return-1!==L.indexOf(t)&&-1!==n.indexOf("url("+s)})).forEach((function(e){return e.value=e.value.replace(new RegExp(F(s),"g"),r)})),_(t,s,r)},E={MOUNT:"mount",SYMBOL_MOUNT:"symbol_mount"},A=function(e){function n(n){var s=this;void 0===n&&(n={}),e.call(this,t(x,n));var r=i();this._emitter=r,this.node=null;var o=this.config;if(o.autoConfigure&&this._autoConfigure(n),o.syncUrlsWithBaseTag){var a=document.getElementsByTagName("base")[0].getAttribute("href");r.on(E.MOUNT,(function(){return s.updateUrls("#",a)}))}var l=this._handleLocationChange.bind(this);this._handleLocationChange=l,o.listenLocationChangeEvent&&window.addEventListener(o.locationChangeEvent,l),o.locationChangeAngularEmitter&&S(o.locationChangeEvent),r.on(E.MOUNT,(function(e){o.moveGradientsOutsideSymbol&&k(e)})),r.on(E.SYMBOL_MOUNT,(function(e){o.moveGradientsOutsideSymbol&&k(e.parentNode),(y.isIE()||y.isEdge())&&j(e)}))}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var s={isMounted:{}};return s.isMounted.get=function(){return!!this.node},n.prototype._autoConfigure=function(e){var t=this.config;"undefined"===typeof e.syncUrlsWithBaseTag&&(t.syncUrlsWithBaseTag="undefined"!==typeof document.getElementsByTagName("base")[0]),"undefined"===typeof e.locationChangeAngularEmitter&&(t.locationChangeAngularEmitter="undefined"!==typeof window.angular),"undefined"===typeof e.moveGradientsOutsideSymbol&&(t.moveGradientsOutsideSymbol=y.isFirefox())},n.prototype._handleLocationChange=function(e){var t=e.detail,n=t.oldUrl,i=t.newUrl;this.updateUrls(n,i)},n.prototype.add=function(t){var n=this,i=e.prototype.add.call(this,t);return this.isMounted&&i&&(t.mount(n.node),this._emitter.emit(E.SYMBOL_MOUNT,t.node)),i},n.prototype.attach=function(e){var t=this,n=this;if(n.isMounted)return n.node;var i="string"===typeof e?document.querySelector(e):e;return n.node=i,this.symbols.forEach((function(e){e.mount(n.node),t._emitter.emit(E.SYMBOL_MOUNT,e.node)})),w(i.querySelectorAll("symbol")).forEach((function(e){var t=v.createFromExistingNode(e);t.node=e,n.add(t)})),this._emitter.emit(E.MOUNT,i),i},n.prototype.destroy=function(){var e=this,t=e.config,n=e.symbols,i=e._emitter;n.forEach((function(e){return e.destroy()})),i.off("*"),window.removeEventListener(t.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},n.prototype.mount=function(e,t){void 0===e&&(e=this.config.mountTo),void 0===t&&(t=!1);var n=this;if(n.isMounted)return n.node;var i="string"===typeof e?document.querySelector(e):e,s=n.render();return this.node=s,t&&i.childNodes[0]?i.insertBefore(s,i.childNodes[0]):i.appendChild(s),this._emitter.emit(E.MOUNT,s),s},n.prototype.render=function(){return f(this.stringify())},n.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},n.prototype.updateUrls=function(e,t){if(!this.isMounted)return!1;var n=document.querySelectorAll(this.config.usagesToUpdate);return R(this.node,n,C(e)+"#",C(t)+"#"),!0},Object.defineProperties(n.prototype,s),n}(m),U=e((function(e){var t;t=function(){var e,t=[],n=document,i=n.documentElement.doScroll,s="DOMContentLoaded",r=(i?/^loaded|^c/:/^loaded|^i|^c/).test(n.readyState);return r||n.addEventListener(s,e=function(){for(n.removeEventListener(s,e),r=1;e=t.shift();)e()}),function(e){r?setTimeout(e,0):t.push(e)}},e.exports=t()})),z="__SVG_SPRITE_NODE__",B="__SVG_SPRITE__";window[B]?T=window[B]:(T=new A({attrs:{id:z,"aria-hidden":"true"}}),window[B]=T);var G=function(){var e=document.getElementById(z);e?T.attach(e):T.mount(document.body,!0)};return document.body?G():U(G),T}()},21364:function(e){e.exports=function(e,t){for(var n=[],i=(t=t||0)||0;i0);return t}function l(){var e=a(+new Date);return e!==t?(r=0,t=e):e+"."+a(r++)}for(;o'});o().add(a);t.default=a},77461:function(e,t,n){"use strict";n.r(t);var i=n(12111),s=n.n(i),r=n(47482),o=n.n(r),a=new(s())({id:"tag",use:"tag-usage",viewBox:"0 0 24 24",content:'\x3c!--Generated by IJSVG (https://github.com/iconjar/IJSVG)--\x3e'});o().add(a);t.default=a},49566:function(e,t,n){var i={"./monitor.svg":43669,"./tag.svg":77461};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=49566},77020:function(){}},function(e){e.O(0,[351],(function(){return t=67986,e(e.s=t);var t}));e.O()}]); +//# sourceMappingURL=app.4f4d11e3.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/app.4f4d11e3.js.LICENSE.txt b/media/assets/frontend/static/js/app.4f4d11e3.js.LICENSE.txt new file mode 100644 index 00000000000..a9f23ad2424 --- /dev/null +++ b/media/assets/frontend/static/js/app.4f4d11e3.js.LICENSE.txt @@ -0,0 +1 @@ +/*! https://mths.be/utf8js v2.1.2 by @mathias */ diff --git a/media/assets/frontend/static/js/app.4f4d11e3.js.map b/media/assets/frontend/static/js/app.4f4d11e3.js.map new file mode 100644 index 00000000000..e2502aa2502 --- /dev/null +++ b/media/assets/frontend/static/js/app.4f4d11e3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/app.4f4d11e3.js","mappings":"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","sources":["components/system-notification.js","models/group.js","components/main-side-nav.js","components/dialog/about-dialog.js","components/side-nav-footer.js","components/side-panel.js","components/main-panel.js","pages/drafts/drafts-view.js","components/draft-list-view/draft-list-item.js","components/draft-list-view/draft-list-view.js","pages/drafts/draft-content.js","models/activity.js","components/dialog/list-created-files-dialog.js","pages/dashboard/files-activities.js","pages/starred/starred.js","components/dialog/confirm-unlink-device.js","pages/linked-devices/linked-devices.js","models/shared-repo-info.js","components/dialog/perm-select.js","pages/share-admin/libraries.js","models/shared-folder-info.js","pages/share-admin/folders.js","components/dialog/share-link-permission-select.js","components/dialog/sort-options.js","components/toolbar/top-toolbar.js","pages/share-admin/share-links.js","pages/share-admin/upload-links.js","models/repo.js","components/libs-mobile-thead.js","components/repo-monitored-icon.js","pages/shared-libs/shared-libs.js","pages/share-with-ocm/shared-with-ocm.js","pages/ocm-via-webdav/ocm-via-webdav.js","pages/share-with-ocm/remote-dir-topbar.js","pages/share-with-ocm/remote-dir-path.js","pages/share-with-ocm/remote-dir-content.js","pages/share-with-ocm/remote-dir-view.js","components/dialog/create-repo-dialog.js","components/toolbar/repo-view-toobar.js","components/dirent-detail/lib-details.js","components/dialog/lib-history-setting-dialog.js","components/dialog/change-repo-password-dialog.js","components/dialog/reset-encrypted-repo-password-dialog.js","components/dialog/label-repo-state-dialog.js","components/dialog/lib-sub-folder-set-user-permission-dialog.js","components/dialog/lib-sub-folder-set-group-permission-dialog.js","components/dialog/lib-sub-folder-permission-dialog.js","pages/my-libs/mylib-repo-menu.js","components/select-editor/repo-api-token-permission-editor.js","components/dialog/repo-api-token-dialog.js","components/dialog/repo-share-admin/share-links.js","components/dialog/repo-share-admin/upload-links.js","components/dialog/repo-share-admin/user-shares.js","components/dialog/repo-share-admin/group-shares.js","components/dialog/repo-share-admin-dialog.js","components/dialog/lib-old-files-auto-del-dialog.js","pages/my-libs/mylib-repo-list-item.js","pages/my-libs/mylib-repo-list-view.js","components/dialog/guide-for-new-dialog.js","pages/my-libs/my-libs.js","pages/my-libs/my-libs-deleted.js","components/dialog/share-repo-dialog.js","components/shared-repo-list-view/shared-repo-list-item.js","components/shared-repo-list-view/shared-repo-list-view.js","pages/shared-with-all/public-shared-view.js","utils/collab-server.js","components/dialog/lib-decrypt-dialog.js","components/toolbar/view-mode-toolbar.js","../node_modules/uuid/dist/esm-browser/rng.js","components/dialog/create-file-dialog.js","components/toolbar/dir-operation-toolbar.js","components/dialog/move-dirent-dialog.js","components/dialog/copy-dirent-dialog.js","components/dialog/rename-dirent.js","components/toolbar/multiple-dir-operation-toolbar.js","components/toolbar/view-file-toolbar.js","pages/lib-content-view/lib-content-toolbar.js","components/cur-dir-path/dir-path.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","components/common/seahub-popover.js","components/dialog/tag-color.js","components/dialog/tag-name.js","components/popover/tag-list-item.js","components/popover/virtual-tag-color.js","components/popover/virtual-tag-name.js","components/popover/virtual-tag-list-item.js","components/popover/tag-list-footer.js","components/popover/list-tag-popover.js","components/cur-dir-path/dir-tool.js","components/cur-dir-path/index.js","components/dialog/extra-attributes-dialog/column/column-name.js","components/dialog/extra-attributes-dialog/editor/simple-text.js","components/dialog/extra-attributes-dialog/editor/formula-formatter.js","components/dialog/extra-attributes-dialog/editor/search-input.js","components/dialog/extra-attributes-dialog/editor/single-select/single-select-editor.js","components/dialog/extra-attributes-dialog/editor/single-select/index.js","components/dialog/extra-attributes-dialog/editor/number-editor.js","components/dialog/extra-attributes-dialog/editor/date-editor.js","components/dialog/extra-attributes-dialog/editor/ctime-formatter.js","components/dialog/extra-attributes-dialog/editor/index.js","components/dialog/extra-attributes-dialog/column/index.js","components/dialog/extra-attributes-dialog/index.js","components/dialog/confirm-apply-folder-properties-dialog.js","components/dirent-detail/detail-list-view.js","components/dirent-detail/dirent-details.js","components/dirent-list-view/dirent-none-view.js","components/common/common-add-tool.js","components/common/search-input.js","components/popover/tag-item.js","components/popover/edit-filetag-popover.js","components/dirent-list-view/dirent-list-item.js","components/draggable/dirents-dragged-preview.js","components/dirent-list-view/dirent-list-view.js","components/dir-view-mode/dir-list-view.js","components/dirent-grid-view/dirent-grid-item.js","components/dirent-grid-view/dirent-grid-view.js","components/dir-view-mode/dir-grid-view.js","components/dialog/rename-dialog.js","components/dir-view-mode/dir-column-nav.js","components/dir-view-mode/dir-column-file.js","components/dir-view-mode/dir-column-view.js","pages/lib-content-view/lib-content-container.js","components/file-uploader/upload-list-item.js","components/file-uploader/forbid-upload-list-item.js","components/file-uploader/upload-progress-dialog.js","components/dialog/upload-remind-dialog.js","components/file-uploader/file-uploader.js","components/dialog/delete-folder-dialog.js","components/dialog/convert-markdown-dialog.js","pages/lib-content-view/lib-content-view.js","components/dialog/dismiss-group-dialog.js","components/dialog/rename-group-dialog.js","components/dialog/transfer-group-dialog.js","components/dialog/import-members-dialog.js","components/group-members.js","components/list-and-add-group-members.js","components/dialog/manage-members-dialog.js","components/dialog/leave-group-dialog.js","pages/groups/group-view.js","components/toolbar/groups-toolbar.js","components/dialog/create-group-dialog.js","pages/groups/groups-view.js","components/toolbar/invitations-toolbar.js","components/dialog/invite-people-dialog.js","components/dialog/invitation-revoke-dialog.js","pages/invitations/invitations-view.js","components/dialog/new-wiki-dialog.js","components/dialog/wiki-select-dialog.js","components/dialog/wiki-delete-dialog.js","components/wiki-list-view/wiki-list-item.js","components/wiki-list-view/wiki-list-view.js","pages/wikis/wikis.js","components/toolbar/general-toolbar.js","components/main-content-wrapper.js","app.js","components/context-menu/actions.js","components/context-menu/context-menu.js","components/context-menu/globalEventListener.js","components/context-menu/helpers.js","components/dialog/copy-move-dirent-progress-dialog.js","components/dialog/create-folder-dialog.js","components/dialog/create-tag-dialog.js","components/dialog/edit-filetag-dialog.js","components/dialog/image-dialog.js","components/dialog/share-admin-link.js","components/dialog/zip-download-dialog.js","components/dropdown-menu/item-dropdown-menu.js","components/icon.js","components/rename.js","components/dialog/list-taggedfiles-dialog.js","models/draft.js","components/dialog/list-repo-drafts-dialog.js","components/dialog/readme-dialog.js","components/repo-info-bar.js","components/tree-view/tree-node-view.js","components/tree-view/tree-view.js","components/wiki-markdown-viewer.js","../node_modules/after/index.js","../node_modules/arraybuffer.slice/index.js","../node_modules/backo2/index.js","../node_modules/base64-arraybuffer/lib/base64-arraybuffer.js","../node_modules/blob/index.js","../node_modules/component-bind/index.js","../node_modules/component-emitter/index.js","../node_modules/component-inherit/index.js","../node_modules/engine.io-client/lib/globalThis.browser.js","../node_modules/engine.io-client/lib/index.js","../node_modules/engine.io-client/lib/socket.js","../node_modules/engine.io-client/lib/transport.js","../node_modules/engine.io-client/lib/transports/index.js","../node_modules/engine.io-client/lib/transports/polling-jsonp.js","../node_modules/engine.io-client/lib/transports/polling-xhr.js","../node_modules/engine.io-client/lib/transports/polling.js","../node_modules/engine.io-client/lib/transports/websocket.js","../node_modules/engine.io-client/lib/transports/xmlhttprequest.browser.js","../node_modules/engine.io-client/node_modules/debug/src/browser.js","../node_modules/engine.io-client/node_modules/debug/src/debug.js","../node_modules/engine.io-client/node_modules/ms/index.js","../node_modules/engine.io-parser/lib/browser.js","../node_modules/engine.io-parser/lib/keys.js","../node_modules/engine.io-parser/lib/utf8.js","../node_modules/has-binary2/index.js","../node_modules/has-binary2/node_modules/isarray/index.js","../node_modules/has-cors/index.js","../node_modules/indexof/index.js","../node_modules/parseqs/index.js","../node_modules/parseuri/index.js","../node_modules/reactstrap/es/Table.js","../node_modules/socket.io-client/lib/index.js","../node_modules/socket.io-client/lib/manager.js","../node_modules/socket.io-client/lib/on.js","../node_modules/socket.io-client/lib/socket.js","../node_modules/socket.io-client/lib/url.js","../node_modules/socket.io-client/node_modules/debug/src/browser.js","../node_modules/socket.io-client/node_modules/debug/src/debug.js","../node_modules/socket.io-client/node_modules/ms/index.js","../node_modules/socket.io-parser/binary.js","../node_modules/socket.io-parser/index.js","../node_modules/socket.io-parser/is-buffer.js","../node_modules/socket.io-parser/node_modules/debug/src/browser.js","../node_modules/socket.io-parser/node_modules/debug/src/debug.js","../node_modules/socket.io-parser/node_modules/isarray/index.js","../node_modules/socket.io-parser/node_modules/ms/index.js","../node_modules/svg-baker-runtime/browser-symbol.js","../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js","../node_modules/to-array/index.js","../node_modules/yeast/index.js","webpack://seahub-frontend/./src/css/repo-tag.css?ecda","assets/icons/monitor.svg","assets/icons/tag.svg","assets/icons|sync|//.svg$"],"sourcesContent":["import React from 'react';\nimport { curNoteMsg, curNoteID, siteRoot, gettext } from '../utils/constants';\n\nimport '../css/system-notification.css';\n\nclass SystemNotification extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isClosed: false\n };\n }\n\n close = () => {\n this.setState({isClosed: true});\n\n if (navigator.cookieEnabled) {\n let date = new Date(),\n cookies = document.cookie.split('; '),\n infoIDExist = false,\n newInfoID = curNoteID + '_';\n date.setTime(date.getTime() + 14*24*60*60*1000);\n newInfoID += '; expires=' + date.toGMTString() + '; path=' + siteRoot;\n for (var i = 0, len = cookies.length; i < len; i++) {\n if (cookies[i].split('=')[0] == 'info_id') {\n infoIDExist = true;\n document.cookie = 'info_id=' + cookies[i].split('=')[1] + newInfoID;\n break;\n }\n }\n if (!infoIDExist) {\n document.cookie = 'info_id=' + newInfoID;\n }\n }\n };\n\n render() {\n if (!curNoteMsg || this.state.isClosed) {\n return null;\n }\n\n return (\n
\n

\n \n
\n );\n }\n}\n\nexport default SystemNotification;\n","class Group {\n constructor(object) {\n this.id= object.id;\n this.name = object.name;\n this.owner = object.owner;\n this.admins = object.admins || [];\n this.avatar_url = object.avatar_url;\n this.created_at = object.created_at;\n this.parent_group_id = object.parent_group_id;\n this.wiki_enabled = object.wiki_enabled;\n this.repos = object.repos || [];\n this.group_quota = object.group_quota;\n this.group_quota_usage = object.group_quota_usage;\n }\n}\n\nexport default Group;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { gettext, siteRoot, canAddRepo, canGenerateShareLink, canGenerateUploadLink, canInvitePeople, dtableWebServer, enableOCM, enableOCMViaWebdav } from '../utils/constants';\nimport { seafileAPI } from '../utils/seafile-api';\nimport { Utils } from '../utils/utils';\nimport toaster from './toast';\nimport Group from '../models/group';\n\nimport { canViewOrg, isDocs, isPro, isDBSqlite3, customNavItems } from '../utils/constants';\n\nconst propTypes = {\n currentTab: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n tabItemClick: PropTypes.func.isRequired,\n draftCounts: PropTypes.number,\n};\n\nclass MainSideNav extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n groupsExtended: false,\n sharedExtended: false,\n closeSideBar:false,\n groupItems: [],\n };\n\n this.listHeight = 24; //for caculate tabheight\n this.groupsHeight = 0;\n this.adminHeight = 0;\n }\n\n grpsExtend = () => {\n this.setState({\n groupsExtended: !this.state.groupsExtended,\n });\n this.loadGroups();\n };\n\n shExtend = () => {\n this.setState({\n sharedExtended: !this.state.sharedExtended,\n });\n };\n\n loadGroups = () => {\n let _this = this;\n seafileAPI.listGroups().then(res =>{\n let groupList = res.data.map(item => {\n let group = new Group(item);\n return group;\n });\n\n this.groupsHeight = (groupList.length + 1) * _this.listHeight;\n _this.setState({\n groupItems: groupList.sort((a, b) => {\n return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1;\n })\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n tabItemClick = (e, param, id) => {\n if (window.uploader &&\n window.uploader.isUploadProgressDialogShow &&\n window.uploader.totalProgress !== 100) {\n if (!window.confirm(gettext('A file is being uploaded. Are you sure you want to leave this page?'))) {\n e.preventDefault();\n return false;\n }\n window.uploader.isUploadProgressDialogShow = false;\n }\n this.props.tabItemClick(param, id);\n };\n\n onDTableClick = () => {\n let url = dtableWebServer;\n window.open(url);\n };\n\n getActiveClass = (tab) => {\n return this.props.currentTab === tab ? 'active' : '';\n };\n\n renderSharedGroups() {\n let style = {height: 0};\n if (this.state.groupsExtended) {\n style = {height: this.groupsHeight};\n }\n return (\n
    \n
  • \n this.tabItemClick(e, 'groups')}>\n #\n {gettext('All Groups')}\n \n
  • \n {this.state.groupItems.map(item => {\n return (\n
  • \n this.tabItemClick(e, item.name, item.id)}>\n #\n {item.name}\n \n
  • \n );\n })}\n
\n );\n }\n\n renderSharedAdmin() {\n let height = 0;\n if (this.state.sharedExtended) {\n if (!this.adminHeight) {\n this.adminHeight = 3 * this.listHeight;\n }\n height = this.adminHeight;\n }\n let style = {height: height};\n\n let linksNavItem = null;\n if (canGenerateShareLink) {\n linksNavItem = (\n
  • \n this.tabItemClick(e, 'share-admin-share-links')}>\n #\n {gettext('Links')}\n \n
  • \n );\n } else if (canGenerateUploadLink) {\n linksNavItem = (\n
  • \n this.tabItemClick(e, 'share-admin-upload-links')}>\n #\n {gettext('Links')}\n \n
  • \n );\n }\n return (\n
      \n {canAddRepo && (\n
    • \n this.tabItemClick(e, 'share-admin-libs')}>\n #\n {gettext('Libraries')}\n \n
    • \n )}\n
    • \n this.tabItemClick(e, 'share-admin-folders')}>\n #\n {gettext('Folders')}\n \n
    • \n {linksNavItem}\n
    \n );\n }\n\n renderCustomNavItems() {\n return (\n customNavItems.map((item, idx) => {\n return (\n
  • \n \n \n {item.desc}\n \n
  • \n );\n })\n );\n }\n\n render() {\n let showActivity = isDocs || isPro || !isDBSqlite3;\n return (\n
    \n
    \n

    {gettext('Files')}

    \n
      \n {canAddRepo && (\n
    • \n this.tabItemClick(e, 'my-libs')}>\n \n {gettext('My Libraries')}\n \n
    • \n )}\n
    • \n this.tabItemClick(e, 'shared-libs')}>\n \n {gettext('Shared with me')}\n \n
    • \n { canViewOrg &&\n
    • this.tabItemClick(e, 'org')}>\n \n \n {gettext('Shared with all')}\n \n
    • \n }\n
    • \n \n \n {gettext('Shared with groups')}\n \n \n {this.renderSharedGroups()}\n
    • \n {enableOCM &&\n
    • \n this.tabItemClick(e, 'shared-with-ocm')}>\n \n {gettext('Shared from other servers')}\n \n
    • \n }\n {enableOCMViaWebdav &&\n
    • \n this.tabItemClick(e, 'ocm-via-webdav')}>\n \n {gettext('Shared from other servers')}\n \n
    • \n }\n
    \n\n\n

    {gettext('Tools')}

    \n
      \n
    • \n this.tabItemClick(e, 'starred')}>\n \n {gettext('Favorites')}\n \n
    • \n {showActivity &&\n
    • \n this.tabItemClick(e, 'dashboard')}>\n \n {gettext('Activities')}\n \n
    • \n }\n
    • \n this.tabItemClick(e, 'published')}>\n \n {gettext('Published Libraries')}\n \n
    • \n {isDocs &&\n
    • this.tabItemClick(e, 'drafts')}>\n \n \n {gettext('Drafts')}\n {this.props.draftCounts > 0 && {this.props.draftCounts}}\n \n
    • \n }\n
    • \n this.tabItemClick(e, 'linked-devices')}>\n \n {gettext('Linked Devices')}\n \n
    • \n {canInvitePeople &&\n
    • \n this.tabItemClick(e, 'invitations')}>\n \n {gettext('Invite Guest')}\n \n
    • \n }\n
    • \n \n \n {gettext('Share Admin')}\n \n \n {this.renderSharedAdmin()}\n
    • \n {customNavItems && this.renderCustomNavItems()}\n
    \n
    \n\n {dtableWebServer &&\n
    \n \n SeaTable\n \n
    \n }\n
    \n );\n }\n}\n\nMainSideNav.propTypes = propTypes;\n\nexport default MainSideNav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody } from 'reactstrap';\nimport { gettext, lang, mediaUrl, logoPath, logoWidth, logoHeight, siteTitle, seafileVersion, additionalAboutDialogLinks, aboutDialogCustomHtml } from '../../utils/constants';\n\nconst propTypes = {\n onCloseAboutDialog: PropTypes.func.isRequired,\n};\n\nclass AboutDialog extends React.Component {\n\n renderExternalAboutLinks = () => {\n if (additionalAboutDialogLinks && (typeof additionalAboutDialogLinks) === 'object') {\n let keys = Object.keys(additionalAboutDialogLinks);\n return keys.map((key, index) => {\n return {key};\n });\n }\n return null;\n };\n\n render() {\n let href = lang === 'zh-cn' ? 'http://seafile.com/about/' : 'http://seafile.com/en/about/';\n const { onCloseAboutDialog: toggleDialog } = this.props;\n\n if (aboutDialogCustomHtml) {\n return (\n \n \n \n
    \n
    \n
    \n );\n } else {\n return (\n \n \n \n
    \n

    \"logo\"

    \n

    {gettext('Server Version: ')}{seafileVersion}
    © {(new Date()).getFullYear()} {gettext('Seafile')}

    \n

    {this.renderExternalAboutLinks()}

    \n

    {gettext('About Us')}

    \n
    \n
    \n
    \n );\n }\n }\n}\n\nAboutDialog.propTypes = propTypes;\n\nexport default AboutDialog;\n","import React, { Fragment } from 'react';\nimport { gettext, siteRoot, enableTC, sideNavFooterCustomHtml, additionalAppBottomLinks } from '../utils/constants';\nimport ModalPortal from './modal-portal';\nimport AboutDialog from './dialog/about-dialog';\n\nclass SideNavFooter extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isAboutDialogShow: false,\n };\n }\n\n onAboutDialogToggle = (e) => {\n e.preventDefault();\n this.setState({isAboutDialogShow: !this.state.isAboutDialogShow});\n };\n\n renderExternalAppLinks = () => {\n if (additionalAppBottomLinks && (typeof additionalAppBottomLinks) === 'object') {\n let keys = Object.keys(additionalAppBottomLinks);\n return keys.map((key, index) => {\n return {key};\n });\n }\n return null;\n };\n\n render() {\n\n if (sideNavFooterCustomHtml) {\n return (
    );\n }\n return (\n \n
    \n {gettext('Help')}\n {gettext('About')}\n {enableTC && {gettext('Terms')}}\n {this.renderExternalAppLinks()}\n \n {' '}\n {gettext('Clients')}\n \n
    \n {this.state.isAboutDialogShow && (\n \n \n \n )}\n
    \n );\n }\n}\n\nexport default SideNavFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Logo from './logo';\nimport MainSideNav from './main-side-nav';\nimport SideNavFooter from './side-nav-footer';\n\nconst propTypes = {\n isSidePanelClosed: PropTypes.bool.isRequired,\n currentTab: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n onCloseSidePanel: PropTypes.func.isRequired,\n tabItemClick: PropTypes.func.isRequired,\n draftCounts: PropTypes.number,\n};\n\nclass SidePanel extends React.Component {\n\n render() {\n return (\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n );\n }\n}\n\nSidePanel.propTypes = propTypes;\n\nexport default SidePanel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {\n children: PropTypes.object.isRequired,\n};\n\nclass MainPanel extends Component {\n\n render() {\n return (\n
    \n {this.props.children}\n
    \n );\n }\n}\n\nMainPanel.propTypes = propTypes;\n\nexport default MainPanel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]).isRequired,\n};\n\nclass DraftsView extends React.Component {\n render() {\n return (\n
    \n
    \n
    \n
    \n

    {gettext('Drafts')}

    \n
    \n
    \n {this.props.children}\n
    \n
    \n );\n }\n}\n\nDraftsView.propTypes = propTypes;\n\nexport default DraftsView;\n","import React from 'react';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { gettext, siteRoot, lang } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nmoment.locale(lang);\nconst propTypes = {\n draft: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onDeleteHandler: PropTypes.func.isRequired,\n onPublishHandler: PropTypes.func.isRequired,\n};\n\nclass DraftListItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isMenuIconShow: false,\n isItemMenuShow: false,\n highlight: false,\n };\n }\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isMenuIconShow: true,\n highlight: true,\n });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isMenuIconShow: false,\n highlight: false,\n });\n }\n };\n\n onDropdownToggleClick = (e) => {\n e.preventDefault();\n this.toggleOperationMenu(e);\n };\n\n toggleOperationMenu = (e) => {\n e.stopPropagation();\n this.setState(\n {isItemMenuShow: !this.state.isItemMenuShow }, () => {\n if (this.state.isItemMenuShow) {\n this.props.onFreezedItem();\n } else {\n this.setState({\n highlight: false,\n isMenuIconShow: false,\n });\n this.props.onUnfreezedItem();\n }\n }\n );\n };\n\n onDeleteHandler = () => {\n this.props.onDeleteHandler(this.props.draft);\n };\n\n onPublishHandler = () => {\n this.props.onPublishHandler(this.props.draft);\n };\n\n render() {\n let draft = this.props.draft;\n let repoID = draft.origin_repo_id;\n let filePath = draft.draft_file_path;\n let fileName = Utils.getFileName(filePath);\n let draftUrl = siteRoot + 'drafts/' + draft.id + '/';\n let libraryUrl = siteRoot + 'library/' + repoID + '/' + encodeURIComponent(draft.repo_name) + '/' ;\n let localTime = moment.utc(draft.updated_at).toDate();\n localTime = moment(localTime).fromNow();\n\n let iconUrl = Utils.getFileIconUrl(fileName);\n return (\n \n \n \n {fileName}\n \n \n {draft.repo_name}\n \n {localTime}\n \n {this.state.isMenuIconShow && (\n \n \n \n {gettext('Delete')}\n {draft.status == 'open' &&\n {gettext('Publish')}\n }\n \n \n )}\n \n \n );\n }\n}\n\nDraftListItem.propTypes = propTypes;\n\nexport default DraftListItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport DraftListItem from './draft-list-item';\n\nconst propTypes = {\n draftList: PropTypes.array.isRequired,\n onDeleteHandler: PropTypes.func.isRequired,\n onPublishHandler: PropTypes.func.isRequired,\n};\n\nclass DraftListView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n let drafts = this.props.draftList;\n return (\n \n \n \n \n \n \n \n \n \n \n \n { drafts && drafts.map((draft) => {\n return (\n \n );\n })}\n \n
    {/*img*/}{gettext('Name')}{gettext('Library')}{gettext('Last Update')}
    \n );\n }\n}\n\nDraftListView.propTypes = propTypes;\n\nexport default DraftListView;\n","import React, { Fragment } from 'react';\nimport { gettext } from '../../utils/constants';\nimport editUtilities from '../../utils/editor-utilities';\nimport { Utils } from '../../utils/utils';\nimport PropTypes from 'prop-types';\nimport toaster from '../../components/toast';\nimport EmptyTip from '../../components/empty-tip';\nimport Loading from '../../components/loading';\nimport DraftListView from '../../components/draft-list-view/draft-list-view';\n\nconst propTypes = {\n isLoadingDraft: PropTypes.bool.isRequired,\n updateDraftsList: PropTypes.func.isRequired,\n draftList: PropTypes.array.isRequired,\n getDrafts: PropTypes.func.isRequired,\n};\n\nclass DraftContent extends React.Component {\n\n componentDidMount() {\n this.props.getDrafts();\n }\n\n onDeleteHandler = (draft) => {\n // let draft = this.state.currentDraft;\n let draft_name = Utils.getFileName(draft.draft_file_path);\n editUtilities.deleteDraft(draft.id).then(res => {\n this.props.updateDraftsList(draft.id);\n let msg_s = gettext('Successfully deleted draft %(draft)s.');\n msg_s = msg_s.replace('%(draft)s', draft_name);\n toaster.success(msg_s);\n }).catch(() => {\n let msg_s = gettext('Failed to delete draft %(draft)s.');\n msg_s = msg_s.replace('%(draft)s', draft_name);\n toaster.danger(msg_s);\n });\n };\n\n onPublishHandler = (draft) => {\n // let draft = this.state.currentDraft;\n let draft_name = Utils.getFileName(draft.draft_file_path);\n editUtilities.publishDraft(draft.id).then(res => {\n this.props.updateDraftsList(draft.id);\n let msg_s = gettext('Successfully published draft %(draft)s.');\n msg_s = msg_s.replace('%(draft)s', draft_name);\n toaster.success(msg_s);\n }).catch(() => {\n let msg_s = gettext('Failed to publish draft %(draft)s.');\n msg_s = msg_s.replace('%(draft)s', draft_name);\n toaster.danger(msg_s);\n });\n };\n\n render() {\n return (\n
    \n {this.props.isLoadingDraft && }\n {!this.props.isLoadingDraft && (\n \n {this.props.draftList.length === 0 && (\n \n

    {gettext('No draft yet')}

    \n

    {gettext('Draft is a way to let you collaborate with others on files. You can create a draft from a file, edit the draft and then ask for a review. The original file will be updated only after the draft has been reviewed.')}

    \n
    \n )}\n {this.props.draftList.length !==0 && (\n \n )}\n
    \n )}\n
    \n );\n }\n}\n\nDraftContent.propTypes = propTypes;\n\nexport default DraftContent;\n","class Acticity {\n constructor(json) {\n this.repo_id = json.repo_id;\n this.repo_name = json.repo_name;\n this.obj_type = json.obj_type;\n this.commit_id = json.commit_id;\n this.path = json.path;\n this.name = json.name;\n this.author_email = json.author_email;\n this.author_name = json.author_name;\n this.author_contact_email = json.author_contact_email;\n this.avatar_url = json.avatar_url;\n this.time = json.time;\n this.op_type = json.op_type;\n this.createdFilesCount = 0;\n this.createdFilesList = [];\n if (json.op_type === 'clean-up-trash') {\n this.days = json.days;\n } else if (json.op_type === 'rename' && json.obj_type === 'repo') {\n this.old_repo_name = json.old_repo_name;\n } else if (json.op_type === 'move' && ['dir', 'file'].includes(json.obj_type)) {\n this.old_path = json.old_path;\n } else if (json.op_type === 'rename' && ['dir', 'file'].includes(json.obj_type)) {\n this.old_path = json.old_path;\n this.old_name = json.old_name;\n } else if (json.op_type === 'publish') {\n this.old_path = json.old_path;\n } else if (json.name.endsWith('(draft).md')) {\n this.draft_id = json.draft_id;\n }\n }\n}\n\nexport default Acticity;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Table } from 'reactstrap';\nimport { gettext, siteRoot, serviceURL } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n activity: PropTypes.object.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n};\n\nclass ListCreatedFileDialog extends React.Component {\n\n toggle = (activity) => {\n this.props.toggleCancel(activity);\n };\n\n render() {\n let activity = this.props.activity;\n return (\n \n {gettext('Created Files')}\n \n \n \n \n \n \n \n \n \n {\n activity.createdFilesList.map((item, index) => {\n let fileURL = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n if (item.name.endsWith('(draft).md')) {\n fileURL = serviceURL + '/drafts/' + item.draft_id + '/';\n }\n let fileLink = {item.name};\n if (item.name.endsWith('(draft).md') && !item.draft_id) {\n fileLink = item.name;\n }\n return (\n \n \n \n \n );\n })\n }\n \n
    {gettext('Name')}{gettext('Time')}
    {fileLink}{moment(item.time).fromNow()}
    \n
    \n \n \n \n
    \n );\n }\n}\n\nListCreatedFileDialog.propTypes = propTypes;\n\nexport default ListCreatedFileDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, siteRoot, serviceURL } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../../components/loading';\nimport Activity from '../../models/activity';\nimport ListCreatedFileDialog from '../../components/dialog/list-created-files-dialog';\nimport ModalPortal from '../../components/modal-portal';\n\nimport '../../css/files-activities.css';\n\nmoment.locale(window.app.config.lang);\n\nconst contentPropTypes = {\n isLoadingMore: PropTypes.bool.isRequired,\n items: PropTypes.array.isRequired,\n};\n\nclass FileActivitiesContent extends Component {\n\n render() {\n const isDesktop = Utils.isDesktop();\n let { items, isLoadingMore } = this.props;\n\n const desktopThead = (\n \n \n {/* avatar */}\n {gettext('User')}\n {gettext('Operation')}\n {gettext('File')} / {gettext('Library')}\n {gettext('Time')}\n \n \n );\n\n const mobileThead = (\n \n \n \n \n \n \n \n );\n\n return (\n \n \n {isDesktop ? desktopThead : mobileThead}\n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n
    \n {isLoadingMore ? : ''}\n
    \n );\n }\n}\n\nFileActivitiesContent.propTypes = contentPropTypes;\n\nconst activityPropTypes = {\n item: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n items: PropTypes.array.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nclass ActivityItem extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isListCreatedFiles: false,\n };\n }\n\n onListCreatedFilesToggle = () => {\n this.setState({\n isListCreatedFiles: !this.state.isListCreatedFiles,\n });\n };\n\n render() {\n const isDesktop = this.props.isDesktop;\n let {item, index, items} = this.props;\n let op, details, moreDetails = false;\n let userProfileURL = `${siteRoot}profile/${encodeURIComponent(item.author_email)}/`;\n\n let libURL = siteRoot + 'library/' + item.repo_id + '/' + encodeURIComponent(item.repo_name) + '/';\n let libLink = {item.repo_name};\n let smallLibLink = {item.repo_name};\n\n if (item.obj_type == 'repo') {\n switch(item.op_type) {\n case 'create':\n op = gettext('Created library');\n details = libLink;\n break;\n case 'rename':\n op = gettext('Renamed library');\n details = {item.old_repo_name} => {libLink};\n break;\n case 'delete':\n op = gettext('Deleted library');\n details = item.repo_name;\n break;\n case 'recover':\n op = gettext('Restored library');\n details = libLink;\n break;\n case 'clean-up-trash':\n op = gettext('Cleaned trash');\n if (item.days == 0) {\n details = gettext('Removed all items from trash.');\n } else {\n details = gettext('Removed items older than {n} days from trash.').replace('{n}', item.days);\n }\n moreDetails = true;\n break;\n }\n } else if (item.obj_type == 'draft') {\n let fileURL = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n let fileLink = {item.name};\n op = gettext('Publish draft');\n details = fileLink;\n moreDetails = true;\n } else if (item.obj_type == 'files') {\n let fileURL = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n if (item.name.endsWith('(draft).md')) {\n fileURL = serviceURL + '/drafts/' + item.draft_id + '/';\n }\n let fileLink = `${item.name}`;\n if (item.name.endsWith('(draft).md') && !item.draft_id) {\n fileLink = item.name;\n }\n let fileCount = item.createdFilesCount - 1;\n let firstLine = gettext('{file} and {n} other files')\n .replace('{file}', fileLink)\n .replace('{n}', fileCount);\n op = gettext('Created {n} files').replace('{n}', item.createdFilesCount);\n details = (\n \n

    \n {isDesktop && }\n
    \n );\n moreDetails = true;\n } else if (item.obj_type == 'file') {\n const isDraft = item.name.endsWith('(draft).md');\n const fileURL = isDraft ? serviceURL + '/drafts/' + item.draft_id + '/' :\n `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n let fileLink = {item.name};\n if (isDraft && !item.draft_id) {\n fileLink = item.name;\n }\n switch (item.op_type) {\n case 'create':\n op = isDraft ? gettext('Created draft') : gettext('Created file');\n details = fileLink;\n moreDetails = true;\n break;\n case 'delete':\n op = isDraft ? gettext('Deleted draft') : gettext('Deleted file');\n details = item.name;\n moreDetails = true;\n break;\n case 'recover':\n op = gettext('Restored file');\n details = fileLink;\n moreDetails = true;\n break;\n case 'rename':\n op = gettext('Renamed file');\n details = {item.old_name} => {fileLink};\n moreDetails = true;\n break;\n case 'move':\n // eslint-disable-next-line\n const filePathLink = {item.path};\n op = gettext('Moved file');\n details = {item.old_path} => {filePathLink};\n moreDetails = true;\n break;\n case 'edit': // update\n op = isDraft ? gettext('Updated draft') : gettext('Updated file');\n details = fileLink;\n moreDetails = true;\n break;\n }\n } else { // dir\n let dirURL = siteRoot + 'library/' + item.repo_id + '/' + encodeURIComponent(item.repo_name) + Utils.encodePath(item.path);\n let dirLink = {item.name};\n switch (item.op_type) {\n case 'create':\n op = gettext('Created folder');\n details = dirLink;\n moreDetails = true;\n break;\n case 'delete':\n op = gettext('Deleted folder');\n details = item.name;\n moreDetails = true;\n break;\n case 'recover':\n op = gettext('Restored folder');\n details = dirLink;\n moreDetails = true;\n break;\n case 'rename':\n op = gettext('Renamed folder');\n details = {item.old_name} => {dirLink};\n moreDetails = true;\n break;\n case 'move':\n // eslint-disable-next-line\n const dirPathLink = {item.path};\n op = gettext('Moved folder');\n details = {item.old_path} => {dirPathLink};\n moreDetails = true;\n break;\n }\n }\n\n let isShowDate = true;\n if (index > 0) {\n let lastEventTime = items[index - 1].time;\n isShowDate = moment(item.time).isSame(lastEventTime, 'day') ? false : true;\n }\n\n return (\n \n {isShowDate &&\n \n {moment(item.time).format('YYYY-MM-DD')}\n \n }\n {isDesktop ? (\n \n \n \"\"\n \n \n {item.author_name}\n \n {op}\n \n {details}\n {moreDetails &&
    }\n {moreDetails && smallLibLink}\n \n \n \n \n \n ) : (\n \n \n \"\"\n \n \n {item.author_name}\n

    {op}

    \n {details}\n \n \n \n \n \n {moreDetails &&
    }\n {moreDetails && libLink}\n \n \n )}\n {this.state.isListCreatedFiles &&\n \n \n \n }\n
    \n );\n }\n}\n\nActivityItem.propTypes = activityPropTypes;\n\nclass FilesActivities extends Component {\n constructor(props) {\n super(props);\n this.state = {\n errorMsg: '',\n isFirstLoading: true,\n isLoadingMore: false,\n currentPage: 1,\n hasMore: true,\n items: [],\n };\n this.avatarSize = 72;\n this.curPathList = [];\n this.oldPathList = [];\n }\n\n componentDidMount() {\n let currentPage = this.state.currentPage;\n seafileAPI.listActivities(currentPage, this.avatarSize).then(res => {\n // {\"events\":[...]}\n let events = this.mergePublishEvents(res.data.events);\n events = this.mergeFileCreateEvents(events);\n this.setState({\n items: events,\n currentPage: currentPage + 1,\n isFirstLoading: false,\n hasMore: true,\n });\n if (this.state.items.length < 25) {\n this.getMore();\n }\n }).catch(error => {\n this.setState({\n isFirstLoading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n mergePublishEvents = (events) => {\n events.forEach((item) => {\n if (item.op_type === 'publish') {\n this.curPathList.push(item.path);\n this.oldPathList.push(item.old_path);\n }\n });\n let actuallyEvents = [];\n for (var i = 0; i < events.length; i++) {\n if (events[i].obj_type === 'file') {\n if (events[i].op_type === 'delete' && this.oldPathList.includes(events[i].path)) {\n this.oldPathList.splice(this.oldPathList.indexOf(events[i].path), 1);\n } else if (events[i].op_type === 'edit' && this.curPathList.includes(events[i].path)) {\n this.curPathList.splice(this.curPathList.indexOf(events[i].path), 1);\n } else if (events[i].op_type === 'rename' && this.oldPathList.includes(events[i].old_path)) {\n this.oldPathList.splice(this.oldPathList.indexOf(events[i].old_path), 1);\n } else {\n actuallyEvents.push(events[i]);\n }\n } else {\n actuallyEvents.push(events[i]);\n }\n }\n return actuallyEvents;\n };\n\n mergeFileCreateEvents = (events) => {\n let actuallyEvents = [];\n let multiFilesActivity = null;\n for (var i = 0; i < events.length; i++) {\n let isFulfilCondition = events[i].obj_type === 'file' &&\n events[i].op_type === 'create' &&\n events[i + 1] &&\n events[i + 1].obj_type === 'file' &&\n events[i + 1].op_type === 'create' &&\n events[i + 1].repo_name === events[i].repo_name &&\n events[i + 1].author_email === events[i].author_email;\n if (multiFilesActivity != null) {\n multiFilesActivity.createdFilesCount++;\n multiFilesActivity.createdFilesList.push(events[i]);\n if (isFulfilCondition) {\n continue;\n } else {\n actuallyEvents.push(multiFilesActivity);\n multiFilesActivity = null;\n }\n } else {\n if (isFulfilCondition) {\n multiFilesActivity = new Activity(events[i]);\n multiFilesActivity.obj_type = 'files';\n multiFilesActivity.createdFilesCount++;\n multiFilesActivity.createdFilesList.push(events[i]);\n } else {\n actuallyEvents.push(events[i]);\n }\n }\n }\n return actuallyEvents;\n };\n\n getMore() {\n let currentPage = this.state.currentPage;\n seafileAPI.listActivities(currentPage, this.avatarSize).then(res => {\n // {\"events\":[...]}\n let events = this.mergePublishEvents(res.data.events);\n events = this.mergeFileCreateEvents(events);\n this.setState({\n isLoadingMore: false,\n items: [...this.state.items, ...events],\n currentPage: currentPage + 1,\n hasMore: res.data.events.length === 0 ? false : true\n });\n if (this.state.items.length < 25 && this.state.hasMore) {\n this.getMore();\n }\n }).catch(error => {\n this.setState({\n isLoadingMore: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n handleScroll = (event) => {\n if (!this.state.isLoadingMore && this.state.hasMore) {\n const clientHeight = event.target.clientHeight;\n const scrollHeight = event.target.scrollHeight;\n const scrollTop = event.target.scrollTop;\n const isBottom = (clientHeight + scrollTop + 1 >= scrollHeight);\n if (isBottom) { // scroll to the bottom\n this.setState({isLoadingMore: true}, () => {\n this.getMore();\n });\n }\n }\n };\n\n render() {\n return (\n
    \n
    \n
    \n

    {gettext('Activities')}

    \n
    \n
    \n {this.state.isFirstLoading && }\n {(!this.state.isFirstLoading && this.state.errorMsg) &&\n

    {this.state.errorMsg}

    \n }\n {!this.state.isFirstLoading &&\n \n }\n
    \n
    \n
    \n );\n }\n}\n\nexport default FilesActivities;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { Link, navigate } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { gettext, siteRoot, enableVideoThumbnail } from '../../utils/constants';\nimport EmptyTip from '../../components/empty-tip';\nimport Loading from '../../components/loading';\nimport toaster from '../../components/toast';\n\nclass Content extends Component {\n\n render() {\n const {loading, errorMsg, items} = this.props.data;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No favorites')}

    \n

    {gettext('You have not added any libraries, folders or files to your favorites yet. A favorite gives you quick access to your most frequently used objects. You can add a library, folder or file to your favorites by clicking the star to the left of its name.')}

    \n
    \n );\n\n const desktopThead = (\n \n \n \n {gettext('Name')}\n {gettext('Library')}\n {gettext('Last Update')}\n \n \n \n );\n const mobileThead = (\n \n \n \n \n \n \n \n );\n\n const isDesktop = Utils.isDesktop();\n return items.length ? (\n \n {isDesktop ? desktopThead : mobileThead}\n \n
    \n ) : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object,\n items: PropTypes.array,\n};\n\nclass TableBody extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n items: this.props.items\n };\n }\n\n componentDidMount() {\n this.getThumbnails();\n }\n\n getThumbnails() {\n let items = this.state.items.filter((item) => {\n return (Utils.imageCheck(item.obj_name) || (enableVideoThumbnail && Utils.videoCheck(item.obj_name))) && !item.repo_encrypted;\n });\n if (items.length == 0) {\n return ;\n }\n\n const len = items.length;\n const thumbnailSize = 48;\n const _this = this;\n let getThumbnail = function(i) {\n const curItem = items[i];\n seafileAPI.createThumbnail(curItem.repo_id, curItem.path, thumbnailSize).then((res) => {\n curItem.encoded_thumbnail_src = res.data.encoded_thumbnail_src;\n }).catch((error) => {\n // do nothing\n }).then(() => {\n if (i < len - 1) {\n getThumbnail(++i);\n } else {\n // when done, `setState()`\n _this.setState({\n items: _this.state.items\n });\n }\n });\n };\n getThumbnail(0);\n }\n\n render() {\n\n let listItems = this.state.items.map(function(item, index) {\n\n if (item.path === '/') {\n item.item_icon_url = Utils.getDefaultLibIconUrl(false);\n } else {\n item.item_icon_url = item.is_dir ? Utils.getFolderIconUrl(false) : Utils.getFileIconUrl(item.obj_name);\n }\n\n item.encoded_path = Utils.encodePath(item.path);\n\n item.thumbnail_url = item.encoded_thumbnail_src ? `${siteRoot}${item.encoded_thumbnail_src}` : '';\n item.dirent_view_url = item.is_dir ? `${siteRoot}library/${item.repo_id}/${item.repo_name}${item.encoded_path}` : `${siteRoot}lib/${item.repo_id}/file${item.encoded_path}`;\n // item is folder or file\n if (item.encoded_path !== '/') {\n item.dirent_view_url = item.dirent_view_url.replace(/\\/+$/, '');\n }\n\n item.mtime_relative = moment(item.mtime).fromNow();\n\n\n return ;\n }, this);\n\n return (\n {listItems}\n );\n }\n}\n\nTableBody.propTypes = {\n data: PropTypes.object,\n items: PropTypes.array,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n showOpIcon: false,\n unstarred: false,\n isOpMenuOpen: false // for mobile\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n handleMouseOver = () => {\n this.setState({\n showOpIcon: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n showOpIcon: false\n });\n };\n\n unstar = (e) => {\n e.preventDefault();\n\n const data = this.props.data;\n seafileAPI.unstarItem(data.repo_id, data.path).then((res) => {\n this.setState({unstarred: true});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n visitItem = () => {\n const data = this.props.data;\n if (data.is_dir) {\n navigate(data.dirent_view_url);\n } else {\n window.open(data.dirent_view_url);\n }\n };\n\n render() {\n\n if (this.state.unstarred) {\n return null;\n }\n\n const data = this.props.data;\n\n let opClasses = 'sf2-icon-x3 unstar action-icon';\n opClasses += this.state.showOpIcon ? '' : ' invisible';\n const linkUrl = data.dirent_view_url;\n\n const desktopItem = (\n \n \n {\n data.thumbnail_url ?\n \"\" :\n {gettext('icon')}\n }\n \n \n { data.is_dir ?\n {data.obj_name} :\n {data.obj_name}\n }\n \n {data.repo_name}\n \n \n \n \n \n );\n\n const mobileItem = (\n \n \n {\n data.thumbnail_url ?\n \"\" :\n {gettext('icon')}\n }\n \n \n { data.is_dir ?\n {data.obj_name} :\n {data.obj_name}\n }\n
    \n {data.repo_name}\n \n \n \n \n \n
    \n
    \n
    \n {gettext('Unstar')}\n
    \n
    \n
    \n \n \n );\n\n return Utils.isDesktop() ? desktopItem : mobileItem;\n }\n}\n\nItem.propTypes = {\n data: PropTypes.object,\n items: PropTypes.array,\n};\n\nclass Starred extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount() {\n seafileAPI.listStarredItems().then((res) => {\n this.setState({\n loading: false,\n items: res.data.starred_item_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n

    {gettext('Favorites')}

    \n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default Starred;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, FormGroup, Label, Input } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n executeOperation: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass ConfirmUnlinkDevice extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isChecked: false\n };\n }\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n executeOperation = () => {\n this.toggle();\n this.props.executeOperation(this.state.isChecked);\n };\n\n onInputChange = (e) => {\n this.setState({\n isChecked: e.target.checked\n });\n };\n\n render() {\n return (\n \n {gettext('Unlink device')}\n \n

    {gettext('Are you sure you want to unlink this device?')}

    \n \n \n \n
    \n \n \n \n \n
    \n );\n }\n}\n\nConfirmUnlinkDevice.propTypes = propTypes;\n\nexport default ConfirmUnlinkDevice;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport moment from 'moment';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext } from '../../utils/constants';\nimport toaster from '../../components/toast';\nimport EmptyTip from '../../components/empty-tip';\nimport ConfirmUnlinkDeviceDialog from '../../components/dialog/confirm-unlink-device';\nimport { Utils } from '../../utils/utils';\n\nclass Content extends Component {\n\n render() {\n const {loading, errorMsg, items} = this.props.data;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No linked devices')}

    \n

    {gettext('You have not accessed your files with any client (desktop or mobile) yet. Configure clients on your devices to access your data more comfortably.')}

    \n
    \n );\n\n const desktopThead = (\n \n \n {gettext('Platform')}\n {gettext('Device Name')}\n {gettext('IP')}\n {gettext('Last Access')}\n \n \n \n );\n const mobileThead = (\n \n \n \n \n \n \n );\n\n const isDesktop = Utils.isDesktop();\n return items.length ? (\n \n {isDesktop ? desktopThead : mobileThead}\n \n {items.map((item, index) => {\n return ;\n })}\n \n
    \n ): emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpMenuOpen: false, // for mobile\n isOpIconShown: false,\n unlinked: false,\n isConfirmUnlinkDialogOpen: false\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n toggleDialog = () => {\n this.setState({\n isConfirmUnlinkDialogOpen: !this.state.isConfirmUnlinkDialogOpen\n });\n };\n\n handleClick = (e) => {\n e.preventDefault();\n\n const data = this.props.data;\n if (data.is_desktop_client) {\n this.toggleDialog();\n } else {\n const wipeDevice = true;\n this.unlinkDevice(wipeDevice);\n }\n };\n\n unlinkDevice = (wipeDevice) => {\n const data = this.props.data;\n seafileAPI.unlinkDevice(data.platform, data.device_id, wipeDevice).then((res) => {\n this.setState({\n unlinked: true\n });\n let msg = gettext('Successfully unlinked %(name)s.');\n msg = msg.replace('%(name)s', data.device_name);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n if (this.state.unlinked) {\n return null;\n }\n\n const data = this.props.data;\n\n let opClasses = 'sf2-icon-delete unlink-device action-icon';\n opClasses += this.state.isOpIconShown ? '' : ' invisible';\n\n const desktopItem = (\n \n {data.platform}\n {data.device_name}\n {data.last_login_ip}\n {moment(data.last_accessed).fromNow()}\n \n \n \n \n );\n\n const mobileItem = (\n \n \n {data.device_name}
    \n {data.last_login_ip}\n {moment(data.last_accessed).fromNow()}\n {data.platform}\n \n \n \n \n
    \n
    \n
    \n {gettext('Unlink')}\n
    \n
    \n
    \n \n \n );\n\n return (\n \n {this.props.isDesktop ? desktopItem : mobileItem}\n {this.state.isConfirmUnlinkDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n isDesktop: PropTypes.bool.isRequired,\n data: PropTypes.object.isRequired,\n};\n\nclass LinkedDevices extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount() {\n seafileAPI.listLinkedDevices().then((res) => {\n this.setState({\n loading: false,\n items: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n

    {gettext('Linked Devices')}

    \n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default LinkedDevices;\n","class SharedRepoInfo {\n\n constructor(object) {\n this.repo_id = object.repo_id;\n this.repo_name = object.repo_name;\n this.share_type = object.share_type;\n this.share_permission = object.share_permission;\n this.share_permission_name = object.share_permission_name;\n this.modifier_name = object.modifier_name;\n this.modifier_email = object.modifier_email;\n this.modifier_contact_email = object.modifier_contact_email;\n this.encrypted = object.encrypted;\n if (this.share_type === 'personal') {\n this.is_admin = object.is_admin;\n this.user_name = object.user_name;\n this.user_email = object.user_email;\n this.contact_email = object.contact_email;\n } else if (this.share_type === 'group') {\n this.is_admin = object.is_admin;\n this.group_id = object.group_id;\n this.group_name = object.group_name;\n }\n }\n\n}\n\nexport default SharedRepoInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody } from 'reactstrap';\nimport { Utils } from '../../utils/utils';\nimport CustomPermission from '../../models/custom-permission';\nimport Loading from '../loading';\nimport toaster from '../toast';\nimport { seafileAPI } from '../../utils/seafile-api';\n\nconst propTypes = {\n repoID: PropTypes.string,\n currentPerm: PropTypes.string.isRequired,\n permissions: PropTypes.array.isRequired,\n changePerm: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass PermSelect extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n currentOption: this.props.currentPerm,\n customPermissions: []\n };\n\n this.customPermissions = null;\n }\n\n componentDidMount() {\n if (this.props.repoID) {\n this.listCustomPermissions();\n } else {\n this.setState({isLoading: false});\n }\n }\n\n listCustomPermissions = () => {\n const { repoID } = this.props;\n seafileAPI.listCustomPermissions(repoID).then(res => {\n const { permission_list: permissions } = res.data;\n const customPermissions = permissions.map(item => new CustomPermission(item));\n this.setState({\n isLoading: false,\n customPermissions: customPermissions\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n this.setState({isLoading: false});\n });\n };\n\n switchOption = (e) => {\n if (!e.target.checked) {\n return;\n }\n\n const currentOption = e.target.value;\n this.setState({\n currentOption: currentOption\n });\n\n this.props.changePerm(currentOption);\n this.props.toggleDialog();\n };\n\n translatePermission = (permission) => {\n let value = Utils.sharePerms(permission);\n if (!value) {\n const { customPermissions } = this.state;\n const item = customPermissions.find(item => item.id + '' === permission);\n value = item && item.name;\n }\n return value;\n };\n\n translateExplanation = (explanation) => {\n let value = Utils.sharePermsExplanation(explanation);\n if (!value) {\n const { customPermissions } = this.state;\n const item = customPermissions.find(item => item.id + '' === explanation);\n value = item && item.description;\n }\n return value;\n };\n\n getPermissions = () => {\n const { permissions } = this.props;\n let newPermissions = permissions.slice();\n const { customPermissions } = this.state;\n if (!this.customPermissions) {\n if (customPermissions.length > 0) {\n customPermissions.forEach(item => {\n newPermissions.push(item.id + '');\n });\n }\n this.customPermissions = newPermissions;\n }\n return this.customPermissions;\n };\n\n\n render() {\n const { isLoading, currentOption } = this.state;\n let permissions = [];\n if (!isLoading) {\n permissions = this.getPermissions();\n }\n\n return (\n \n \n {isLoading && }\n {!isLoading && permissions.map((item, index) => {\n return (\n
    \n \n \n
    \n );\n })}\n
    \n
    \n );\n }\n}\n\nPermSelect.propTypes = propTypes;\n\nexport default PermSelect;\n","import React, { Fragment, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, siteRoot, isPro } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport EmptyTip from '../../components/empty-tip';\nimport SharePermissionEditor from '../../components/select-editor/share-permission-editor';\nimport SharedRepoInfo from '../../models/shared-repo-info';\nimport PermSelect from '../../components/dialog/perm-select';\n\nclass Content extends Component {\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n render() {\n const { loading, errorMsg, items, sortBy, sortOrder } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries shared')}

    \n

    {gettext('You have not shared any libraries with other users yet. You can share a library with other users by clicking the share icon to the right of a library\\'s name in \"My Libraries\".')}

    \n
    \n );\n\n // sort\n const sortByName = sortBy == 'name';\n const sortIcon = sortOrder == 'asc' ? : ;\n\n const isDesktop = Utils.isDesktop();\n const table = (\n \n \n {isDesktop ? (\n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')} {sortByName && sortIcon}{gettext('Share To')}{gettext('Permission')}
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n sortItems: PropTypes.func.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n\n let item = this.props.item;\n this.state = {\n share_permission: item.share_permission,\n share_permission_name: item.share_permission_name,\n is_admin: item.is_admin,\n isOpIconShown: false,\n isOpMenuOpen: false, // for mobile\n isPermSelectDialogOpen: false, // for mobile\n unshared: false,\n isShowPermEditor: false,\n };\n let permissions = ['rw', 'r'];\n this.permissions = permissions;\n this.showAdmin = isPro && (item.share_type !== 'public');\n if (this.showAdmin) {\n permissions.push('admin');\n }\n if (isPro) {\n permissions.push('cloud-edit', 'preview');\n }\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n togglePermSelectDialog = () => {\n this.setState({\n isPermSelectDialogOpen: !this.state.isPermSelectDialogOpen\n });\n };\n\n onMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n changePerm = (permission) => {\n const item = this.props.item;\n const share_type = item.share_type;\n let options = {\n 'share_type': share_type,\n 'permission': permission\n };\n if (share_type == 'personal') {\n options.user = item.user_email;\n } else if (share_type == 'group') {\n options.group_id = item.group_id;\n }\n\n seafileAPI.updateRepoSharePerm(item.repo_id, options).then(() => {\n this.setState({\n share_permission: permission == 'admin' ? 'rw' : permission,\n is_admin: permission == 'admin',\n });\n toaster.success(gettext('Successfully modified permission.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unshare = (e) => {\n e.preventDefault();\n\n const item = this.props.item;\n const share_type = item.share_type;\n let options = {\n 'share_type': share_type\n };\n if (share_type == 'personal') {\n options.user = item.user_email;\n } else if (share_type == 'group') {\n options.group_id = item.group_id;\n }\n\n seafileAPI.unshareRepo(item.repo_id, options).then((res) => {\n this.setState({\n unshared: true\n });\n let message = gettext('Successfully unshared {name}').replace('{name}', item.repo_name);\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster(errMessage);\n });\n };\n\n onEditPermission = (event) => {\n event.nativeEvent.stopImmediatePropagation();\n this.setState({isShowPermEditor: true});\n };\n\n render() {\n if (this.state.unshared) {\n return null;\n }\n\n let { share_permission, share_permission_name, is_admin, isOpIconShown, isPermSelectDialogOpen, isShowPermEditor } = this.state;\n let item = this.props.item;\n Object.assign(item, {\n share_permission: share_permission,\n is_admin: is_admin\n });\n\n let iconUrl = Utils.getLibIconUrl(item);\n let iconTitle = Utils.getLibIconTitle(item);\n let repoUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}/`;\n\n\n let shareTo;\n const shareType = item.share_type;\n if (shareType == 'personal') {\n shareTo = item.user_name;\n } else if (shareType == 'group') {\n shareTo = item.group_name;\n } else if (shareType == 'public') {\n shareTo = gettext('all members');\n }\n\n if (this.showAdmin && is_admin) {\n share_permission = 'admin';\n }\n\n // custom defined permission\n if (share_permission.startsWith('custom-')) {\n share_permission = share_permission.slice(7);\n }\n\n const desktopItem = (\n \n {iconTitle}\n {item.repo_name}\n \n {item.share_type == 'personal' ? {shareTo} : shareTo}\n \n \n {!isShowPermEditor && (\n
    \n {Utils.sharePerms(share_permission) || share_permission_name}\n {isOpIconShown && (\n \n \n )}\n
    \n )}\n {isShowPermEditor && (\n \n )}\n \n \n \n );\n\n const mobileItem = (\n \n \n {iconTitle}\n \n {item.repo_name}\n {Utils.sharePerms(share_permission)}\n
    \n {`${gettext('Share To:')} ${shareTo}`}\n \n \n \n \n
    \n
    \n
    \n {gettext('Permission')}\n {gettext('Unshare')}\n
    \n
    \n
    \n \n \n {isPermSelectDialogOpen && (\n \n )}\n
    \n );\n\n return this.props.isDesktop ? desktopItem : mobileItem;\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nclass ShareAdminLibraries extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n sortBy: 'name', // 'name' or 'time'\n sortOrder: 'asc' // 'asc' or 'desc'\n };\n }\n\n componentDidMount() {\n seafileAPI.listSharedRepos().then((res) => {\n let items = res.data.map(item => {\n return new SharedRepoInfo(item);\n });\n this.setState({\n loading: false,\n items: Utils.sortRepos(items, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n sortItems = (sortBy, sortOrder) => {\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n items: Utils.sortRepos(this.state.items, sortBy, sortOrder)\n });\n };\n\n render() {\n return (\n
    \n
    \n
    \n

    {gettext('Libraries')}

    \n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default ShareAdminLibraries;\n","class SharedFolderInfo {\n\n constructor(object) {\n this.path = object.path;\n this.folder_name = object.folder_name;\n this.repo_id = object.repo_id;\n this.repo_name = object.repo_name;\n this.share_type = object.share_type;\n this.share_permission = object.share_permission;\n this.share_permission_name = object.share_permission_name;\n if (object.share_type === 'group') {\n this.group_id = object.group_id;\n this.group_name = object.group_name;\n } else {\n this.user_name = object.user_name;\n this.user_email = object.user_email;\n this.contact_email = object.contact_email;\n }\n }\n\n}\n\nexport default SharedFolderInfo;\n","import React, { Fragment, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { gettext, siteRoot, isPro } from '../../utils/constants';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport toaster from '../../components/toast';\nimport SharePermissionEditor from '../../components/select-editor/share-permission-editor';\nimport SharedFolderInfo from '../../models/shared-folder-info';\nimport PermSelect from '../../components/dialog/perm-select';\n\nclass Content extends Component {\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n render() {\n const { loading, errorMsg, items, sortBy, sortOrder } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No folders shared')}

    \n

    {gettext('You have not shared any folders with other users yet. You can share a folder with other users by clicking the share icon to the right of a folder\\'s name.')}

    \n
    \n );\n\n // sort\n const sortByName = sortBy == 'name';\n const sortIcon = sortOrder == 'asc' ? : ;\n\n const isDesktop = Utils.isDesktop();\n const table = (\n \n \n {isDesktop ? (\n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')} {sortByName && sortIcon}{gettext('Share To')}{gettext('Permission')}
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n sortItems: PropTypes.func.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n share_permission: this.props.item.share_permission,\n share_permission_name: this.props.item.share_permission_name,\n isOpIconShown: false,\n isOpMenuOpen: false, // for mobile\n isPermSelectDialogOpen: false, // for mobile\n unshared: false,\n isShowPermEditor: false,\n };\n\n this.permissions = ['rw', 'r'];\n if (isPro) {\n this.permissions.push('cloud-edit', 'preview');\n }\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n togglePermSelectDialog = () => {\n this.setState({\n isPermSelectDialogOpen: !this.state.isPermSelectDialogOpen\n });\n };\n\n onMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n unshare = (e) => {\n e.preventDefault();\n\n const item = this.props.item;\n let options = {\n 'p': item.path\n };\n if (item.share_type == 'personal') {\n Object.assign(options, {\n 'share_type': 'user',\n 'username': item.user_email\n });\n } else {\n Object.assign(options, {\n 'share_type': item.share_type, // 'group'\n 'group_id': item.group_id\n });\n }\n\n seafileAPI.unshareFolder(item.repo_id, options).then((res) => {\n this.setState({\n unshared: true\n });\n let message = gettext('Successfully unshared {name}').replace('{name}', item.folder_name);\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster(errMessage);\n });\n };\n\n changePerm = (permission) => {\n const item = this.props.item;\n const postData = {\n 'permission': permission\n };\n let options = {\n 'p': item.path\n };\n if (item.share_type == 'personal') {\n Object.assign(options, {\n 'share_type': 'user',\n 'username': item.user_email\n });\n } else {\n Object.assign(options, {\n 'share_type': item.share_type, // 'group'\n 'group_id': item.group_id\n });\n }\n\n seafileAPI.updateFolderSharePerm(item.repo_id, postData, options).then((res) => {\n this.setState({share_permission: permission});\n toaster.success(gettext('Successfully modified permission.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onEditPermission = (event) => {\n event.nativeEvent.stopImmediatePropagation();\n this.setState({isShowPermEditor: true});\n };\n\n render() {\n if (this.state.unshared) {\n return null;\n }\n\n const item = this.props.item;\n let { share_permission, share_permission_name, isOpIconShown, isPermSelectDialogOpen, isShowPermEditor } = this.state;\n\n let is_readonly = false;\n if (share_permission == 'r' || share_permission == 'preview') {\n is_readonly = true;\n }\n let iconUrl = Utils.getFolderIconUrl(is_readonly);\n let iconTitle = Utils.getFolderIconTitle({\n 'permission': share_permission\n });\n let folderUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(item.path)}`;\n\n // custom defined permission\n if (share_permission.startsWith('custom-')) {\n share_permission = share_permission.slice(7);\n }\n const desktopItem = (\n \n {iconTitle}\n {item.folder_name}\n \n {item.share_type == 'personal' ?\n {item.user_name} : item.group_name}\n \n \n {!isShowPermEditor && (\n
    \n {Utils.sharePerms(share_permission) || share_permission_name}\n {isOpIconShown && (\n \n \n )}\n
    \n )}\n {isShowPermEditor && (\n \n )}\n \n \n \n );\n\n const mobileItem = (\n \n \n {iconTitle}\n \n {item.folder_name}\n {Utils.sharePerms(share_permission)}\n
    \n {`${gettext('Share To:')} ${item.share_type == 'personal' ? item.user_name : item.group_name}`}\n \n \n \n \n
    \n
    \n
    \n {gettext('Permission')}\n {gettext('Unshare')}\n
    \n
    \n
    \n \n \n {isPermSelectDialogOpen &&(\n \n )}\n
    \n );\n\n return this.props.isDesktop ? desktopItem : mobileItem;\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nclass ShareAdminFolders extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n sortBy: 'name',\n sortOrder: 'asc' // 'asc' or 'desc'\n };\n }\n\n _sortItems = (items, sortBy, sortOrder) => {\n let comparator;\n\n switch (`${sortBy}-${sortOrder}`) {\n case 'name-asc':\n comparator = function(a, b) {\n var result = Utils.compareTwoWord(a.folder_name, b.folder_name);\n return result;\n };\n break;\n case 'name-desc':\n comparator = function(a, b) {\n var result = Utils.compareTwoWord(a.folder_name, b.folder_name);\n return -result;\n };\n break;\n }\n\n items.sort(comparator);\n return items;\n };\n\n sortItems = (sortBy, sortOrder) => {\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n items: this._sortItems(this.state.items, sortBy, sortOrder)\n });\n };\n\n componentDidMount() {\n seafileAPI.listSharedFolders().then((res) => {\n let items = res.data.map(item => {\n return new SharedFolderInfo(item);\n });\n this.setState({\n loading: false,\n items: this._sortItems(items, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n

    {gettext('Folders')}

    \n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default ShareAdminFolders;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody } from 'reactstrap';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n currentPerm: PropTypes.string.isRequired,\n permissions: PropTypes.array.isRequired,\n changePerm: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass ShareLinkPermissionSelect extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentOption: this.props.currentPerm\n };\n }\n\n switchOption = (e) => {\n if (!e.target.checked) {\n return;\n }\n\n const currentOption = e.target.value;\n this.setState({\n currentOption: currentOption\n });\n\n this.props.changePerm(currentOption);\n this.props.toggleDialog();\n };\n\n render() {\n const options = this.props.permissions;\n const { currentOption } = this.state;\n\n return (\n \n \n {options.map((item, index) => {\n return (\n
    \n \n \n
    \n );\n })}\n
    \n
    \n );\n }\n}\n\nShareLinkPermissionSelect.propTypes = propTypes;\n\nexport default ShareLinkPermissionSelect;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n toggleDialog: PropTypes.func.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortOptions: PropTypes.array,\n sortItems: PropTypes.func.isRequired\n};\n\nclass SortOptions extends React.Component {\n\n constructor(props) {\n super(props);\n this.sortOptions = this.props.sortOptions || [\n {value: 'name-asc', text: gettext('By name ascending')},\n {value: 'name-desc', text: gettext('By name descending')},\n {value: 'size-asc', text: gettext('By size ascending')},\n {value: 'size-desc', text: gettext('By size descending')},\n {value: 'time-asc', text: gettext('By time ascending')},\n {value: 'time-desc', text: gettext('By time descending')}\n ];\n const { sortBy, sortOrder } = this.props;\n this.state = {\n currentOption: `${sortBy}-${sortOrder}`\n };\n }\n\n switchOption = (e) => {\n if (!e.target.checked) {\n return;\n }\n\n this.setState({\n currentOption: e.target.value\n });\n\n const [sortBy, sortOrder] = e.target.value.split('-');\n this.props.sortItems(sortBy, sortOrder);\n this.props.toggleDialog();\n };\n\n render() {\n return (\n \n \n {this.sortOptions.map((item, index) => {\n return (\n \n \n
    \n
    \n );\n })}\n
    \n
    \n );\n }\n}\n\nSortOptions.propTypes = propTypes;\n\nexport default SortOptions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport CommonToolbar from './common-toolbar';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n searchPlaceholder: PropTypes.string,\n children: PropTypes.object\n};\n\nclass TopToolbar extends React.Component {\n\n render() {\n const { onShowSidePanel, onSearchedClick } = this.props;\n return (\n
    \n
    \n \n \n {this.props.children}\n
    \n \n
    \n );\n }\n}\n\nTopToolbar.propTypes = propTypes;\n\nexport default TopToolbar;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Dropdown, DropdownToggle, DropdownItem, Button } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { isPro, gettext, siteRoot, canGenerateUploadLink } from '../../utils/constants';\nimport ShareLink from '../../models/share-link';\nimport ShareLinkPermissionEditor from '../../components/select-editor/share-link-permission-editor';\nimport Loading from '../../components/loading';\nimport toaster from '../../components/toast';\nimport EmptyTip from '../../components/empty-tip';\nimport ShareLinkPermissionSelect from '../../components/dialog/share-link-permission-select';\nimport ShareAdminLink from '../../components/dialog/share-admin-link';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\nimport CommonOperationConfirmationDialog from '../../components/dialog/common-operation-confirmation-dialog';\nimport TopToolbar from '../../components/toolbar/top-toolbar';\n\nconst contentPropTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n onRemoveLink: PropTypes.func.isRequired\n};\n\nclass Content extends Component {\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n const sortBy = 'time';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n render() {\n const { loading, errorMsg, items, sortBy, sortOrder } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No share links')}

    \n

    {gettext('You have not created any share links yet. A share link can be used to share files and folders with anyone. You can create a share link for a file or folder by clicking the share icon to the right of its name.')}

    \n
    \n );\n\n // sort\n const sortByName = sortBy == 'name';\n const sortByTime = sortBy == 'time';\n const sortIcon = sortOrder == 'asc' ? : ;\n\n const isDesktop = Utils.isDesktop();\n // only for some columns\n const columnWidths = isPro ? ['14%', '7%', '14%'] : ['21%', '14%', '20%'];\n const table = (\n \n \n {isDesktop ? (\n \n \n \n \n {isPro && }\n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')} {sortByName && sortIcon}{gettext('Library')}{gettext('Permission')}{gettext('Visits')}{gettext('Expiration')} {sortByTime && sortIcon}{/*Operations*/}
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = contentPropTypes;\n\nconst itemPropTypes = {\n item: PropTypes.object.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n onRemoveLink: PropTypes.func.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n isOpIconShown: false,\n isOpMenuOpen: false, // for mobile\n isPermSelectDialogOpen: false, // for mobile\n isLinkDialogOpen: false,\n permissionOptions: [],\n currentPermission: '',\n };\n }\n\n componentDidMount() {\n if (isPro) {\n this.updatePermissionOptions();\n }\n }\n\n updatePermissionOptions = () => {\n const item = this.props.item;\n let itemType = item.is_dir ? (item.path === '/' ? 'library' : 'dir') : 'file';\n let permission = item.repo_folder_permission;\n let permissionOptions = Utils.getShareLinkPermissionList(itemType, permission, item.path, item.can_edit);\n let currentPermission = Utils.getShareLinkPermissionStr(this.props.item.permissions);\n this.setState({\n permissionOptions: permissionOptions,\n currentPermission: currentPermission\n });\n };\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n togglePermSelectDialog = () => {\n this.setState({\n isPermSelectDialogOpen: !this.state.isPermSelectDialogOpen\n });\n };\n\n toggleLinkDialog = () => {\n this.setState({\n isLinkDialogOpen: !this.state.isLinkDialogOpen\n });\n };\n\n handleMouseOver = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseOut = () => {\n this.setState({isOpIconShown: false});\n };\n\n viewLink = (e) => {\n e.preventDefault();\n this.toggleLinkDialog();\n };\n\n removeLink = (e) => {\n e.preventDefault();\n this.props.onRemoveLink(this.props.item);\n };\n\n renderExpiration = () => {\n const item = this.props.item;\n if (!item.expire_date) {\n return '--';\n }\n const expire_date = moment(item.expire_date).format('YYYY-MM-DD');\n const expire_time = moment(item.expire_date).format('YYYY-MM-DD HH:mm:ss');\n return ({expire_date});\n };\n\n changePerm = (permission) => {\n const item = this.props.item;\n const permissionDetails = Utils.getShareLinkPermissionObject(permission).permissionDetails;\n seafileAPI.updateShareLink(item.token, JSON.stringify(permissionDetails)).then(() => {\n this.setState({\n currentPermission: permission\n });\n let message = gettext('Successfully modified permission.');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const item = this.props.item;\n const { currentPermission, permissionOptions , isOpIconShown, isPermSelectDialogOpen, isLinkDialogOpen } = this.state;\n\n let iconUrl, objUrl;\n if (item.is_dir) {\n let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1);\n iconUrl = Utils.getFolderIconUrl(false);\n objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`;\n } else {\n iconUrl = Utils.getFileIconUrl(item.obj_name);\n objUrl = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n }\n\n const deletedTip = item.obj_id === '' ? {gettext('(deleted)')} : null;\n const desktopItem = (\n \n \"\"\n \n {item.is_dir ?\n {item.obj_name} :\n {item.obj_name}\n }\n {deletedTip}\n \n {item.repo_name}\n {isPro &&\n \n \n \n }\n {item.view_cnt}\n {this.renderExpiration()}\n \n {!item.is_expired && }\n \n \n \n );\n\n const mobileItem = (\n \n \n \"\"\n \n {item.is_dir ?\n {item.obj_name} :\n {item.obj_name}\n }\n {isPro && {Utils.getShareLinkPermissionObject(currentPermission).text}}\n
    \n {item.repo_name}
    \n {gettext('Visits')}: {item.view_cnt}\n {gettext('Expiration')}: {this.renderExpiration()}\n \n \n \n \n
    \n
    \n
    \n {(isPro && !item.is_expired) && {gettext('Permission')}}\n {!item.is_expired && {gettext('View')}}\n {gettext('Remove')}\n
    \n
    \n
    \n \n \n {isPermSelectDialogOpen &&\n \n }\n
    \n );\n\n return (\n \n {this.props.isDesktop ? desktopItem : mobileItem}\n {isLinkDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired\n};\n\nclass ShareAdminShareLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isCleanInvalidShareLinksDialogOpen: false,\n loading: true,\n errorMsg: '',\n items: [],\n sortBy: 'name', // 'name' or 'time'\n sortOrder: 'asc' // 'asc' or 'desc'\n };\n\n // for mobile\n this.sortOptions = [\n {value: 'name-asc', text: gettext('By name ascending')},\n {value: 'name-desc', text: gettext('By name descending')},\n {value: 'time-asc', text: gettext('By expiration ascending')},\n {value: 'time-desc', text: gettext('By expiration descending')}\n ];\n }\n\n _sortItems = (items, sortBy, sortOrder) => {\n let comparator;\n\n switch (`${sortBy}-${sortOrder}`) {\n case 'name-asc':\n comparator = function(a, b) {\n var result = Utils.compareTwoWord(a.obj_name, b.obj_name);\n return result;\n };\n break;\n case 'name-desc':\n comparator = function(a, b) {\n var result = Utils.compareTwoWord(a.obj_name, b.obj_name);\n return -result;\n };\n break;\n case 'time-asc':\n comparator = function(a, b) {\n return a.expire_date < b.expire_date ? -1 : 1;\n };\n break;\n case 'time-desc':\n comparator = function(a, b) {\n return a.expire_date < b.expire_date ? 1 : -1;\n };\n break;\n\n // no default\n }\n\n items.sort((a, b) => {\n if (a.is_dir && !b.is_dir) {\n return -1;\n } else if (!a.is_dir && b.is_dir) {\n return 1;\n } else {\n return comparator(a, b);\n }\n });\n return items;\n };\n\n sortItems = (sortBy, sortOrder) => {\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n items: this._sortItems(this.state.items, sortBy, sortOrder)\n });\n };\n\n componentDidMount() {\n this.listUserShareLinks();\n }\n\n listUserShareLinks() {\n seafileAPI.listUserShareLinks().then((res) => {\n let items = res.data.map(item => {\n return new ShareLink(item);\n });\n this.setState({\n loading: false,\n items: this._sortItems(items, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n onRemoveLink = (item) => {\n seafileAPI.deleteShareLink(item.token).then(() => {\n let items = this.state.items.filter(uploadItem => {\n return uploadItem.token !== item.token;\n });\n this.setState({items: items});\n let message = gettext('Successfully deleted 1 item.');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n toggleCleanInvalidShareLinksDialog = () => {\n this.setState({isCleanInvalidShareLinksDialogOpen: !this.state.isCleanInvalidShareLinksDialogOpen});\n };\n\n cleanInvalidShareLinks = () => {\n seafileAPI.cleanInvalidShareLinks().then(res => {\n const newItems = this.state.items.filter(item => item.obj_id !== '').filter(item => !item.is_expired);\n this.setState({items: newItems});\n toaster.success(gettext('Successfully cleaned invalid share links.'));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n\n \n \n
    \n
    \n
    \n
      \n
    • \n {gettext('Share Links')}\n
    • \n {canGenerateUploadLink && (\n
    • {gettext('Upload Links')}
    • \n )}\n
    \n {(!Utils.isDesktop() && this.state.items.length > 0) && }\n
    \n
    \n \n
    \n
    \n
    \n {this.state.isSortOptionsDialogOpen &&\n \n }\n {this.state.isCleanInvalidShareLinksDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nShareAdminShareLinks.propTypes = propTypes;\n\nexport default ShareAdminShareLinks;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Dropdown, DropdownToggle, DropdownItem, Button } from 'reactstrap';\nimport { gettext, siteRoot, canGenerateShareLink } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport UploadLink from '../../models/upload-link';\nimport ShareAdminLink from '../../components/dialog/share-admin-link';\nimport CommonOperationConfirmationDialog from '../../components/dialog/common-operation-confirmation-dialog';\nimport TopToolbar from '../../components/toolbar/top-toolbar';\n\nconst contentPropTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n onRemoveLink: PropTypes.func.isRequired\n};\n\nclass Content extends Component {\n\n render() {\n const { loading, errorMsg, items } = this.props;\n\n if (loading) {\n return ;\n }\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n const emptyTip = (\n \n

    {gettext('No upload links')}

    \n

    {gettext('You have not created any upload links yet. An upload link allows anyone to upload files to a folder or library. You can create an upload link for a folder or library by clicking the share icon to the right of its name.')}

    \n
    \n );\n\n const isDesktop = Utils.isDesktop();\n const table = (\n \n \n {isDesktop ? (\n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')}{gettext('Library')}{gettext('Visits')}{gettext('Expiration')}{/*Operations*/}
    \n );\n\n return items.length ? table : emptyTip;\n }\n}\n\nContent.propTypes = contentPropTypes;\n\nconst itemPropTypes = {\n isDesktop: PropTypes.bool.isRequired,\n item: PropTypes.object.isRequired,\n onRemoveLink: PropTypes.func.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isOpMenuOpen: false, // for mobile\n isLinkDialogOpen: false\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n toggleLinkDialog = () => {\n this.setState({\n isLinkDialogOpen: !this.state.isLinkDialogOpen\n });\n };\n\n handleMouseOver = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseOut = () => {\n this.setState({isOpIconShown: false});\n };\n\n viewLink = (e) => {\n e.preventDefault();\n this.toggleLinkDialog();\n };\n\n removeLink = (e) => {\n e.preventDefault();\n this.props.onRemoveLink(this.props.item);\n };\n\n renderExpiration = () => {\n const item = this.props.item;\n if (!item.expire_date) {\n return '--';\n }\n const expire_date = moment(item.expire_date).format('YYYY-MM-DD');\n const expire_time = moment(item.expire_date).format('YYYY-MM-DD HH:mm:ss');\n return ({expire_date});\n };\n\n render() {\n let item = this.props.item;\n const { isOpIconShown, isLinkDialogOpen } = this.state;\n\n const iconUrl = Utils.getFolderIconUrl(false);\n const repoUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}`;\n const objUrl = `${repoUrl}${Utils.encodePath(item.path)}`;\n\n const deletedTip = item.obj_id === '' ? {gettext('(deleted)')} : null;\n const desktopItem = (\n \n \"\"\n {item.obj_name}{deletedTip}\n {item.repo_name}\n {item.view_cnt}\n {this.renderExpiration()}\n \n {!item.is_expired && }\n \n \n \n );\n\n const mobileItem = (\n \n \"\"\n \n {item.obj_name}\n
    \n {item.repo_name}
    \n {gettext('Visits')}: {item.view_cnt}\n {gettext('Expiration')}: {this.renderExpiration()}\n \n \n \n \n
    \n
    \n
    \n {!item.is_expired && {gettext('View')}}\n {gettext('Remove')}\n
    \n
    \n
    \n \n \n );\n return (\n \n {this.props.isDesktop ? desktopItem : mobileItem}\n {isLinkDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired\n};\n\nclass ShareAdminUploadLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isCleanInvalidUploadLinksDialogOpen: false,\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount() {\n this.listUserUploadLinks();\n }\n\n listUserUploadLinks() {\n seafileAPI.listUserUploadLinks().then((res) => {\n let items = res.data.map(item => {\n return new UploadLink(item);\n });\n this.setState({\n loading: false,\n items: items\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n onRemoveLink = (item) => {\n seafileAPI.deleteUploadLink(item.token).then(() => {\n let items = this.state.items.filter(uploadItem => {\n return uploadItem.token !== item.token;\n });\n this.setState({items: items});\n const message = gettext('Successfully deleted 1 item.');\n toaster.success(message);\n }).catch((error) => {\n const errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleCleanInvalidUploadLinksDialog = () => {\n this.setState({isCleanInvalidUploadLinksDialogOpen: !this.state.isCleanInvalidUploadLinksDialogOpen});\n };\n\n cleanInvalidUploadLinks = () => {\n seafileAPI.cleanInvalidUploadLinks().then(res => {\n const newItems = this.state.items.filter(item => item.obj_id !== '').filter(item => !item.is_expired);\n this.setState({items: newItems});\n toaster.success(gettext('Successfully cleaned invalid upload links.'));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n \n \n
    \n
    \n
    \n
      \n {canGenerateShareLink && (\n
    • {gettext('Share Links')}
    • \n )}\n
    • {gettext('Upload Links')}
    • \n
    \n
    \n
    \n \n
    \n
    \n
    \n {this.state.isCleanInvalidUploadLinksDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nShareAdminUploadLinks.propTypes = propTypes;\n\nexport default ShareAdminUploadLinks;\n","import { Utils } from '../utils/utils';\n\nclass Repo {\n constructor(object) {\n this.repo_id = object.repo_id;\n this.repo_name = object.repo_name;\n this.permission = object.permission;\n this.size_original = object.size;\n this.size = Utils.bytesToSize(object.size);\n this.owner_name = object.owner_name;\n this.owner_email = object.owner_email;\n this.owner_contact_email = object.owner_contact_email;\n this.encrypted = object.encrypted;\n this.last_modified = object.last_modified;\n this.modifier_contact_email = object.modifier_contact_email;\n this.modifier_email = object.modifier_email;\n this.modifier_name = object.modifier_name;\n this.type = object.type;\n this.starred = object.starred;\n this.monitored = object.monitored;\n this.status = object.status;\n this.storage_name = object.storage_name;\n if (object.is_admin != undefined) {\n this.is_admin = object.is_admin;\n }\n }\n}\n\nexport default Repo;\n","import React from 'react';\nimport { gettext } from '../utils/constants';\n\nfunction LibsMobileThead() {\n return (\n \n \n {gettext('Library Type')}\n \n {gettext('Actions')}\n \n \n );\n}\n\nexport default LibsMobileThead;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport Icon from '../components/icon';\nimport { gettext } from '../utils/constants';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired\n};\n\nclass RepoMonitoredIcon extends React.Component {\n\n render() {\n const { repoID } = this.props;\n return (\n \n \n \n \n \n {gettext('You are watching file changes of this library.')}\n \n \n );\n }\n}\n\nRepoMonitoredIcon.propTypes = propTypes;\n\nexport default RepoMonitoredIcon;\n","import React, { Component, Fragment } from 'react';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport cookie from 'react-cookies';\nimport { Link, navigate } from '@gatsbyjs/reach-router';\nimport { gettext, siteRoot, isPro } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Repo from '../../models/repo';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport LibsMobileThead from '../../components/libs-mobile-thead';\nimport ModalPotal from '../../components/modal-portal';\nimport ShareDialog from '../../components/dialog/share-dialog';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\nimport RepoMonitoredIcon from '../../components/repo-monitored-icon';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n freezeItem = (freezed) => {\n this.setState({\n isItemFreezed: freezed\n });\n };\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n const sortBy = 'time';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortBySize = (e) => {\n e.preventDefault();\n const sortBy = 'size';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n render() {\n const { loading, errorMsg, items, sortBy, sortOrder } = this.props;\n\n const emptyTip = (\n \n

    {gettext('No shared libraries')}

    \n

    {gettext('No libraries have been shared directly with you. A shared library can be shared with full or restricted permission. If you need access to a library owned by another user, ask the user to share the library with you.')}

    \n
    \n );\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n // sort\n const sortByName = sortBy == 'name';\n const sortByTime = sortBy == 'time';\n const sortBySize = sortBy == 'size';\n const sortIcon = sortOrder == 'asc' ? : ;\n\n const desktopThead = (\n \n \n \n {gettext('Library Type')}\n {gettext('Name')} {sortByName && sortIcon}\n {gettext('Actions')}\n {gettext('Size')} {sortBySize && sortIcon}\n {gettext('Last Update')} {sortByTime && sortIcon}\n {gettext('Owner')}\n \n \n );\n\n const isDesktop = Utils.isDesktop();\n const table = (\n \n {isDesktop ? desktopThead : }\n \n {items.map((item, index) => {\n return ;\n })}\n \n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n onMonitorRepo: PropTypes.func.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n showOpIcon: false,\n unshared: false,\n isShowSharedDialog: false,\n isStarred: this.props.data.starred,\n isOpMenuOpen: false\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n }, () => {\n this.props.freezeItem(this.state.isOpMenuOpen);\n });\n };\n\n handleMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: true,\n showOpIcon: true\n });\n }\n };\n\n handleMouseOut = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: false,\n showOpIcon: false\n });\n }\n };\n\n share = (e) => {\n e.preventDefault();\n this.setState({isShowSharedDialog: true});\n };\n\n leaveShare = (e) => {\n e.preventDefault();\n\n const data = this.props.data;\n\n let request;\n if (data.owner_email.indexOf('@seafile_group') == -1) {\n let options = {\n 'share_type': 'personal',\n 'from': data.owner_email\n };\n request = seafileAPI.leaveShareRepo(data.repo_id, options);\n } else {\n request = seafileAPI.leaveShareGroupOwnedRepo(data.repo_id);\n }\n\n request.then((res) => {\n this.setState({unshared: true});\n let message = gettext('Successfully unshared {name}').replace('{name}', data.repo_name);\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed to unshare {name}').replace('{name}', data.repo_name);\n }\n toaster(errMessage);\n });\n };\n\n toggleShareDialog = () => {\n this.setState({isShowSharedDialog: false});\n };\n\n onToggleStarRepo = (e) => {\n e.preventDefault();\n const repoName = this.props.data.repo_name;\n if (this.state.isStarred) {\n seafileAPI.unstarItem(this.props.data.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully unstarred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.starItem(this.props.data.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully starred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n visitRepo = () => {\n navigate(this.repoURL);\n };\n\n watchFileChanges = () => {\n const { data: repo } = this.props;\n seafileAPI.monitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unwatchFileChanges = () => {\n const { data: repo } = this.props;\n seafileAPI.unMonitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n if (this.state.unshared) {\n return null;\n }\n\n const data = this.props.data;\n\n data.icon_url = Utils.getLibIconUrl(data);\n data.icon_title = Utils.getLibIconTitle(data);\n\n let iconVisibility = this.state.showOpIcon ? '' : ' invisible';\n let shareIconClassName = 'op-icon sf2-icon-share repo-share-btn' + iconVisibility;\n let leaveShareIconClassName = 'op-icon sf2-icon-x3' + iconVisibility;\n let shareRepoUrl = this.repoURL = `${siteRoot}library/${data.repo_id}/${Utils.encodePath(data.repo_name)}/`;\n\n // at present, only repo shared with 'r', 'rw' can be monitored.(Fri Feb 10 16:24:49 CST 2023)\n const enableMonitorRepo = isPro && (data.permission == 'r' || data.permission == 'rw');\n\n const desktopItem = (\n \n \n \n \n \n \n \n {data.icon_title}\n \n \n {data.repo_name}\n {data.monitored && }\n \n \n \n {(isPro && data.is_admin) &&\n \n }\n \n {enableMonitorRepo &&\n \n \n \n {data.monitored ? gettext('Unwatch File Changes') : gettext('Watch File Changes')}\n \n \n }\n \n {data.size}\n {moment(data.last_modified).fromNow()}\n {data.owner_name}\n \n {this.state.isShowSharedDialog && (\n \n \n \n )}\n \n );\n\n const mobileItem = (\n \n \n {data.icon_title}\n \n {data.repo_name}\n {data.monitored && }\n
    \n {data.owner_name}\n {data.size}\n {moment(data.last_modified).fromNow()}\n \n \n \n \n
    \n
    \n
    \n {this.state.isStarred ? gettext('Unstar') : gettext('Star')}\n {(isPro && data.is_admin) && {gettext('Share')}}\n {gettext('Leave Share')}\n {enableMonitorRepo && {data.monitored ? gettext('Unwatch File Changes') : gettext('Watch File Changes')}}\n
    \n
    \n
    \n \n \n {this.state.isShowSharedDialog && (\n \n \n \n )}\n
    \n );\n\n return this.props.isDesktop ? desktopItem : mobileItem;\n }\n}\n\nItem.propTypes = {\n isDesktop: PropTypes.bool.isRequired,\n data: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n freezeItem: PropTypes.func.isRequired,\n onMonitorRepo: PropTypes.func.isRequired\n};\n\nclass SharedLibraries extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n sortBy: cookie.load('seafile-repo-dir-sort-by') || 'name', // 'name' or 'time' or 'size'\n sortOrder: cookie.load('seafile-repo-dir-sort-order') || 'asc', // 'asc' or 'desc'\n isSortOptionsDialogOpen: false\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepos({type:'shared'}).then((res) => {\n let repoList = res.data.repos.map((item) => {\n return new Repo(item);\n });\n this.setState({\n loading: false,\n items: Utils.sortRepos(repoList, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n sortItems = (sortBy, sortOrder) => {\n cookie.save('seafile-repo-dir-sort-by', sortBy);\n cookie.save('seafile-repo-dir-sort-order', sortOrder);\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n items: Utils.sortRepos(this.state.items, sortBy, sortOrder)\n });\n };\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n onMonitorRepo = (repo, monitored) => {\n let items = this.state.items.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.monitored = monitored;\n }\n return item;\n });\n this.setState({items: items});\n };\n\n render() {\n return (\n \n
    \n
    \n
    \n

    {gettext('Shared with me')}

    \n {(!Utils.isDesktop() && this.state.items.length > 0) && }\n
    \n
    \n \n
    \n
    \n
    \n {this.state.isSortOptionsDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default SharedLibraries;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\n\nclass Content extends Component {\n\n render() {\n const { loading, errorMsg, items } = this.props;\n\n const emptyTip = (\n \n

    {gettext('No libraries have been shared with you')}

    \n

    {gettext('No libraries have been shared with you from other servers.')}

    \n
    \n );\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ;\n })}\n \n
    {gettext('Name')}{gettext('Shared by')}{gettext('At server')}{gettext('Time')}{/* operations */}
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n leaveShare: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n leaveShare = (e) => {\n e.preventDefault();\n this.props.leaveShare(this.props.item);\n };\n\n render() {\n const item = this.props.item;\n const { isOpIconShown } = this.state;\n\n item.icon_url = Utils.getLibIconUrl(item);\n item.icon_title = Utils.getLibIconTitle(item);\n\n let shareRepoUrl =`${siteRoot}remote-library/${this.props.item.provider_id}/${this.props.item.repo_id}/${Utils.encodePath(this.props.item.repo_name)}/`;\n return (\n \n {item.icon_title}\n {item.repo_name}\n {item.from_user}\n {item.from_server_url}\n {moment(item.ctime).fromNow()}\n \n \n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n leaveShare: PropTypes.func.isRequired,\n};\n\nclass SharedWithOCM extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount() {\n seafileAPI.listOCMSharesReceived().then((res) => {\n this.setState({\n loading: false,\n items: res.data.ocm_share_received_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n leaveShare = (item) => {\n const { id, repo_name } = item;\n seafileAPI.deleteOCMShareReceived(id).then((res) => {\n let items = this.state.items.filter(item => {\n return item.id != id;\n });\n this.setState({items: items});\n toaster.success(gettext('Successfully unshared {name}').replace('{name}', repo_name));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n
    \n
    \n
    \n

    {gettext('Shared from other servers')}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default SharedWithOCM;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\n\nclass OCMViaWebdav extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n shareID: '',\n path: '',\n items: [],\n errorMsg: '',\n };\n }\n\n componentDidMount() {\n this.getAllReceivedShares();\n }\n\n getAllReceivedShares = () => {\n const url = seafileAPI.server + '/ocm-via-webdav/received-shares/';\n seafileAPI.req.get(url).then((res) => {\n this.setState({\n loading: false,\n shareID: '',\n path: '',\n items: res.data.received_share_list,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n leaveShare = (item) => {\n const { id, name } = item;\n const url = seafileAPI.server + '/ocm-via-webdav/received-shares/' + id + '/';\n seafileAPI.req.delete(url).then((res) => {\n let items = this.state.items.filter(item => {\n return item.id != id;\n });\n this.setState({items: items});\n toaster.success(gettext('Successfully unshared {name}').replace('{name}', name));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n openFolder = (item) => {\n\n this.setState({\n loading: true,\n });\n\n const url = seafileAPI.server + '/ocm-via-webdav/received-shares/' + item.id + '/?path=' + item.path;\n seafileAPI.req.get(url).then((res) => {\n this.setState({\n loading: false,\n shareID: item.id,\n path: res.data.parent_dir,\n items: res.data.received_share_list,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onPathClick = (path) => {\n\n this.setState({\n loading: true,\n });\n\n const url = seafileAPI.server + '/ocm-via-webdav/received-shares/' + this.state.shareID + '/?path=' + path;\n seafileAPI.req.get(url).then((res) => {\n this.setState({\n loading: false,\n items: res.data.received_share_list,\n path: res.data.parent_dir,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\n\nclass Content extends Component {\n\n static propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n path: PropTypes.string.isRequired,\n };\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { loading, errorMsg, items, path } = this.props;\n const emptyTip = (\n \n

    {gettext('No libraries have been shared with you')}

    \n

    {gettext('No libraries have been shared with you from other servers.')}

    \n
    \n );\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ;\n })}\n \n
    {gettext('Name')}{gettext('Shared By')}{gettext('Time')}{/* operations */}{/* operations */}
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object.isRequired,\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n path: PropTypes.string.isRequired,\n leaveShare: PropTypes.func.isRequired,\n openFolder: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n static propTypes = {\n item: PropTypes.object.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n downloadFile = () => {\n let downloadUrl = siteRoot + 'ocm-via-webdav/download-received-file/?share_id=' + this.props.item.id + '&path=' + this.props.item.path;\n window.location.href = downloadUrl;\n };\n\n leaveShare = (e) => {\n e.preventDefault();\n this.props.leaveShare(this.props.item);\n };\n\n openFolder = (e) => {\n e.preventDefault();\n this.props.openFolder(this.props.item);\n };\n\n render() {\n const item = this.props.item;\n const { isOpIconShown } = this.state;\n\n if (item.is_dir) {\n item.icon_url = Utils.getFolderIconUrl();\n } else {\n item.icon_url = Utils.getFileIconUrl(item.name);\n }\n return (\n \n \"\"\n \n {item.is_dir ? {item.name} : item.name}\n \n {item.shared_by}\n {moment(item.ctime).fromNow()}\n {item.is_dir ? '' : }\n \n {this.props.path ? '' : }\n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n leaveShare: PropTypes.func.isRequired,\n openFolder: PropTypes.func.isRequired,\n};\n\nclass DirPath extends React.Component {\n\n static propTypes = {\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n getAllReceivedShares: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n };\n }\n\n onPathClick = (e) => {\n let path = Utils.getEventData(e, 'path');\n this.props.onPathClick(path);\n };\n\n turnPathToLink = (path) => {\n path = path.slice(1, path.length - 1);\n let pathList = path.split('/');\n let nodePath = '';\n let pathElem = pathList.map((item, index) => {\n if (index === (pathList.length - 1)) {\n return (\n \n /\n {item}\n \n );\n } else {\n if (index === 0) {\n nodePath = '/';\n } else {\n nodePath += item + '/';\n }\n return (\n \n /\n {item}\n \n );\n }\n });\n return pathElem;\n };\n\n render() {\n let pathElem = this.turnPathToLink(this.props.currentPath);\n return (\n
    \n {gettext('All')}\n {pathElem}\n
    \n );\n }\n}\n\nDirPath.propTypes = {\n shareID: PropTypes.string.isRequired,\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n getAllReceivedShares: PropTypes.func.isRequired,\n};\n\nexport default OCMViaWebdav;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Account from '../../components/common/account';\n\nconst propTypes = {\n children: PropTypes.object\n};\n\nclass MainPanelTopbar extends Component {\n\n render() {\n return (\n
    \n
    \n \n
    \n {this.props.children}\n
    \n
    \n
    \n \n
    \n
    \n );\n }\n}\n\nMainPanelTopbar.propTypes = propTypes;\n\nexport default MainPanelTopbar;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n repoName: PropTypes.string.isRequired,\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n onTabNavClick: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n};\n\nclass DirPath extends React.Component {\n\n onPathClick = (e) => {\n let path = Utils.getEventData(e, 'path');\n this.props.onPathClick(path);\n };\n\n turnPathToLink = (path) => {\n path = path[path.length - 1] === '/' ? path.slice(0, path.length - 1) : path;\n let pathList = path.split('/');\n let nodePath = '';\n let pathElem = pathList.map((item, index) => {\n if (item === '') {\n return null;\n }\n if (index === (pathList.length - 1)) {\n return (\n \n /\n {item}\n \n );\n } else {\n nodePath += '/' + item;\n return (\n \n /\n {item}\n \n );\n }\n });\n return pathElem;\n };\n\n render() {\n let { currentPath, repoName } = this.props;\n let pathElem = this.turnPathToLink(currentPath);\n\n return (\n
    \n this.props.onTabNavClick('shared-with-ocm')}>{gettext('All')}\n /\n {(currentPath === '/' || currentPath === '') ?\n {repoName}:\n {repoName}\n }\n {pathElem}\n
    \n );\n }\n}\n\nDirPath.propTypes = propTypes;\n\nexport default DirPath;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../../components/loading';\n\nclass DirentItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n openFolder = () => {\n this.props.openFolder(this.props.dirent);\n };\n\n downloadDirent = (e) => {\n e.preventDefault();\n this.props.downloadDirent(this.props.dirent);\n };\n\n render () {\n let { isOpIconShown } = this.state;\n let { dirent } = this.props;\n let iconUrl = Utils.getDirentIcon(dirent);\n\n return (\n \n \n \n \n {dirent.is_file ?\n dirent.name :\n {dirent.name}\n }\n \n \n {isOpIconShown && dirent.is_file &&\n \n }\n \n {Utils.bytesToSize(dirent.size)}\n {moment(dirent.mtime).fromNow()}\n \n \n );\n }\n}\n\nDirentItem.propTypes = {\n dirent: PropTypes.object.isRequired,\n openFolder: PropTypes.func.isRequired,\n deleteDirent: PropTypes.func.isRequired,\n downloadDirent: PropTypes.func.isRequired,\n};\n\nclass DirContent extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n let { loading, errorMsg, direntList } = this.props;\n\n if (loading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {direntList.map((dirent, index) => {\n return ;\n })}\n \n
    {/*icon*/}{gettext('Name')}{/*operation*/}{gettext('Size')}{gettext('Last Update')}
    \n
    \n );\n }\n}\n\nDirContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n direntList: PropTypes.array.isRequired,\n openFolder: PropTypes.func.isRequired,\n deleteDirent: PropTypes.func.isRequired,\n downloadDirent: PropTypes.func.isRequired,\n};\n\nexport default DirContent;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport axios from 'axios';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../utils/constants';\nimport toaster from '../../components/toast';\nimport MainPanelTopbar from './remote-dir-topbar';\nimport DirPathBar from './remote-dir-path';\nimport DirContent from './remote-dir-content';\n\nclass Dirent {\n constructor(obj) {\n this.name = obj.name;\n this.mtime = obj.mtime;\n this.size = obj.size;\n this.is_file = obj.type === 'file';\n }\n\n isDir() {\n return !this.is_file;\n }\n}\n\nclass DirView extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n repoName: '',\n path: '',\n direntList: [],\n isNewFolderDialogOpen: false,\n userPerm: '',\n };\n this.fileInput = React.createRef();\n }\n\n componentDidMount () {\n this.loadDirentList('/');\n }\n\n onPathClick = (path) => {\n this.loadDirentList(path);\n };\n\n openFolder = (dirent) => {\n let direntPath = Utils.joinPath(this.state.path, dirent.name);\n if (!dirent.is_file) {\n this.loadDirentList(direntPath);\n }\n };\n\n loadDirentList = (path) => {\n const { providerID, repoID } = this.props;\n seafileAPI.listOCMRepoDir(providerID, repoID, path).then(res => {\n const { repo_name: repoName, dirent_list, user_perm } = res.data;\n let direntList = [];\n dirent_list.forEach(item => {\n let dirent = new Dirent(item);\n direntList.push(dirent);\n });\n this.setState({\n loading: false,\n repoName: repoName,\n direntList: direntList,\n path: path,\n userPerm: user_perm,\n }, () => {\n let url =`${siteRoot}remote-library/${providerID}/${repoID}/${repoName}${Utils.encodePath(path)}`;\n window.history.replaceState({url: url, path: path}, path, url);\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n downloadDirent = (dirent) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n seafileAPI.getOCMRepoDownloadURL(this.props.providerID, this.props.repoID, path).then(res => {\n location.href = res.data;\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n openFileInput = () => {\n this.fileInput.current.click();\n };\n\n onFileInputChange = () => {\n if (!this.fileInput.current.files.length) {\n return;\n }\n const file = this.fileInput.current.files[0];\n\n let { path } = this.state;\n let { providerID, repoID } = this.props;\n seafileAPI.getOCMRepoUploadURL(providerID, repoID, path).then(res => {\n let formData = new FormData();\n formData.append('parent_dir', path);\n formData.append('file', file);\n axios.post(res.data, formData).then(res => {\n const fileObj = res.data[0];\n let newDirent = new Dirent({\n 'type': 'file',\n 'name': fileObj.name,\n 'size': fileObj.size,\n 'mtime': (new Date()).getTime()\n });\n let direntList = this.state.direntList;\n const dirs = direntList.filter(item => { return !item.is_file; });\n direntList.splice(dirs.length, 0, newDirent);\n this.setState({\n direntList: direntList\n });\n });\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg,\n repoName, direntList, path, userPerm } = this.state;\n const { repoID } = this.props;\n\n return (\n \n \n \n \n {userPerm === 'rw' &&\n \n }\n \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nDirView.propTypes = {\n repoID: PropTypes.string,\n providerID: PropTypes.string,\n onTabNavClick: PropTypes.func.isRequired,\n};\n\nexport default DirView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext, enableEncryptedLibrary, repoPasswordMinLength, storages, libraryTemplates } from '../../utils/constants';\nimport { SeahubSelect } from '../common/select';\n\nconst propTypes = {\n libraryType: PropTypes.string.isRequired,\n onCreateRepo: PropTypes.func.isRequired,\n onCreateToggle: PropTypes.func.isRequired,\n};\n\nclass CreateRepoDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n repoName: '',\n disabled: true,\n encrypt: false,\n password1: '',\n password2: '',\n errMessage: '',\n permission: 'rw',\n storage_id: storages.length ? storages[0].id : '',\n library_template: libraryTemplates.length ? libraryTemplates[0] : '',\n isSubmitBtnActive: false,\n };\n }\n\n handleRepoNameChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({repoName: e.target.value});\n };\n\n handlePassword1Change = (e) => {\n this.setState({password1: e.target.value});\n };\n\n handlePassword2Change = (e) => {\n this.setState({password2: e.target.value});\n };\n\n handleSubmit = () => {\n let isValid = this.validateInputParams();\n if (isValid) {\n let repoData = this.prepareRepoData();\n if (this.props.libraryType === 'department') {\n this.props.onCreateRepo(repoData, 'department');\n return;\n }\n this.props.onCreateRepo(repoData);\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n toggle = () => {\n this.props.onCreateToggle();\n };\n\n validateInputParams() {\n let errMessage = '';\n let repoName = this.state.repoName.trim();\n if (!repoName.length) {\n errMessage = gettext('Name is required');\n this.setState({errMessage: errMessage});\n return false;\n }\n if (repoName.indexOf('/') > -1) {\n errMessage = gettext('Name should not include \\'/\\'.');\n this.setState({errMessage: errMessage});\n return false;\n }\n if (this.state.encrypt) {\n let password1 = this.state.password1.trim();\n let password2 = this.state.password2.trim();\n if (!password1.length) {\n errMessage = gettext('Please enter password');\n this.setState({errMessage: errMessage});\n return false;\n }\n if (!password2.length) {\n errMessage = gettext('Please enter the password again');\n this.setState({errMessage: errMessage});\n return false;\n }\n if (password1.length < repoPasswordMinLength) {\n errMessage = gettext('Password is too short');\n this.setState({errMessage: errMessage});\n return false;\n }\n if (password1 !== password2) {\n errMessage = gettext('Passwords don\\'t match');\n this.setState({errMessage: errMessage});\n return false;\n }\n }\n return true;\n }\n\n onPermissionChange = (e) => {\n let permission = e.target.value;\n this.setState({permission: permission});\n };\n\n handleStorageInputChange = (selectedItem) => {\n this.setState({storage_id: selectedItem.value});\n };\n\n handlelibraryTemplatesInputChange = (selectedItem) => {\n this.setState({library_template: selectedItem.value});\n };\n\n onEncrypted = (e) => {\n let isChecked = e.target.checked;\n this.setState({\n encrypt: isChecked,\n disabled: !isChecked\n });\n };\n\n prepareRepoData = () => {\n let libraryType = this.props.libraryType;\n\n let repoName = this.state.repoName.trim();\n let password = this.state.encrypt ? this.state.password1 : '';\n let permission = this.state.permission;\n\n let repo = null;\n if (libraryType === 'mine' || libraryType === 'public') {\n repo = {\n name: repoName,\n passwd: password\n };\n }\n if (libraryType === 'group') {\n repo = {\n repo_name: repoName,\n password: password,\n permission: permission,\n };\n }\n if (libraryType === 'department') {\n repo = {\n repo_name: repoName,\n passwd: password,\n };\n }\n\n const storage_id = this.state.storage_id;\n if (storage_id) {\n repo.storage_id = storage_id;\n }\n\n const library_template = this.state.library_template;\n if (library_template) {\n repo.library_template = library_template;\n }\n\n return repo;\n };\n\n render() {\n return (\n \n {gettext('New Library')}\n \n
    \n \n \n \n \n\n {libraryTemplates.length > 0 && (\n \n \n { return {value: item, label: item}; })}\n onChange={this.handlelibraryTemplatesInputChange}\n />\n \n )}\n\n {storages.length > 0 && (\n \n \n { return {value: item.id, label: item.name}; })}\n onChange={this.handleStorageInputChange}\n />\n \n )}\n\n {this.props.libraryType === 'group' && (\n \n \n \n \n \n \n \n )}\n {enableEncryptedLibrary &&\n
    \n \n \n \n \n {!this.state.disabled &&\n \n {/* todo translate */}\n {' '}{gettext('(at least {placeholder} characters)').replace('{placeholder}', repoPasswordMinLength)}\n \n \n }\n {!this.state.disabled &&\n \n \n \n \n }\n
    \n }\n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nCreateRepoDialog.propTypes = propTypes;\n\nexport default CreateRepoDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../utils/utils';\nimport { Link, navigate } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../utils/constants';\nimport ModalPortal from '../modal-portal';\nimport CreateRepoDialog from '../dialog/create-repo-dialog';\nimport { DropdownToggle, Dropdown, DropdownMenu, DropdownItem } from 'reactstrap';\n\nconst propTypes = {\n libraryType: PropTypes.string.isRequired,\n onCreateRepo: PropTypes.func.isRequired,\n onShowSidePanel: PropTypes.func.isRequired,\n};\n\nclass RepoViewToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isCreateRepoDialogShow: false,\n isOpen: false,\n };\n }\n\n onCreateRepo = (repo) => {\n this.props.onCreateRepo(repo);\n this.onCreateToggle();\n };\n\n onCreateToggle = () => {\n this.setState({isCreateRepoDialogShow: !this.state.isCreateRepoDialogShow});\n };\n\n toggleMore = () => {\n this.setState({ isOpen: !this.state.isOpen });\n };\n\n onDropdownToggleKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.toggleMore();\n }\n };\n\n visitDeletedviaKey = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n navigate(`${siteRoot}my-libs/deleted/`);\n }\n };\n\n render() {\n return (\n \n
    \n \n {Utils.isDesktop() ? (\n
    \n \n \n \n {gettext('More')}\n \n \n \n {gettext('Deleted Libraries')}\n \n \n \n
    \n ) : (\n \n )}\n
    \n {this.state.isCreateRepoDialogShow && (\n \n \n \n )}\n
    \n );\n }\n}\n\nRepoViewToolbar.propTypes = propTypes;\n\nexport default RepoViewToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Utils } from '../../utils/utils';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport toaster from '../toast';\nimport '../../css/dirent-detail.css';\n\nconst propTypes = {\n currentRepo: PropTypes.object.isRequired,\n closeDetails: PropTypes.func.isRequired,\n};\n\nclass LibDetail extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n fileCount: 0,\n };\n }\n\n componentDidMount() {\n let repo = this.props.currentRepo;\n this.getFileCounts(repo);\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.currentRepo.repo_id !== this.props.currentRepo.repo_id) {\n this.getFileCounts(nextProps.currentRepo);\n }\n }\n\n getFileCounts = (repo) => {\n seafileAPI.getRepoInfo(repo.repo_id).then(res => {\n this.setState({fileCount: res.data.file_count});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let repo = this.props.currentRepo;\n let smallIconUrl = Utils.getLibIconUrl(repo);\n let bigIconUrl = Utils.getLibIconUrl(repo, true);\n\n return (\n
    \n
    \n
    \n
    \n \"\"{' '}\n {repo.repo_name}\n
    \n
    \n
    \n
    \n \"\"\n
    \n
    \n \n \n \n \n \n \n \n \n \n
    {gettext('Files')}{this.state.fileCount}
    {gettext('Size')}{repo.size}
    {gettext('Last Update')}{ moment(repo.last_modified).fromNow()}
    \n
    \n
    \n
    \n );\n }\n}\n\nLibDetail.propTypes = propTypes;\n\nexport default LibDetail;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Label, Input, Alert } from 'reactstrap';\nimport { gettext, enableRepoHistorySetting } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nconst propTypes = {\n itemName: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n};\n\nclass LibHistorySetting extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n keepDays: -1,\n expireDays: 30,\n disabled: true,\n allHistory: true,\n noHistory: false,\n autoHistory: false,\n errorInfo: ''\n };\n }\n\n componentDidMount() {\n seafileAPI.getRepoHistoryLimit(this.props.repoID).then(res => {\n this.setState({\n keepDays: res.data.keep_days,\n allHistory: res.data.keep_days < 0 ? true : false,\n noHistory: res.data.keep_days === 0 ? true : false,\n autoHistory: res.data.keep_days > 0 ? true : false,\n disabled: res.data.keep_days > 0 ? false : true,\n expireDays: res.data.keep_days > 0 ? res.data.keep_days : 30,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n submit = () => {\n let days = this.state.keepDays;\n if (this.state.autoHistory) {\n days = this.state.expireDays;\n }\n let repoID = this.props.repoID;\n let reg = /^-?\\d+$/;\n let flag = reg.test(days);\n if (flag) {\n let message = gettext('Successfully set library history.');\n seafileAPI.setRepoHistoryLimit(repoID, days).then(res => {\n toaster.success(message);\n this.setState({keepDays: res.data.keep_days});\n this.props.toggleDialog();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n this.setState({\n errorInfo: gettext('Please enter a non-negative integer'),\n });\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.submit();\n e.preventDefault();\n }\n };\n\n onChange = (e) => {\n let num = e.target.value;\n this.setState({\n keepDays: num,\n expireDays: num,\n });\n };\n\n setLimitDays = (type) => {\n if (type === 'allHistory') {\n this.setState({\n keepDays: -1,\n disabled: true\n });\n } else if (type === 'noHistory') {\n this.setState({\n keepDays: 0,\n disabled: true\n });\n } else {\n this.setState({\n disabled: false\n });\n }\n\n this.setState({\n allHistory: type === 'allHistory' ? true : false,\n noHistory: type === 'noHistory' ? true : false,\n autoHistory: type === 'autoHistory' ? true : false,\n });\n };\n\n render() {\n const itemName = this.props.itemName;\n return (\n \n \n {itemName}{' '}\n {gettext('History Setting')}\n \n \n
    \n {!enableRepoHistorySetting &&\n \n \n \n }\n \n {this.setLimitDays('allHistory');}}/>{' '}\n \n \n \n {this.setLimitDays('noHistory');}}/>{' '}\n \n \n \n {this.setLimitDays('autoHistory');}}/>{' '}\n \n {' '}\n \n \n {this.state.errorInfo && {this.state.errorInfo}}\n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nLibHistorySetting.propTypes = propTypes;\n\nexport default LibHistorySetting;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Alert } from 'reactstrap';\nimport { gettext, repoPasswordMinLength } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport toaster from '../toast';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n repoName: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass ChangeRepoPasswordDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n oldPassword: '',\n newPassword: '',\n newPasswordAgain: '',\n submitBtnDisabled: false,\n errorMsg: ''\n };\n }\n\n handleOldPasswordInputChange = (e) => {\n this.setState({\n oldPassword: e.target.value\n });\n };\n\n handleNewPasswordInputChange = (e) => {\n this.setState({\n newPassword: e.target.value\n });\n };\n\n handleNewPasswordAgainInputChange = (e) => {\n this.setState({\n newPasswordAgain: e.target.value\n });\n };\n\n formSubmit = (e) => {\n const { oldPassword, newPassword, newPasswordAgain } = this.state;\n if (!oldPassword) {\n this.setState({\n errorMsg: gettext('Please enter the old password')\n });\n return false;\n }\n if (!newPassword) {\n this.setState({\n errorMsg: gettext('Please enter a new password')\n });\n return false;\n }\n if (newPassword.length < repoPasswordMinLength) {\n this.setState({\n errorMsg: gettext('New password is too short')\n });\n return false;\n }\n if (!newPasswordAgain) {\n this.setState({\n errorMsg: gettext('Please enter the new password again')\n });\n return false;\n }\n if (newPassword != newPasswordAgain) {\n this.setState({\n errorMsg: gettext('New passwords don\\'t match')\n });\n return false;\n }\n\n this.setState({\n submitBtnDisabled: true\n });\n seafileAPI.changeEncryptedRepoPassword(this.props.repoID, oldPassword, newPassword)\n .then(() => {\n this.props.toggleDialog();\n toaster.success(gettext('Successfully changed library password.'));\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n errorMsg: errorMsg,\n submitBtnDisabled: false\n });\n });\n };\n\n\n render() {\n const { repoName, toggleDialog } = this.props;\n\n return (\n \n \n \n {Utils.generateDialogTitle(gettext('Change Password of Library {placeholder}'), repoName)}\n \n \n \n
    \n
    \n
    \n {gettext('(at least {placeholder} characters)').replace('{placeholder}', repoPasswordMinLength)}
    \n
    \n
    \n
    \n {this.state.errorMsg && {this.state.errorMsg}}\n
    \n
    \n \n \n \n
    \n );\n }\n}\n\nChangeRepoPasswordDialog.propTypes = propTypes;\n\nexport default ChangeRepoPasswordDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { gettext, contactEmail } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass ResetEncryptedRepoPasswordDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n errMessage: '',\n showLoading: true,\n showSuccess: false,\n showError: false,\n };\n }\n\n componentDidMount() {\n seafileAPI.resetAndSendEncryptedRepoPassword(this.props.repoID).then((res) => {\n this.setState({showLoading: false});\n this.setState({showSuccess: true});\n }).catch((error) => {\n if (error.response) {\n this.setState({\n errMessage: error.response.data.error_msg\n });\n this.setState({showLoading: false});\n this.setState({showError: true});\n }\n });\n }\n\n render() {\n\n let user_email = '' + contactEmail + '';\n let message = gettext('New password has been sent to your email {mail}. Please check your mailbox. If you don’t receive the password, please check if your email address is properly configured.').replace('{mail}', user_email);\n\n return (\n \n \n {gettext('Reset library password')}\n \n \n {this.state.showLoading && (\n {gettext('Sending new password...')}\n )}\n {this.state.showSuccess && (\n
    \n )}\n {this.state.showError && (\n {this.state.errMessage}\n )}\n \n \n );\n }\n}\n\nResetEncryptedRepoPasswordDialog.propTypes = propTypes;\n\nexport default ResetEncryptedRepoPasswordDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport CreatableSelect from 'react-select/creatable';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../loading';\nimport toaster from '../toast';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n repoName: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass LabelRepoStateDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true,\n existingLabels: null,\n errorMsg: '',\n submitBtnDisabled: false\n };\n }\n\n componentDidMount() {\n seafileAPI.getAllRepoSnapshotLabels().then((res) => {\n this.setState({\n isLoading: false,\n existingLabels: res.data,\n errorMsg: ''\n });\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n }\n\n handleInputChange = (value) => {\n this.setState({\n inputValue: value\n });\n };\n\n formSubmit = () => {\n const inputValue = this.state.inputValue;\n\n if (!inputValue || !inputValue.length) { // undefined or []\n this.setState({\n formErrorMsg: gettext('It is required.')\n });\n return;\n }\n\n this.setState({\n submitBtnDisabled: true\n });\n\n const {repoID, repoName} = this.props;\n const labels = inputValue.map((item, index) => item.value).join(',');\n seafileAPI.addNewRepoLabels(repoID, labels).then((res) => {\n const msg = gettext('Successfully added label(s) for library {placeholder}').replace('{placeholder}', repoName);\n toaster.success(msg);\n this.props.toggleDialog();\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n formErrorMsg: errorMsg,\n submitBtnDisabled: false\n });\n });\n };\n\n render() {\n return (\n \n {gettext('Label Current State')}\n \n \n \n {this.state.existingLabels && (\n \n \n \n \n )}\n \n );\n }\n}\n\nclass Content extends React.Component {\n\n render() {\n const { isLoading, errorMsg, existingLabels, formErrorMsg } = this.props.data;\n\n if (isLoading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n return (\n \n { return {label: item, value: item}; })}\n />\n {formErrorMsg &&

    {formErrorMsg}

    }\n
    \n );\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object.isRequired,\n handleChange: PropTypes.func.isRequired,\n};\n\nLabelRepoStateDialog.propTypes = propTypes;\n\nexport default LabelRepoStateDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext, isPro, siteRoot } from '../../utils/constants';\nimport { Button, Input, InputGroup, InputGroupAddon } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport UserSelect from '../user-select';\nimport SharePermissionEditor from '../select-editor/share-permission-editor';\nimport FileChooser from '../file-chooser/file-chooser';\n\nclass UserItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n deleteUserFolderPermission = () => {\n let item = this.props.item;\n this.props.deleteUserFolderPermission(item);\n };\n\n onChangeUserFolderPerm = (permission) => {\n let item = this.props.item;\n this.props.onChangeUserFolderPerm(item.repo_id, permission, item.folder_path, item.user_email);\n };\n\n render() {\n let item = this.props.item;\n let currentPermission = item.permission;\n return (\n \n \n {item.user_name}\n \n {this.props.showPath &&\n \n {item.folder_name}\n \n }\n \n \n \n \n \n \n \n \n );\n }\n}\n\nUserItem.propTypes = {\n item: PropTypes.object.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteUserFolderPermission: PropTypes.func.isRequired,\n onChangeUserFolderPerm: PropTypes.func.isRequired,\n showPath: PropTypes.bool.isRequired,\n repoName: PropTypes.string.isRequired,\n handleChange: PropTypes.func.isRequired,\n};\n\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n isDepartmentRepo: PropTypes.bool,\n folderPath: PropTypes.string.isRequired,\n repoName: PropTypes.string.isRequired,\n};\n\n\nclass LibSubFolderSetUserPermissionDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedUsers: null,\n errorMsg: [],\n permission: 'rw',\n userFolderPermItems: [],\n folderPath: '',\n showFileChooser: false\n };\n if (!isPro) {\n this.permissions = ['r', 'rw'];\n } else {\n this.permissions = ['r', 'rw', 'cloud-edit', 'preview', 'invisible'];\n }\n }\n\n handleUserSelectChange = (option) => {\n this.setState({selectedUsers: option});\n };\n\n componentDidMount() {\n const {repoID, folderPath, isDepartmentRepo} = this.props;\n const request = isDepartmentRepo ?\n seafileAPI.listDepartmentRepoUserFolderPerm(repoID, folderPath) :\n seafileAPI.listUserFolderPerm(repoID, folderPath);\n request.then((res) => {\n if (res.data.length !== 0) {\n this.setState({userFolderPermItems: res.data});\n }\n });\n }\n\n setPermission = (permission) => {\n this.setState({permission: permission});\n };\n\n addUserFolderPerm = () => {\n const { selectedUsers } = this.state;\n const folderPath = this.props.folderPath || this.state.folderPath;\n if (!selectedUsers || !selectedUsers.length || !folderPath) { // selectedUsers: null or []\n return false;\n }\n\n const users = selectedUsers.map((item, index) => item.email);\n\n const request = this.props.isDepartmentRepo ?\n seafileAPI.addDepartmentRepoUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users) :\n seafileAPI.addUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users);\n request.then(res => {\n let errorMsg = [];\n if (res.data.failed.length > 0) {\n for (let i = 0; i < res.data.failed.length; i++) {\n errorMsg[i] = res.data.failed[i];\n }\n }\n this.setState({\n errorMsg: errorMsg,\n userFolderPermItems: this.state.userFolderPermItems.concat(res.data.success),\n selectedUsers: null,\n permission: 'rw',\n folderPath: '',\n });\n this.refs.userSelect.clearSelect();\n }).catch((error) => {\n let errorMsg = '';\n if (error.response) {\n if (error.response.data && error.response.data['error_msg']) {\n errorMsg = error.response.data['error_msg'];\n } else {\n errorMsg = gettext('Error');\n }\n } else {\n errorMsg = gettext('Please check the network.');\n }\n this.setState({\n errorMsg: [errorMsg]\n });\n });\n };\n\n deleteUserFolderPermItem = (item) => {\n const request = this.props.isDepartmentRepo ?\n seafileAPI.deleteDepartmentRepoUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email) :\n seafileAPI.deleteUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email);\n request.then(res => {\n this.setState({\n userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => {\n return deletedItem != item;\n })\n });\n });\n };\n\n onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => {\n const request = this.props.isDepartmentRepo ?\n seafileAPI.updateDepartmentRepoUserFolderPerm(repoID, permission, folderPath, userEmail) :\n seafileAPI.updateUserFolderPerm(repoID, permission, folderPath, userEmail);\n request.then(res => {\n let userFolderPermItems = this.state.userFolderPermItems.map(item => {\n if (item.user_email === userEmail && item.folder_path === folderPath) {\n item.permission = permission;\n }\n return item;\n });\n this.setState({userFolderPermItems: userFolderPermItems});\n });\n };\n\n onSetSubFolder = (e) => {\n this.setState({\n folderPath: e.target.value\n });\n };\n\n toggleFileChooser = () => {\n this.setState({\n showFileChooser: !this.state.showFileChooser,\n folderPath: ''\n });\n };\n\n toggleSubFolder = (repo, path, item) => {\n this.setState({\n folderPath: path,\n });\n };\n\n handleFileChooserSubmit = () => {\n this.setState({\n showFileChooser: !this.state.showFileChooser\n });\n };\n\n onRepoItemClick = () => {\n this.setState({\n folderPath: '/'\n });\n };\n\n render() {\n let showPath = this.props.folderPath ? false : true;\n let { userFolderPermItems } = this.state;\n\n if (this.state.showFileChooser) {\n return (\n
    \n \n
    \n \n \n
    \n
    \n );\n }\n\n const thead = (\n \n \n {gettext('User')}\n {showPath &&\n {gettext('Folder')}\n }\n {gettext('Permission')}\n \n \n \n );\n return (\n \n \n {thead}\n \n \n \n {showPath &&\n \n }\n \n \n \n {this.state.errorMsg.length > 0 &&\n this.state.errorMsg.map((item, index) => {\n let errMessage = '';\n if (item.user_email) {\n errMessage = item.user_email + ': ' + item.error_msg;\n } else {\n errMessage = item;\n }\n return (\n \n \n \n );\n })\n }\n \n
    \n \n \n \n \n \n \n \n \n \n \n

    {errMessage}

    \n
    \n \n {thead}\n \n {userFolderPermItems.map((item, index) => {\n return (\n \n );\n })}\n \n
    \n
    \n
    \n );\n }\n}\n\nLibSubFolderSetUserPermissionDialog.propTypes = propTypes;\n\nexport default LibSubFolderSetUserPermissionDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Input, InputGroup, InputGroupAddon } from 'reactstrap';\nimport { gettext, isPro, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport SharePermissionEditor from '../select-editor/share-permission-editor';\nimport FileChooser from '../file-chooser/file-chooser';\nimport { SeahubSelect, NoGroupMessage } from '../common/select';\n\nclass GroupItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n deleteGroupPermissionItem = () => {\n let item = this.props.item;\n this.props.deleteGroupPermissionItem(item);\n };\n\n onChangeGroupPermission = (permission) => {\n let item = this.props.item;\n this.props.onChangeGroupPermission(item, permission);\n };\n\n render() {\n let item = this.props.item;\n return (\n \n \n {item.group_name}\n \n {this.props.showPath &&\n \n {item.folder_name}\n \n }\n \n \n \n \n \n \n \n \n );\n }\n}\n\nGroupItem.propTypes = {\n item: PropTypes.object.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteUserFolderPermission: PropTypes.func.isRequired,\n onChangeUserFolderPerm: PropTypes.func.isRequired,\n showPath: PropTypes.bool.isRequired,\n repoName: PropTypes.string.isRequired,\n handleChange: PropTypes.func.isRequired,\n deleteGroupPermissionItem: PropTypes.func.isRequired,\n onChangeGroupPermission: PropTypes.func.isRequired,\n};\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n isDepartmentRepo: PropTypes.bool,\n repoName: PropTypes.string,\n folderPath: PropTypes.string,\n};\n\nclass LibSubFolderSerGroupPermissionDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n errorMsg: [],\n permission: 'rw',\n groupPermissionItems: [],\n folderPath: '',\n showFileChooser: false\n };\n this.options = [];\n if (!isPro) {\n this.permissions = ['r', 'rw'];\n } else {\n this.permissions = ['r', 'rw', 'cloud-edit', 'preview', 'invisible'];\n }\n }\n\n handleSelectChange = (option) => {\n this.setState({selectedOption: option});\n };\n\n componentDidMount() {\n this.loadOptions();\n this.listGroupPermissionItems();\n }\n\n loadOptions = () => {\n seafileAPI.shareableGroups().then((res) => {\n this.options = res.data.map((item, index) => {\n return {\n id: item.id,\n label: item.name,\n value: item.name\n };\n });\n });\n };\n\n listGroupPermissionItems = () => {\n const { isDepartmentRepo, repoID, folderPath } = this.props;\n const request = isDepartmentRepo ?\n seafileAPI.listDepartmentRepoGroupFolderPerm(repoID, folderPath) :\n seafileAPI.listGroupFolderPerm(repoID, folderPath);\n request.then((res) => {\n if (res.data.length !== 0) {\n this.setState({\n groupPermissionItems: res.data\n });\n }\n });\n };\n\n setPermission = (permission) => {\n this.setState({permission: permission});\n };\n\n addGroupFolderPerm = () => {\n const { selectedOption } = this.state;\n const folderPath = this.props.folderPath || this.state.folderPath;\n if (!selectedOption || !folderPath) {\n return false;\n }\n\n const request = this.props.isDepartmentRepo ?\n seafileAPI.addDepartmentRepoGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id) :\n seafileAPI.addGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id);\n request.then(res => {\n let errorMsg = [];\n if (res.data.failed.length > 0) {\n for (let i = 0; i < res.data.failed.length; i++) {\n errorMsg[i] = res.data.failed[i];\n }\n }\n\n this.setState({\n errorMsg: errorMsg,\n groupPermissionItems: this.state.groupPermissionItems.concat(res.data.success),\n selectedOption: null,\n permission: 'rw',\n folderPath: ''\n });\n }).catch((error) => {\n let errorMsg = '';\n if (error.response) {\n if (error.response.data && error.response.data['error_msg']) {\n errorMsg = error.response.data['error_msg'];\n } else {\n errorMsg = gettext('Error');\n }\n } else {\n errorMsg = gettext('Please check the network.');\n }\n this.setState({\n errorMsg: [errorMsg]\n });\n });\n };\n\n deleteGroupPermissionItem = (item) => {\n const request = this.props.isDepartmentRepo ?\n seafileAPI.deleteDepartmentRepoGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id) :\n seafileAPI.deleteGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id);\n request.then(() => {\n this.setState({\n groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; })\n });\n });\n };\n\n onChangeGroupPermission = (item, permission) => {\n const request = this.props.isDepartmentRepo ?\n seafileAPI.updateDepartmentRepoGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id) :\n seafileAPI.updateGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id);\n request.then(() => {\n this.updateGroupPermission(item, permission);\n });\n };\n\n updateGroupPermission = (item, permission) => {\n let groupID = item.group_id;\n let groupPermissionItems = this.state.groupPermissionItems.map(sharedItem => {\n let sharedItemGroupID = sharedItem.group_id;\n if (groupID === sharedItemGroupID && item.folder_path === sharedItem.folder_path) {\n sharedItem.permission = permission;\n }\n return sharedItem;\n });\n this.setState({groupPermissionItems: groupPermissionItems});\n };\n\n onSetSubFolder = (e) => {\n this.setState({\n folderPath: e.target.value\n });\n };\n\n toggleFileChooser = () => {\n this.setState({\n showFileChooser: !this.state.showFileChooser,\n folderPath: ''\n });\n };\n\n toggleSubFolder = (repo, path, item) => {\n this.setState({\n folderPath: path,\n });\n };\n\n handleSubmit = () => {\n this.setState({\n showFileChooser: !this.state.showFileChooser\n });\n };\n\n onRepoItemClick = () => {\n this.setState({\n folderPath: '/'\n });\n };\n\n render() {\n let showPath = this.props.folderPath ? false : true;\n\n if (this.state.showFileChooser) {\n return (\n
    \n \n
    \n \n \n
    \n
    \n );\n }\n\n const thead = (\n \n \n {gettext('Group')}\n {showPath &&\n {gettext('Folder')}\n }\n {gettext('Permission')}\n \n \n \n );\n return (\n \n \n {thead}\n \n \n \n {showPath &&\n \n }\n \n \n \n {this.state.errorMsg.length > 0 &&\n this.state.errorMsg.map((item, index) => {\n let errMessage = item.group_id + ': ' + item.error_msg;\n return (\n \n \n \n );\n })\n }\n \n
    \n \n \n \n \n \n \n \n \n \n \n

    {errMessage}

    \n
    \n \n {thead}\n \n {this.state.groupPermissionItems.map((item, index) => {\n return (\n \n );\n })}\n \n
    \n
    \n
    \n );\n }\n}\n\nLibSubFolderSerGroupPermissionDialog.propTypes = propTypes;\n\nexport default LibSubFolderSerGroupPermissionDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport LibSubFolderSetUserPermissionDialog from './lib-sub-folder-set-user-permission-dialog';\nimport LibSubFolderSetGroupPermissionDialog from './lib-sub-folder-set-group-permission-dialog';\nimport '../../css/share-link-dialog.css';\nimport '../../css/sub-folder-permission.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n repoName: PropTypes.string,\n isDepartmentRepo: PropTypes.bool,\n folderPath: PropTypes.string,\n folderName: PropTypes.string,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass LibSubFolderPermissionDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeTab: 'userPermission'\n };\n }\n\n toggle = (tab) => {\n if (this.state.activeTab !== tab) {\n this.setState({activeTab: tab});\n }\n };\n\n renderContent = () => {\n const activeTab = this.state.activeTab;\n\n return (\n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n );\n };\n\n render() {\n const { repoName, folderName } = this.props;\n return (\n
    \n \n \n {repoName ? Utils.generateDialogTitle(gettext('{placeholder} Folder Permission'), repoName) : Utils.generateDialogTitle(gettext('Set {placeholder}\\'s permission'), folderName)}\n \n \n {this.renderContent()}\n \n \n
    \n );\n }\n}\n\nLibSubFolderPermissionDialog.propTypes = propTypes;\n\nexport default LibSubFolderPermissionDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { gettext, isPro, folderPermEnabled, enableRepoSnapshotLabel, enableResetEncryptedRepoPassword, isEmailConfigured, enableRepoAutoDel } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n isPC: PropTypes.bool,\n repo: PropTypes.object.isRequired,\n isStarred: PropTypes.bool,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onMenuItemClick: PropTypes.func.isRequired,\n};\n\nclass MylibRepoMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemMenuShow: false,\n isAdvancedMenuShown: false\n };\n }\n\n onMenuItemClick = (e) => {\n let operation = Utils.getEventData(e, 'toggle');\n this.props.onMenuItemClick(operation);\n };\n\n onMenuItemKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.onMenuItemClick(e);\n }\n };\n\n onDropdownToggleClick = (e) => {\n this.toggleOperationMenu(e);\n };\n\n onDropdownToggleKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.onDropdownToggleClick(e);\n }\n };\n\n toggleOperationMenu = (e) => {\n let dataset = e.target ? e.target.dataset : null;\n if (dataset && dataset.toggle && dataset.toggle === 'Rename') {\n this.setState({isItemMenuShow: !this.state.isItemMenuShow});\n return;\n }\n\n this.setState(\n {isItemMenuShow: !this.state.isItemMenuShow},\n () => {\n if (this.state.isItemMenuShow) {\n this.props.onFreezedItem();\n } else {\n this.props.onUnfreezedItem();\n }\n }\n );\n };\n\n toggleAdvancedMenuShown = (e) => {\n this.setState({ isAdvancedMenuShown: true });\n };\n\n toggleAdvancedMenu = (e) => {\n e.stopPropagation();\n this.setState({ isAdvancedMenuShown: !this.state.isAdvancedMenuShown }, () => {\n this.toggleOperationMenu(e);\n });\n };\n\n onDropDownMouseMove = (e) => {\n if (this.state.isAdvancedMenuShown && e.target && e.target.className === 'dropdown-item') {\n this.setState({\n isAdvancedMenuShown: false\n });\n }\n };\n\n generatorOperations = () => {\n let repo = this.props.repo;\n let showResetPasswordMenuItem = isPro && repo.encrypted && enableResetEncryptedRepoPassword && isEmailConfigured;\n let operations = ['Rename', 'Transfer'];\n if (folderPermEnabled) {\n operations.push('Folder Permission');\n }\n operations.push('Share Admin', 'Divider');\n\n if (repo.encrypted) {\n operations.push('Change Password');\n }\n if (showResetPasswordMenuItem) {\n operations.push('Reset Password');\n }\n\n if (isPro) {\n const monitorOp = repo.monitored ? 'Unwatch File Changes' : 'Watch File Changes';\n operations.push(monitorOp);\n }\n\n operations.push('Divider', 'History Setting', 'Advanced');\n return operations;\n };\n\n getAdvancedOperations = () => {\n const operations = [];\n operations.push('API Token');\n if (this.props.isPC && enableRepoSnapshotLabel) {\n operations.push('Label Current State');\n }\n if (enableRepoAutoDel) {\n operations.push('Old Files Auto Delete');\n }\n return operations;\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Star':\n translateResult = gettext('Star');\n break;\n case 'Unstar':\n translateResult = gettext('Unstar');\n break;\n case 'Share':\n translateResult = gettext('Share');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Rename':\n translateResult = gettext('Rename');\n break;\n case 'Transfer':\n translateResult = gettext('Transfer');\n break;\n case 'History Setting':\n translateResult = gettext('History Setting');\n break;\n case 'Change Password':\n translateResult = gettext('Change Password');\n break;\n case 'Reset Password':\n translateResult = gettext('Reset Password');\n break;\n case 'Watch File Changes':\n translateResult = gettext('Watch File Changes');\n break;\n case 'Unwatch File Changes':\n translateResult = gettext('Unwatch File Changes');\n break;\n case 'Folder Permission':\n translateResult = gettext('Folder Permission');\n break;\n case 'Label Current State':\n translateResult = gettext('Label Current State');\n break;\n case 'API Token':\n translateResult = 'API Token'; // translation is not needed here\n break;\n case 'Share Admin':\n translateResult = gettext('Share Admin');\n break;\n case 'Old Files Auto Delete':\n translateResult = gettext('Auto Deletion Setting');\n break;\n case 'Advanced':\n translateResult = gettext('Advanced');\n break;\n default:\n break;\n }\n\n return translateResult;\n };\n\n render() {\n let operations = this.generatorOperations();\n const advancedOperations = this.getAdvancedOperations();\n\n // pc menu\n if (this.props.isPC) {\n return (\n \n \n \n {operations.map((item, index)=> {\n if (item == 'Divider') {\n return ;\n } else if (item == 'Advanced') {\n return (\n {e.stopPropagation();}}\n >\n \n {this.translateOperations(item)}\n \n \n {advancedOperations.map((item, index)=> {\n return ({this.translateOperations(item)});\n })}\n \n \n );\n } else {\n return ({this.translateOperations(item)});\n }\n })}\n \n \n );\n }\n\n // mobile menu\n operations.pop(); // removed the last item 'Advanced'\n operations.unshift('Delete');\n operations.unshift('Share');\n this.props.isStarred ? operations.unshift('Unstar') : operations.unshift('Star');\n\n return (\n \n \n
    \n
    \n
    \n {operations.map((item, index) => {\n if (item != 'Divider') {\n return ({this.translateOperations(item)});\n }\n return null;\n })}\n
    \n
    \n
    \n );\n }\n}\n\nMylibRepoMenu.propTypes = propTypes;\n\nexport default MylibRepoMenu;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport OpIcon from '../op-icon';\nimport { SeahubSelect } from '../common/select';\n\nconst propTypes = {\n isTextMode: PropTypes.bool.isRequired,\n isEditIconShow: PropTypes.bool.isRequired,\n currentPermission: PropTypes.string.isRequired,\n onPermissionChanged: PropTypes.func.isRequired,\n};\n\nclass RepoAPITokenPermissionEditor extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isEditing: false,\n };\n this.options = [\n { value: 'rw', label:
    {gettext('Read-Write')}
    },\n { value: 'r', label:
    {gettext('Read-Only')}
    }\n ];\n }\n\n componentDidMount() {\n document.addEventListener('click', this.onHideSelect);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.onHideSelect);\n }\n\n onHideSelect = () => {\n this.setState({ isEditing: false });\n };\n\n onEditPermission = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.setState({ isEditing: true });\n };\n\n onPermissionChanged = (e) => {\n if (e.value !== this.props.currentPermission) {\n this.props.onPermissionChanged(e.value);\n }\n this.setState({ isEditing: false });\n };\n\n onSelectHandler = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n };\n\n render() {\n const { currentPermission, isTextMode } = this.props;\n let optionTranslation = currentPermission === 'rw' ? gettext('Read-Write') : gettext('Read-Only');\n return (\n
    \n {(isTextMode && !this.state.isEditing) ?\n \n {optionTranslation}\n {this.props.isEditIconShow &&\n \n }\n \n :\n \n }\n
    \n );\n }\n}\n\nRepoAPITokenPermissionEditor.propTypes = propTypes;\n\nexport default RepoAPITokenPermissionEditor;\n","import React, {Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport {gettext} from '../../utils/constants';\nimport {Modal, ModalHeader, ModalBody, Button, Input} from 'reactstrap';\nimport RepoAPITokenPermissionEditor from '../select-editor/repo-api-token-permission-editor';\nimport {seafileAPI} from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\nimport copy from 'copy-to-clipboard';\nimport Loading from '../loading';\nimport OpIcon from '../op-icon';\n\nconst apiTokenItemPropTypes = {\n item: PropTypes.object.isRequired,\n deleteAPIToken: PropTypes.func.isRequired,\n updateAPIToken: PropTypes.func.isRequired,\n};\n\nclass APITokenItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false,\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n onDeleteAPIToken = () => {\n this.props.deleteAPIToken(this.props.item.app_name);\n };\n\n onUpdateAPIToken = (permission) => {\n this.props.updateAPIToken(this.props.item.app_name, permission);\n };\n\n onCopyAPIToken = () => {\n let api_token = this.props.item.api_token;\n copy(api_token);\n toaster.success(gettext('API token is copied to the clipboard.'));\n };\n\n render() {\n let item = this.props.item;\n\n return (\n \n {item.app_name}\n \n \n \n \n {item.api_token}\n {this.state.isOperationShow &&\n \n }\n \n \n \n \n \n );\n }\n}\n\nAPITokenItem.propTypes = apiTokenItemPropTypes;\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n onRepoAPITokenToggle: PropTypes.func.isRequired,\n};\n\nclass RepoAPITokenDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n apiTokenList: [],\n permission: 'rw',\n appName: '',\n errorMsg: '',\n loading: true,\n isSubmitBtnActive: true,\n };\n this.repo = this.props.repo;\n }\n\n listAPITokens = () => {\n seafileAPI.listRepoAPITokens(this.repo.repo_id).then((res) => {\n this.setState({\n apiTokenList: res.data.repo_api_tokens,\n loading: false,\n });\n }).catch(error => {\n if (error.response.status === 403) {\n this.setState({\n errorMsg: gettext('Permission denied'),\n });\n } else {\n this.handleError(error);\n }\n });\n };\n\n onInputChange = (e) => {\n let appName = e.target.value;\n this.setState({\n appName: appName,\n });\n };\n\n onKeyDown = (e) => {\n if (e.keyCode === 13) {\n e.preventDefault();\n this.addAPIToken();\n }\n };\n\n setPermission = (permission) => {\n this.setState({permission: permission});\n };\n\n addAPIToken = () => {\n if (!this.state.appName) {\n return;\n }\n\n this.setState({\n isSubmitBtnActive: false,\n });\n const {appName, permission, apiTokenList} = this.state;\n\n seafileAPI.addRepoAPIToken(this.repo.repo_id, appName, permission).then((res) => {\n apiTokenList.push(res.data);\n this.setState({\n apiTokenList: apiTokenList,\n isSubmitBtnActive: true,\n });\n }).catch(error => {\n this.handleError(error);\n this.setState({\n isSubmitBtnActive: true,\n });\n });\n };\n\n deleteAPIToken = (appName) => {\n seafileAPI.deleteRepoAPIToken(this.repo.repo_id, appName).then((res) => {\n const apiTokenList = this.state.apiTokenList.filter(item => {\n return item.app_name !== appName;\n });\n this.setState({\n apiTokenList: apiTokenList,\n });\n }).catch(error => {\n this.handleError(error);\n });\n };\n\n updateAPIToken = (appName, permission) => {\n seafileAPI.updateRepoAPIToken(this.repo.repo_id, appName, permission).then((res) => {\n let apiTokenList = this.state.apiTokenList.filter(item => {\n if (item.app_name === appName) {\n item.permission = permission;\n }\n return item;\n });\n this.setState({\n apiTokenList: apiTokenList,\n });\n }).catch(error => {\n this.handleError(error);\n });\n };\n\n handleError = (e) => {\n if (e.response) {\n toaster.danger(e.response.data.error_msg || e.response.data.detail || gettext('Error'), {duration: 3});\n } else {\n toaster.danger(gettext('Please check the network.'), {duration: 3});\n }\n };\n\n componentDidMount() {\n this.listAPITokens();\n }\n\n renderContent = () => {\n const renderAPITokenList = this.state.apiTokenList.map((item, index) => {\n return (\n \n );\n });\n\n const thead = (\n \n \n {gettext('App Name')}\n {gettext('Permission')}\n API Token\n \n \n \n );\n return (\n \n {this.state.errorMsg &&\n

    {this.state.errorMsg}

    \n }\n {!this.state.errorMsg &&\n \n \n {thead}\n \n \n \n \n \n \n \n \n
    \n \n \n \n --\n \n
    \n
    \n {this.state.apiTokenList.length !== 0 &&\n \n {thead}\n \n {renderAPITokenList}\n \n
    \n }\n
    \n {this.state.loading && }\n
    \n }\n
    \n );\n };\n\n render() {\n let repo = this.repo;\n\n const itemName = '' + Utils.HTMLescape(repo.repo_name) + '';\n const title = gettext('{placeholder} API Token').replace('{placeholder}', itemName);\n return (\n \n \n

    \n
    \n \n
    \n {this.renderContent()}\n
    \n
    \n \n );\n }\n}\n\nRepoAPITokenDialog.propTypes = propTypes;\n\nexport default RepoAPITokenDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\n\nconst itemPropTypes = {\n item: PropTypes.object.isRequired,\n deleteItem: PropTypes.func.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n onDeleteLink = (e) => {\n e.preventDefault();\n this.props.deleteItem(this.props.item);\n };\n\n render() {\n let objUrl;\n let item = this.props.item;\n let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1);\n\n if (item.is_dir) {\n objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`;\n } else {\n objUrl = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`;\n }\n\n return (\n \n {item.creator_name}\n \n {item.is_dir ?\n {item.obj_name}\n :\n {item.obj_name}\n }\n \n \n {item.link}\n \n \n \n \n \n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n};\n\nclass RepoShareAdminShareLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepoShareLinks(this.props.repo.repo_id).then((res) => {\n this.setState({\n loading: false,\n items: res.data,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteItem = (item) => {\n seafileAPI.deleteRepoShareLink(this.props.repo.repo_id, item.token).then(() => {\n let items = this.state.items.filter(linkItem => {\n return linkItem.token !== item.token;\n });\n this.setState({items: items});\n let message = gettext('Successfully deleted 1 item');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg, items } = this.state;\n return (\n \n {loading && }\n {!loading && errorMsg &&

    {errorMsg}

    }\n {!loading && !errorMsg && !items.length &&\n \n

    {gettext('No share links')}

    \n
    \n }\n {!loading && !errorMsg && items.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Creator')}{gettext('Name')}{gettext('Link')}
    \n }\n
    \n );\n }\n}\n\nRepoShareAdminShareLinks.propTypes = propTypes;\n\nexport default RepoShareAdminShareLinks;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\n\nconst itemPropTypes = {\n item: PropTypes.object.isRequired,\n deleteItem: PropTypes.func.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n onDeleteLink = (e) => {\n e.preventDefault();\n this.props.deleteItem(this.props.item);\n };\n\n render() {\n let item = this.props.item;\n let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1);\n let objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`;\n\n return (\n \n {item.creator_name}\n \n {item.obj_name}\n \n \n {item.link}\n \n \n \n \n \n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n};\n\nclass RepoShareAdminUploadLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepoUploadLinks(this.props.repo.repo_id).then((res) => {\n this.setState({\n loading: false,\n items: res.data,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteItem = (item) => {\n seafileAPI.deleteRepoUploadLink(this.props.repo.repo_id, item.token).then(() => {\n let items = this.state.items.filter(linkItem => {\n return linkItem.token !== item.token;\n });\n this.setState({items: items});\n let message = gettext('Successfully deleted 1 item');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg, items } = this.state;\n return (\n \n {loading && }\n {!loading && errorMsg &&

    {errorMsg}

    }\n {!loading && !errorMsg && !items.length &&\n \n

    {gettext('No upload links')}

    \n
    \n }\n {!loading && !errorMsg && items.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Creator')}{gettext('Name')}{gettext('Link')}
    \n }\n
    \n );\n }\n}\n\nRepoShareAdminUploadLinks.propTypes = propTypes;\n\nexport default RepoShareAdminUploadLinks;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot, isPro, username } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport SharePermissionEditor from '../../../components/select-editor/share-permission-editor';\n\nconst itemPropTypes = {\n item: PropTypes.object.isRequired,\n deleteItem: PropTypes.func.isRequired,\n isRepoOwner: PropTypes.bool.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n permission: this.props.item.permission,\n isOperationShow: false,\n isShowPermEditor: false,\n };\n this.permissions = ['rw', 'r'];\n if (isPro) {\n if (this.props.item.path === '/' && this.props.isRepoOwner) {\n this.permissions.push('admin');\n }\n this.permissions.push('cloud-edit', 'preview');\n }\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n onDeleteLink = (e) => {\n e.preventDefault();\n this.props.deleteItem(this.props.item);\n };\n\n changePerm = (permission) => {\n const item = this.props.item;\n seafileAPI.updateShareToUserItemPermission(item.repo_id, item.path, 'user', item.share_to, permission).then(() => {\n this.setState({\n permission: permission,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onEditPermission = (event) => {\n event.nativeEvent.stopImmediatePropagation();\n this.setState({isShowPermEditor: true});\n };\n\n render() {\n\n let objUrl;\n let item = this.props.item;\n let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1);\n\n objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`;\n\n return (\n \n \n {Utils.getFolderName(item.path)}\n \n {item.share_to_name}\n \n {!this.state.isShowPermEditor && (\n
    \n {item.permission_name || Utils.sharePerms(this.state.permission)}\n {this.state.isOperationShow && (\n \n \n )}\n
    \n )}\n {this.state.isShowPermEditor && (\n \n )}\n \n \n \n \n \n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n};\n\nclass RepoShareAdminUserShares extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n };\n }\n\n componentDidMount() {\n seafileAPI.getAllRepoFolderShareInfo(this.props.repo.repo_id, 'user').then((res) => {\n this.setState({\n loading: false,\n items: res.data.share_info_list,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteItem = (item) => {\n seafileAPI.deleteShareToUserItem(item.repo_id, item.path, 'user', item.share_to).then(res => {\n let items = this.state.items.filter(shareItem => {\n return shareItem.path + shareItem.share_to !== item.path + item.share_to;\n });\n this.setState({items: items});\n let message = gettext('Successfully deleted 1 item');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg, items } = this.state;\n const { repo } = this.props;\n const isRepoOwner = repo.owner_email === username;\n return (\n \n {loading && }\n {!loading && errorMsg &&

    {errorMsg}

    }\n {!loading && !errorMsg && !items.length &&\n \n

    {gettext('No user shares')}

    \n
    \n }\n {!loading && !errorMsg && items.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Name')}{gettext('User')}{gettext('Permission')}
    \n }\n
    \n );\n }\n}\n\nRepoShareAdminUserShares.propTypes = propTypes;\n\nexport default RepoShareAdminUserShares;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot, isPro, username } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport SharePermissionEditor from '../../../components/select-editor/share-permission-editor';\n\nconst itemPropTypes = {\n item: PropTypes.object.isRequired,\n deleteItem: PropTypes.func.isRequired,\n isRepoOwner: PropTypes.bool.isRequired\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n permission: this.props.item.permission,\n isOperationShow: false,\n isShowPermEditor: false,\n };\n this.permissions = ['rw', 'r'];\n if (isPro) {\n if (this.props.item.path === '/' && this.props.isRepoOwner) {\n this.permissions.push('admin');\n }\n this.permissions.push('cloud-edit', 'preview');\n }\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n onDeleteLink = (e) => {\n e.preventDefault();\n this.props.deleteItem(this.props.item);\n };\n\n changePerm = (permission) => {\n const item = this.props.item;\n seafileAPI.updateShareToGroupItemPermission(item.repo_id, item.path, 'group', item.share_to, permission).then(() => {\n this.setState({\n permission: permission,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onEditPermission = (event) => {\n event.nativeEvent.stopImmediatePropagation();\n this.setState({isShowPermEditor: true});\n };\n\n render() {\n\n let objUrl;\n let item = this.props.item;\n let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1);\n\n objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`;\n\n return (\n \n \n {Utils.getFolderName(item.path)}\n \n {item.share_to_name}\n \n {!this.state.isShowPermEditor && (\n
    \n {item.permission_name || Utils.sharePerms(this.state.permission)}\n {this.state.isOperationShow && (\n \n \n )}\n
    \n )}\n {this.state.isShowPermEditor && (\n \n )}\n \n \n \n \n \n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n};\n\nclass RepoShareAdminGroupShares extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n };\n }\n\n componentDidMount() {\n seafileAPI.getAllRepoFolderShareInfo(this.props.repo.repo_id, 'group').then((res) => {\n this.setState({\n loading: false,\n items: res.data.share_info_list,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteItem = (item) => {\n seafileAPI.deleteShareToGroupItem(item.repo_id, item.path, 'group', item.share_to).then(res => {\n let items = this.state.items.filter(shareItem => {\n return shareItem.path + shareItem.share_to !== item.path + item.share_to;\n });\n this.setState({items: items});\n let message = gettext('Successfully deleted 1 item');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg, items } = this.state;\n const { repo } = this.props;\n const isRepoOwner = repo.owner_email === username;\n return (\n \n {loading && }\n {!loading && errorMsg &&

    {errorMsg}

    }\n {!loading && !errorMsg && !items.length &&\n \n

    {gettext('No group shares')}

    \n
    \n }\n {!loading && !errorMsg && items.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Name')}{gettext('Group')}{gettext('Permission')}
    \n }\n
    \n );\n }\n}\n\nRepoShareAdminGroupShares.propTypes = propTypes;\n\nexport default RepoShareAdminGroupShares;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\nimport { gettext, canGenerateShareLink, canGenerateUploadLink } from '../../utils/constants';\nimport RepoShareAdminShareLinks from './repo-share-admin/share-links';\nimport RepoShareAdminUploadLinks from './repo-share-admin/upload-links';\nimport RepoShareAdminUserShares from './repo-share-admin/user-shares';\nimport RepoShareAdminGroupShares from './repo-share-admin/group-shares';\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass RepoShareAdminDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.enableShareLink = !this.props.repo.encrypted && canGenerateShareLink;\n this.enableUploadLink = !this.props.repo.encrypted && canGenerateUploadLink;\n this.state = {\n activeTab: this.getInitialActiveTab()\n };\n }\n\n getInitialActiveTab = () => {\n if (this.enableShareLink) {\n return 'shareLink';\n } else if (this.enableUploadLink) {\n return 'uploadLink';\n } else {\n return 'shareToUser';\n }\n };\n\n toggle = (tab) => {\n if (this.state.activeTab !== tab) {\n this.setState({ activeTab: tab });\n }\n };\n\n onTabKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n e.target.click();\n }\n };\n\n render() {\n const { activeTab } = this.state;\n const { repo_name: repoName } = this.props.repo;\n\n return (\n
    \n \n \n {repoName} {gettext('Share Admin')}\n \n \n \n
    \n \n
    \n
    \n \n {(this.enableShareLink && activeTab === 'shareLink') &&\n \n \n \n }\n {(this.enableUploadLink && activeTab === 'uploadLink') &&\n \n \n \n }\n {activeTab === 'shareToUser' &&\n \n \n \n }\n {activeTab === 'shareToGroup' &&\n \n \n \n }\n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nRepoShareAdminDialog.propTypes = propTypes;\n\nexport default RepoShareAdminDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Label, Input, Alert } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nconst propTypes = {\n toggleDialog: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n};\n\nclass LibOldFilesAutoDelDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n autoDelDays: 0,\n isAutoDel: false,\n errorInfo: '',\n };\n }\n\n componentDidMount() {\n seafileAPI.getRepoOldFilesAutoDelDays(this.props.repoID).then(res => {\n this.setState({\n autoDelDays: res.data.auto_delete_days,\n isAutoDel: res.data.auto_delete_days > 0,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n submit = () => {\n let daysNeedTobeSet;\n\n if (this.state.isAutoDel) {\n daysNeedTobeSet = this.state.autoDelDays;\n\n let reg = /^-?\\d+$/;\n let isvalid_days = reg.test(daysNeedTobeSet);\n if (!isvalid_days || daysNeedTobeSet <= 0) {\n this.setState({\n errorInfo: gettext('Please enter a positive integer'),\n });\n return;\n }\n\n } else {\n daysNeedTobeSet = 0; // if no auto del, give 0 to server\n }\n\n\n let repoID = this.props.repoID;\n\n seafileAPI.setRepoOldFilesAutoDelDays(repoID, daysNeedTobeSet).then(res => {\n this.props.toggleDialog();\n toaster.success(gettext('Successfully set it.'));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.submit();\n e.preventDefault();\n }\n };\n\n onChange = (e) => {\n let days = e.target.value;\n this.setState({\n autoDelDays: days,\n });\n };\n\n updateRadioCheck = (type) => {\n if (type === 'noAutoDel') {\n this.setState({\n isAutoDel: false,\n });\n } else if (type === 'autoDel') {\n this.setState({\n isAutoDel: true,\n });\n }\n };\n\n render() {\n return (\n \n \n {gettext('Auto deletion')}\n \n \n
    \n \n {this.updateRadioCheck('noAutoDel');}}/>{' '}\n \n \n \n {this.updateRadioCheck('autoDel');}}/>{' '}\n \n {' '}\n \n \n {this.state.errorInfo && {this.state.errorInfo}}\n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nLibOldFilesAutoDelDialog.propTypes = propTypes;\n\nexport default LibOldFilesAutoDelDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport moment from 'moment';\nimport { Link, navigate } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, siteRoot, storages } from '../../utils/constants';\nimport ModalPortal from '../../components/modal-portal';\nimport ShareDialog from '../../components/dialog/share-dialog';\nimport toaster from '../../components/toast';\nimport DeleteRepoDialog from '../../components/dialog/delete-repo-dialog';\nimport TransferDialog from '../../components/dialog/transfer-dialog';\nimport LibHistorySettingDialog from '../../components/dialog/lib-history-setting-dialog';\nimport ChangeRepoPasswordDialog from '../../components/dialog/change-repo-password-dialog';\nimport ResetEncryptedRepoPasswordDialog from '../../components/dialog/reset-encrypted-repo-password-dialog';\nimport LabelRepoStateDialog from '../../components/dialog/label-repo-state-dialog';\nimport LibSubFolderPermissionDialog from '../../components/dialog/lib-sub-folder-permission-dialog';\nimport Rename from '../../components/rename';\nimport MylibRepoMenu from './mylib-repo-menu';\nimport RepoAPITokenDialog from '../../components/dialog/repo-api-token-dialog';\nimport RepoShareAdminDialog from '../../components/dialog/repo-share-admin-dialog';\nimport LibOldFilesAutoDelDialog from '../../components/dialog/lib-old-files-auto-del-dialog';\nimport RepoMonitoredIcon from '../../components/repo-monitored-icon';\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onRenameRepo: PropTypes.func.isRequired,\n onDeleteRepo: PropTypes.func.isRequired,\n onTransferRepo: PropTypes.func.isRequired,\n onRepoClick: PropTypes.func.isRequired,\n onMonitorRepo: PropTypes.func.isRequired,\n};\n\nclass MylibRepoListItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShow: false,\n isStarred: this.props.repo.starred,\n isRenaming: false,\n isShareDialogShow: false,\n isDeleteDialogShow: false,\n isTransferDialogShow: false,\n isHistorySettingDialogShow: false,\n isChangePasswordDialogShow: false,\n isResetPasswordDialogShow: false,\n isLabelRepoStateDialogOpen: false,\n isFolderPermissionDialogShow: false,\n isAPITokenDialogShow: false,\n isRepoShareAdminDialogOpen: false,\n isRepoDeleted: false,\n isOldFilesAutoDelDialogOpen: false,\n };\n }\n\n onFocus = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShow: true\n });\n }\n };\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShow: true,\n highlight: true,\n });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShow: false,\n highlight: false\n });\n }\n };\n\n onMenuItemClick = (item) => {\n switch(item) {\n case 'Star':\n case 'Unstar':\n this.onToggleStarRepo();\n break;\n case 'Share':\n this.onShareToggle();\n break;\n case 'Delete':\n this.onDeleteToggle();\n break;\n case 'Rename':\n this.onRenameToggle();\n break;\n case 'Transfer':\n this.onTransferToggle();\n break;\n case 'History Setting':\n this.onHistorySettingToggle();\n break;\n case 'Change Password':\n this.onChangePasswordToggle();\n break;\n case 'Reset Password':\n this.onResetPasswordToggle();\n break;\n case 'Watch File Changes':\n this.watchFileChanges();\n break;\n case 'Unwatch File Changes':\n this.unwatchFileChanges();\n break;\n case 'Folder Permission':\n this.onFolderPermissionToggle();\n break;\n case 'Label Current State':\n this.onLabelToggle();\n break;\n case 'API Token':\n this.onAPITokenToggle();\n break;\n case 'Share Admin':\n this.toggleRepoShareAdminDialog();\n break;\n case 'Old Files Auto Delete':\n this.toggleOldFilesAutoDelDialog();\n break;\n default:\n break;\n }\n };\n\n visitRepo = () => {\n if (!this.state.isRenaming && this.props.repo.repo_name) {\n navigate(this.repoURL);\n }\n };\n\n onRepoClick = () => {\n this.props.onRepoClick(this.props.repo);\n };\n\n onToggleStarRepo = (e) => {\n e.preventDefault();\n const repoName = this.props.repo.repo_name;\n if (this.state.isStarred) {\n seafileAPI.unstarItem(this.props.repo.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully unstarred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.starItem(this.props.repo.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully starred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n watchFileChanges = () => {\n const { repo } = this.props;\n seafileAPI.monitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unwatchFileChanges = () => {\n const { repo } = this.props;\n seafileAPI.unMonitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onShareToggle = (e) => {\n // when close share dialog after send share link email,\n // there is no event\n if (e != undefined) {\n e.preventDefault();\n }\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n onDeleteToggle = (e) => {\n e.preventDefault();\n this.setState({isDeleteDialogShow: !this.state.isDeleteDialogShow});\n };\n\n onRenameToggle = () => {\n this.props.onFreezedItem();\n this.setState({isRenaming: !this.state.isRenaming});\n };\n\n onTransferToggle = () => {\n this.setState({isTransferDialogShow: !this.state.isTransferDialogShow});\n };\n\n onHistorySettingToggle = () => {\n this.setState({isHistorySettingDialogShow: !this.state.isHistorySettingDialogShow});\n };\n\n onChangePasswordToggle = () => {\n this.setState({isChangePasswordDialogShow: !this.state.isChangePasswordDialogShow});\n };\n\n onResetPasswordToggle = () => {\n this.setState({isResetPasswordDialogShow: !this.state.isResetPasswordDialogShow});\n };\n\n onLabelToggle = () => {\n this.setState({isLabelRepoStateDialogOpen: !this.state.isLabelRepoStateDialogOpen});\n };\n\n onFolderPermissionToggle = () => {\n this.setState({isFolderPermissionDialogShow: !this.state.isFolderPermissionDialogShow});\n };\n\n onAPITokenToggle = () => {\n this.setState({isAPITokenDialogShow: !this.state.isAPITokenDialogShow});\n };\n\n toggleRepoShareAdminDialog = () => {\n this.setState({isRepoShareAdminDialogOpen: !this.state.isRepoShareAdminDialogOpen});\n };\n\n toggleOldFilesAutoDelDialog = () => {\n this.setState({isOldFilesAutoDelDialogOpen: !this.state.isOldFilesAutoDelDialogOpen});\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false,\n });\n this.props.onUnfreezedItem();\n };\n\n onRenameConfirm = (newName) => {\n let repo = this.props.repo;\n let repoID = repo.repo_id;\n seafileAPI.renameRepo(repoID, newName).then(() => {\n this.props.onRenameRepo(repo, newName);\n this.onRenameCancel();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onRenameCancel = () => {\n this.props.onUnfreezedItem();\n this.setState({isRenaming: !this.state.isRenaming});\n };\n\n onTransferRepo = (user) => {\n let repoID = this.props.repo.repo_id;\n seafileAPI.transferRepo(repoID, user.email).then(res => {\n this.props.onTransferRepo(repoID);\n let message = gettext('Successfully transferred the library.');\n toaster.success(message);\n }).catch(error => {\n if (error.response){\n toaster.danger(error.response.data.error_msg || gettext('Error'), {duration: 3});\n } else {\n toaster.danger(gettext('Failed. Please check the network.'), {duration: 3});\n }\n });\n this.onTransferToggle();\n };\n\n onDeleteRepo = (repo) => {\n seafileAPI.deleteRepo(repo.repo_id).then((res) => {\n\n this.setState({\n isRepoDeleted: true,\n isDeleteDialogShow: false,\n });\n\n this.props.onDeleteRepo(repo);\n let name = repo.repo_name;\n var msg = gettext('Successfully deleted {name}.').replace('{name}', name);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = repo.repo_name;\n errMessage = gettext('Failed to delete {name}.').replace('{name}', name);\n }\n toaster.danger(errMessage);\n\n this.setState({isRepoDeleted: false});\n });\n };\n\n renderPCUI = () => {\n let repo = this.props.repo;\n let iconUrl = Utils.getLibIconUrl(repo);\n let iconTitle = Utils.getLibIconTitle(repo);\n let repoURL = `${siteRoot}library/${repo.repo_id}/${Utils.encodePath(repo.repo_name)}/`;\n return (\n \n \n \n \n \n \n {iconTitle}\n \n {this.state.isRenaming && (\n \n )}\n {!this.state.isRenaming && repo.repo_name && (\n \n {repo.repo_name}\n {repo.monitored && }\n \n )}\n {!this.state.isRenaming && !repo.repo_name &&\n (gettext('Broken (please contact your administrator to fix this library)'))\n }\n \n \n {(repo.repo_name && this.state.isOpIconShow) && (\n
    \n \n \n \n
    \n )}\n \n {repo.size}\n {storages.length > 0 && {repo.storage_name}}\n {moment(repo.last_modified).fromNow()}\n \n );\n };\n\n renderMobileUI = () => {\n let repo = this.props.repo;\n let iconUrl = Utils.getLibIconUrl(repo);\n let iconTitle = Utils.getLibIconTitle(repo);\n let repoURL = this.repoURL = `${siteRoot}library/${repo.repo_id}/${Utils.encodePath(repo.repo_name)}/`;\n\n return (\n \n {iconTitle}\n \n {this.state.isRenaming && (\n \n )}\n {!this.state.isRenaming && repo.repo_name && (\n
    \n {repo.repo_name}\n {repo.monitored && }\n
    \n )}\n {!this.state.isRenaming && !repo.repo_name &&\n
    (gettext('Broken (please contact your administrator to fix this library)'))
    \n }\n {repo.size}\n {moment(repo.last_modified).fromNow()}\n \n \n {repo.repo_name && (\n \n )}\n \n \n );\n };\n\n render() {\n let repo = this.props.repo;\n return (\n \n \n {this.renderPCUI()}\n \n \n {this.renderMobileUI()}\n \n {this.state.isShareDialogShow && (\n \n \n \n )}\n {this.state.isDeleteDialogShow && (\n \n \n \n )}\n {this.state.isTransferDialogShow && (\n \n \n \n )}\n {this.state.isHistorySettingDialogShow && (\n \n \n \n )}\n {this.state.isChangePasswordDialogShow && (\n \n \n \n )}\n {this.state.isResetPasswordDialogShow && (\n \n \n \n )}\n\n {this.state.isLabelRepoStateDialogOpen && (\n \n \n \n )}\n\n {this.state.isFolderPermissionDialogShow && (\n \n \n \n )}\n\n {this.state.isAPITokenDialogShow && (\n \n \n \n )}\n\n {this.state.isRepoShareAdminDialogOpen && (\n \n \n \n )}\n {this.state.isOldFilesAutoDelDialogOpen && (\n \n \n \n )}\n\n \n );\n }\n}\n\nMylibRepoListItem.propTypes = propTypes;\n\nexport default MylibRepoListItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport { gettext, storages } from '../../utils/constants';\nimport MylibRepoListItem from './mylib-repo-list-item';\nimport LibsMobileThead from '../../components/libs-mobile-thead';\n\nconst propTypes = {\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n repoList: PropTypes.array.isRequired,\n sortRepoList: PropTypes.func.isRequired,\n onRenameRepo: PropTypes.func.isRequired,\n onDeleteRepo: PropTypes.func.isRequired,\n onTransferRepo: PropTypes.func.isRequired,\n onRepoClick: PropTypes.func.isRequired,\n onMonitorRepo: PropTypes.func.isRequired,\n};\n\nclass MylibRepoListView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortRepoList(sortBy, sortOrder);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n const sortBy = 'time';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortRepoList(sortBy, sortOrder);\n };\n\n sortBySize = (e) => {\n e.preventDefault();\n const sortBy = 'size';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortRepoList(sortBy, sortOrder);\n };\n\n renderRepoListView = () => {\n return (\n \n {this.props.repoList.map(item => {\n return (\n \n );\n })}\n \n );\n };\n\n renderPCUI = () => {\n const showStorageBackend = storages.length > 0;\n const sortIcon = this.props.sortOrder === 'asc' ? : ;\n return (\n \n \n \n \n \n \n \n \n {showStorageBackend ? : null}\n \n \n \n \n {this.renderRepoListView()}\n \n
    {gettext('Library Type')}{gettext('Name')} {this.props.sortBy === 'name' && sortIcon}{gettext('Actions')}{gettext('Size')} {this.props.sortBy === 'size' && sortIcon}{gettext('Storage Backend')}{gettext('Last Update')} {this.props.sortBy === 'time' && sortIcon}
    \n );\n };\n\n renderMobileUI = () => {\n return (\n \n \n \n {this.renderRepoListView()}\n \n
    \n );\n };\n\n render() {\n return (\n \n \n {this.renderPCUI()}\n \n \n {this.renderMobileUI()}\n \n \n );\n }\n}\n\nMylibRepoListView.propTypes = propTypes;\n\nexport default MylibRepoListView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody } from 'reactstrap';\nimport { gettext, mediaUrl, siteName, canAddRepo } from '../../utils/constants';\n\nconst propTypes = {\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass GuideForNewDialog extends React.Component {\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n render() {\n return (\n \n \n \n
    \n \"\"\n

    {gettext('Welcome to {site_name_placeholder}').replace('{site_name_placeholder}', siteName)}

    \n {canAddRepo ?\n

    {gettext('{site_name_placeholder} organizes files into libraries. Each library can be synced and shared separately. We have created a personal library for you. You can create more libraries later.').replace('{site_name_placeholder}', siteName)}

    :\n

    {gettext('{site_name_placeholder} organizes files into libraries. Each library can be synced and shared separately. However, since you are a guest user now, you can not create libraries.').replace('{site_name_placeholder}', siteName)}

    \n }\n
    \n
    \n
    \n );\n }\n}\n\nGuideForNewDialog.propTypes = propTypes;\n\nexport default GuideForNewDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'react-cookies';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Repo from '../../models/repo';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\nimport RepoViewToolbar from '../../components/toolbar/repo-view-toobar';\nimport LibDetail from '../../components/dirent-detail/lib-details';\nimport MylibRepoListView from './mylib-repo-list-view';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\nimport GuideForNewDialog from '../../components/dialog/guide-for-new-dialog';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nclass MyLibraries extends Component {\n constructor(props) {\n super(props);\n this.state = {\n errorMsg: '',\n isLoading: true,\n repoList: [],\n isShowDetails: false,\n isSortOptionsDialogOpen: false,\n isGuideForNewDialogOpen: window.app.pageOptions.guideEnabled,\n sortBy: cookie.load('seafile-repo-dir-sort-by') || 'name', // 'name' or 'time' or 'size'\n sortOrder: cookie.load('seafile-repo-dir-sort-order') || 'asc', // 'asc' or 'desc'\n };\n\n this.emptyTip = (\n \n

    {gettext('No libraries')}

    \n

    {gettext('You have not created any libraries yet. A library is a container to organize your files and folders. A library can also be shared with others and synced to your connected devices. You can create a library by clicking the \"New Library\" button in the menu bar.')}

    \n
    \n );\n }\n\n componentDidMount() {\n seafileAPI.listRepos({type: 'mine'}).then((res) => {\n let repoList = res.data.repos.map((item) => {\n return new Repo(item);\n });\n this.setState({\n isLoading: false,\n repoList: Utils.sortRepos(repoList, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n isLoading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n onCreateRepo = (repo) => {\n seafileAPI.createMineRepo(repo).then((res) => {\n const newRepo = new Repo({\n repo_id: res.data.repo_id,\n repo_name: res.data.repo_name,\n size: res.data.repo_size,\n mtime: res.data.mtime,\n owner_email: res.data.email,\n encrypted: res.data.encrypted,\n permission: res.data.permission,\n storage_name: res.data.storage_name\n });\n this.state.repoList.unshift(newRepo);\n this.setState({repoList: this.state.repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n sortRepoList = (sortBy, sortOrder) => {\n cookie.save('seafile-repo-dir-sort-by', sortBy);\n cookie.save('seafile-repo-dir-sort-order', sortOrder);\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n repoList: Utils.sortRepos(this.state.repoList, sortBy, sortOrder)\n });\n };\n\n onTransferRepo = (repoID) => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repoID;\n });\n this.setState({repoList: repoList});\n };\n\n onRenameRepo = (repo, newName) => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.repo_name = newName;\n }\n return item;\n });\n this.setState({repoList: repoList});\n };\n\n onMonitorRepo = (repo, monitored) => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.monitored = monitored;\n }\n return item;\n });\n this.setState({repoList: repoList});\n };\n\n onDeleteRepo = (repo) => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n };\n\n onRepoClick = (repo) => {\n if (this.state.isShowDetails) {\n this.onRepoDetails(repo);\n }\n };\n\n onRepoDetails = (repo) => {\n this.setState({\n currentRepo: repo,\n isShowDetails: true,\n });\n };\n\n closeDetails = () => {\n this.setState({isShowDetails: !this.state.isShowDetails});\n };\n\n toggleGuideForNewDialog = () => {\n window.app.pageOptions.guideEnabled = false;\n this.setState({\n isGuideForNewDialogOpen: false\n });\n };\n\n render() {\n return (\n \n
    \n \n \n
    \n
    \n
    \n
    \n

    {gettext('My Libraries')}

    \n {(!Utils.isDesktop() && this.state.repoList.length > 0) && }\n
    \n
    \n {this.state.isLoading && }\n {!this.state.isLoading && this.state.errorMsg &&

    {this.state.errorMsg}

    }\n {!this.state.isLoading && !this.state.errorMsg && this.state.repoList.length === 0 && this.emptyTip}\n {!this.state.isLoading && !this.state.errorMsg && this.state.repoList.length > 0 &&\n \n }\n
    \n
    \n {!this.state.isLoading && !this.state.errorMsg && this.state.isGuideForNewDialogOpen &&\n \n }\n {this.state.isSortOptionsDialogOpen &&\n \n }\n {this.state.isShowDetails && (\n
    \n \n
    \n )}\n
    \n
    \n );\n }\n}\n\nMyLibraries.propTypes = propTypes;\n\nexport default MyLibraries;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { gettext, siteRoot, lang, trashReposExpireDays } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\n\nmoment.locale(lang);\n\nclass MyLibsDeleted extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n deletedRepoList: [],\n isLoading: true,\n };\n }\n\n componentDidMount() {\n seafileAPI.listDeletedRepo().then(res => {\n this.setState({\n deletedRepoList: res.data,\n isLoading: false,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n refreshDeletedRepoList = (repoID) => {\n let deletedRepoList = this.state.deletedRepoList.filter(item => {\n return item.repo_id !== repoID;\n });\n this.setState({deletedRepoList: deletedRepoList});\n };\n\n render() {\n return (\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n {gettext('My Libraries')}\n /\n {gettext('Deleted Libraries')}\n
    \n
    \n
    \n {this.state.isLoading && }\n {(!this.state.isLoading && this.state.deletedRepoList.length === 0) &&\n \n

    {gettext('No deleted libraries')}

    \n

    {gettext('You have not deleted any libraries in the last {placeholder} days. A deleted library will be cleaned automatically after this period.').replace('{placeholder}', trashReposExpireDays)}

    \n
    \n }\n {this.state.deletedRepoList.length !== 0 &&\n
    \n

    {gettext('Tip: libraries deleted {placeholder} days ago will be cleaned automatically.').replace('{placeholder}', trashReposExpireDays)}

    \n \n
    \n }\n
    \n
    \n
    \n
    \n );\n }\n}\n\nclass DeletedRepoTable extends Component {\n\n render() {\n let deletedRepos = this.props.deletedRepoList;\n return (\n \n \n \n \n \n \n \n \n \n \n { deletedRepos && deletedRepos.map((item) => {\n return (\n \n );\n })}\n \n
    {/*img*/}{gettext('Name')}{gettext('Deleted Time')}
    \n );\n }\n}\n\nDeletedRepoTable.propTypes = {\n deletedRepoList: PropTypes.array.isRequired,\n refreshDeletedRepoList: PropTypes.func.isRequired,\n};\n\nclass DeletedRepoItem extends Component {\n constructor(props) {\n super(props);\n this.state = {\n hideRestoreMenu: true,\n highlight: false,\n };\n }\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n hideRestoreMenu: false,\n highlight: true,\n });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n hideRestoreMenu: true,\n highlight: false,\n });\n }\n };\n\n restoreDeletedRepo = (e) => {\n e.preventDefault();\n let repoID = this.props.repo.repo_id;\n let repoName = this.props.repo.repo_name;\n seafileAPI.restoreDeletedRepo(repoID).then(res => {\n let message = gettext('Successfully restored the library.') + ' ' + repoName;\n toaster.success(message);\n this.props.refreshDeletedRepoList(repoID);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed. Please check the network.');\n }\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let localTime = moment.utc(this.props.repo.del_time).toDate();\n localTime = moment(localTime).fromNow();\n let iconUrl = Utils.getLibIconUrl(this.props.repo);\n\n return (\n \n \n {this.props.repo.repo_name}\n {localTime}\n \n \n \n \n );\n }\n}\n\nDeletedRepoItem.propTypes = {\n isItemFreezed: PropTypes.bool.isRequired,\n repo: PropTypes.object.isRequired,\n refreshDeletedRepoList: PropTypes.func.isRequired,\n};\n\nMyLibsDeleted.propTypes = {\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nexport default MyLibsDeleted;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Alert } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport Repo from '../../models/repo';\n\nconst shareRepoListItemProps = {\n repo: PropTypes.object.isRequired,\n onRepoSelect: PropTypes.func.isRequired,\n onPermissionChange: PropTypes.func.isRequired,\n};\n\nclass ShareRepoListItem extends React.Component {\n\n onRepoSelect = (e) => {\n let isChecked = e.target.checked;\n this.props.onRepoSelect(this.props.repo, isChecked);\n };\n\n onPermissionChange = (e) => {\n let permission = e.target.value;\n let repo = this.props.repo;\n this.props.onPermissionChange(repo, permission);\n };\n\n render() {\n let repo = this.props.repo;\n let iconUrl = Utils.getLibIconUrl(repo);\n return (\n \n \n {gettext('icon')}\n {repo.repo_name}\n {moment(repo.last_modified).fromNow()}\n \n \n \n \n \n \n \n );\n }\n}\n\nShareRepoListItem.propTypes = shareRepoListItemProps;\n\nconst propTypes = {\n onRepoSelectedHandler: PropTypes.func.isRequired,\n onShareRepoDialogClose: PropTypes.func.isRequired,\n};\n\nclass ShareRepoDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repoList: [],\n currentRepo: null,\n permission: 'rw',\n selectedRepoList: [],\n errMessage: '',\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepos({type: 'mine'}).then(res => {\n let repoList = res.data.repos.map(item => {\n let repo = new Repo(item);\n repo.sharePermission = 'rw';\n return repo;\n });\n this.setState({repoList: repoList});\n });\n }\n\n onRepoSelect = (repo, isChecked) => {\n let selectedRepoList = [];\n if (isChecked) {\n this.state.selectedRepoList.push(repo);\n selectedRepoList = this.state.selectedRepoList;\n } else {\n selectedRepoList = this.state.selectedRepoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n }\n this.setState({selectedRepoList: selectedRepoList});\n };\n\n onPermissionChange = (repo, permission) => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.sharePermission = permission;\n }\n return item;\n });\n this.setState({repoList: repoList});\n };\n\n handleSubmit = () => {\n if (this.state.selectedRepoList.length === 0) {\n let errMessage = gettext('Please select a library to share.');\n this.setState({errMessage: errMessage});\n return;\n }\n\n this.props.onRepoSelectedHandler(this.state.selectedRepoList);\n this.onCloseDialog();\n };\n\n onCloseDialog = () => {\n this.props.onShareRepoDialogClose();\n };\n\n render() {\n return (\n \n {gettext('Select libraries to share')}\n \n \n \n \n \n \n \n \n \n \n \n \n {this.state.repoList.map((repo, index) => {\n return (\n \n );\n })}\n \n
    {/* select */}{/* icon */}{gettext('Name')}{gettext('Last Update')}{gettext('Permission')}
    \n
    \n {this.state.errMessage && {this.state.errMessage}}\n \n \n \n \n
    \n );\n }\n}\n\nShareRepoDialog.propTypes = propTypes;\n\nexport default ShareRepoDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { Link, navigate } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../utils/utils';\nimport { gettext, siteRoot, isPro, username, folderPermEnabled, isSystemStaff, enableResetEncryptedRepoPassword, isEmailConfigured, enableRepoAutoDel } from '../../utils/constants';\nimport ModalPortal from '../../components/modal-portal';\nimport ShareDialog from '../../components/dialog/share-dialog';\nimport LibSubFolderPermissionDialog from '../../components/dialog/lib-sub-folder-permission-dialog';\nimport DeleteRepoDialog from '../../components/dialog/delete-repo-dialog';\nimport ChangeRepoPasswordDialog from '../../components/dialog/change-repo-password-dialog';\nimport ResetEncryptedRepoPasswordDialog from '../../components/dialog/reset-encrypted-repo-password-dialog';\nimport LibOldFilesAutoDelDialog from '../../components/dialog/lib-old-files-auto-del-dialog';\nimport Rename from '../rename';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport LibHistorySettingDialog from '../dialog/lib-history-setting-dialog';\nimport toaster from '../toast';\nimport RepoAPITokenDialog from '../dialog/repo-api-token-dialog';\nimport RepoShareAdminDialog from '../dialog/repo-share-admin-dialog';\nimport RepoMonitoredIcon from '../../components/repo-monitored-icon';\n\nconst propTypes = {\n currentGroup: PropTypes.object,\n libraryType: PropTypes.string,\n repo: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onItemUnshare: PropTypes.func.isRequired,\n onItemDetails: PropTypes.func,\n onItemRename: PropTypes.func,\n onItemDelete: PropTypes.func,\n onMonitorRepo: PropTypes.func\n};\n\nclass SharedRepoListItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n isOperationShow: false,\n isItemMenuShow: false,\n isAdvancedMenuShown: false,\n isShowSharedDialog: false,\n isRenaming: false,\n isStarred: this.props.repo.starred,\n isFolderPermissionDialogOpen: false,\n isHistorySettingDialogShow: false,\n isDeleteDialogShow: false,\n isAPITokenDialogShow: false,\n isRepoShareAdminDialogOpen: false,\n isRepoDeleted: false,\n isChangePasswordDialogShow: false,\n isResetPasswordDialogShow: false,\n isOldFilesAutoDelDialogOpen: false,\n };\n this.isDeparementOnwerGroupMember = false;\n }\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: true,\n isOperationShow: true,\n });\n }\n };\n\n onMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: true,\n isOperationShow: true,\n });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: false,\n isOperationShow: false,\n });\n }\n };\n\n clickOperationMenuToggle = (e) => {\n this.toggleOperationMenu(e);\n };\n\n onDropdownToggleKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.clickOperationMenuToggle(e);\n }\n };\n\n toggleOperationMenu = (e) => {\n let dataset = e.target ? e.target.dataset : null;\n if (dataset && dataset.toggle && dataset.toggle === 'Rename') {\n this.setState({isItemMenuShow: !this.state.isItemMenuShow});\n return;\n }\n\n this.setState(\n {isItemMenuShow: !this.state.isItemMenuShow},\n () => {\n if (this.state.isItemMenuShow) {\n this.props.onFreezedItem();\n } else {\n this.props.onUnfreezedItem();\n this.setState({\n highlight: false,\n isOperationShow: false,\n });\n }\n }\n );\n };\n\n toggleAdvancedMenuShown = (e) => {\n this.setState({ isAdvancedMenuShown: true });\n };\n\n toggleAdvancedMenu = (e) => {\n e.stopPropagation();\n this.setState({ isAdvancedMenuShown: !this.state.isAdvancedMenuShown }, () => {\n this.toggleOperationMenu(e);\n });\n };\n\n onDropDownMouseMove = (e) => {\n if (this.state.isAdvancedMenuShown && e.target && e.target.className === 'dropdown-item') {\n this.setState({\n isAdvancedMenuShown: false\n });\n }\n };\n\n getRepoComputeParams = () => {\n let repo = this.props.repo;\n\n let iconUrl = Utils.getLibIconUrl(repo);\n let iconTitle = Utils.getLibIconTitle(repo);\n let libPath = `${siteRoot}library/${repo.repo_id}/${Utils.encodePath(repo.repo_name)}/`;\n\n return { iconUrl, iconTitle, libPath };\n };\n\n onMenuItemKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.onMenuItemClick(e);\n }\n };\n\n onMenuItemClick = (e) => {\n let operation = e.target.dataset.toggle;\n switch(operation) {\n case 'Rename':\n this.onItemRenameToggle();\n break;\n case 'Folder Permission':\n this.onItemFolderPermissionToggle();\n break;\n case 'Details':\n this.onItemDetails();\n break;\n case 'Share':\n this.onItemShare();\n break;\n case 'Unshare':\n this.onItemUnshare();\n break;\n case 'History Setting':\n this.onHistorySettingToggle();\n break;\n case 'API Token':\n this.onAPITokenToggle();\n break;\n case 'Share Admin':\n this.toggleRepoShareAdminDialog();\n break;\n case 'Change Password':\n this.onChangePasswordToggle();\n break;\n case 'Reset Password':\n this.onResetPasswordToggle();\n break;\n case 'Watch File Changes':\n this.watchFileChanges();\n break;\n case 'Unwatch File Changes':\n this.unwatchFileChanges();\n break;\n case 'Old Files Auto Delete':\n this.toggleOldFilesAutoDelDialog();\n break;\n // no default\n }\n };\n\n watchFileChanges = () => {\n const { repo } = this.props;\n seafileAPI.monitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unwatchFileChanges = () => {\n const { repo } = this.props;\n seafileAPI.unMonitorRepo(repo.repo_id).then(() => {\n this.props.onMonitorRepo(repo, false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onItemRenameToggle = () => {\n this.props.onFreezedItem();\n this.setState({\n isRenaming: !this.state.isRenaming,\n isOperationShow: !this.state.isOperationShow\n });\n };\n\n onRenameConfirm = (name) => {\n this.props.onItemRename(this.props.repo, name);\n this.onRenameCancel();\n };\n\n onRenameCancel = () => {\n this.props.onUnfreezedItem();\n this.setState({isRenaming: !this.state.isRenaming});\n };\n\n onItemFolderPermissionToggle = () => {\n this.setState({isFolderPermissionDialogOpen: !this.state.isFolderPermissionDialogOpen});\n };\n\n onHistorySettingToggle = () => {\n this.setState({isHistorySettingDialogShow: !this.state.isHistorySettingDialogShow});\n };\n\n onItemDetails = () => {\n this.props.onItemDetails(this.props.repo);\n };\n\n onItemShare = (e) => {\n e.preventDefault();\n this.setState({isShowSharedDialog: true});\n };\n\n onItemUnshare = (e) => {\n e.preventDefault();\n this.props.onItemUnshare(this.props.repo);\n };\n\n onItemDeleteToggle = (e) => {\n e.preventDefault();\n this.setState({isDeleteDialogShow: !this.state.isDeleteDialogShow});\n };\n\n onItemDelete = () => {\n const { currentGroup, repo } = this.props;\n if (!currentGroup) { // repo can not be deleted in share all module\n return;\n }\n\n const groupID = currentGroup.id;\n\n seafileAPI.deleteGroupOwnedLibrary(groupID, repo.repo_id).then(() => {\n\n this.setState({\n isRepoDeleted: true,\n isDeleteDialogShow: false,\n });\n\n this.props.onItemDelete(repo);\n let name = repo.repo_name;\n var msg = gettext('Successfully deleted {name}.').replace('{name}', name);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = repo.repo_name;\n errMessage = gettext('Failed to delete {name}.').replace('{name}', name);\n }\n toaster.danger(errMessage);\n\n this.setState({isRepoDeleted: false});\n });\n };\n\n toggleShareDialog = () => {\n this.setState({isShowSharedDialog: false});\n };\n\n toggleRepoShareAdminDialog = () => {\n this.setState({isRepoShareAdminDialogOpen: !this.state.isRepoShareAdminDialogOpen});\n };\n\n toggleOldFilesAutoDelDialog = () => {\n this.setState({isOldFilesAutoDelDialogOpen: !this.state.isOldFilesAutoDelDialogOpen});\n };\n\n onAPITokenToggle = () => {\n this.setState({isAPITokenDialogShow: !this.state.isAPITokenDialogShow});\n };\n\n onChangePasswordToggle = () => {\n this.setState({isChangePasswordDialogShow: !this.state.isChangePasswordDialogShow});\n };\n\n onResetPasswordToggle = () => {\n this.setState({isResetPasswordDialogShow: !this.state.isResetPasswordDialogShow});\n };\n\n translateMenuItem = (menuItem) => {\n let translateResult = '';\n switch(menuItem) {\n case 'Rename':\n translateResult = gettext('Rename');\n break;\n case 'Folder Permission':\n translateResult = gettext('Folder Permission');\n break;\n case 'Details':\n translateResult = gettext('Details');\n break;\n case 'Unshare':\n translateResult = gettext('Unshare');\n break;\n case 'Share':\n translateResult = gettext('Share');\n break;\n case 'History Setting':\n translateResult = gettext('History Setting');\n break;\n case 'Share Admin':\n translateResult = gettext('Share Admin');\n break;\n case 'Change Password':\n translateResult = gettext('Change Password');\n break;\n case 'Reset Password':\n translateResult = gettext('Reset Password');\n break;\n case 'Watch File Changes':\n translateResult = gettext('Watch File Changes');\n break;\n case 'Unwatch File Changes':\n translateResult = gettext('Unwatch File Changes');\n break;\n case 'Old Files Auto Delete':\n translateResult = gettext('Auto Deletion Setting');\n break;\n case 'API Token':\n translateResult = 'API Token'; // translation is not needed here\n break;\n case 'Advanced':\n translateResult = gettext('Advanced');\n break;\n default:\n break;\n }\n return translateResult;\n };\n\n getAdvancedOperations = () => {\n const operations = [];\n operations.push('API Token');\n if (enableRepoAutoDel) {\n operations.push('Old Files Auto Delete');\n }\n return operations;\n };\n\n generatorOperations = () => {\n let { repo, currentGroup } = this.props;\n //todo this have a bug; use current api is not return admins param;\n let isStaff = currentGroup && currentGroup.admins && currentGroup.admins.indexOf(username) > -1; //for group repolist;\n let isRepoOwner = repo.owner_email === username;\n let isAdmin = repo.is_admin;\n let operations = [];\n if (isPro) {\n if (repo.owner_email.indexOf('@seafile_group') != -1) {\n if (isStaff) {\n if (repo.owner_email == currentGroup.id + '@seafile_group') {\n this.isDeparementOnwerGroupMember = true;\n operations = ['Rename'];\n if (folderPermEnabled) {\n operations.push('Folder Permission');\n }\n operations.push('Share Admin', 'Divider');\n if (repo.encrypted) {\n operations.push('Change Password');\n }\n if (repo.encrypted && enableResetEncryptedRepoPassword && isEmailConfigured) {\n operations.push('Reset Password');\n }\n if (repo.permission == 'r' || repo.permission == 'rw') {\n const monitorOp = repo.monitored ? 'Unwatch File Changes' : 'Watch File Changes';\n operations.push(monitorOp);\n }\n operations.push('Divider', 'History Setting', 'Details');\n if (Utils.isDesktop()) {\n operations.push('Advanced');\n }\n return operations;\n } else {\n operations.push('Unshare');\n }\n }\n } else {\n if (isRepoOwner || isAdmin) {\n operations.push('Share');\n }\n if (isStaff || isRepoOwner || isAdmin) {\n operations.push('Unshare');\n }\n }\n if (repo.permission == 'r' || repo.permission == 'rw') {\n const monitorOp = repo.monitored ? 'Unwatch File Changes' : 'Watch File Changes';\n operations.push(monitorOp);\n }\n } else {\n if (isRepoOwner) {\n operations.push('Share');\n }\n if (isStaff || isRepoOwner) {\n operations.push('Unshare');\n }\n }\n return operations;\n };\n\n generatorMobileMenu = () => {\n let operations = [];\n if (this.props.libraryType && this.props.libraryType === 'public') {\n let isRepoOwner = this.props.repo.owner_email === username;\n if (isSystemStaff || isRepoOwner) {\n operations.push('Unshare');\n }\n } else {\n operations = this.generatorOperations();\n if (this.isDeparementOnwerGroupMember) {\n operations.unshift('Unshare');\n operations.unshift('Share');\n }\n }\n\n if (!operations.length) {\n return null;\n }\n return (\n \n \n
    \n
    \n
    \n {operations.map((item, index) => {\n return (\n {this.translateMenuItem(item)}\n );\n })}\n
    \n
    \n
    \n );\n };\n\n generatorPCMenu = () => {\n let operations = [];\n if (this.props.libraryType && this.props.libraryType === 'public') {\n let isRepoOwner = this.props.repo.owner_email === username;\n if (isSystemStaff || isRepoOwner) {\n operations.push('Unshare');\n }\n } else {\n operations = this.generatorOperations();\n }\n const shareOperation = ;\n const unshareOperation = ;\n const deleteOperation = ;\n\n if (this.isDeparementOnwerGroupMember) {\n const advancedOperations = this.getAdvancedOperations();\n return (\n \n {shareOperation}\n {deleteOperation}\n \n \n \n {operations.map((item, index)=> {\n if (item == 'Divider') {\n return ;\n } else if (item == 'Advanced') {\n return (\n {e.stopPropagation();}}\n >\n \n {this.translateMenuItem(item)}\n \n \n {advancedOperations.map((item, index)=> {\n return ({this.translateMenuItem(item)});\n })}\n \n \n );\n } else {\n return ({this.translateMenuItem(item)});\n }\n })}\n \n \n \n );\n } else {\n return (\n \n {operations.map(item => {\n switch (item) {\n case 'Share':\n return {shareOperation};\n case 'Unshare':\n return {unshareOperation};\n case 'Watch File Changes':\n case 'Unwatch File Changes':\n return (\n \n \n \n {[item].map((item, index) => {\n return {this.translateMenuItem(item)};\n })}\n \n \n );\n // no default\n default:\n return null;\n }\n })}\n \n );\n }\n };\n\n onToggleStarRepo = (e) => {\n e.preventDefault();\n const { repo_name: repoName } = this.props.repo;\n if (this.state.isStarred) {\n seafileAPI.unstarItem(this.props.repo.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully unstarred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.starItem(this.props.repo.repo_id, '/').then(() => {\n this.setState({isStarred: !this.state.isStarred});\n const msg = gettext('Successfully starred {library_name_placeholder}.')\n .replace('{library_name_placeholder}', repoName);\n toaster.success(msg);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n renderPCUI = () => {\n let { iconUrl, iconTitle, libPath } = this.getRepoComputeParams();\n let { repo } = this.props;\n return (\n \n \n \n \n \n \n \n {iconTitle}\n \n {this.state.isRenaming ?\n :\n \n {repo.repo_name}\n {repo.monitored && }\n \n }\n \n {this.state.isOperationShow && this.generatorPCMenu()}\n {repo.size}\n {moment(repo.last_modified).fromNow()}\n {repo.owner_name}\n \n \n );\n };\n\n visitRepo = () => {\n if (!this.state.isRenaming) {\n navigate(this.repoURL);\n }\n };\n\n renderMobileUI = () => {\n let { iconUrl, iconTitle, libPath } = this.getRepoComputeParams();\n let { repo } = this.props;\n this.repoURL = libPath;\n return (\n \n \n {iconTitle}/\n \n {this.state.isRenaming ?\n :\n \n {repo.repo_name}\n {repo.monitored && }\n \n }\n
    \n {repo.owner_name}\n {repo.size}\n {moment(repo.last_modified).fromNow()}\n \n {this.generatorMobileMenu()}\n \n
    \n );\n };\n\n render() {\n let { repo } = this.props;\n let isGroupOwnedRepo = repo.owner_email.indexOf('@seafile_group') > -1;\n return (\n \n {Utils.isDesktop() ? this.renderPCUI() : this.renderMobileUI()}\n {this.state.isShowSharedDialog && (\n \n \n \n )}\n {this.state.isFolderPermissionDialogOpen && (\n \n \n \n )}\n {this.state.isDeleteDialogShow &&\n \n \n \n }\n {this.state.isHistorySettingDialogShow && (\n \n \n \n )}\n {this.state.isAPITokenDialogShow && (\n \n \n \n )}\n {this.state.isRepoShareAdminDialogOpen && (\n \n \n \n )}\n {this.state.isChangePasswordDialogShow && (\n \n \n \n )}\n {this.state.isResetPasswordDialogShow && (\n \n \n \n )}\n {this.state.isOldFilesAutoDelDialogOpen && (\n \n \n \n )}\n\n \n );\n }\n}\n\nSharedRepoListItem.propTypes = propTypes;\n\nexport default SharedRepoListItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport SharedRepoListItem from './shared-repo-list-item';\nimport toaster from '../toast';\nimport LibsMobileThead from '../libs-mobile-thead';\nimport Loading from '../loading';\n\nconst propTypes = {\n libraryType: PropTypes.string,\n currentGroup: PropTypes.object,\n isShowTableThread: PropTypes.bool,\n sortBy: PropTypes.string,\n sortOrder: PropTypes.string,\n sortItems: PropTypes.func,\n repoList: PropTypes.array.isRequired,\n onItemUnshare: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func,\n onItemDetails: PropTypes.func,\n onItemRename: PropTypes.func,\n hasNextPage: PropTypes.bool,\n onMonitorRepo: PropTypes.func,\n};\n\nclass SharedRepoListView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n };\n }\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n const sortBy = 'time';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortBySize = (e) => {\n e.preventDefault();\n const sortBy = 'size';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n getSortMetaData = () => {\n return {\n sortByName: this.props.sortBy == 'name',\n sortByTime: this.props.sortBy == 'time',\n sortBySize: this.props.sortBy == 'size',\n sortIcon: this.props.sortOrder == 'asc' ? : \n };\n };\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n onItemRename = (repo, newName) => {\n let isDuplicated = this.props.repoList.some(item => {\n return item.name === newName;\n });\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));\n toaster.danger(errMessage);\n return false;\n }\n this.props.onItemRename(repo, newName);\n };\n\n renderRepoListView = () => {\n return (\n \n {this.props.repoList.map(repo => {\n return (\n \n );\n })}\n \n );\n };\n\n renderPCUI = () => {\n let isShowTableThread = this.props.isShowTableThread !== undefined ? this.props.isShowTableThread : true;\n\n const { sortByName, sortByTime, sortBySize, sortIcon } = this.getSortMetaData();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.renderRepoListView()}\n \n
    {gettext('Library Type')}{gettext('Name')} {sortByName && sortIcon}{gettext('Actions')}{gettext('Size')} {sortBySize && sortIcon}{gettext('Last Update')} {sortByTime && sortIcon}{gettext('Owner')}
    \n );\n };\n\n renderMobileUI = () => {\n return (\n \n \n \n {this.renderRepoListView()}\n \n
    \n );\n };\n\n render() {\n const table = Utils.isDesktop() ? this.renderPCUI() : this.renderMobileUI();\n if (this.props.hasNextPage) {\n return (\n \n {table}\n \n \n );\n } else {\n return table;\n }\n }\n}\n\nSharedRepoListView.propTypes = propTypes;\n\nexport default SharedRepoListView;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'react-cookies';\nimport MediaQuery from 'react-responsive';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, canAddPublicRepo } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport Repo from '../../models/repo';\nimport toaster from '../../components/toast';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport ModalPortal from '../../components/modal-portal';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\nimport CreateRepoDialog from '../../components/dialog/create-repo-dialog';\nimport ShareRepoDialog from '../../components/dialog/share-repo-dialog';\nimport SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nclass PublicSharedView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true,\n errMessage: '',\n emptyTip: '',\n repoList: [],\n sortBy: cookie.load('seafile-repo-dir-sort-by') || 'name', // 'name' or 'time' or 'size'\n sortOrder: cookie.load('seafile-repo-dir-sort-order') || 'asc', // 'asc' or 'desc'\n isSortOptionsDialogOpen: false,\n libraryType: 'public',\n isCreateMenuShow: false,\n isCreateRepoDialogShow: false,\n isSelectRepoDialpgShow: false,\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepos({type: 'public'}).then((res) => {\n let repoList = res.data.repos.map(item => {\n let repo = new Repo(item);\n return repo;\n });\n this.setState({\n isLoading: false,\n repoList: Utils.sortRepos(repoList, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n isLoading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n onCreateRepo = (repo) => {\n seafileAPI.createPublicRepo(repo).then(res => {\n let object = { // need modify api return value\n repo_id: res.data.id,\n repo_name: res.data.name,\n permission: res.data.permission,\n size: res.data.size,\n owner_name: res.data.owner_name,\n owner_email: res.data.owner,\n mtime: res.data.mtime,\n encrypted: res.data.encrypted,\n };\n let repo = new Repo(object);\n let repoList = this.addRepoItem(repo);\n this.setState({repoList: repoList});\n this.onCreateRepoToggle();\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onRepoSelectedHandler = (selectedRepoList) => {\n selectedRepoList.forEach(repo => {\n seafileAPI.selectOwnedRepoToPublic(repo.repo_id, {share_type: 'public', permission: repo.sharePermission}).then(() => {\n let repoList = this.addRepoItem(repo);\n this.setState({repoList: repoList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n });\n };\n\n onItemUnshare = (repo) => {\n seafileAPI.unshareRepo(repo.repo_id, {share_type: 'public'}).then(() => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n let message = gettext('Successfully unshared {name}').replace('{name}', repo.repo_name);\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed to unshare {name}').replace('{name}', repo.repo_name);\n }\n toaster(errMessage);\n });\n };\n\n onItemDelete = () => {\n // todo need to optimized\n };\n\n addRepoItem = (repo) => {\n let isExist = false;\n let repoIndex = 0;\n let repoList = this.state.repoList;\n for (let i = 0; i < repoList.length; i ++) {\n if (repo.repo_id === repoList[i].repo_id) {\n isExist = true;\n repoIndex = i;\n break;\n }\n }\n if (isExist) {\n this.state.repoList.splice(repoIndex, 1);\n }\n\n let newRepoList = this.state.repoList.map(item => {return item;});\n newRepoList.unshift(repo);\n return newRepoList;\n };\n\n onAddRepoToggle = () => {\n this.setState({isCreateMenuShow: !this.state.isCreateMenuShow});\n };\n\n onCreateRepoToggle = () => {\n this.setState({isCreateRepoDialogShow: !this.state.isCreateRepoDialogShow});\n };\n\n onSelectRepoToggle = () => {\n this.setState({isSelectRepoDialpgShow: !this.state.isSelectRepoDialpgShow});\n };\n\n sortItems = (sortBy, sortOrder) => {\n cookie.save('seafile-repo-dir-sort-by', sortBy);\n cookie.save('seafile-repo-dir-sort-order', sortOrder);\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n repoList: Utils.sortRepos(this.state.repoList, sortBy, sortOrder)\n });\n };\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n render() {\n let errMessage = this.state.errMessage;\n let emptyTip = (\n \n

    {gettext('No public libraries')}

    \n

    {gettext('No public libraries have been created yet. A public library is accessible by all users. You can create a public library by clicking the \"Add Library\" button in the menu bar.')}

    \n
    \n );\n return (\n \n
    \n {canAddPublicRepo &&\n
    \n \n
    \n \n \n \n {gettext('Add Library')}\n \n \n \n \n \n \n {gettext('Share existing libraries')}\n {gettext('New Library')}\n \n \n
    \n
    \n }\n \n
    \n
    \n
    \n
    \n

    {gettext('Shared with all')}

    \n {(!Utils.isDesktop() && this.state.repoList.length > 0) && }\n
    \n
    \n {this.state.isLoading && }\n {(!this.state.isLoading && errMessage) && errMessage}\n {(!this.state.isLoading && this.state.repoList.length === 0) && emptyTip}\n {(!this.state.isLoading && this.state.repoList.length > 0) &&\n \n }\n
    \n
    \n
    \n {this.state.isSortOptionsDialogOpen &&\n \n }\n {this.state.isCreateRepoDialogShow && (\n \n \n \n )}\n {this.state.isSelectRepoDialpgShow && (\n \n \n \n )}\n
    \n );\n }\n}\n\nPublicSharedView.propTypes = propTypes;\n\nexport default PublicSharedView;\n","import io from 'socket.io-client';\nimport { name, username, contactEmail, seafileCollabServer } from './constants';\n\nconst socket = (seafileCollabServer !== '') ? io(seafileCollabServer) : undefined;\n\nclass CollabServer {\n\n watchRepo(repoID, fn) {\n if (!socket) {\n return;\n }\n socket.emit('repo_update', {\n request: 'watch_update',\n repo_id: repoID,\n user: {\n name: name,\n username: username,\n contact_email: contactEmail,\n },\n });\n socket.on('repo_update', fn);\n }\n\n unwatchRepo(repoID, fn) {\n if (!socket) {\n return;\n }\n socket.emit('repo_update', {\n request: 'unwatch_update',\n repo_id: repoID,\n user: {\n name: name,\n username: username,\n contact_email: contactEmail,\n },\n });\n socket.off('repo_update', fn);\n }\n}\n\nconst collabServer = new CollabServer();\n\nexport default collabServer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalBody, Form } from 'reactstrap';\nimport { gettext, siteRoot, mediaUrl } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\n\nimport '../../css/lib-decrypt.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n onLibDecryptDialog: PropTypes.func.isRequired\n};\n\n\nclass LibDecryptDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n password: '',\n showError: false,\n };\n }\n\n handleSubmit = (e) => {\n let repoID = this.props.repoID;\n let password = this.state.password;\n seafileAPI.setRepoDecryptPassword(repoID, password).then(res => {\n this.props.onLibDecryptDialog();\n }).catch(res => {\n this.setState({\n showError: true\n });\n });\n\n e.preventDefault();\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit(e);\n }\n };\n\n handleChange = (e) => {\n this.setState({\n password: e.target.value,\n showError: false\n });\n };\n\n toggle = () => {\n window.location.href = siteRoot;\n };\n\n render() {\n return (\n \n \n \n
    \n \"\"\n

    {gettext('This library is password protected')}

    \n {this.state.showError &&\n

    {gettext('Wrong password')}

    \n }\n \n \n

    {'* '}{gettext('The password will be kept in the server for only 1 hour.')}

    \n
    \n
    \n
    \n );\n }\n}\n\nLibDecryptDialog.propTypes = propTypes;\n\nexport default LibDecryptDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n currentMode: PropTypes.string.isRequired,\n switchViewMode: PropTypes.func.isRequired,\n isCustomPermission: PropTypes.bool,\n};\n\nclass ViewModeToolbar extends React.Component {\n\n static defaultProps = {\n isCustomPermission: false,\n };\n\n switchViewMode = (e) => {\n e.preventDefault();\n let id = e.target.id;\n if (id === this.props.currentMode) {\n return;\n }\n this.props.switchViewMode(id);\n };\n\n render() {\n let baseClass = 'btn btn-secondary btn-icon sf-view-mode-btn ';\n return (\n \n
    \n \n \n \n
    \n {!this.props.isCustomPermission && (\n
    \n \n
    \n )}\n
    \n );\n }\n}\n\nViewModeToolbar.propTypes = propTypes;\n\nexport default ViewModeToolbar;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext, isDocs } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n fileType: PropTypes.string,\n parentPath: PropTypes.string.isRequired,\n onAddFile: PropTypes.func.isRequired,\n checkDuplicatedName: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass CreateFile extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n parentPath: '',\n childName: props.fileType || '',\n isMarkdownDraft: false,\n isSdocDraft: false,\n errMessage: '',\n isSubmitBtnActive: false,\n };\n this.newInput = React.createRef();\n }\n\n componentDidMount() {\n let parentPath = this.props.parentPath;\n if (parentPath[parentPath.length - 1] === '/') { // mainPanel\n this.setState({parentPath: parentPath});\n } else {\n this.setState({parentPath: parentPath + '/'}); // sidePanel\n }\n }\n\n handleChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({\n childName: e.target.value,\n }) ;\n };\n\n handleSubmit = () => {\n if (!this.state.isSubmitBtnActive) {\n return;\n }\n\n let isDuplicated = this.checkDuplicatedName();\n let newName = this.state.childName;\n\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));\n this.setState({errMessage: errMessage});\n } else {\n let path = this.state.parentPath + newName;\n const { isMarkdownDraft, isSdocDraft } = this.state;\n this.props.onAddFile(path, isMarkdownDraft, isSdocDraft);\n this.props.toggleDialog();\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleCheck = () => {\n let pos = this.state.childName.lastIndexOf('.');\n\n if (this.state.isMarkdownDraft) {\n // from draft to not draft\n // case 1, normally, the file name is ended with `(draft)`, like `test(draft).md`\n // case 2, the file name is not ended with `(draft)`, the user has deleted some characters, like `test(dra.md`\n let p = this.state.childName.substring(pos-7, pos);\n let fileName = this.state.childName.substring(0, pos-7);\n let fileType = this.state.childName.substring(pos);\n if (p === '(draft)') {\n // remove `(draft)` from file name\n this.setState({\n childName: fileName + fileType,\n isMarkdownDraft: !this.state.isMarkdownDraft\n });\n } else {\n // don't change file name\n this.setState({\n isMarkdownDraft: !this.state.isMarkdownDraft\n });\n }\n }\n\n if (!this.state.isMarkdownDraft) {\n // from not draft to draft\n // case 1, test.md ===> test(draft).md\n // case 2, .md ===> (draft).md\n // case 3, no '.' in the file name, don't change the file name\n if (pos > 0) {\n let fileName = this.state.childName.substring(0, pos);\n let fileType = this.state.childName.substring(pos);\n this.setState({\n childName: fileName + '(draft)' + fileType,\n isMarkdownDraft: !this.state.isMarkdownDraft\n });\n } else if (pos === 0 ) {\n this.setState({\n childName: '(draft)' + this.state.childName,\n isMarkdownDraft: !this.state.isMarkdownDraft\n });\n } else {\n this.setState({\n isMarkdownDraft: !this.state.isMarkdownDraft\n });\n }\n }\n };\n\n checkDuplicatedName = () => {\n let isDuplicated = this.props.checkDuplicatedName(this.state.childName);\n return isDuplicated;\n };\n\n onAfterModelOpened = () => {\n if (!this.newInput.current) return;\n this.newInput.current.focus();\n this.newInput.current.setSelectionRange(0,0);\n };\n\n toggleMarkSdocDraft = (e) => {\n this.setState({\n isSdocDraft: e.target.checked\n });\n };\n\n render() {\n const { isSdocDraft } = this.state;\n const { toggleDialog } = this.props;\n return (\n \n {gettext('New File')}\n \n
    \n \n \n \n \n {this.props.fileType == '.md' && isDocs && (\n \n \n \n )}\n {this.props.fileType == '.sdoc' && (\n \n \n \n )}\n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nCreateFile.propTypes = propTypes;\n\nexport default CreateFile;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { Utils } from '../../utils/utils';\nimport { enableSeadoc, gettext } from '../../utils/constants';\nimport ModalPortal from '../modal-portal';\nimport CreateFolder from '../../components/dialog/create-folder-dialog';\nimport CreateFile from '../../components/dialog/create-file-dialog';\nimport ShareDialog from '../../components/dialog/share-dialog';\nimport ViewModeToolbar from './view-mode-toolbar';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n repoName: PropTypes.string.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n userPerm: PropTypes.string.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n showShareBtn: PropTypes.bool.isRequired,\n onAddFile: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onUploadFile: PropTypes.func.isRequired,\n onUploadFolder: PropTypes.func.isRequired,\n direntList: PropTypes.array.isRequired,\n currentMode: PropTypes.string.isRequired,\n switchViewMode: PropTypes.func.isRequired,\n};\n\nclass DirOperationToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n fileType: '.md',\n isCreateFileDialogShow: false,\n isCreateFolderDialogShow: false,\n isUploadMenuShow: false,\n isCreateMenuShow: false,\n isShareDialogShow: false,\n operationMenuStyle: '',\n isMobileOpMenuOpen: false\n };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.hideOperationMenu);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.hideOperationMenu);\n }\n\n toggleMobileOpMenu = () => {\n this.setState({isMobileOpMenuOpen: !this.state.isMobileOpMenuOpen});\n };\n\n hideOperationMenu = () => {\n this.setState({\n isUploadMenuShow: false,\n isCreateMenuShow: false,\n });\n };\n\n toggleOperationMenu = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n let targetRect = e.target.getBoundingClientRect();\n let left = targetRect.left;\n let top = targetRect.bottom;\n let style = {position: 'fixed', display: 'block', left: left, top: top};\n this.setState({operationMenuStyle: style});\n };\n\n onUploadClick = (e) => {\n this.toggleOperationMenu(e);\n this.setState({\n isUploadMenuShow: !this.state.isUploadMenuShow,\n isCreateMenuShow: false,\n });\n };\n\n onUploadFile = (e) => {\n this.setState({isUploadMenuShow: false});\n this.props.onUploadFile(e);\n };\n\n onUploadFolder = (e) => {\n this.setState({isUploadMenuShow: false});\n this.props.onUploadFolder(e);\n };\n\n onCreateClick = (e) => {\n this.toggleOperationMenu(e);\n this.setState({\n isCreateMenuShow: !this.state.isCreateMenuShow,\n isUploadMenuShow: false,\n });\n };\n\n onShareClick = () => {\n this.setState({\n isShareDialogShow: !this.state.isShareDialogShow\n });\n };\n\n onCreateFolderToggle = () => {\n this.setState({isCreateFolderDialogShow: !this.state.isCreateFolderDialogShow});\n };\n\n onCreateFileToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: ''\n });\n };\n\n onCreateMarkdownToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: '.md'\n });\n };\n\n onCreateExcelToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: '.xlsx'\n });\n };\n\n onCreatePPTToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: '.pptx'\n });\n };\n\n onCreateWordToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: '.docx'\n });\n };\n\n onCreateSeaDocToggle = () => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: '.sdoc'\n });\n };\n\n onAddFolder = (dirPath) => {\n this.setState({isCreateFolderDialogShow: false});\n this.props.onAddFolder(dirPath);\n };\n\n checkDuplicatedName = (newName) => {\n let direntList = this.props.direntList;\n let isDuplicated = direntList.some(object => {\n return object.name === newName;\n });\n return isDuplicated;\n };\n\n render() {\n let { path, repoName, userPerm } = this.props;\n\n let itemType = path === '/' ? 'library' : 'dir';\n let itemName = path == '/' ? repoName : Utils.getFolderName(path);\n\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n let canUpload = true;\n let canCreate = true;\n if (isCustomPermission) {\n const { permission } = customPermission;\n canUpload = permission.upload;\n canCreate = permission.create;\n }\n\n let content = null;\n if (Utils.isDesktop()) {\n let { showShareBtn } = this.props;\n content = (\n \n {canUpload && (\n \n {Utils.isSupportUploadFolder() ?\n \n \n {this.state.isUploadMenuShow && (\n
    \n \n \n
    \n )}\n
    \n :\n }\n
    \n )}\n {canCreate &&\n \n \n {this.state.isCreateMenuShow && (\n
    \n \n \n
    \n \n \n \n \n {enableSeadoc && }\n
    \n )}\n
    \n }\n {showShareBtn && }\n
    \n );\n } else {\n content = (\n \n \n \n {canUpload && (\n {gettext('Upload')}\n )}\n {canCreate && (\n \n {gettext('New Folder')}\n {gettext('New File')}\n \n )}\n \n \n );\n }\n\n return (\n \n {(userPerm === 'rw' || userPerm === 'admin' || userPerm === 'cloud-edit' || isCustomPermission) && (\n
    \n {content}\n
    \n )}\n {Utils.isDesktop() && }\n {this.state.isCreateFileDialogShow && (\n \n \n \n )}\n {this.state.isCreateFolderDialogShow && (\n \n \n \n )}\n {this.state.isShareDialogShow &&\n \n \n \n }\n
    \n );\n }\n}\n\nDirOperationToolbar.propTypes = propTypes;\n\nexport default DirOperationToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalFooter, ModalBody, Alert } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport FileChooser from '../file-chooser/file-chooser';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n dirent: PropTypes.object,\n selectedDirentList: PropTypes.array,\n isMutipleOperation: PropTypes.bool.isRequired,\n onItemMove: PropTypes.func,\n onItemsMove: PropTypes.func,\n onCancelMove: PropTypes.func.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n};\n\n// need dirent file Path;\nclass MoveDirent extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repo: { repo_id: this.props.repoID },\n selectedPath: this.props.path,\n errMessage: ''\n };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.state.errMessage === nextState.errMessage) {\n return false;\n }\n return true;\n }\n\n handleSubmit = () => {\n if (this.props.isMutipleOperation) {\n this.moveItems();\n } else {\n this.moveItem();\n }\n };\n\n moveItems = () => {\n let { repoID } = this.props;\n let { repo, selectedPath } = this.state;\n let message = gettext('Invalid destination path');\n\n if (!repo || selectedPath === '') {\n this.setState({errMessage: message});\n return;\n }\n\n let selectedDirentList = this.props.selectedDirentList;\n let direntPaths = [];\n selectedDirentList.forEach(dirent => {\n let path = Utils.joinPath(this.props.path, dirent.name);\n direntPaths.push(path);\n });\n\n // move dirents to one of them. eg: A/B, A/C -> A/B\n if (direntPaths.some(direntPath => { return direntPath === selectedPath;})) {\n this.setState({errMessage: message});\n return;\n }\n\n // move dirents to current path\n if (selectedPath && selectedPath === this.props.path && (repo.repo_id === repoID)) {\n this.setState({errMessage: message});\n return;\n }\n\n // move dirents to one of their child. eg: A/B, A/D -> A/B/C\n let moveDirentPath = '';\n let isChildPath = direntPaths.some(direntPath => {\n let flag = selectedPath.length > direntPath.length && selectedPath.indexOf(direntPath) > -1;\n if (flag) {\n moveDirentPath = direntPath;\n }\n return flag;\n });\n\n if (isChildPath) {\n message = gettext('Can not move directory %(src)s to its subdirectory %(des)s');\n message = message.replace('%(src)s', moveDirentPath);\n message = message.replace('%(des)s', selectedPath);\n this.setState({errMessage: message});\n return;\n }\n\n this.props.onItemsMove(repo, selectedPath);\n this.toggle();\n };\n\n moveItem = () => {\n let { repoID } = this.props;\n let { repo, selectedPath } = this.state;\n let direntPath = Utils.joinPath(this.props.path, this.props.dirent.name);\n let message = gettext('Invalid destination path');\n\n if (!repo || (repo.repo_id === repoID && selectedPath === '')) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy the dirent to itself. eg: A/B -> A/B\n if (selectedPath && direntPath === selectedPath) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy the dirent to current path\n if (selectedPath && this.props.path === selectedPath && repo.repo_id === repoID) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy the dirent to it's child. eg: A/B -> A/B/C\n if ( selectedPath && selectedPath.length > direntPath.length && selectedPath.indexOf(direntPath) > -1) {\n message = gettext('Can not move directory %(src)s to its subdirectory %(des)s');\n message = message.replace('%(src)s', direntPath);\n message = message.replace('%(des)s', selectedPath);\n this.setState({errMessage: message});\n return;\n }\n\n this.props.onItemMove(repo, this.props.dirent, selectedPath, this.props.path);\n this.toggle();\n };\n\n toggle = () => {\n this.props.onCancelMove();\n };\n\n onDirentItemClick = (repo, selectedPath) => {\n this.setState({\n repo: repo,\n selectedPath: selectedPath,\n errMessage: ''\n });\n };\n\n onRepoItemClick = (repo) => {\n this.setState({\n repo: repo,\n selectedPath: '/',\n errMessage: ''\n });\n };\n\n render() {\n let title = gettext('Move {placeholder} to');\n if (!this.props.isMutipleOperation) {\n title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + '');\n } else {\n title = gettext('Move selected item(s) to:');\n }\n let mode = this.props.repoEncrypted ? 'only_current_library':'current_repo_and_other_repos';\n const { dirent, selectedDirentList } = this.props;\n const movedDirent = dirent ? dirent : selectedDirentList[0];\n const { permission } = movedDirent;\n const { isCustomPermission } = Utils.getUserPermission(permission);\n if (isCustomPermission) {\n mode = 'only_current_library';\n }\n return (\n \n
    \n \n \n {this.state.errMessage && {this.state.errMessage}}\n \n \n \n \n \n
    \n );\n }\n}\n\nMoveDirent.propTypes = propTypes;\n\nexport default MoveDirent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalFooter, ModalBody, Alert } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport FileChooser from '../file-chooser/file-chooser';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n dirent: PropTypes.object,\n selectedDirentList: PropTypes.array,\n isMutipleOperation: PropTypes.bool.isRequired,\n onItemCopy: PropTypes.func,\n onItemsCopy: PropTypes.func,\n onCancelCopy: PropTypes.func.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n};\n\n// need dirent file Path;\nclass CopyDirent extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repo: { repo_id: this.props.repoID },\n selectedPath: this.props.path,\n errMessage: ''\n };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.state.errMessage === nextState.errMessage) {\n return false;\n }\n return true;\n }\n\n handleSubmit = () => {\n if (this.props.isMutipleOperation) {\n this.copyItems();\n } else {\n this.copyItem();\n }\n };\n\n copyItems = () => {\n let { repo, selectedPath } = this.state;\n let message = gettext('Invalid destination path');\n\n if (!repo || selectedPath === '') {\n this.setState({errMessage: message});\n return;\n }\n\n let selectedDirentList = this.props.selectedDirentList;\n let direntPaths = [];\n selectedDirentList.forEach(dirent => {\n let path = Utils.joinPath(this.props.path, dirent.name);\n direntPaths.push(path);\n });\n\n // copy dirents to one of them. eg: A/B, A/C -> A/B\n if (direntPaths.some(direntPath => { return direntPath === selectedPath;})) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy dirents to one of their child. eg: A/B, A/D -> A/B/C\n let copyDirentPath = '';\n let isChildPath = direntPaths.some(direntPath => {\n let flag = selectedPath.length > direntPath.length && selectedPath.indexOf(direntPath) > -1;\n if (flag) {\n copyDirentPath = direntPath;\n }\n return flag;\n });\n\n if (isChildPath) {\n message = gettext('Can not move directory %(src)s to its subdirectory %(des)s');\n message = message.replace('%(src)s', copyDirentPath);\n message = message.replace('%(des)s', selectedPath);\n this.setState({errMessage: message});\n return;\n }\n\n this.props.onItemsCopy(repo, selectedPath);\n this.toggle();\n };\n\n copyItem = () => {\n let { repo, repoID, selectedPath } = this.state;\n let direntPath = Utils.joinPath(this.props.path, this.props.dirent.name);\n let message = gettext('Invalid destination path');\n\n if (!repo || (repo.repo_id === repoID && selectedPath === '')) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy the dirent to itself. eg: A/B -> A/B\n if (selectedPath && direntPath === selectedPath) {\n this.setState({errMessage: message});\n return;\n }\n\n // copy the dirent to it's child. eg: A/B -> A/B/C\n if ( selectedPath && selectedPath.length > direntPath.length && selectedPath.indexOf(direntPath) > -1) {\n message = gettext('Can not copy directory %(src)s to its subdirectory %(des)s');\n message = message.replace('%(src)s', direntPath);\n message = message.replace('%(des)s', selectedPath);\n this.setState({errMessage: message});\n return;\n }\n\n this.props.onItemCopy(repo, this.props.dirent, selectedPath, this.props.path);\n this.toggle();\n };\n\n toggle = () => {\n this.props.onCancelCopy();\n };\n\n onDirentItemClick = (repo, selectedPath) => {\n this.setState({\n repo: repo,\n selectedPath: selectedPath,\n errMessage: ''\n });\n };\n\n onRepoItemClick = (repo) => {\n this.setState({\n repo: repo,\n selectedPath: '/',\n errMessage: ''\n });\n };\n\n render() {\n let title = gettext('Copy {placeholder} to');\n if (!this.props.isMutipleOperation) {\n title = title.replace('{placeholder}', '' + Utils.HTMLescape(this.props.dirent.name) + '');\n } else {\n title = gettext('Copy selected item(s) to:');\n }\n let mode = this.props.repoEncrypted ? 'only_current_library':'current_repo_and_other_repos';\n return (\n \n
    \n \n \n {this.state.errMessage && {this.state.errMessage}}\n \n \n \n \n \n
    \n );\n }\n}\n\nCopyDirent.propTypes = propTypes;\n\nexport default CopyDirent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Alert } from 'reactstrap';\n\nconst propTypes = {\n onRename: PropTypes.func.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n checkDuplicatedName: PropTypes.func.isRequired,\n dirent: PropTypes.object,\n};\n\nclass Rename extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n newName: '',\n errMessage: '',\n isSubmitBtnActive: false,\n };\n this.newInput = React.createRef();\n }\n\n componentWillMount() {\n this.setState({newName: this.props.dirent.name});\n }\n\n componentDidMount() {\n let { dirent } = this.props;\n this.changeState(dirent);\n }\n\n componentWillReceiveProps(nextProps) {\n this.changeState(nextProps.dirent);\n }\n\n handleChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({newName: e.target.value});\n };\n\n handleSubmit = () => {\n let { isValid, errMessage } = this.validateInput();\n if (!isValid) {\n this.setState({errMessage : errMessage});\n } else {\n let isDuplicated = this.checkDuplicatedName();\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(this.state.newName));\n this.setState({errMessage: errMessage});\n } else {\n this.props.onRename(this.state.newName);\n this.props.toggleCancel();\n }\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n }\n };\n\n toggle = () => {\n this.props.toggleCancel();\n };\n\n changeState = (dirent) => {\n let name = dirent.name;\n this.setState({newName: name});\n };\n\n validateInput = () => {\n let newName = this.state.newName.trim();\n let isValid = true;\n let errMessage = '';\n if (!newName) {\n isValid = false;\n errMessage = gettext('Name is required.');\n return { isValid, errMessage };\n }\n\n if (newName.indexOf('/') > -1) {\n isValid = false;\n errMessage = gettext('Name should not include ' + '\\'/\\'' + '.');\n return { isValid, errMessage };\n }\n\n return { isValid, errMessage };\n };\n\n checkDuplicatedName = () => {\n let isDuplicated = this.props.checkDuplicatedName(this.state.newName);\n return isDuplicated;\n };\n\n onAfterModelOpened = () => {\n if (!this.newInput.current) return;\n this.newInput.current.focus();\n\n let { dirent } = this.props;\n let type = dirent.type;\n if (type === 'file') {\n var endIndex = dirent.name.lastIndexOf('.md');\n this.newInput.current.setSelectionRange(0, endIndex, 'forward');\n } else {\n this.newInput.current.setSelectionRange(0, -1);\n }\n };\n\n render() {\n let type = this.props.dirent.type;\n return (\n \n {type === 'file' ? gettext('Rename File') : gettext('Rename Folder') }\n \n

    {type === 'file' ? gettext('New file name'): gettext('New folder name')}

    \n \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nRename.propTypes = propTypes;\n\nexport default Rename;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, ButtonGroup } from 'reactstrap';\nimport { gettext, siteRoot, name, fileServerRoot, useGoFileserver } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport URLDecorator from '../../utils/url-decorator';\nimport MoveDirentDialog from '../dialog/move-dirent-dialog';\nimport CopyDirentDialog from '../dialog/copy-dirent-dialog';\nimport ShareDialog from '../dialog/share-dialog';\nimport EditFileTagDialog from '../dialog/edit-filetag-dialog';\nimport ZipDownloadDialog from '../dialog/zip-download-dialog';\nimport Rename from '../dialog/rename-dirent';\nimport LibSubFolderPermissionDialog from '../dialog/lib-sub-folder-permission-dialog';\nimport ViewModeToolbar from './view-mode-toolbar';\n\nimport ModalPortal from '../modal-portal';\nimport ItemDropdownMenu from '../dropdown-menu/item-dropdown-menu';\nimport toaster from '../toast';\n\nimport '../../css/dirents-menu.css';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n userPerm: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n isRepoOwner: PropTypes.bool.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n currentRepoInfo: PropTypes.object.isRequired,\n onFilesTagChanged: PropTypes.func.isRequired,\n unSelectDirent: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n currentMode: PropTypes.string.isRequired,\n switchViewMode: PropTypes.func.isRequired,\n direntList: PropTypes.array.isRequired,\n onItemRename: PropTypes.func.isRequired,\n showDirentDetail: PropTypes.func.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n};\n\nclass MultipleDirOperationToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isZipDialogOpen: false,\n isMoveDialogShow: false,\n isCopyDialogShow: false,\n isMutipleOperation: true,\n showLibContentViewDialogs: false,\n showShareDialog: false,\n showEditFileTagDialog: false,\n fileTagList: [],\n multiFileTagList: [],\n isRenameDialogOpen: false,\n isPermissionDialogOpen: false\n };\n }\n\n onMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onItemsDelete = () => {\n this.props.onItemsDelete();\n };\n\n onItemsDownload = () => {\n let { path, repoID, selectedDirentList } = this.props;\n if (selectedDirentList.length) {\n if (selectedDirentList.length === 1 && !selectedDirentList[0].isDir()) {\n let direntPath = Utils.joinPath(path, selectedDirentList[0].name);\n let url = URLDecorator.getUrl({type: 'download_file_url', repoID: repoID, filePath: direntPath});\n location.href= url;\n return;\n }\n if (!useGoFileserver) {\n this.setState({\n isZipDialogOpen: true\n });\n } else {\n const target = this.props.selectedDirentList.map(dirent => dirent.name);\n seafileAPI.zipDownload(repoID, path, target).then((res) => {\n const zipToken = res.data['zip_token'];\n location.href = `${fileServerRoot}zip/${zipToken}`;\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n }\n }\n };\n\n closeZipDialog = () => {\n this.setState({\n isZipDialogOpen: false\n });\n };\n\n checkDuplicatedName = (newName) => {\n return Utils.checkDuplicatedNameInList(this.props.direntList, newName);\n };\n\n onItemRename = (newName) => {\n const dirent = this.props.selectedDirentList[0];\n this.props.onItemRename(dirent, newName);\n };\n\n onPermissionItem = () => {\n this.setState({\n showLibContentViewDialogs: !this.state.showLibContentViewDialogs,\n isPermissionDialogOpen: !this.state.isPermissionDialogOpen\n });\n };\n\n onMarkAsDraft = (dirent) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(dirent);\n seafileAPI.sdocMarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(dirent, 'is_sdoc_draft', true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUnmarkAsDraft = (dirent) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(dirent);\n seafileAPI.sdocUnmarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(dirent, 'is_sdoc_draft', false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onStartRevise = (dirent) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(dirent);\n seafileAPI.sdocStartRevise(repoID, filePath).then((res) => {\n let url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(res.data.file_path);\n window.open(url);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getDirentMenuList = (dirent) => {\n const isRepoOwner = this.props.isRepoOwner;\n const currentRepoInfo = this.props.currentRepoInfo;\n const isContextmenu = true;\n let opList = Utils.getDirentOperationList(isRepoOwner, currentRepoInfo, dirent, isContextmenu);\n const list = ['Move', 'Copy', 'Delete', 'Download'];\n if (dirent.type == 'dir') {\n opList = opList.filter((item, index) => {\n return list.indexOf(item.key) == -1 && item != 'Divider';\n });\n } else {\n opList = opList.filter((item, index) => {\n return list.indexOf(item.key) == -1;\n });\n }\n return opList;\n };\n\n onMenuItemClick = (operation) => {\n const dirents = this.props.selectedDirentList;\n const dirent = dirents[0];\n switch (operation) {\n case 'Share':\n this.setState({\n showLibContentViewDialogs: true,\n showShareDialog: true,\n });\n break;\n case 'Rename':\n this.setState({\n showLibContentViewDialogs: true,\n isRenameDialogOpen: true\n });\n break;\n case 'Permission':\n this.onPermissionItem();\n break;\n case 'Tags':\n this.listFileTags(dirent);\n break;\n case 'Lock':\n this.lockFile(dirent);\n break;\n case 'Unlock':\n this.unlockFile(dirent);\n break;\n case 'Mark as draft':\n this.onMarkAsDraft(dirent);\n break;\n case 'Unmark as draft':\n this.onUnmarkAsDraft(dirent);\n break;\n case 'History':\n this.onHistory(dirent);\n break;\n case 'Access Log':\n this.onAccessLog(dirent);\n break;\n case 'Properties':\n this.props.showDirentDetail('info');\n break;\n case 'Open via Client':\n this.onOpenViaClient(dirent);\n break;\n default:\n break;\n }\n };\n\n lockFile = (dirent) => {\n const filePath = this.getDirentPath(dirent);\n seafileAPI.lockfile(this.props.repoID, filePath).then((res) => {\n if (res.data.is_locked) {\n this.props.updateDirent(dirent, 'is_locked', true);\n this.props.updateDirent(dirent, 'locked_by_me', true);\n this.props.updateDirent(dirent, 'lock_owner_name', name);\n this.props.unSelectDirent();\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unlockFile = (dirent) => {\n const filePath = this.getDirentPath(dirent);\n seafileAPI.unlockfile(this.props.repoID, filePath).then((res) => {\n if (!res.data.is_locked) {\n this.props.updateDirent(dirent, 'is_locked', false);\n this.props.updateDirent(dirent, 'locked_by_me', false);\n this.props.updateDirent(dirent, 'lock_owner_name', '');\n this.props.unSelectDirent();\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onOpenViaClient = (dirent) => {\n const filePath = this.getDirentPath(dirent);\n let url = URLDecorator.getUrl({\n type: 'open_via_client',\n repoID: this.props.repoID,\n filePath: filePath\n });\n location.href = url;\n };\n\n onHistory = (dirent) => {\n let filePath = this.getDirentPath(dirent);\n let url = URLDecorator.getUrl({\n type: 'file_revisions',\n repoID: this.props.repoID,\n filePath: filePath\n });\n location.href = url;\n };\n\n onAccessLog = (dirent) => {\n let filePath = this.getDirentPath(dirent);\n let path = siteRoot + 'repo/file-access/' + this.props.repoID + '/?p=' + encodeURIComponent(filePath) ;\n window.open(path);\n };\n\n toggleCancel = () => {\n this.setState({\n showLibContentViewDialogs: false,\n showShareDialog: false,\n showEditFileTagDialog: false,\n isRenameDialogOpen: false,\n isPermissionDialogOpen: false,\n });\n };\n\n listFileTags = (dirent) => {\n let filePath = this.getDirentPath(dirent);\n seafileAPI.listFileTags(this.props.repoID, filePath).then(res => {\n let fileTagList = res.data.file_tags;\n for (let i = 0, length = fileTagList.length; i < length; i++) {\n fileTagList[i].id = fileTagList[i].file_tag_id;\n }\n this.setState({\n fileTagList: fileTagList,\n showLibContentViewDialogs: true,\n showEditFileTagDialog: true,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onMenuFileTagChanged = () => {\n this.listFileTags(this.props.selectedDirentList[0]);\n let length = this.props.selectedDirentList.length;\n for (let i = 0; i < length; i++) {\n const dirent = this.props.selectedDirentList[i];\n const direntPath = this.getDirentPath(dirent);\n this.props.onFilesTagChanged(dirent, direntPath);\n }\n };\n\n getDirentPath = (dirent) => {\n if (dirent) return Utils.joinPath(this.props.path, dirent.name);\n };\n\n render() {\n\n const { repoID, userPerm } = this.props;\n const dirent = this.props.selectedDirentList[0];\n const direntPath = this.getDirentPath(dirent);\n\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n let canDelete = true;\n let canDownload = true;\n let canCopy = true;\n let canModify = true;\n if (isCustomPermission) {\n const { permission } = customPermission;\n canDelete = permission.delete;\n canDownload = permission.download;\n canCopy = permission.copy;\n canModify = permission.modify;\n }\n\n return (\n \n
    \n
    \n \n {(userPerm === 'rw' || userPerm === 'admin' || isCustomPermission) && (\n \n {canModify && }\n {canCopy && }\n {canDelete && }\n {canDownload && }\n \n )}\n {userPerm === 'cloud-edit' && (\n \n {canModify && }\n {canCopy && }\n {canDelete && }\n \n )}\n {userPerm === 'r' && (\n \n \n \n \n )}\n {this.props.selectedDirentList.length === 1 &&\n \n }\n \n
    \n
    \n {Utils.isDesktop() && }\n {this.state.isMoveDialogShow &&\n \n }\n {this.state.isCopyDialogShow &&\n \n }\n {this.state.isZipDialogOpen &&\n \n dirent.name)}\n toggleDialog={this.closeZipDialog}\n />\n \n }\n {this.state.showLibContentViewDialogs && (\n \n {this.state.showShareDialog &&\n \n \n \n }\n {this.state.isRenameDialogOpen &&\n \n \n \n }\n {this.state.isPermissionDialogOpen &&\n \n \n \n }\n {this.state.showEditFileTagDialog &&\n \n \n \n }\n \n )}\n
    \n );\n }\n}\n\nMultipleDirOperationToolbar.propTypes = propTypes;\n\nexport default MultipleDirOperationToolbar;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { DropdownToggle, Dropdown, DropdownMenu, DropdownItem, Tooltip} from 'reactstrap';\nimport { gettext, siteRoot, isDocs } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\nimport ModalPotal from '../modal-portal';\nimport ShareDialog from '../dialog/share-dialog';\nimport EditFileTagDialog from '../dialog/edit-filetag-dialog';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n userPerm: PropTypes.string.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n filePermission: PropTypes.string,\n isDraft: PropTypes.bool.isRequired,\n hasDraft: PropTypes.bool.isRequired,\n fileTags: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n showShareBtn: PropTypes.bool.isRequired,\n dirent: PropTypes.object.isRequired,\n};\n\nclass ViewFileToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isDraftMessageShow: false,\n isMoreMenuShow: false,\n isShareDialogShow: false,\n isEditTagDialogShow: false,\n };\n }\n\n onEditClick = (e) => {\n e.preventDefault();\n let { path, repoID } = this.props;\n let url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(path) + '?mode=edit';\n window.open(url);\n };\n\n onNewDraft = (e) => {\n e.preventDefault();\n let { path, repoID } = this.props;\n seafileAPI.createDraft(repoID, path).then(res => {\n window.location.href = siteRoot + 'lib/' + res.data.origin_repo_id + '/file' + res.data.draft_file_path + '?mode=edit';\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onDraftHover = () => {\n this.setState({isDraftMessageShow: !this.state.isDraftMessageShow});\n };\n\n toggleMore = () => {\n this.setState({isMoreMenuShow: !this.state.isMoreMenuShow});\n };\n\n onShareToggle = () => {\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n onEditFileTagToggle = () => {\n this.setState({isEditTagDialogShow: !this.state.isEditTagDialogShow});\n };\n\n onHistoryClick = () => {\n let historyUrl = siteRoot + 'repo/file_revisions/' + this.props.repoID + '/?p=' + Utils.encodePath(this.props.path);\n location.href = historyUrl;\n };\n\n render() {\n let { filePermission } = this.props;\n return (\n \n
    \n {((filePermission === 'rw' || filePermission === 'cloud-edit') && !this.props.hasDraft) && (\n \n \n \n )}\n {(filePermission === 'rw' && !this.props.isDraft && !this.props.hasDraft && isDocs) && (\n \n \n {gettext('Create a draft from this file, instead of editing it directly.')}\n \n )}\n {filePermission === 'rw' && (\n \n \n {gettext('More')}\n \n \n {this.props.showShareBtn &&\n {gettext('Share')}\n }\n {gettext('Tags')}\n {gettext('History')}\n \n \n )}\n
    \n {this.state.isShareDialogShow && (\n \n \n \n )}\n {this.state.isEditTagDialogShow && (\n \n \n \n )}\n
    \n );\n }\n}\n\nViewFileToolbar.propTypes = propTypes;\n\nexport default ViewFileToolbar;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\nimport ViewModeToolbar from '../../components/toolbar/view-mode-toolbar';\nimport DirOperationToolBar from '../../components/toolbar/dir-operation-toolbar';\nimport MultipleDirOperationToolbar from '../../components/toolbar/multiple-dir-operation-toolbar';\nimport ViewFileToolbar from '../../components/toolbar/view-file-toolbar';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n isViewFile: PropTypes.bool.isRequired,\n filePermission: PropTypes.string,\n isDraft: PropTypes.bool.isRequired,\n hasDraft: PropTypes.bool.isRequired,\n fileTags: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired, // for file-view-toolbar\n // side-panel\n onSideNavMenuClick: PropTypes.func.isRequired,\n // mutiple-dir\n isDirentSelected: PropTypes.bool.isRequired,\n repoID: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n // dir\n direntList: PropTypes.array.isRequired,\n repoName: PropTypes.string.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string.isRequired,\n showShareBtn: PropTypes.bool.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n onAddFile: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onUploadFile: PropTypes.func.isRequired,\n onUploadFolder: PropTypes.func.isRequired,\n // view-mode\n currentMode: PropTypes.string.isRequired,\n switchViewMode: PropTypes.func.isRequired,\n // search\n onSearchedClick: PropTypes.func.isRequired,\n isRepoOwner: PropTypes.bool.isRequired,\n // selected menu\n onFilesTagChanged: PropTypes.func.isRequired, // for mutiple select toolbar\n updateDirent: PropTypes.func.isRequired,\n unSelectDirent: PropTypes.func,\n currentRepoInfo: PropTypes.object,\n onItemRename: PropTypes.func,\n showDirentDetail: PropTypes.func,\n};\n\nclass LibContentToolbar extends React.Component {\n\n render() {\n\n const { userPerm } = this.props;\n const { isCustomPermission } = Utils.getUserPermission(userPerm);\n\n if (this.props.isViewFile) {\n return (\n \n
    \n \n \n \n
    \n \n
    \n );\n }\n\n return (\n \n
    \n \n {this.props.isDirentSelected ?\n :\n \n }\n
    \n \n
    \n );\n }\n}\n\nLibContentToolbar.propTypes = propTypes;\n\nexport default LibContentToolbar;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { siteRoot, gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { InternalLinkOperation } from '../operations';\n\nconst propTypes = {\n repoName: PropTypes.string.isRequired,\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n onTabNavClick: PropTypes.func,\n pathPrefix: PropTypes.array,\n repoID: PropTypes.string.isRequired,\n isViewFile: PropTypes.bool,\n fileTags: PropTypes.array.isRequired,\n};\n\nclass DirPath extends React.Component {\n\n onPathClick = (e) => {\n let path = Utils.getEventData(e, 'path');\n this.props.onPathClick(path);\n };\n\n onTabNavClick = (e, tabName, id) => {\n if (window.uploader &&\n window.uploader.isUploadProgressDialogShow &&\n window.uploader.totalProgress !== 100) {\n if (!window.confirm(gettext('A file is being uploaded. Are you sure you want to leave this page?'))) {\n e.preventDefault();\n return false;\n }\n window.uploader.isUploadProgressDialogShow = false;\n }\n this.props.onTabNavClick(tabName, id);\n };\n\n turnPathToLink = (path) => {\n path = path[path.length - 1] === '/' ? path.slice(0, path.length - 1) : path;\n let pathList = path.split('/');\n let nodePath = '';\n let pathElem = pathList.map((item, index) => {\n if (item === '') {\n return null;\n }\n if (index === (pathList.length - 1)) {\n return (\n \n /\n {item}\n \n );\n } else {\n nodePath += '/' + item;\n return (\n \n /\n {item}\n \n );\n }\n });\n return pathElem;\n };\n\n render() {\n let { currentPath, repoName, fileTags } = this.props;\n let pathElem = this.turnPathToLink(currentPath);\n\n let tagTitle = '';\n if (fileTags.length > 0) {\n fileTags.forEach(item => {\n tagTitle += item.name + ' ';\n });\n }\n\n return (\n
    \n {this.props.pathPrefix && this.props.pathPrefix.map((item, index) => {\n return (\n \n this.onTabNavClick(e, item.name, item.id)}>{gettext(item.showName)}\n /\n \n );\n })}\n {this.props.pathPrefix && this.props.pathPrefix.length === 0 && (\n \n this.onTabNavClick(e, 'my-libs')}>{gettext('Libraries')}\n /\n \n )}\n {!this.props.pathPrefix && (\n \n this.onTabNavClick(e, 'my-libs')}>{gettext('Libraries')}\n /\n \n )}\n {(currentPath === '/' || currentPath === '') ?\n {repoName}:\n {repoName}\n }\n {pathElem}\n {this.props.isViewFile && (\n \n )}\n {(this.props.isViewFile && fileTags.length !== 0) &&\n \n {fileTags.map((fileTag, index) => {\n return ();\n })}\n \n {tagTitle}\n \n \n }\n
    \n );\n }\n}\n\nDirPath.propTypes = propTypes;\n\nexport default DirPath;\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import React from 'react';\nimport { Popover } from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport { KeyCodes } from '../../constants';\n\nconst propTypes = {\n target: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n boundariesElement: PropTypes.object,\n innerClassName: PropTypes.string,\n popoverClassName: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n hideSeahubPopover: PropTypes.func.isRequired,\n hideSeahubPopoverWithEsc: PropTypes.func,\n hideArrow: PropTypes.bool,\n canHideSeahubPopover: PropTypes.bool,\n placement: PropTypes.string,\n modifiers: PropTypes.object\n};\n\nclass SeahubPopover extends React.Component {\n\n SeahubPopoverRef = null;\n isSelectOpen = false;\n\n componentDidMount() {\n document.addEventListener('mousedown', this.onMouseDown, true);\n document.addEventListener('keydown', this.onKeyDown);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.onMouseDown, true);\n document.removeEventListener('keydown', this.onKeyDown);\n }\n\n getEventClassName = (e) => {\n // svg mouseEvent event.target.className is an object\n if (!e || !e.target) return '';\n return e.target.getAttribute('class') || '';\n };\n\n onKeyDown = (e) => {\n const { canHideSeahubPopover, hideSeahubPopoverWithEsc } = this.props;\n if (e.keyCode === KeyCodes.Escape && typeof hideSeahubPopoverWithEsc === 'function' && !this.isSelectOpen) {\n e.preventDefault();\n hideSeahubPopoverWithEsc();\n } else if (e.keyCode === KeyCodes.Enter) {\n // Resolve the default behavior of the enter key when entering formulas is blocked\n if (canHideSeahubPopover) return;\n e.stopImmediatePropagation();\n }\n };\n\n onMouseDown = (e) => {\n if (!this.props.canHideSeahubPopover) return;\n if (this.SeahubPopoverRef && e && this.getEventClassName(e).indexOf('popover') === -1 && !this.SeahubPopoverRef.contains(e.target)) {\n this.props.hideSeahubPopover(e);\n }\n };\n\n onPopoverInsideClick = (e) => {\n e.stopPropagation();\n };\n\n render() {\n const {\n target, boundariesElement, innerClassName, popoverClassName, hideArrow, modifiers,\n placement,\n } = this.props;\n let additionalProps = {};\n if (boundariesElement) {\n additionalProps.boundariesElement = boundariesElement;\n }\n return (\n \n
    this.SeahubPopoverRef = ref} onClick={this.onPopoverInsideClick}>\n {this.props.children}\n
    \n \n );\n }\n}\n\nSeahubPopover.defaultProps = {\n placement: 'bottom-start',\n hideArrow: true,\n canHideSeahubPopover: true\n};\n\nSeahubPopover.propTypes = propTypes;\n\nexport default SeahubPopover;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover, PopoverBody } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { TAG_COLORS } from '../../constants';\nimport toaster from '../toast';\n\nimport '../../css/repo-tag.css';\n\nconst tagColorPropTypes = {\n tag: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired\n};\n\nclass TagColor extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n tagColor: this.props.tag.color,\n isPopoverOpen: false\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.tag.color !== this.props.tag.color) {\n this.setState({\n tagColor: nextProps.tag.color,\n });\n }\n }\n\n togglePopover = () => {\n this.setState({\n isPopoverOpen: !this.state.isPopoverOpen\n });\n };\n\n selectTagColor = (e) => {\n const newColor = e.target.value;\n const { repoID, tag } = this.props;\n const { id, name } = tag;\n seafileAPI.updateRepoTag(repoID, id, name, newColor).then(() => {\n this.setState({\n tagColor: newColor,\n isPopoverOpen: !this.state.isPopoverOpen\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { isPopoverOpen, tagColor } = this.state;\n const { tag } = this.props;\n const { id, color } = tag;\n\n let colorList = [...TAG_COLORS];\n // for color from previous color options\n if (colorList.indexOf(color) == -1) {\n colorList.unshift(color);\n }\n\n return (\n
    \n \n \n \n \n \n
    \n {colorList.map((item, index)=>{\n return (\n
    \n \n
    \n );\n })\n }\n
    \n
    \n \n
    \n );\n }\n}\n\nTagColor.propTypes = tagColorPropTypes;\n\nexport default TagColor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nimport '../../css/repo-tag.css';\n\nconst tagNamePropTypes = {\n tag: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired\n};\n\nclass TagName extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n tagName: this.props.tag.name,\n isEditing: false\n };\n this.input = React.createRef();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.tag.name !== this.props.tag.name) {\n this.setState({\n tagName: nextProps.tag.name,\n });\n }\n }\n\n toggleMode = () => {\n this.setState({\n isEditing: !this.state.isEditing\n }, () => {\n if (this.state.isEditing) {\n this.input.current.focus();\n }\n });\n };\n\n updateTagName = (e) => {\n const newName = e.target.value;\n const { repoID, tag } = this.props;\n const { id, color } = tag;\n seafileAPI.updateRepoTag(repoID, id, newName, color).then(() => {\n this.setState({\n tagName: newName\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onInputKeyDown = (e) => {\n if (e.key == 'Enter') {\n this.toggleMode();\n this.updateTagName(e);\n }\n else if (e.key == 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n this.toggleMode();\n }\n };\n\n onInputBlur = (e) => {\n this.toggleMode();\n this.updateTagName(e);\n };\n\n render() {\n const { isEditing, tagName } = this.state;\n return (\n
    \n {isEditing ?\n :\n {tagName}\n }\n
    \n );\n }\n}\n\nTagName.propTypes = tagNamePropTypes;\n\nexport default TagName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport TagColor from '../dialog/tag-color';\nimport TagName from '../dialog/tag-name';\n\nimport '../../css/repo-tag.css';\nimport './list-tag-popover.css';\n\nconst tagListItemPropTypes = {\n item: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired,\n onDeleteTag : PropTypes.func.isRequired\n};\n\nclass TagListItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isTagHighlighted: false\n };\n }\n\n onMouseOver = () => {\n this.setState({\n isTagHighlighted: true\n });\n };\n\n onMouseOut = () => {\n this.setState({\n isTagHighlighted: false\n });\n };\n\n deleteTag = () => {\n this.props.onDeleteTag(this.props.item);\n };\n\n render() {\n const { isTagHighlighted } = this.state;\n const { item, repoID } = this.props;\n return (\n \n \n \n \n \n );\n }\n}\n\nTagListItem.propTypes = tagListItemPropTypes;\n\nexport default TagListItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover, PopoverBody } from 'reactstrap';\nimport { TAG_COLORS } from '../../constants';\n\nimport '../../css/repo-tag.css';\n\nexport default class VirtualTagColor extends React.Component {\n\n static propTypes = {\n updateVirtualTag: PropTypes.func.isRequired,\n tag: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {\n tagColor: this.props.tag.color,\n isPopoverOpen: false\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.tag.color !== this.props.tag.color) {\n this.setState({\n tagColor: nextProps.tag.color,\n });\n }\n }\n\n togglePopover = () => {\n this.setState({\n isPopoverOpen: !this.state.isPopoverOpen\n });\n };\n\n selectTagColor = (e) => {\n const newColor = e.target.value;\n this.props.updateVirtualTag(this.props.tag, { color: newColor });\n this.setState({\n tagColor: newColor,\n isPopoverOpen: !this.state.isPopoverOpen,\n });\n };\n\n render() {\n const { isPopoverOpen, tagColor } = this.state;\n const { tag } = this.props;\n const { id, color } = tag;\n\n let colorList = [...TAG_COLORS];\n // for color from previous color options\n if (colorList.indexOf(color) == -1) {\n colorList.unshift(color);\n }\n\n return (\n
    \n \n \n \n \n \n
    \n {colorList.map((item, index)=>{\n return (\n
    \n \n
    \n );\n })\n }\n
    \n
    \n \n
    \n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport '../../css/repo-tag.css';\n\nexport default class VirtualTagName extends React.Component {\n\n static propTypes = {\n updateVirtualTag: PropTypes.func.isRequired,\n tag: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired\n };\n\n constructor(props) {\n super(props);\n this.state = {\n tagName: this.props.tag.name,\n isEditing: true,\n };\n this.input = React.createRef();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.tag.name !== this.props.tag.name) {\n this.setState({\n tagName: nextProps.tag.name,\n });\n }\n }\n\n componentDidMount() {\n setTimeout(() => {\n this.input.current.focus();\n }, 1);\n }\n\n toggleMode = () => {\n this.setState({\n isEditing: !this.state.isEditing\n });\n };\n\n updateTagName = (e) => {\n const newName = e.target.value;\n this.props.updateVirtualTag(this.props.tag, { name: newName });\n this.setState({\n tagName: newName\n });\n };\n\n onInputKeyDown = (e) => {\n if (e.key == 'Enter') {\n this.toggleMode();\n this.updateTagName(e);\n }\n else if (e.key == 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n this.toggleMode();\n }\n };\n\n onInputBlur = (e) => {\n this.toggleMode();\n this.updateTagName(e);\n };\n\n render() {\n const { isEditing, tagName } = this.state;\n return (\n
    \n {isEditing ?\n :\n {tagName}\n }\n
    \n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport VirtualTagColor from './virtual-tag-color';\nimport VirtualTagName from './virtual-tag-name';\n\nimport '../../css/repo-tag.css';\nimport './list-tag-popover.css';\n\nexport default class VirtualTagListItem extends React.Component {\n\n static propTypes = {\n item: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired,\n deleteVirtualTag: PropTypes.func.isRequired,\n updateVirtualTag: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isTagHighlighted: false\n };\n }\n\n onMouseOver = () => {\n this.setState({ isTagHighlighted: true });\n };\n\n onMouseOut = () => {\n this.setState({ isTagHighlighted: false });\n };\n\n deleteVirtualTag = () => {\n this.props.deleteVirtualTag(this.props.item);\n };\n\n render() {\n const { isTagHighlighted } = this.state;\n const { item, repoID } = this.props;\n return (\n \n \n \n \n \n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tooltip } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport RepoTag from '../../models/repo-tag';\nimport toaster from '../toast';\n\nexport default class TagListFooter extends Component {\n\n static propTypes = {\n repoID: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n repotagList: PropTypes.array.isRequired,\n updateTags: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n showTooltip: false,\n };\n }\n\n toggleTooltip = () => {\n this.setState({showTooltip: !this.state.showTooltip});\n };\n\n onClickImport = () => {\n this.importOptionsInput.click();\n };\n\n importTagsInputChange = () => {\n if (!this.importOptionsInput.files || !this.importOptionsInput.files.length) {\n toaster.warning(gettext('Please select a file'));\n return;\n }\n const fileReader = new FileReader();\n fileReader.onload = this.onImportTags.bind(this);\n fileReader.onerror = this.onImportTagsError.bind(this);\n fileReader.readAsText(this.importOptionsInput.files[0]);\n };\n\n getValidTags = (tags) => {\n let validTags = [];\n let tagNameMap = {};\n this.props.repotagList.forEach(tag => tagNameMap[tag.name] = true);\n for (let i = 0; i < tags.length; i++) {\n if (!tags[i] || typeof tags[i] !== 'object' || !tags[i].name || !tags[i].color) {\n continue;\n }\n if (!tagNameMap[tags[i].name]) {\n validTags.push(\n {\n name: tags[i].name,\n color: tags[i].color,\n }\n );\n tagNameMap[tags[i].name] = true;\n }\n }\n return validTags;\n };\n\n onImportTags = (event) => {\n let tags = [];\n try {\n tags = JSON.parse(event.target.result); // handle JSON file format is error\n } catch (error) {\n toaster.danger(gettext('The imported tags are invalid'));\n return;\n }\n if (!Array.isArray(tags) || tags.length === 0) {\n toaster.danger(gettext('The imported tags are invalid'));\n return;\n }\n let validTags = this.getValidTags(tags);\n if (validTags.length === 0) {\n toaster.warning(gettext('The imported tag already exists'));\n return;\n }\n seafileAPI.createRepoTags(this.props.repoID, validTags).then((res) => {\n toaster.success(gettext('Tags imported'));\n let repotagList = [];\n res.data.repo_tags.forEach(item => {\n let repo_tag = new RepoTag(item);\n repotagList.push(repo_tag);\n });\n this.props.updateTags(repotagList);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n this.importOptionsInput.value = null;\n };\n\n onImportTagsError = () => {\n toaster.success(gettext('Failed to import tags. Please reupload.'));\n };\n\n getDownloadUrl = () => {\n const tags = this.props.repotagList.map(item => {\n return { name: item.name, color: item.color };\n });\n return `data:text/json;charset=utf-8,${encodeURIComponent(JSON.stringify(tags))}`;\n };\n\n render() {\n return (\n
    \n \n \n {gettext('Use the import/export function to transfer tags quickly to another library. (The export is in JSON format.)')}\n \n this.importOptionsInput = ref}\n accept='.json'\n className=\"d-none\"\n onChange={this.importTagsInputChange}\n />\n {gettext('Import tags')}\n |\n \n {gettext('Export tags')}\n \n
    \n );\n }\n}\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\nimport RepoTag from '../../models/repo-tag';\nimport TagListItem from './tag-list-item';\nimport VirtualTagListItem from './virtual-tag-list-item';\nimport TagListFooter from './tag-list-footer';\nimport { TAG_COLORS } from '../../constants/';\n\nimport '../../css/repo-tag.css';\nimport './list-tag-popover.css';\n\nexport default class ListTagPopover extends React.Component {\n\n static propTypes = {\n repoID: PropTypes.string.isRequired,\n onListTagCancel: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n repotagList: []\n };\n }\n\n componentDidMount() {\n this.loadTags();\n }\n\n loadTags = () => {\n seafileAPI.listRepoTags(this.props.repoID).then(res => {\n let repotagList = [];\n res.data.repo_tags.forEach(item => {\n let repo_tag = new RepoTag(item);\n repotagList.push(repo_tag);\n });\n this.setState({ repotagList });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateTags = (newRepotagList) => {\n this.setState({\n repotagList: [...this.state.repotagList, ...newRepotagList],\n });\n };\n\n onDeleteTag = (tag) => {\n const { repoID } = this.props;\n const { id: targetTagID } = tag;\n seafileAPI.deleteRepoTag(repoID, targetTagID).then((res) => {\n this.setState({\n repotagList: this.state.repotagList.filter(tag => tag.id != targetTagID)\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n createVirtualTag = (e) => {\n e.preventDefault();\n let { repotagList } = this.state;\n let virtual_repo_tag = {\n name: '',\n color: TAG_COLORS[Math.floor(Math.random() * TAG_COLORS.length)], // generate random tag color for virtual tag\n id: `virtual-tag-${uuidv4()}`,\n is_virtual: true,\n };\n repotagList.push(virtual_repo_tag);\n this.setState({ repotagList });\n };\n\n deleteVirtualTag = (virtualTag) => {\n let { repotagList } = this.state;\n let index = repotagList.findIndex(item => item.id === virtualTag.id);\n repotagList.splice(index, 1);\n this.setState({ repotagList });\n };\n\n updateVirtualTag = (virtualTag, data) => {\n const repoID = this.props.repoID;\n const { repotagList } = this.state;\n const index = repotagList.findIndex(item => item.id === virtualTag.id);\n if (index < 0) return null;\n\n // If virtual tag color is updated and virtual tag name is empty, it will be saved to local state, don't save it to the server\n if (data.color) {\n virtualTag.color = data.color;\n repotagList[index] = virtualTag;\n this.setState({ repotagList });\n return;\n }\n\n // If virtual tag name is updated and name is not empty, virtual tag color use default, save it to the server\n if (data.name && data.name.length > 0) {\n let color = virtualTag.color;\n let name = data.name;\n seafileAPI.createRepoTag(repoID, name, color).then((res) => {\n // After saving sag to the server, replace the virtual tag with newly created tag\n repotagList[index] = new RepoTag(res.data.repo_tag);\n this.setState({ repotagList });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n render() {\n return (\n \n
      \n {this.state.repotagList.map((repoTag, index) => {\n if (repoTag.is_virtual) {\n return (\n \n );\n } else {\n return (\n \n );\n }\n })}\n
    \n
    \n {gettext('Create a new tag')}\n
    \n \n
    \n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport SeahubPopover from '../common/seahub-popover';\nimport ListTagPopover from '../popover/list-tag-popover';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n userPerm: PropTypes.string,\n currentPath: PropTypes.string.isRequired,\n updateUsedRepoTags: PropTypes.func.isRequired,\n onDeleteRepoTag: PropTypes.func.isRequired,\n};\n\nclass DirTool extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isListRepoTagShow: false,\n };\n this.tagsIconID = `tags-icon-${uuidv4()}`;\n }\n\n onShowListRepoTag = (e) => {\n this.setState({ isListRepoTagShow: true });\n };\n\n hidePopover = (e) => {\n if (e) {\n let dom = e.target;\n while (dom) {\n if (typeof dom.className === 'string' && dom.className.includes('tag-color-popover')) return;\n dom = dom.parentNode;\n }\n }\n this.setState({ isListRepoTagShow: false });\n };\n\n toggleCancel = () => {\n this.setState({ isListRepoTagShow: false });\n };\n\n isMarkdownFile(filePath) {\n return Utils.getFileName(filePath).includes('.md');\n }\n\n render() {\n let { repoID, userPerm, currentPath } = this.props;\n if (userPerm !== 'rw') {\n return '';\n }\n if (this.isMarkdownFile(currentPath)) {\n return '';\n }\n let toolbarDom = null;\n if (Utils.getFileName(currentPath)) { // name not '' is not root path\n let trashUrl = siteRoot + 'repo/' + repoID + '/trash/?path=' + encodeURIComponent(currentPath);\n toolbarDom = (\n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n );\n } else { // currentPath === '/' is root path\n let trashUrl = siteRoot + 'repo/' + repoID + '/trash/';\n let historyUrl = siteRoot + 'repo/history/' + repoID + '/';\n toolbarDom = (\n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n );\n }\n return (\n <>\n {toolbarDom}\n {this.state.isListRepoTagShow &&\n \n \n \n }\n \n );\n }\n}\n\nDirTool.propTypes = propTypes;\n\nexport default DirTool;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../utils/utils';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\nimport DirPath from './dir-path';\nimport DirTool from './dir-tool';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n repoName: PropTypes.string.isRequired,\n userPerm: PropTypes.string,\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n onTabNavClick: PropTypes.func,\n pathPrefix: PropTypes.array,\n isViewFile: PropTypes.bool,\n updateUsedRepoTags: PropTypes.func.isRequired,\n fileTags: PropTypes.array.isRequired,\n onDeleteRepoTag: PropTypes.func.isRequired,\n direntList: PropTypes.array,\n sortBy: PropTypes.string,\n sortOrder: PropTypes.string,\n sortItems: PropTypes.func,\n};\n\nclass CurDirPath extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isSortOptionsDialogOpen: false\n };\n }\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n render() {\n const isDesktop = Utils.isDesktop();\n return (\n \n \n {isDesktop &&\n }\n {!isDesktop && this.props.direntList.length > 0 &&\n }\n {this.state.isSortOptionsDialogOpen &&\n \n }\n \n );\n }\n}\n\nCurDirPath.propTypes = propTypes;\n\nexport default CurDirPath;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Col } from 'reactstrap';\n\nfunction ColumnName(props) {\n const { column } = props;\n const { name } = column;\n\n return (\n \n
    \n {name || ''}\n
    \n \n );\n}\n\nColumnName.propTypes = {\n column: PropTypes.object.isRequired,\n};\n\nexport default ColumnName;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { KeyCodes } from '../../../../constants';\n\nclass SimpleText extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.row[props.column.key] || '',\n };\n this.inputRef = React.createRef();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const nextValue = nextProps.row[nextProps.column.key];\n if (nextValue !== this.state.value) {\n this.setState({ value: nextValue });\n }\n }\n\n blurInput = () => {\n setTimeout(() => {\n this.inputRef.current && this.inputRef.current.blur();\n }, 1);\n };\n\n onBlur = () => {\n let { column, onCommit } = this.props;\n const updated = {};\n updated[column.key] = this.state.value.trim();\n onCommit(updated, column);\n };\n\n onChange = (e) => {\n let value = e.target.value;\n if (value === this.state.value) return;\n this.setState({value});\n };\n\n onCut = (e) => {\n e.stopPropagation();\n };\n\n onPaste = (e) => {\n e.stopPropagation();\n };\n\n onKeyDown = (e) => {\n if (e.keyCode === KeyCodes.Esc) {\n e.stopPropagation();\n this.blurInput();\n return;\n }\n let { selectionStart, selectionEnd, value } = e.currentTarget;\n if (\n (e.keyCode === KeyCodes.ChineseInputMethod) ||\n (e.keyCode === KeyCodes.LeftArrow && selectionStart === 0) ||\n (e.keyCode === KeyCodes.RightArrow && selectionEnd === value.length)\n ) {\n e.stopPropagation();\n }\n };\n\n render() {\n const { column } = this.props;\n const { value } = this.state;\n\n return (\n \n );\n }\n}\n\nSimpleText.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n onCommit: PropTypes.func.isRequired,\n};\n\nexport default SimpleText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FORMULA_RESULT_TYPE } from '../../../../constants';\nimport { getDateDisplayString } from '../../../../utils/extra-attributes';\n\nfunction FormulaFormatter(props) {\n const { column, row } = props;\n const value = row[column.key];\n\n const { data } = column;\n const { result_type, format } = data || {};\n if (result_type === FORMULA_RESULT_TYPE.DATE) {\n return (\n
    {getDateDisplayString(value, format)}
    \n );\n }\n if (result_type === FORMULA_RESULT_TYPE.STRING) {\n return value;\n }\n if (typeof value === 'object') {\n return null;\n }\n return <>;\n}\n\nFormulaFormatter.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n};\n\nexport default FormulaFormatter;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nclass SearchInput extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n searchValue: props.value,\n };\n this.isInputtingChinese = false;\n this.timer = null;\n this.inputRef = null;\n }\n\n componentDidMount() {\n if (this.props.autoFocus && this.inputRef && this.inputRef !== document.activeElement) {\n setTimeout(() => {\n this.inputRef.focus();\n }, 0);\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.value !== this.props.value) {\n this.setState({searchValue: nextProps.value});\n }\n }\n\n componentWillUnmount() {\n this.timer && clearTimeout(this.timer);\n this.timer = null;\n this.inputRef = null;\n }\n\n onCompositionStart = () => {\n this.isInputtingChinese = true;\n };\n\n onChange = (e) => {\n this.timer && clearTimeout(this.timer);\n const { onChange, wait } = this.props;\n let text = e.target.value;\n this.setState({searchValue: text || ''}, () => {\n if (this.isInputtingChinese) return;\n this.timer = setTimeout(() => {\n onChange && onChange(this.state.searchValue.trim());\n }, wait);\n });\n };\n\n onCompositionEnd = (e) => {\n this.isInputtingChinese = false;\n this.onChange(e);\n };\n\n setFocus = (isSelectAllText) => {\n if (this.inputRef === document.activeElement) return;\n this.inputRef.focus();\n if (isSelectAllText) {\n const txtLength = this.state.searchValue.length;\n this.inputRef.setSelectionRange(0, txtLength);\n }\n };\n\n render() {\n const { placeholder, autoFocus, className, onKeyDown, disabled, style } = this.props;\n const { searchValue } = this.state;\n\n return (\n this.inputRef = ref}\n />\n );\n }\n}\n\nSearchInput.propTypes = {\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n wait: PropTypes.number,\n disabled: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.string,\n};\n\nSearchInput.defaultProps = {\n wait: 100,\n disabled: false,\n value: '',\n};\n\nexport default SearchInput;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { UncontrolledPopover } from 'reactstrap';\nimport { gettext } from '../../../../../utils/constants';\nimport SearchInput from '../search-input';\nimport { getSelectColumnOptions } from '../../../../../utils/extra-attributes';\n\nclass SingleSelectEditor extends Component {\n\n constructor(props) {\n super(props);\n const options = this.getSelectColumnOptions(props);\n this.state = {\n value: props.row[props.column.key],\n searchVal: '',\n highlightIndex: -1,\n maxItemNum: 0,\n itemHeight: 0,\n filteredOptions: options,\n };\n this.options = options;\n this.timer = null;\n this.editorKey = `single-select-editor-${props.column.key}`;\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const currentCascadeColumnValue = this.getCascadeColumnValue(this.props);\n const nextCascadeColumnValue = this.getCascadeColumnValue(nextProps);\n if (currentCascadeColumnValue !== nextCascadeColumnValue) {\n this.options = this.getSelectColumnOptions(nextProps);\n this.setState({ filteredOptions: this.options });\n }\n }\n\n getCascadeColumnValue = (props) => {\n const { column, row, columns } = props;\n const { data } = column;\n const { cascade_column_key } = data || {};\n if (!cascade_column_key) return '';\n const cascadeColumn = columns.find(item => item.key === cascade_column_key);\n if (!cascadeColumn) return '';\n return row[cascade_column_key];\n };\n\n getSelectColumnOptions = (props) => {\n const { column, row, columns } = props;\n let options = getSelectColumnOptions(column);\n const { data } = column;\n const { cascade_column_key, cascade_settings } = data || {};\n if (cascade_column_key) {\n const cascadeColumn = columns.find(item => item.key === cascade_column_key);\n if (cascadeColumn) {\n const cascadeColumnValue = row[cascade_column_key];\n if (!cascadeColumnValue) return [];\n const cascadeSetting = cascade_settings[cascadeColumnValue];\n if (!cascadeSetting || !Array.isArray(cascadeSetting) || cascadeSetting.length === 0) return [];\n return options.filter(option => cascadeSetting.includes(option.id));\n }\n }\n return options;\n };\n\n toggle = () => {\n this.ref.toggle();\n this.props.onUpdateState();\n };\n\n onChangeSearch = (searchVal) => {\n const { searchVal: oldSearchVal } = this.state;\n if (oldSearchVal === searchVal) return;\n const val = searchVal.toLowerCase();\n const filteredOptions = val ?\n this.options.filter((item) => item.name && item.name.toLowerCase().indexOf(val) > -1) : this.options;\n this.setState({ searchVal, filteredOptions });\n };\n\n onSelectOption = (optionID) => {\n const { column } = this.props;\n this.setState({ value: optionID }, () => {\n this.props.onCommit({ [column.key]: optionID }, column);\n this.toggle();\n });\n };\n\n render() {\n const { value, filteredOptions } = this.state;\n const { column } = this.props;\n\n return (\n this.ref = ref}\n >\n
    \n
    \n \n
    \n
    \n {filteredOptions.map(option => {\n const isSelected = value === option.id;\n const style = {\n backgroundColor: option.color,\n color: option.textColor || null,\n maxWidth: Math.max(200 - 62, column.width ? column.width -62 : 0)\n };\n return (\n
    \n
    {option.name}
    \n
    \n {isSelected && ()}\n
    \n
    \n );\n })}\n
    \n
    \n \n );\n }\n}\n\nSingleSelectEditor.propTypes = {\n value: PropTypes.string,\n row: PropTypes.object,\n column: PropTypes.object,\n columns: PropTypes.array,\n onUpdateState: PropTypes.func,\n onCommit: PropTypes.func,\n};\n\nexport default SingleSelectEditor;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { DELETED_OPTION_BACKGROUND_COLOR, DELETED_OPTION_TIPS } from '../../../../../constants';\nimport { gettext } from '../../../../../utils/constants';\nimport SingleSelectEditor from './single-select-editor';\nimport { getSelectColumnOptions } from '../../../../../utils/extra-attributes';\n\nimport './index.css';\n\nclass SingleSelect extends Component {\n\n constructor(props) {\n super(props);\n const { column } = props;\n this.options = getSelectColumnOptions(column);\n this.state = {\n isShowSingleSelect: false,\n };\n this.editorKey = `single-select-editor-${column.key}`;\n }\n\n updateState = () => {\n this.setState({ isShowSingleSelect: !this.state.isShowSingleSelect });\n };\n\n onCommit = (value, column) => {\n this.props.onCommit(value, column);\n };\n\n render() {\n const { isShowSingleSelect } = this.state;\n const { column, row } = this.props;\n const currentOptionID = row[column.key];\n const option = this.options.find(option => option.id === currentOptionID);\n const optionStyle = option ?\n { backgroundColor: option.color, color: option.textColor || null } :\n { backgroundColor: DELETED_OPTION_BACKGROUND_COLOR };\n const optionName = option ? option.name : gettext(DELETED_OPTION_TIPS);\n\n return (\n <>\n \n
    \n
    \n {currentOptionID && (\n {optionName}
    \n )}\n
    \n {column.editable && (\n \n )}\n
    \n \n {column.editable && (\n \n )}\n \n );\n }\n}\n\nSingleSelect.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n columns: PropTypes.array,\n onCommit: PropTypes.func,\n};\n\nexport default SingleSelect;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { getNumberDisplayString, replaceNumberNotAllowInput, formatStringToNumber, isMac } from '../../../../utils/extra-attributes';\nimport { KeyCodes, DEFAULT_NUMBER_FORMAT } from '../../../../constants';\n\nclass NumberEditor extends React.Component {\n\n constructor(props) {\n super(props);\n const { row, column } = props;\n const value = row[column.key];\n this.state = {\n value: getNumberDisplayString(value, column.data),\n };\n }\n\n onChange = (event) => {\n const { data } = this.props.column; // data maybe 'null'\n const format = (data && data.format) ? data.format : DEFAULT_NUMBER_FORMAT;\n let currency_symbol = null;\n if (data && data.format === 'custom_currency') {\n currency_symbol = data['currency_symbol'];\n }\n const initValue = event.target.value.trim();\n\n //Prevent the repetition of periods bug in the Chinese input method of the Windows system\n if (!isMac() && initValue.indexOf('.。') > -1) return;\n let value = replaceNumberNotAllowInput(initValue, format, currency_symbol);\n if (value === this.state.value) return;\n this.setState({ value });\n };\n\n onKeyDown = (event) => {\n let { selectionStart, selectionEnd, value } = event.currentTarget;\n if (event.keyCode === KeyCodes.Enter || event.keyCode === KeyCodes.Esc) {\n event.preventDefault();\n this.input.blur();\n } else if ((event.keyCode === KeyCodes.LeftArrow && selectionStart === 0) ||\n (event.keyCode === KeyCodes.RightArrow && selectionEnd === value.length)\n ) {\n event.stopPropagation();\n }\n };\n\n onBlur = () => {\n const { value } = this.state;\n const { column } = this.props;\n this.props.onCommit({ [column.key]: formatStringToNumber(value, column.data) }, column);\n };\n\n setInputRef = (input) => {\n this.input = input;\n return this.input;\n };\n\n onPaste = (e) => {\n e.stopPropagation();\n };\n\n onCut = (e) => {\n e.stopPropagation();\n };\n\n render() {\n const { column } = this.props;\n\n return (\n \n );\n }\n}\n\nNumberEditor.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n onCommit: PropTypes.func,\n};\n\nexport default NumberEditor;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { getDateDisplayString } from '../../../../utils/extra-attributes';\n\n\nclass DateEditor extends Component {\n render() {\n const { column, row } = this.props;\n const { data, key } = column;\n const value = getDateDisplayString(row[key], data ? data.format : '');\n\n return (\n \n );\n }\n}\n\nDateEditor.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n};\n\nexport default DateEditor;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { getDateDisplayString } from '../../../../utils/extra-attributes';\n\nclass CtimeFormatter extends Component {\n render() {\n const { column, row } = this.props;\n const { key } = column;\n const value = getDateDisplayString(row[key], 'YYYY-MM-DD HH:mm:ss') || '';\n\n return (\n
    {value}
    \n );\n }\n}\n\nCtimeFormatter.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n};\n\nexport default CtimeFormatter;\n","import SimpleText from './simple-text';\nimport FormulaFormatter from './formula-formatter';\nimport SingleSelect from './single-select';\nimport NumberEditor from './number-editor';\nimport DateEditor from './date-editor';\nimport CtimeFormatter from './ctime-formatter';\nimport { EXTRA_ATTRIBUTES_COLUMN_TYPE } from '../../../../constants';\n\n\nconst CONFIG = {\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.TEXT]: SimpleText,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.FORMULA]: FormulaFormatter,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.SINGLE_SELECT]: SingleSelect,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.NUMBER]: NumberEditor,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.DATE]: DateEditor,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.CTIME]: CtimeFormatter,\n [EXTRA_ATTRIBUTES_COLUMN_TYPE.MTIME]: CtimeFormatter,\n};\n\nexport default CONFIG;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Col } from 'reactstrap';\nimport ColumnName from './column-name';\nimport CONFIG from '../editor';\n\nimport './index.css';\n\nclass Column extends Component {\n render() {\n const { column, row, columns } = this.props;\n const Editor = CONFIG[column.type] || CONFIG['text'];\n\n return (\n
    \n \n \n \n \n
    \n );\n }\n}\n\nColumn.propTypes = {\n column: PropTypes.object,\n row: PropTypes.object,\n columns: PropTypes.array,\n onCommit: PropTypes.func,\n};\n\nexport default Column;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport isHotkey from 'is-hotkey';\nimport { zIndexes, DIALOG_MAX_HEIGHT, EXTRA_ATTRIBUTES_COLUMN_TYPE } from '../../../constants';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport { getSelectColumnOptions, getValidColumns } from '../../../utils/extra-attributes';\nimport Column from './column';\nimport Loading from '../../loading';\nimport toaster from '../../toast';\n\nimport './index.css';\n\nclass ExtraAttributesDialog extends Component {\n\n constructor(props) {\n super(props);\n const { direntDetail, direntType } = props;\n this.state = {\n animationEnd: false,\n isLoading: true,\n update: {},\n row: {},\n columns: [],\n errorMsg: '',\n };\n if (direntType === 'dir') {\n this.isEmptyFile = false;\n } else {\n const direntDetailId = direntDetail?.id || '';\n this.isEmptyFile = direntDetailId === '0'.repeat(direntDetailId.length);\n }\n this.isExist = false;\n this.modalRef = React.createRef();\n }\n\n componentDidMount() {\n this.startAnimation(this.getData);\n window.addEventListener('keydown', this.onHotKey);\n }\n\n componentWillUnmount() {\n window.removeEventListener('keydown', this.onHotKey);\n }\n\n startAnimation = (callback) => {\n if (this.state.animationEnd === true) {\n callback && callback();\n }\n\n // use setTimeout to make sure real dom rendered\n setTimeout(() => {\n let dom = this.modalRef.current.firstChild;\n const { width, maxWidth, marginLeft, height } = this.getDialogStyle();\n dom.style.width = `${width}px`;\n dom.style.maxWidth = `${maxWidth}px`;\n dom.style.marginLeft = `${marginLeft}px`;\n dom.style.height = `${height}px`;\n dom.style.marginRight = 'unset';\n dom.style.marginTop = '28px';\n\n // after animation, change style and run callback\n setTimeout(() => {\n this.setState({ animationEnd: true }, () => {\n dom.style.transition = 'none';\n callback && callback();\n });\n }, 280);\n }, 1);\n };\n\n getFormatUpdateData = (update = {}) => {\n const { columns } = this.state;\n const updateData = {};\n for (let key in update) {\n const column = columns.find(column => column.key === key);\n if (column && column.editable) {\n const { type, name } = column;\n const value = update[key];\n if (type === EXTRA_ATTRIBUTES_COLUMN_TYPE.SINGLE_SELECT) {\n const options = getSelectColumnOptions(column);\n const option = options.find(item => item.id === value);\n updateData[name] = option ? option.name : '';\n } else {\n updateData[column.name] = update[key];\n }\n }\n }\n return updateData;\n };\n\n getData = () => {\n const { repoID, filePath } = this.props;\n seafileAPI.getFileExtendedProperties(repoID, filePath).then(res => {\n const { row, metadata, editable_columns } = res.data;\n this.isExist = Boolean(row._id);\n this.setState({ row: row, columns: getValidColumns(metadata, editable_columns, this.isEmptyFile), isLoading: false, errorMsg: '' });\n }).catch(error => {\n const errorMsg =Utils.getErrorMsg(error);\n this.setState({ isLoading: false, errorMsg });\n });\n };\n\n createData = (data) => {\n const { repoID, filePath } = this.props;\n seafileAPI.newFileExtendedProperties(repoID, filePath, data).then(res => {\n this.isExist = true;\n const { row } = res.data;\n this.setState({ row: row, isLoading: false, errorMsg: '' });\n }).catch(error => {\n const errorMsg =Utils.getErrorMsg(error);\n toaster.danger(gettext(errorMsg));\n });\n };\n\n updateData = (update, column) => {\n const newRow = { ...this.state.row, ...update };\n this.setState({ row: newRow }, () => {\n const data = this.getFormatUpdateData(update);\n const { repoID, filePath } = this.props;\n if (this.isExist) {\n seafileAPI.updateFileExtendedProperties(repoID, filePath, data).then(res => {\n this.setState({ update: {}, row: res.data.row });\n }).catch(error => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(gettext(errorMsg));\n });\n } else {\n this.createData(data);\n }\n });\n };\n\n onHotKey = (event) => {\n if (isHotkey('esc', event)) {\n this.onToggle();\n return;\n }\n };\n\n onToggle = () => {\n this.props.onToggle();\n };\n\n getDialogStyle = () => {\n const width = 800;\n return {\n width,\n maxWidth: width,\n marginLeft: (window.innerWidth - width) / 2,\n height: DIALOG_MAX_HEIGHT,\n };\n };\n\n getInitStyle = () => {\n const transition = 'all .3s';\n const defaultMargin = 80; // sequence cell width\n const defaultHeight = 100;\n const marginTop = '30%';\n const width = window.innerWidth;\n return {\n width: `${width - defaultMargin}px`,\n maxWidth: `${width - defaultMargin}px`,\n marginLeft: `${defaultMargin}px`,\n height: `${defaultHeight}px`,\n marginRight: `${defaultMargin}px`,\n marginTop,\n transition,\n };\n };\n\n renderColumns = () => {\n const { isLoading, errorMsg, columns, row, update } = this.state;\n if (isLoading) {\n return (\n
    \n \n
    \n );\n }\n\n if (errorMsg) {\n return (\n
    \n {gettext(errorMsg)}\n
    \n );\n }\n\n const newRow = { ...row, ...update };\n\n return (\n <>\n {columns.map(column => {\n return (\n \n );\n })}\n \n );\n\n };\n\n renderContent = () => {\n if (!this.state.animationEnd) return null;\n\n return (\n <>\n {gettext('Edit extra properties')}\n \n {this.renderColumns()}\n \n \n );\n };\n\n render() {\n const { animationEnd } = this.state;\n\n return (\n \n {this.renderContent()}\n
    \n );\n }\n}\n\nExtraAttributesDialog.propTypes = {\n repoID: PropTypes.string,\n filePath: PropTypes.string,\n direntType: PropTypes.string,\n direntDetail: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default ExtraAttributesDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport toaster from '../toast';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../loading';\n\nimport '../../css/apply-folder-properties.css';\n\nconst propTypes = {\n toggle: PropTypes.func,\n repoID: PropTypes.string,\n path: PropTypes.string\n};\n\nclass ConfirmApplyFolderPropertiesDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n submitting: false\n };\n }\n\n submit = () => {\n const { repoID, path } = this.props;\n this.setState({ submitting: true });\n seafileAPI.applyFolderExtendedProperties(repoID, path).then(() => {\n toaster.success(gettext('Successfully applied the properties.'));\n this.props.toggle();\n }).catch(error => {\n let errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n this.setState({ submitting: false });\n });\n };\n\n render() {\n const { submitting } = this.state;\n\n return (\n \n \n {gettext('Apply properties')}\n \n \n

    \n {gettext('Are you sure you want to apply the properties to all the files inside the folder?')}\n

    \n
    \n \n \n \n \n
    \n );\n }\n\n}\n\nConfirmApplyFolderPropertiesDialog.propTypes = propTypes;\n\nexport default ConfirmApplyFolderPropertiesDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport Icon from '../icon';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport EditFileTagDialog from '../dialog/edit-filetag-dialog';\nimport ModalPortal from '../modal-portal';\nimport ExtraAttributesDialog from '../dialog/extra-attributes-dialog';\nimport FileTagList from '../file-tag-list';\nimport ConfirmApplyFolderPropertiesDialog from '../dialog/confirm-apply-folder-properties-dialog';\n\nconst propTypes = {\n repoInfo: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired,\n dirent: PropTypes.object.isRequired,\n direntType: PropTypes.string.isRequired,\n direntDetail: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n};\n\nclass DetailListView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isEditFileTagShow: false,\n isShowExtraProperties: false,\n isShowApplyProperties: false\n };\n }\n\n getDirentPosition = () => {\n let { repoInfo } = this.props;\n let direntPath = this.getDirentPath();\n let position = repoInfo.repo_name;\n if (direntPath !== '/') {\n let index = direntPath.lastIndexOf('/');\n let path = direntPath.slice(0, index);\n position = position + path;\n }\n return position;\n };\n\n onEditFileTagToggle = () => {\n this.setState({\n isEditFileTagShow: !this.state.isEditFileTagShow\n });\n };\n\n onFileTagChanged = () => {\n let direntPath = this.getDirentPath();\n this.props.onFileTagChanged(this.props.dirent, direntPath);\n };\n\n getDirentPath = () => {\n if (Utils.isMarkdownFile(this.props.path)) {\n return this.props.path; // column mode: view file\n }\n let { dirent, path } = this.props;\n return Utils.joinPath(path, dirent.name);\n };\n\n toggleExtraPropertiesDialog = () => {\n this.setState({ isShowExtraProperties: !this.state.isShowExtraProperties });\n };\n\n toggleApplyPropertiesDialog = () => {\n this.setState({ isShowApplyProperties: !this.state.isShowApplyProperties });\n };\n\n renderTags = () => {\n const { direntType, direntDetail } = this.props;\n const position = this.getDirentPosition();\n if (direntType === 'dir') {\n return (\n \n \n \n \n \n \n \n {direntDetail.permission === 'rw' && (\n \n \n \n \n \n \n \n \n )}\n \n
    {gettext('Location')}{position}
    {gettext('Last Update')}{moment(direntDetail.mtime).format('YYYY-MM-DD')}
    \n
    \n {gettext('Edit extra properties')}\n
    \n
    \n \n {gettext('Apply properties to files inside the folder')}\n \n
    \n );\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {direntDetail.permission === 'rw' && (\n \n \n \n )}\n \n
    {gettext('Size')}{Utils.bytesToSize(direntDetail.size)}
    {gettext('Location')}{position}
    {gettext('Last Update')}{moment(direntDetail.last_modified).fromNow()}
    {gettext('Tags')}\n \n \n
    \n
    \n {gettext('Edit extra properties')}\n
    \n
    \n );\n };\n\n render() {\n const { direntType, direntDetail, fileTagList } = this.props;\n const direntPath = this.getDirentPath();\n\n return (\n \n {this.renderTags()}\n {this.state.isEditFileTagShow &&\n \n \n \n }\n {this.state.isShowExtraProperties && (\n \n )}\n {this.state.isShowApplyProperties && (\n \n )}\n \n );\n }\n}\n\nDetailListView.defaultProps = {\n fileTagList: [],\n};\n\nDetailListView.propTypes = propTypes;\n\nexport default DetailListView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { siteRoot, enableVideoThumbnail } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\nimport Dirent from '../../models/dirent';\nimport DetailListView from './detail-list-view';\n\nimport '../../css/dirent-detail.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n dirent: PropTypes.object,\n path: PropTypes.string.isRequired,\n currentRepoInfo: PropTypes.object.isRequired,\n onItemDetailsClose: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n direntDetailPanelTab: PropTypes.string,\n fileTags: PropTypes.array,\n};\n\nclass DirentDetail extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n direntType: '',\n direntDetail: '',\n folderDirent: null,\n fileParticipantList: [],\n };\n }\n\n componentWillMount() {\n if (this.props.direntDetailPanelTab) {\n this.tabItemClick(this.props.direntDetailPanelTab);\n }\n }\n\n componentDidMount() {\n let { dirent, path, repoID } = this.props;\n this.loadDirentInfo(dirent, path, repoID);\n }\n\n componentWillReceiveProps(nextProps) {\n let { dirent, path, repoID } = nextProps;\n if (this.props.dirent !== nextProps.dirent) {\n this.loadDirentInfo(dirent, path, repoID);\n }\n if (this.props.direntDetailPanelTab) {\n this.tabItemClick(this.props.direntDetailPanelTab);\n }\n }\n\n loadDirentInfo = (dirent, path, repoID) => {\n if (dirent) {\n let direntPath = Utils.joinPath(path, dirent.name);\n this.updateDetailView(dirent, direntPath);\n } else {\n let dirPath = Utils.getDirName(path);\n seafileAPI.listDir(repoID, dirPath).then(res => {\n let direntList = res.data.dirent_list;\n let folderDirent = null;\n for (let i = 0; i < direntList.length; i++) {\n let dirent = direntList[i];\n if (dirent.parent_dir + dirent.name === path) {\n folderDirent = new Dirent(dirent);\n break;\n }\n }\n this.setState({folderDirent: folderDirent});\n this.updateDetailView(folderDirent, path);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n updateDetailView = (dirent, direntPath) => {\n let repoID = this.props.repoID;\n if (dirent.type === 'file') {\n seafileAPI.getFileInfo(repoID, direntPath).then(res => {\n this.setState({\n direntType: 'file',\n direntDetail: res.data,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n this.listParticipants(repoID, direntPath);\n } else {\n seafileAPI.getDirInfo(repoID, direntPath).then(res => {\n this.setState({\n direntType: 'dir',\n direntDetail: res.data\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n listParticipants = (repoID, filePath) => {\n seafileAPI.listFileParticipants(repoID, filePath).then((res) => {\n this.setState({ fileParticipantList: res.data.participant_list });\n });\n };\n\n onParticipantsChange = (repoID, filePath) => {\n this.listParticipants(repoID, filePath);\n };\n\n renderHeader = (smallIconUrl, direntName) => {\n return (\n
    \n
    \n
    \n \"\"{' '}\n {direntName}\n
    \n
    \n );\n };\n\n renderDetailBody = (bigIconUrl, folderDirent) => {\n const { dirent, fileTags } = this.props;\n return (\n
    \n
    \"\"
    \n {this.state.direntDetail &&\n
    \n \n
    \n }\n
    \n );\n };\n\n render() {\n let { dirent, repoID, path } = this.props;\n let { folderDirent } = this.state;\n if (!dirent && !folderDirent) {\n return '';\n }\n let smallIconUrl = dirent ? Utils.getDirentIcon(dirent) : Utils.getDirentIcon(folderDirent);\n let bigIconUrl = dirent ? Utils.getDirentIcon(dirent, true) : Utils.getDirentIcon(folderDirent, true);\n const isImg = dirent ? Utils.imageCheck(dirent.name) : Utils.imageCheck(folderDirent.name);\n const isVideo = dirent ? Utils.videoCheck(dirent.name) : Utils.videoCheck(folderDirent.name);\n if (isImg || (enableVideoThumbnail && isVideo)) {\n bigIconUrl = `${siteRoot}thumbnail/${repoID}/1024` + Utils.encodePath(`${path === '/' ? '' : path}/${dirent.name}`);\n }\n let direntName = dirent ? dirent.name : folderDirent.name;\n return (\n
    \n {this.renderHeader(smallIconUrl, direntName)}\n {this.renderDetailBody(bigIconUrl, folderDirent)}\n
    \n );\n }\n}\n\nDirentDetail.propTypes = propTypes;\n\nexport default DirentDetail;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { enableSeadoc, gettext } from '../../utils/constants';\nimport Loading from '../loading';\nimport ModalPortal from '../modal-portal';\nimport CreateFile from '../../components/dialog/create-file-dialog';\n\nimport '../../css/tip-for-new-file.css';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n isDirentListLoading: PropTypes.bool.isRequired,\n onAddFile: PropTypes.func.isRequired\n};\n\nclass DirentNodeView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n fileType: '',\n isCreateFileDialogShow: false,\n };\n }\n\n onCreateNewFile = (type) => {\n this.setState({\n fileType: type,\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n });\n };\n\n onCreateFileToggle = () => {\n this.setState({\n fileType: '',\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n });\n };\n\n checkDuplicatedName = () => {\n return false; // current repo is null, and unnecessary to check duplicated name\n };\n\n render() {\n if (this.props.isDirentListLoading) {\n return ();\n }\n\n return (\n \n
    \n

    {gettext('This folder has no content at this time.')}

    \n

    {gettext('You can create files quickly')}{' +'}

    \n \n \n
    \n \n \n
    \n {enableSeadoc && }\n
    \n {this.state.isCreateFileDialogShow && (\n \n \n \n )}\n
    \n );\n }\n}\n\nDirentNodeView.propTypes = propTypes;\n\nexport default DirentNodeView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport '../../css/common-add-tool.css';\n\nfunction CommonAddTool(props) {\n const { callBack, footerName, className, addIconClassName } = props;\n return (\n
    {callBack(e);}}>\n \n {footerName}\n
    \n );\n}\n\nCommonAddTool.propTypes = {\n className: PropTypes.string,\n addIconClassName: PropTypes.string,\n footerName: PropTypes.string.isRequired,\n callBack: PropTypes.func.isRequired,\n};\n\nexport default CommonAddTool;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst propTypes = {\n placeholder: PropTypes.string,\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n wait: PropTypes.number,\n disabled: PropTypes.bool,\n style: PropTypes.object,\n isClearable: PropTypes.bool,\n clearValue: PropTypes.func,\n clearClassName: PropTypes.string,\n components: PropTypes.object,\n value: PropTypes.string,\n};\n\nclass SearchInput extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n searchValue: props.value,\n };\n this.isInputtingChinese = false;\n this.timer = null;\n this.inputRef = null;\n }\n\n componentDidMount() {\n if (this.props.autoFocus && this.inputRef && this.inputRef !== document.activeElement) {\n setTimeout(() => {\n this.inputRef.focus();\n }, 0);\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.value !== this.props.value) {\n this.setState({searchValue: nextProps.value});\n }\n }\n\n componentWillUnmount() {\n this.timer && clearTimeout(this.timer);\n this.timer = null;\n this.inputRef = null;\n }\n\n onCompositionStart = () => {\n this.isInputtingChinese = true;\n };\n\n onChange = (e) => {\n this.timer && clearTimeout(this.timer);\n const { onChange, wait } = this.props;\n let text = e.target.value;\n this.setState({searchValue: text || ''}, () => {\n if (this.isInputtingChinese) return;\n this.timer = setTimeout(() => {\n onChange && onChange(this.state.searchValue.trim());\n }, wait);\n });\n };\n\n onCompositionEnd = (e) => {\n this.isInputtingChinese = false;\n this.onChange(e);\n };\n\n clearSearch = () => {\n const { clearValue } = this.props;\n this.setState({searchValue: ''}, () => {\n clearValue && clearValue();\n });\n };\n\n setFocus = (isSelectAllText) => {\n if (this.inputRef === document.activeElement) return;\n this.inputRef.focus();\n if (isSelectAllText) {\n const txtLength = this.state.searchValue.length;\n this.inputRef.setSelectionRange(0, txtLength);\n }\n };\n\n isFunction = (functionToCheck) => {\n const getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n };\n\n renderClear = () => {\n const { isClearable, clearClassName, components = {} } = this.props;\n const { searchValue } = this.state;\n if (!isClearable || !searchValue) return null;\n const { ClearIndicator } = components;\n if (React.isValidElement(ClearIndicator)) {\n return React.cloneElement(ClearIndicator, {clearValue: this.clearSearch});\n } else if (this.isFunction(ClearIndicator)) {\n return ;\n }\n return (\n ×\n );\n };\n\n render() {\n const { placeholder, autoFocus, className, onKeyDown, disabled, style } = this.props;\n const { searchValue } = this.state;\n\n return (\n \n this.inputRef = ref}\n />\n {this.renderClear()}\n \n );\n }\n}\n\nSearchInput.propTypes = propTypes;\n\nSearchInput.defaultProps = {\n wait: 100,\n disabled: false,\n value: '',\n};\n\nexport default SearchInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nclass TagItem extends React.Component {\n\n onMouseEnter = () => {\n this.props.setHighlightIndex(this.props.index);\n };\n\n onMouseLeave = () => {\n this.props.setHighlightIndex(-1);\n };\n\n getRepoTagIdList = () => {\n let repoTagIdList = [];\n let fileTagList = this.props.fileTagList || [];\n repoTagIdList = fileTagList.map((fileTag) => fileTag.repo_tag_id);\n return repoTagIdList;\n };\n\n onEditFileTag = () => {\n let { repoID, repoTag, filePath } = this.props;\n let repoTagIdList = this.getRepoTagIdList();\n if (repoTagIdList.indexOf(repoTag.id) === -1) {\n let id = repoTag.id;\n seafileAPI.addFileTag(repoID, filePath, id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n let fileTag = null;\n let fileTagList = this.props.fileTagList;\n for(let i = 0; i < fileTagList.length; i++) {\n if (fileTagList[i].repo_tag_id === repoTag.id) {\n fileTag = fileTagList[i];\n break;\n }\n }\n seafileAPI.deleteFileTag(repoID, fileTag.id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n render() {\n const { repoTag, highlightIndex, index } = this.props;\n const repoTagIdList = this.getRepoTagIdList();\n const isTagSelected = repoTagIdList.indexOf(repoTag.id) != -1;\n return (\n \n
    \n {repoTag.name}\n
    \n {isTagSelected && }\n \n );\n }\n\n}\n\nTagItem.propTypes = {\n index: PropTypes.number.isRequired,\n highlightIndex: PropTypes.number.isRequired,\n repoID: PropTypes.string.isRequired,\n repoTag: PropTypes.object.isRequired,\n filePath: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n setHighlightIndex: PropTypes.func.isRequired,\n};\n\nexport default TagItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport RepoTag from '../../models/repo-tag';\nimport toaster from '../toast';\nimport CommonAddTool from '../common/common-add-tool';\nimport SearchInput from '../common/search-input';\nimport SeahubPopover from '../common/seahub-popover';\nimport TagItem from './tag-item';\nimport { KeyCodes, TAG_COLORS } from '../../constants';\n\nimport '../../css/repo-tag.css';\nimport '../../css/edit-filetag-popover.css';\n\nclass EditFileTagPopover extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repotagList: [],\n searchVal: '',\n highlightIndex: -1,\n };\n }\n\n componentDidMount() {\n this.getRepoTagList();\n }\n\n setHighlightIndex = (highlightIndex) => {\n this.setState({ highlightIndex });\n };\n\n getRepoTagList = () => {\n let repoID = this.props.repoID;\n seafileAPI.listRepoTags(repoID).then(res => {\n let repotagList = [];\n res.data.repo_tags.forEach(item => {\n let repoTag = new RepoTag(item);\n repotagList.push(repoTag);\n });\n this.setState({repotagList: repotagList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n generateRandomColor = () => {\n return TAG_COLORS[Math.floor(Math.random() * TAG_COLORS.length)];\n };\n\n createNewTag = () => {\n let name = this.state.searchVal.trim();\n if (!name) return;\n let color = this.generateRandomColor();\n let repoID = this.props.repoID;\n seafileAPI.createRepoTag(repoID, name, color).then((res) => {\n let repoTagID = res.data.repo_tag.repo_tag_id;\n this.onRepoTagCreated(repoTagID);\n this.setState({\n searchVal: '',\n highlightIndex: -1,\n });\n this.getRepoTagList();\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onRepoTagCreated = (repoTagID) => {\n let {repoID, filePath} = this.props;\n seafileAPI.addFileTag(repoID, filePath, repoTagID).then(() => {\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getRepoTagIdList = () => {\n return (this.props.fileTagList || []).map((fileTag) => fileTag.repo_tag_id);\n };\n\n onEditFileTag = (repoTag) => {\n let { repoID, filePath } = this.props;\n let repoTagIdList = this.getRepoTagIdList();\n if (repoTagIdList.indexOf(repoTag.id) === -1) {\n seafileAPI.addFileTag(repoID, filePath, repoTag.id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n let fileTag = null;\n let fileTagList = this.props.fileTagList;\n for(let i = 0; i < fileTagList.length; i++) {\n if (fileTagList[i].repo_tag_id === repoTag.id) {\n fileTag = fileTagList[i];\n break;\n }\n }\n seafileAPI.deleteFileTag(repoID, fileTag.id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n onKeyDown = (e) => {\n if (e.keyCode === KeyCodes.ChineseInputMethod || e.keyCode === KeyCodes.LeftArrow || e.keyCode === KeyCodes.RightArrow) {\n e.stopPropagation();\n }\n else if (e.keyCode === KeyCodes.Enter) {\n const searchText = this.state.searchVal.trim();\n const repotagList = this.state.repotagList.filter(item => item.name.includes(searchText));\n const tag = repotagList[this.state.highlightIndex];\n if (tag) {\n this.onEditFileTag(tag);\n }\n }\n else if (e.keyCode === KeyCodes.UpArrow) {\n if (this.state.highlightIndex > -1) {\n this.setHighlightIndex(this.state.highlightIndex - 1);\n }\n }\n else if (e.keyCode === KeyCodes.DownArrow) {\n const searchText = this.state.searchVal.trim();\n const repotagList = this.state.repotagList.filter(item => item.name.includes(searchText));\n if (this.state.highlightIndex < repotagList.length) {\n this.setHighlightIndex(this.state.highlightIndex + 1);\n }\n }\n };\n\n onChangeSearch = (searchVal) => {\n this.setState({ searchVal });\n this.setHighlightIndex(-1);\n };\n\n render() {\n const searchText = this.state.searchVal.trim();\n const repotagList = this.state.repotagList.filter(item => item.name.includes(searchText));\n const showAddTool = searchText && !this.state.repotagList.find(item => item.name === searchText);\n return (\n \n \n
      \n {repotagList.length === 0 &&\n
      {gettext('Tag not found')}
      \n }\n {repotagList.length > 0 && repotagList.map((repoTag, index) => {\n return (\n \n );\n })}\n
    \n {showAddTool &&\n \n }\n \n );\n }\n}\n\nEditFileTagPopover.propTypes = {\n target: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n filePath: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n};\n\nexport default EditFileTagPopover;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport { v4 as uuidv4 } from 'uuid';\nimport moment from 'moment';\nimport { Dropdown, DropdownToggle, DropdownItem, UncontrolledTooltip } from 'reactstrap';\nimport { gettext, siteRoot, mediaUrl, username, useGoFileserver, fileServerRoot } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport URLDecorator from '../../utils/url-decorator';\nimport ItemDropdownMenu from '../dropdown-menu/item-dropdown-menu';\nimport Rename from '../rename';\nimport ModalPortal from '../modal-portal';\nimport MoveDirentDialog from '../dialog/move-dirent-dialog';\nimport CopyDirentDialog from '../dialog/copy-dirent-dialog';\nimport ShareDialog from '../dialog/share-dialog';\nimport ZipDownloadDialog from '../dialog/zip-download-dialog';\nimport EditFileTagDialog from '../dialog/edit-filetag-dialog';\nimport EditFileTagPopover from '../popover/edit-filetag-popover';\nimport LibSubFolderPermissionDialog from '../dialog/lib-sub-folder-permission-dialog';\nimport toaster from '../toast';\nimport '../../css/dirent-list-item.css';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n dirent: PropTypes.object.isRequired,\n onItemClick: PropTypes.func.isRequired,\n freezeItem: PropTypes.func.isRequired,\n unfreezeItem: PropTypes.func.isRequired,\n onItemRenameToggle: PropTypes.func.isRequired,\n onItemSelected: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onDirentClick: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n showImagePopup: PropTypes.func.isRequired,\n currentRepoInfo: PropTypes.object,\n isRepoOwner: PropTypes.bool,\n isAdmin: PropTypes.bool.isRequired,\n repoEncrypted: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n onItemMouseDown: PropTypes.func.isRequired,\n onItemContextMenu: PropTypes.func.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n activeDirent: PropTypes.object,\n getDirentItemMenuList: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n showDirentDetail: PropTypes.func.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onShowDirentsDraggablePreview: PropTypes.func,\n loadDirentList: PropTypes.func,\n};\n\nclass DirentListItem extends React.Component {\n\n constructor(props) {\n super(props);\n\n const { dirent } = this.props;\n const { isCustomPermission, customPermission } = Utils.getUserPermission(dirent.permission);\n this.isCustomPermission = isCustomPermission;\n this.customPermission = customPermission;\n this.canPreview = true;\n this.canDrag = dirent.permission === 'rw';\n if (isCustomPermission) {\n const { preview, modify } = customPermission.permission;\n this.canPreview = preview || modify;\n this.canDrag = modify;\n }\n\n this.state = {\n isOperationShow: false,\n highlight: false,\n isZipDialogOpen: false,\n isMoveDialogShow: false,\n isCopyDialogShow: false,\n isShareDialogShow: false,\n isMutipleOperation: false,\n canDrag: this.canDrag,\n isShowTagTooltip: false,\n isDragTipShow: false,\n isDropTipshow: false,\n isEditFileTagShow: false,\n isPermissionDialogOpen: false,\n isOpMenuOpen: false // for mobile\n };\n this.tagListTitleID = `tag-list-title-${uuidv4()}`;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.isItemFreezed !== this.props.isItemFreezed && !nextProps.isItemFreezed) {\n this.setState({\n highlight: false,\n isOperationShow: false,\n }, () => {\n if (nextProps.activeDirent && nextProps.activeDirent.name === nextProps.dirent.name) {\n this.setState({isOperationShow: true});\n }\n });\n }\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n //UI Interactive\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: true,\n isOperationShow: true,\n });\n }\n if (this.state.canDrag) {\n this.setState({isDragTipShow: true});\n }\n };\n\n onMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: true,\n isOperationShow: true,\n });\n }\n if (this.state.canDrag) {\n this.setState({isDragTipShow: true});\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n highlight: false,\n isOperationShow: false,\n });\n }\n this.setState({isDragTipShow: false});\n };\n\n unfreezeItem = () => {\n this.setState({\n highlight: false,\n isOperationShow: false,\n });\n this.props.unfreezeItem();\n };\n\n //buiness handler\n onItemSelected = () => {\n this.props.onItemSelected(this.props.dirent);\n };\n\n onItemStarred = (e) => {\n let dirent = this.props.dirent;\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(dirent);\n\n e.preventDefault();\n\n if (dirent.starred) {\n seafileAPI.unstarItem(repoID, filePath).then(() => {\n this.props.updateDirent(this.props.dirent, 'starred', false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.starItem(repoID, filePath).then(() => {\n this.props.updateDirent(this.props.dirent, 'starred', true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n // on ''\n onDirentClick = (e) => {\n // '' is clicked\n e.stopPropagation();\n if (e.target.tagName == 'TD') {\n this.props.onDirentClick(this.props.dirent);\n }\n };\n\n onItemClick = (e) => {\n e.preventDefault();\n const dirent = this.props.dirent;\n if (this.state.isRenameing) {\n return;\n }\n\n if (dirent.isDir()) {\n this.props.onItemClick(dirent);\n return;\n }\n\n if (!this.canPreview) {\n return;\n }\n\n if (Utils.imageCheck(dirent.name)) {\n this.props.showImagePopup(dirent);\n } else {\n this.props.onItemClick(dirent);\n }\n };\n\n onItemDelete = (e) => {\n e.preventDefault();\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.props.onItemDelete(this.props.dirent);\n };\n\n onItemShare = (e) => {\n e.preventDefault();\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n closeSharedDialog = () => {\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n onMobileMenuItemClick = (e) => {\n const operation = e.target.getAttribute('data-op');\n this.onMenuItemClick(operation, e);\n };\n\n onMenuItemClick = (operation, event) => {\n switch(operation) {\n case 'Download':\n this.onItemDownload(event);\n break;\n case 'Share':\n this.onItemShare(event);\n break;\n case 'Delete':\n this.onItemDelete(event);\n break;\n case 'Rename':\n this.onItemRenameToggle();\n break;\n case 'Move':\n this.onItemMoveToggle();\n break;\n case 'Copy':\n this.onItemCopyToggle();\n break;\n case 'Tags':\n this.onEditFileTagToggle();\n break;\n case 'Permission':\n this.onPermissionItem();\n break;\n case 'Unlock':\n this.onUnlockItem();\n break;\n case 'Lock':\n this.onLockItem();\n break;\n case 'Convert to Markdown':\n this.onItemConvert(event, 'markdown');\n break;\n case 'Convert to sdoc':\n this.onItemConvert(event, 'sdoc');\n break;\n case 'Mark as draft':\n this.onMarkAsDraft();\n break;\n case 'Unmark as draft':\n this.onUnmarkAsDraft();\n break;\n case 'History':\n this.onHistory();\n break;\n case 'Access Log':\n this.onAccessLog();\n break;\n case 'Properties':\n this.props.onDirentClick(this.props.dirent);\n this.props.showDirentDetail('info');\n break;\n case 'Open via Client':\n this.onOpenViaClient();\n break;\n case 'Convert with ONLYOFFICE':\n this.onConvertWithONLYOFFICE();\n break;\n default:\n break;\n }\n };\n\n onItemConvert = (e, dstType)=> {\n e.preventDefault();\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.props.onItemConvert(this.props.dirent, dstType);\n };\n\n onEditFileTagToggle = () => {\n this.setState({\n isEditFileTagShow: !this.state.isEditFileTagShow\n });\n };\n\n onFileTagChanged = () => {\n let direntPath = this.getDirentPath(this.props.dirent);\n this.props.onFileTagChanged(this.props.dirent, direntPath);\n };\n\n onItemRenameToggle = () => {\n this.props.onItemRenameToggle(this.props.dirent);\n this.setState({\n isOperationShow: false,\n isRenameing: true,\n canDrag: false\n });\n };\n\n onRenameConfirm = (newName) => {\n this.props.onItemRename(this.props.dirent, newName);\n this.onRenameCancel();\n };\n\n onRenameCancel = () => {\n this.setState({\n isRenameing: false,\n canDrag: this.canDrag // set it back to the initial value\n });\n this.unfreezeItem();\n };\n\n onItemMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onItemCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onPermissionItem = () => {\n this.setState({isPermissionDialogOpen: !this.state.isPermissionDialogOpen});\n };\n\n onLockItem = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n seafileAPI.lockfile(repoID, filePath).then(() => {\n this.props.updateDirent(this.props.dirent, 'is_locked', true);\n this.props.updateDirent(this.props.dirent, 'locked_by_me', true);\n let lockName = username.split('@');\n this.props.updateDirent(this.props.dirent, 'lock_owner_name', lockName[0]);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUnlockItem = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n seafileAPI.unlockfile(repoID, filePath).then(() => {\n this.props.updateDirent(this.props.dirent, 'is_locked', false);\n this.props.updateDirent(this.props.dirent, 'locked_by_me', false);\n this.props.updateDirent(this.props.dirent, 'lock_owner_name', '');\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onMarkAsDraft = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n seafileAPI.sdocMarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(this.props.dirent, 'is_sdoc_draft', true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUnmarkAsDraft = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n seafileAPI.sdocUnmarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(this.props.dirent, 'is_sdoc_draft', false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onHistory = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n let url = URLDecorator.getUrl({type: 'file_revisions', repoID: repoID, filePath: filePath});\n location.href = url;\n };\n\n onAccessLog = () => {\n let filePath = this.getDirentPath(this.props.dirent);\n let path = siteRoot + 'repo/file-access/' + this.props.repoID + '/?p=' + encodeURIComponent(filePath) ;\n window.open(path);\n };\n\n onOpenViaClient = () => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n let url = URLDecorator.getUrl({type: 'open_via_client', repoID: repoID, filePath: filePath});\n location.href = url;\n };\n\n onConvertWithONLYOFFICE = ()=> {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(this.props.dirent);\n seafileAPI.onlyofficeConvert(repoID, filePath).then(res => {\n this.props.loadDirentList(res.data.parent_dir);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onItemDownload = (e) => {\n e.preventDefault();\n e.nativeEvent.stopImmediatePropagation();\n let dirent = this.props.dirent;\n let repoID = this.props.repoID;\n let direntPath = this.getDirentPath(dirent);\n if (dirent.type === 'dir') {\n if (!useGoFileserver) {\n this.setState({\n isZipDialogOpen: true\n });\n } else {\n seafileAPI.zipDownload(repoID, this.props.path, this.props.dirent.name).then((res) => {\n const zipToken = res.data['zip_token'];\n location.href = `${fileServerRoot}zip/${zipToken}`;\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n }\n } else {\n let url = URLDecorator.getUrl({type: 'download_file_url', repoID: repoID, filePath: direntPath});\n location.href = url;\n }\n };\n\n closeZipDialog = () => {\n this.setState({\n isZipDialogOpen: false\n });\n };\n\n getDirentPath = (dirent) => {\n let path = this.props.path;\n return path === '/' ? path + dirent.name : path + '/' + dirent.name;\n };\n\n onTagTooltipToggle = (e) => {\n e.stopPropagation();\n this.setState({isShowTagTooltip: !this.state.isShowTagTooltip});\n };\n\n onItemMove = (destRepo, dirent, selectedPath, currentPath) => {\n this.props.onItemMove(destRepo, dirent, selectedPath, currentPath);\n };\n\n onItemDragStart = (e) => {\n if (Utils.isIEBrower() || !this.state.canDrag) {\n return false;\n }\n e.dataTransfer.effectAllowed = 'move';\n let { selectedDirentList } = this.props;\n if (selectedDirentList.length > 0 && selectedDirentList.includes(this.props.dirent)) { // drag items and selectedDirentList include item\n this.props.onShowDirentsDraggablePreview();\n e.dataTransfer.setDragImage(this.refs.empty_content, 0, 0); // Show an empty content\n let selectedList = selectedDirentList.map(item => {\n let nodeRootPath = this.getDirentPath(item);\n let dragStartItemData = {nodeDirent: item, nodeParentPath: this.props.path, nodeRootPath: nodeRootPath};\n return dragStartItemData;\n });\n selectedList = JSON.stringify(selectedList);\n e.dataTransfer.setData('applicaiton/drag-item-info', selectedList);\n return ;\n }\n\n if (e.dataTransfer && e.dataTransfer.setDragImage) {\n e.dataTransfer.setDragImage(this.refs.drag_icon, 15, 15);\n }\n\n let nodeRootPath = this.getDirentPath(this.props.dirent);\n let dragStartItemData = {nodeDirent: this.props.dirent, nodeParentPath: this.props.path, nodeRootPath: nodeRootPath};\n dragStartItemData = JSON.stringify(dragStartItemData);\n\n e.dataTransfer.setData('applicaiton/drag-item-info', dragStartItemData);\n };\n\n onItemDragEnter = (e) => {\n if (Utils.isIEBrower() || !this.state.canDrag) {\n return false;\n }\n if (this.props.dirent.type === 'dir') {\n e.stopPropagation();\n this.setState({isDropTipshow: true});\n }\n };\n\n onItemDragOver = (e) => {\n if (Utils.isIEBrower() || !this.state.canDrag) {\n return false;\n }\n if (e.dataTransfer.dropEffect === 'copy') {\n return;\n }\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n };\n\n onItemDragLeave = (e) => {\n if (Utils.isIEBrower() || !this.state.canDrag) {\n return false;\n }\n\n if (this.props.dirent.type === 'dir') {\n e.stopPropagation();\n }\n this.setState({isDropTipshow: false});\n };\n\n onItemDragDrop = (e) => {\n if (Utils.isIEBrower() || !this.state.canDrag) {\n return false;\n }\n this.setState({isDropTipshow: false});\n if (e.dataTransfer.files.length) { // uploaded files\n return;\n }\n if (this.props.dirent.type === 'dir') {\n e.stopPropagation();\n } else {\n return;\n }\n let dragStartItemData = e.dataTransfer.getData('applicaiton/drag-item-info');\n dragStartItemData = JSON.parse(dragStartItemData);\n if (Array.isArray(dragStartItemData)) { //move items\n let direntPaths = dragStartItemData.map(draggedItem => {\n return draggedItem.nodeRootPath;\n });\n\n let selectedPath = Utils.joinPath(this.props.path, this.props.dirent.name);\n\n if (direntPaths.some(direntPath => { return direntPath === selectedPath;})) { //eg; A/B, A/C --> A/B\n return;\n }\n\n this.props.onItemsMove(this.props.currentRepoInfo, selectedPath);\n return ;\n }\n\n let { nodeDirent, nodeParentPath, nodeRootPath } = dragStartItemData;\n let dropItemData = this.props.dirent;\n\n if (nodeDirent.name === dropItemData.name) {\n return;\n }\n\n // copy the dirent to it's child. eg: A/B -> A/B/C\n if (dropItemData.type === 'dir' && nodeDirent.type === 'dir') {\n if (nodeParentPath !== this.props.path) {\n if (this.props.path.indexOf(nodeRootPath) !== -1) {\n return;\n }\n }\n }\n\n let selectedPath = Utils.joinPath(this.props.path, this.props.dirent.name);\n this.onItemMove(this.props.currentRepoInfo, nodeDirent, selectedPath, nodeParentPath);\n };\n\n onItemMouseDown = (event) => {\n this.props.onItemMouseDown(event);\n };\n\n onItemContextMenu = (event) => {\n let dirent = this.props.dirent;\n this.props.onItemContextMenu(event, dirent);\n };\n\n renderItemOperation = () => {\n let { dirent, currentRepoInfo, selectedDirentList } = this.props;\n let canDownload = true;\n let canDelete = true;\n const { isCustomPermission, customPermission } = this;\n if (isCustomPermission) {\n const { permission } = customPermission;\n canDownload = permission.download;\n canDelete = permission.delete;\n }\n\n // https://dev.seafile.com/seahub/lib/d6f300e7-bb2b-4722-b83e-cf45e370bfbc/file/seaf-server%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1/%E6%9D%83%E9%99%90%E7%9B%B8%E5%85%B3/%E8%B5%84%E6%96%99%E5%BA%93%E6%9D%83%E9%99%90%E8%A7%84%E8%8C%83.md\n let showShareBtn = Utils.isHasPermissionToShare(currentRepoInfo, dirent.permission, dirent);\n\n return (\n \n {selectedDirentList.length > 1 ?\n \n {this.state.isOperationShow && !dirent.isSelected &&\n
    \n {(dirent.permission === 'rw' || dirent.permission === 'r' || (isCustomPermission && canDownload)) && (\n \n )}\n {showShareBtn && (\n \n )}\n {(dirent.permission === 'rw' || dirent.permission === 'cloud-edit' || (isCustomPermission && canDelete)) && (\n \n )}\n \n
    \n }\n
    :\n \n {this.state.isOperationShow &&\n
    \n {(dirent.permission === 'rw' || dirent.permission === 'r' || (isCustomPermission && canDownload)) && (\n \n )}\n {showShareBtn && (\n \n )}\n {(dirent.permission === 'rw' || dirent.permission === 'cloud-edit' || (isCustomPermission && canDelete)) && (\n \n )}\n \n
    \n }\n
    \n }\n
    \n );\n };\n\n render() {\n let { path, dirent, activeDirent } = this.props;\n let direntPath = Utils.joinPath(path, dirent.name);\n let dirHref = '';\n if (this.props.currentRepoInfo) {\n dirHref = siteRoot + 'library/' + this.props.repoID + '/' + this.props.currentRepoInfo.repo_name + Utils.encodePath(direntPath);\n }\n let fileHref = siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(direntPath);\n if (dirent.is_sdoc_revision && dirent.revision_id) {\n fileHref = siteRoot + 'lib/' + this.props.repoID + '/revisions/' + dirent.revision_id + '/';\n }\n\n let tagTitle = '';\n if (dirent.file_tags && dirent.file_tags.length > 0) {\n tagTitle = dirent.file_tags.map(item => item.name).join(' ');\n }\n\n let iconUrl = Utils.getDirentIcon(dirent);\n\n let trClass = this.state.highlight ? 'tr-highlight ' : '';\n trClass += this.state.isDropTipshow ? 'tr-drop-effect' : '';\n trClass += (activeDirent && activeDirent.name === dirent.name) ? 'tr-active' : '';\n trClass += dirent.isSelected? 'tr-active' : '';\n\n let lockedInfo = gettext('locked by {name}').replace('{name}', dirent.lock_owner_name);\n const isDesktop = Utils.isDesktop();\n const { canDrag } = this.state;\n const desktopItem = (\n \n \n \n \n \n {dirent.starred !== undefined &&\n \n \n \n }\n \n \n
    \n {(this.canPreview && dirent.encoded_thumbnail_src) ?\n \"\" :\n \n }\n {dirent.is_locked && {gettext('locked')}}\n
    \n
    \n \n \n {this.state.isRenameing && }\n {!this.state.isRenameing && (\n \n {(!dirent.isDir() && !this.canPreview) ?\n {dirent.name} :\n {dirent.name}\n }\n {(Utils.isSdocFile(dirent.name) && dirent.is_sdoc_draft) &&\n {gettext('Draft')}\n }\n \n )}\n \n \n {(dirent.type !== 'dir' && dirent.file_tags && dirent.file_tags.length > 0) && (\n \n
    \n {dirent.file_tags.map((fileTag, index) => {\n let length = dirent.file_tags.length;\n return (\n \n );\n })}\n
    \n \n {tagTitle}\n \n
    \n )}\n {(dirent.type !== 'dir' && (!dirent.file_tags || dirent.file_tags.length == 0)) && (\n
    \n )}\n \n {this.renderItemOperation()}\n {dirent.size && dirent.size}\n {dirent.mtime_relative}\n \n );\n const mobileItem = (\n \n \n
    \n {(this.canPreview && dirent.encoded_thumbnail_src) ?\n \"\" :\n \"\"\n }\n {dirent.is_locked && {gettext('locked')}}\n
    \n \n \n {this.state.isRenameing && }\n {!this.state.isRenameing && (\n \n {(!dirent.isDir() && !this.canPreview) ?\n {dirent.name} :\n {dirent.name}\n }\n \n )}\n
    \n {dirent.size && {dirent.size}}\n {dirent.mtime_relative}\n \n \n \n \n
    \n
    \n
    \n {dirent.starred !== undefined &&\n {dirent.starred ? gettext('Unstar') : gettext('Star')}}\n {this.props.getDirentItemMenuList(dirent, true).map((item, index) => {\n if (item != 'Divider' && item.key != 'Open via Client') {\n return (\n {item.value}\n );\n } else {\n return null;\n }\n })}\n
    \n
    \n
    \n \n \n );\n\n return (\n \n {isDesktop ? desktopItem : mobileItem}\n {this.state.isMoveDialogShow &&\n \n \n \n }\n {this.state.isCopyDialogShow &&\n \n \n \n }\n \n {this.state.isEditFileTagShow &&\n \n }\n \n \n {this.state.isEditFileTagShow &&\n \n }\n \n {this.state.isZipDialogOpen &&\n \n \n \n }\n {this.state.isShareDialogShow &&\n \n \n \n }\n {this.state.isPermissionDialogOpen &&\n \n \n \n }\n \n );\n }\n}\n\nDirentListItem.propTypes = propTypes;\n\nexport default DirentListItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { siteRoot } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n selectedDirentList: PropTypes.array,\n onHideDirentsDraggablePreview: PropTypes.func\n};\n\nclass DirentsDraggedPreview extends React.Component {\n\n componentDidMount() {\n document.addEventListener('dragover', this.handleDragOver);\n document.addEventListener('drop', this.handleDrop);\n document.addEventListener('dragend', this.handleDragEnd);\n }\n\n componentWillUnmount() {\n document.removeEventListener('dragover', this.handleDragOver);\n document.removeEventListener('drop', this.handleDrop);\n document.removeEventListener('dragend', this.handleDragEnd);\n }\n\n handleDragEnd = () => {\n this.element.style.opacity = 0;\n this.props.onHideDirentsDraggablePreview();\n };\n\n handleDragOver = (event) => {\n if (Utils.isIEBrower()) {\n return false;\n }\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n\n this.element.style.top = event.clientY + 'px';\n this.element.style.left = event.clientX + 'px';\n };\n\n handleDrop = (event) => {\n this.element.style.opacity = 0;\n this.props.onHideDirentsDraggablePreview();\n };\n\n render() {\n let{ selectedDirentList } = this.props;\n const inlineStyle = {\n position: 'absolute',\n opacity: 1,\n pointerEvents: 'none',\n display: 'block',\n left: '-9999px',\n top: '-9999px',\n zIndex: 101,\n maxHeight: document.documentElement.clientHeight,\n overflow: 'hidden'\n };\n return (\n
    this.element = element}>\n {selectedDirentList.map((dirent, index) => {\n let iconUrl = Utils.getDirentIcon(dirent);\n return (\n
    \n {dirent.encoded_thumbnail_src ?\n \"\" :\n \n }\n
    \n );\n })}\n
    \n );\n }\n}\n\nDirentsDraggedPreview.propTypes = propTypes;\n\nexport default DirentsDraggedPreview;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { siteRoot, gettext, username, enableSeadoc } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport TextTranslation from '../../utils/text-translation';\nimport URLDecorator from '../../utils/url-decorator';\nimport Loading from '../loading';\nimport toaster from '../toast';\nimport ModalPortal from '../modal-portal';\nimport CreateFile from '../dialog/create-file-dialog';\nimport CreateFolder from '../dialog/create-folder-dialog';\nimport ImageDialog from '../dialog/image-dialog';\nimport ZipDownloadDialog from '../dialog/zip-download-dialog';\nimport MoveDirentDialog from '../dialog/move-dirent-dialog';\nimport CopyDirentDialog from '../dialog/copy-dirent-dialog';\nimport DirentListItem from './dirent-list-item';\nimport ContextMenu from '../context-menu/context-menu';\nimport { hideMenu, showMenu } from '../context-menu/actions';\nimport DirentsDraggedPreview from '../draggable/dirents-dragged-preview';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n currentRepoInfo: PropTypes.object,\n isAllItemSelected: PropTypes.bool.isRequired,\n isDirentListLoading: PropTypes.bool.isRequired,\n direntList: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n onAddFile: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onAllItemSelected: PropTypes.func.isRequired,\n onItemSelected: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n onItemClick: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onDirentClick: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string,\n showDirentDetail: PropTypes.func.isRequired,\n loadDirentList: PropTypes.func,\n fullDirentList: PropTypes.array,\n posX: PropTypes.string,\n posY: PropTypes.string,\n};\n\nclass DirentListView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n isImagePopupOpen: false,\n imageItems: [],\n imageIndex: 0,\n fileType: '',\n isCreateFileDialogShow: false,\n isCreateFolderDialogShow: false,\n isMoveDialogShow: false,\n isCopyDialogShow: false,\n isProgressDialogShow: false,\n downloadItems: [],\n isMutipleOperation: true,\n activeDirent: null,\n isListDropTipShow: false,\n isShowDirentsDraggablePreview: false,\n };\n\n this.enteredCounter = 0; // Determine whether to enter the child element to avoid dragging bubbling bugs。\n this.isRepoOwner = props.currentRepoInfo.owner_email === username;\n this.isAdmin = props.currentRepoInfo.is_admin;\n this.repoEncrypted = props.currentRepoInfo.encrypted;\n\n this.clickedDirent = null;\n this.direntItems = [];\n this.currentItemRef = null;\n\n this.zipToken = null;\n\n const { userPerm } = props;\n this.canDrop = userPerm === 'rw';\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (isCustomPermission) {\n const { modify } = customPermission.permission;\n this.canDrop = modify;\n }\n }\n\n freezeItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n unfreezeItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n onItemRename = (dirent, newName) => {\n let isDuplicated = this.props.direntList.some(item => {\n return item.name === newName;\n });\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));\n toaster.danger(errMessage);\n return false;\n }\n this.props.onItemRename(dirent, newName);\n };\n\n onItemRenameToggle = () => {\n this.freezeItem();\n };\n\n onItemSelected = (dirent) => {\n this.setState({activeDirent: null});\n this.props.onItemSelected(dirent);\n };\n\n onDirentClick = (dirent) => {\n hideMenu();\n if (this.props.selectedDirentList.length > 0 && !this.state.activeDirent ) {\n return;\n }\n this.setState({activeDirent: dirent});\n this.props.onDirentClick(dirent);\n };\n\n sortByName = (e) => {\n e.preventDefault();\n const sortBy = 'name';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n const sortBy = 'time';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n sortBySize = (e) => {\n e.preventDefault();\n const sortBy = 'size';\n const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';\n this.props.sortItems(sortBy, sortOrder);\n };\n\n // for image popup\n prepareImageItem = (item) => {\n const name = item.name;\n const repoID = this.props.repoID;\n const path = Utils.encodePath(Utils.joinPath(this.props.path, name));\n const src = `${siteRoot}repo/${repoID}/raw${path}`;\n\n return {\n 'name': name,\n 'url': `${siteRoot}lib/${repoID}/file${path}`,\n 'src': src\n };\n };\n\n showImagePopup = (curItem) => {\n let items = this.props.fullDirentList.filter((item) => {\n return Utils.imageCheck(item.name);\n });\n\n const imageItems = items.map((item) => {\n return this.prepareImageItem(item);\n });\n\n this.setState({\n isImagePopupOpen: true,\n imageItems: imageItems,\n imageIndex: items.indexOf(curItem)\n });\n };\n\n moveToPrevImage = () => {\n const imageItemsLength = this.state.imageItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + imageItemsLength - 1) % imageItemsLength\n }));\n };\n\n moveToNextImage = () => {\n const imageItemsLength = this.state.imageItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + 1) % imageItemsLength\n }));\n };\n\n closeImagePopup = () => {\n this.setState({isImagePopupOpen: false});\n };\n\n onCreateFileToggle = (fileType) => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: fileType || ''\n });\n };\n\n onCreateFolderToggle = () => {\n this.setState({isCreateFolderDialogShow: !this.state.isCreateFolderDialogShow});\n };\n\n onAddFolder = (dirPath) => {\n this.setState({isCreateFolderDialogShow: false});\n this.props.onAddFolder(dirPath);\n };\n\n checkDuplicatedName = (newName) => {\n let direntList = this.props.direntList;\n let isDuplicated = direntList.some(object => {\n return object.name === newName;\n });\n return isDuplicated;\n };\n\n onMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onItemsDownload = () => {\n let { path, repoID, selectedDirentList } = this.props;\n if (selectedDirentList.length) {\n if (selectedDirentList.length === 1 && !selectedDirentList[0].isDir()) {\n let direntPath = Utils.joinPath(path, selectedDirentList[0].name);\n let url = URLDecorator.getUrl({type: 'download_file_url', repoID: repoID, filePath: direntPath});\n location.href= url;\n return;\n }\n\n let selectedDirentNames = selectedDirentList.map(dirent => {\n return dirent.name;\n });\n\n this.setState({\n isProgressDialogShow: true,\n downloadItems: selectedDirentNames\n });\n }\n };\n\n onCloseZipDownloadDialog = () => {\n this.setState({isProgressDialogShow: false});\n };\n\n // common contextmenu handle\n onMouseDown = (event) => {\n event.stopPropagation();\n if (event.button === 2) {\n return;\n }\n };\n\n handleContextClick = (event, id, menuList, currentObject = null) => {\n event.preventDefault();\n event.stopPropagation();\n\n let x = event.clientX || (event.touches && event.touches[0].pageX);\n let y = event.clientY || (event.touches && event.touches[0].pageY);\n\n if (this.props.posX) {\n x -= this.props.posX;\n }\n if (this.props.posY) {\n y -= this.props.posY;\n }\n\n hideMenu();\n\n let showMenuConfig = {\n id: id,\n position: { x, y },\n target: event.target,\n currentObject: currentObject,\n menuList: menuList,\n };\n\n if (menuList.length === 0) {\n return;\n }\n\n showMenu(showMenuConfig);\n };\n\n // table-container contextmenu handle\n onContainerClick = () => {\n hideMenu();\n if (this.state.activeDirent) {\n this.onDirentClick(null);\n }\n };\n\n onContainerMouseDown = (event) => {\n this.onMouseDown(event);\n };\n\n onContainerContextMenu = (event) => {\n event.preventDefault();\n // Display menu items based on the permissions of the current path\n let permission = this.props.userPerm;\n\n const { isCustomPermission, customPermission } = Utils.getUserPermission(this.props.userPerm);\n if (permission !== 'admin' && permission !== 'rw' && !isCustomPermission) {\n return;\n }\n\n const {\n NEW_FOLDER, NEW_FILE,\n NEW_MARKDOWN_FILE,\n NEW_EXCEL_FILE,\n NEW_POWERPOINT_FILE,\n NEW_WORD_FILE,\n NEW_SEADOC_FILE\n } = TextTranslation;\n\n const direntsContainerMenuList = [\n NEW_FOLDER, NEW_FILE, 'Divider',\n NEW_MARKDOWN_FILE,\n NEW_EXCEL_FILE,\n NEW_POWERPOINT_FILE,\n NEW_WORD_FILE\n ];\n if (enableSeadoc) {\n direntsContainerMenuList.push(NEW_SEADOC_FILE);\n }\n\n if (this.props.selectedDirentList.length === 0) {\n let id = 'dirent-container-menu';\n\n // custom permission judgement\n if (isCustomPermission) {\n const { create: canCreate } = customPermission.permission;\n if (!canCreate) return;\n }\n\n let menuList = direntsContainerMenuList;\n this.handleContextClick(event, id, menuList);\n } else {\n if (this.props.selectedDirentList.length === 1) {\n if (!this.state.activeDirent) {\n let id = 'dirent-item-menu';\n let dirent = this.props.selectedDirentList[0];\n let menuList = this.getDirentItemMenuList(dirent, true);\n this.handleContextClick(event, id, menuList, dirent);\n } else {\n this.onDirentClick(null);\n event.preventDefault();\n event.persist();\n\n // custom permission judgement\n if (isCustomPermission) {\n const { modify } = customPermission.permission;\n if (!modify) return;\n }\n\n setTimeout(() => {\n let id = 'dirent-container-menu';\n\n let menuList = direntsContainerMenuList;\n this.handleContextClick(event, id, menuList);\n }, 0);\n }\n } else {\n let id = 'dirents-menu';\n let menuList = [];\n if (isCustomPermission) {\n const { modify: canModify, copy: canCopy, download: canDownload, delete: canDelete } = customPermission.permission;\n canModify && menuList.push(TextTranslation.MOVE);\n canCopy && menuList.push(TextTranslation.COPY);\n canDownload && menuList.push(TextTranslation.DOWNLOAD);\n canDelete && menuList.push(TextTranslation.DELETE);\n } else {\n menuList = [TextTranslation.MOVE, TextTranslation.COPY, TextTranslation.DOWNLOAD, TextTranslation.DELETE];\n }\n\n this.handleContextClick(event, id, menuList);\n }\n }\n };\n\n onContainerMenuItemClick = (operation) => {\n switch(operation) {\n case 'New Folder':\n this.onCreateFolderToggle();\n break;\n case 'New File':\n this.onCreateFileToggle();\n break;\n case 'New Markdown File':\n this.onCreateFileToggle('.md');\n break;\n case 'New Excel File':\n this.onCreateFileToggle('.xlsx');\n break;\n case 'New PowerPoint File':\n this.onCreateFileToggle('.pptx');\n break;\n case 'New Word File':\n this.onCreateFileToggle('.docx');\n break;\n case 'New SeaDoc File':\n this.onCreateFileToggle('.sdoc');\n break;\n default:\n break;\n }\n\n hideMenu();\n };\n\n onDirentsMenuItemClick = (operation) => {\n switch(operation) {\n case 'Move':\n this.onMoveToggle();\n break;\n case 'Copy':\n this.onCopyToggle();\n break;\n case 'Download':\n this.onItemsDownload();\n break;\n case 'Delete':\n this.props.onItemsDelete();\n break;\n default:\n break;\n }\n\n hideMenu();\n };\n\n // table-thread contextmenu handle -- Shield event\n onThreadMouseDown = (event) => {\n this.onMouseDown(event);\n };\n\n onThreadContextMenu = (event) => {\n event.stopPropagation();\n };\n\n // table-dirent-item contextmenu handle\n onItemMouseDown = (event) => {\n this.onMouseDown(event);\n };\n\n onItemContextMenu = (event, dirent) => {\n // Display menu items according to the current dirent permission\n if (this.props.selectedDirentList.length > 1) {\n return;\n }\n this.onDirentClick(dirent);\n let id = 'dirent-item-menu';\n let menuList = this.getDirentItemMenuList(dirent, true);\n this.handleContextClick(event, id, menuList, dirent);\n };\n\n setDirentItemRef = (index) => item => {\n this.direntItems[index] = item;\n };\n\n onMenuItemClick = (operation, currentObject, event) => {\n let index = this.getDirentIndex(currentObject);\n this.direntItems[index].onMenuItemClick(operation, event);\n\n hideMenu();\n };\n\n onShowMenu = (e) => {\n this.freezeItem();\n };\n\n onHideMenu = (e) => {\n this.unfreezeItem();\n };\n\n // contextmenu utils\n getDirentIndex = (dirent) => {\n let direntList = this.props.direntList;\n let index = 0;\n for (let i = 0; i < direntList.length; i++) {\n if (direntList[i].name === dirent.name) {\n index = i;\n break;\n }\n }\n return index;\n };\n\n getDirentItemMenuList = (dirent, isContextmenu) => {\n const isRepoOwner = this.isRepoOwner;\n const currentRepoInfo = this.props.currentRepoInfo;\n return Utils.getDirentOperationList(isRepoOwner, currentRepoInfo, dirent, isContextmenu);\n };\n\n onTableDragEnter = (e) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n this.enteredCounter++;\n if (this.enteredCounter !== 0) {\n if (this.state.isListDropTipShow) {\n return ;\n }\n this.setState({isListDropTipShow: true});\n }\n };\n\n onTableDragOver = (e) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n if (e.dataTransfer.dropEffect === 'copy') {\n return;\n }\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n };\n\n onTableDragLeave = (e) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n this.enteredCounter--;\n if (this.enteredCounter === 0) {\n this.setState({isListDropTipShow: false});\n }\n };\n\n tableDrop = (e) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n e.persist();\n this.enteredCounter = 0;\n this.setState({isListDropTipShow: false});\n if (e.dataTransfer.files.length) { // uploaded files\n return;\n }\n let dragStartItemData = e.dataTransfer.getData('applicaiton/drag-item-info');\n dragStartItemData = JSON.parse(dragStartItemData);\n\n let {nodeDirent, nodeParentPath, nodeRootPath} = dragStartItemData;\n\n if (Array.isArray(dragStartItemData)) { //selected items\n return;\n }\n\n if (nodeRootPath === this.props.path || nodeParentPath === this.props.path) {\n return;\n }\n\n if (this.props.path.indexOf(nodeRootPath) !== -1) {\n return;\n }\n\n this.props.onItemMove(this.props.currentRepoInfo, nodeDirent, this.props.path, nodeParentPath);\n };\n\n onShowDirentsDraggablePreview = () => {\n this.setState({\n isShowDirentsDraggablePreview: true,\n });\n };\n\n onHideDirentsDraggablePreview = () => {\n this.setState({\n isShowDirentsDraggablePreview: false\n });\n };\n\n render() {\n const { direntList, sortBy, sortOrder } = this.props;\n\n if (this.props.isDirentListLoading) {\n return ();\n }\n\n // sort\n const sortByName = sortBy == 'name';\n const sortByTime = sortBy == 'time';\n const sortBySize = sortBy == 'size';\n const sortIcon = sortOrder == 'asc' ? : ;\n\n const isDesktop = Utils.isDesktop();\n\n return (\n \n \n {isDesktop ? (\n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n )}\n \n {direntList.map((dirent, index) => {\n return (\n \n );\n })}\n \n
    \n \n {/*icon */}{/*star */}{gettext('Name')} {sortByName && sortIcon}{/*tag */}{/*operation */}{gettext('Size')} {sortBySize && sortIcon}{gettext('Last Update')} {sortByTime && sortIcon}
    \n \n \n \n \n {this.state.isShowDirentsDraggablePreview &&\n \n \n \n }\n {this.state.isImagePopupOpen && (\n \n \n \n )}\n {this.state.isCreateFolderDialogShow && (\n \n \n \n )}\n {this.state.isCreateFileDialogShow && (\n \n \n \n )}\n {this.state.isMoveDialogShow &&\n \n }\n {this.state.isCopyDialogShow &&\n \n }\n {this.state.isProgressDialogShow &&\n \n }\n \n \n );\n }\n}\n\nDirentListView.propTypes = propTypes;\n\nexport default DirentListView;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport DirentNoneView from '../../components/dirent-list-view/dirent-none-view';\nimport RepoInfoBar from '../../components/repo-info-bar';\nimport DirentListView from '../../components/dirent-list-view/dirent-list-view';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n currentRepoInfo: PropTypes.object.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n isRepoInfoBarShow: PropTypes.bool.isRequired,\n usedRepoTags: PropTypes.array.isRequired,\n readmeMarkdown: PropTypes.object,\n draftCounts: PropTypes.number,\n updateUsedRepoTags: PropTypes.func.isRequired,\n isDirentListLoading: PropTypes.bool.isRequired,\n direntList: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onAddFile: PropTypes.func.isRequired,\n onItemClick: PropTypes.func.isRequired,\n onItemSelected: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onDirentClick: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n isAllItemSelected: PropTypes.bool.isRequired,\n onAllItemSelected: PropTypes.func.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func,\n showDirentDetail: PropTypes.func.isRequired,\n loadDirentList: PropTypes.func,\n fullDirentList: PropTypes.array,\n};\n\nclass DirListView extends React.Component {\n\n render() {\n\n if (this.props.path === '/' && this.props.direntList.length === 0) {\n return (\n \n );\n }\n\n return (\n \n {this.props.isRepoInfoBarShow && (\n \n )}\n \n \n );\n }\n}\n\nDirListView.propTypes = propTypes;\n\nexport default DirListView;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport MD5 from 'MD5';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { gettext, siteRoot, mediaUrl } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n dirent: PropTypes.object.isRequired,\n onItemClick: PropTypes.func.isRequired,\n showImagePopup: PropTypes.func.isRequired,\n onGridItemContextMenu: PropTypes.func.isRequired,\n onGridItemClick: PropTypes.func.isRequired,\n activeDirent: PropTypes.object,\n onGridItemMouseDown: PropTypes.func,\n currentRepoInfo: PropTypes.object,\n onItemMove: PropTypes.func.isRequired,\n};\n\nclass DirentGridItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isGridSelected: false,\n isGridDropTipShow: false,\n };\n\n const { dirent } = this.props;\n const { isCustomPermission, customPermission } = Utils.getUserPermission(dirent.permission);\n this.isCustomPermission = isCustomPermission;\n this.customPermission = customPermission;\n this.canPreview = true;\n this.canDrag = dirent.permission === 'rw';\n if (isCustomPermission) {\n const { preview, modify } = customPermission.permission;\n this.canPreview = preview || modify;\n this.canDrag = modify;\n }\n\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState({isGridSelected: false}, () => {\n if (nextProps.activeDirent && nextProps.activeDirent.name === nextProps.dirent.name) {\n this.setState({isGridSelected: true});\n }\n });\n }\n\n onItemMove = (destRepo, dirent, selectedPath, currentPath) => {\n this.props.onItemMove(destRepo, dirent, selectedPath, currentPath);\n };\n\n onItemClick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n const { dirent, activeDirent } = this.props;\n if (dirent.isDir()) {\n this.props.onItemClick(dirent);\n return;\n }\n\n // is have preview permission\n if (!this.canPreview) {\n return;\n }\n\n if (dirent === activeDirent) {\n this.setState({isGridSelected: false});\n if (Utils.imageCheck(dirent.name)) {\n this.props.showImagePopup(dirent);\n } else {\n this.props.onItemClick(dirent);\n }\n } else {\n this.setState({isGridSelected: false});\n this.props.onGridItemClick(this.props.dirent);\n }\n };\n\n onItemLinkClick = (e) => {\n e.preventDefault();\n const dirent = this.props.dirent;\n\n if (dirent.isDir()) {\n this.props.onItemClick(dirent);\n return;\n }\n\n // is have preview permission\n if (!this.canPreview) {\n return;\n }\n\n if (Utils.imageCheck(dirent.name)) {\n this.props.showImagePopup(dirent);\n } else {\n this.props.onItemClick(dirent);\n }\n };\n\n onGridItemDragStart = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n let dragStartItemData = {nodeDirent: this.props.dirent, nodeParentPath: this.props.path};\n dragStartItemData = JSON.stringify(dragStartItemData);\n\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('applicaiton/drag-item-info', dragStartItemData);\n };\n\n onGridItemDragEnter = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n if (this.props.dirent.type === 'dir') {\n this.setState({isGridDropTipShow: true});\n }\n };\n\n onGridItemDragOver = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n };\n\n onGridItemDragLeave = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n this.setState({isGridDropTipShow: false});\n };\n\n onGridItemDragDrop = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n this.setState({isGridDropTipShow: false});\n if (e.dataTransfer.files.length) { // uploaded files\n return;\n }\n let dragStartItemData = e.dataTransfer.getData('applicaiton/drag-item-info');\n dragStartItemData = JSON.parse(dragStartItemData);\n let {nodeDirent, nodeParentPath} = dragStartItemData;\n let dropItemData = this.props.dirent;\n\n if (nodeDirent.name === dropItemData.name) {\n return;\n }\n\n if (dropItemData.type !== 'dir') {\n return;\n }\n\n let selectedPath = Utils.joinPath(this.props.path, this.props.dirent.name);\n this.onItemMove(this.props.currentRepoInfo, nodeDirent, selectedPath, nodeParentPath);\n };\n\n onGridItemMouseDown = (event) =>{\n this.props.onGridItemMouseDown(event);\n };\n\n getFileUrl = (url) => {\n let fileUrlArr = url.split('/');\n if (fileUrlArr.indexOf('48') !== -1) {\n fileUrlArr.splice(fileUrlArr.indexOf('48'), 1, '192');\n }\n let fileUrl = fileUrlArr.join('/');\n return fileUrl;\n };\n\n onGridItemContextMenu = (event) => {\n let dirent = this.props.dirent;\n this.props.onGridItemContextMenu(event, dirent);\n };\n\n render() {\n let { dirent, path } = this.props;\n let direntPath = Utils.joinPath(path, dirent.name);\n let iconUrl = Utils.getDirentIcon(dirent, true);\n let fileUrl = dirent.encoded_thumbnail_src ? this.getFileUrl(dirent.encoded_thumbnail_src) : '';\n\n let toolTipID = '';\n let tagTitle = '';\n if (dirent.file_tags && dirent.file_tags.length > 0) {\n toolTipID = MD5(dirent.name).slice(0, 7);\n tagTitle = dirent.file_tags.map(item => item.name).join(' ');\n }\n\n let dirHref = '';\n if (this.props.currentRepoInfo) {\n dirHref = siteRoot + 'library/' + this.props.repoID + '/' + this.props.currentRepoInfo.repo_name + Utils.encodePath(direntPath);\n }\n let fileHref = siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(direntPath);\n if (dirent.is_sdoc_revision && dirent.revision_id) {\n fileHref = siteRoot + 'lib/' + this.props.repoID + '/revisions/' + dirent.revision_id + '/';\n }\n\n let gridClass = 'grid-file-img-link cursor-pointer';\n gridClass += this.state.isGridSelected ? ' grid-selected-active' : ' ';\n gridClass += this.state.isGridDropTipShow ? ' grid-drop-show' : ' ';\n\n let lockedInfo = gettext('locked by {name}');\n lockedInfo = lockedInfo.replace('{name}', dirent.lock_owner_name);\n\n return (\n \n
  • \n \n {(this.canPreview && dirent.encoded_thumbnail_src) ?\n \"\"/ :\n \n }\n {dirent.is_locked && {gettext('locked')}}\n \n
    \n {(dirent.type !== 'dir' && dirent.file_tags && dirent.file_tags.length > 0) && (\n \n
    \n {dirent.file_tags.map((fileTag, index) => {\n let length = dirent.file_tags.length;\n return (\n \n );\n })}\n
    \n \n {tagTitle}\n \n
    \n )}\n {(!dirent.isDir() && !this.canPreview) ?\n {dirent.name} :\n {dirent.name}\n }\n
    \n
  • \n
    \n );\n }\n}\n\nDirentGridItem.propTypes = propTypes;\nexport default DirentGridItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { siteRoot, username, enableSeadoc } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport URLDecorator from '../../utils/url-decorator';\nimport Loading from '../loading';\nimport ModalPortal from '../modal-portal';\nimport ImageDialog from '../../components/dialog/image-dialog';\nimport DirentGridItem from '../../components/dirent-grid-view/dirent-grid-item';\nimport ContextMenu from '../context-menu/context-menu';\nimport { hideMenu, showMenu } from '../context-menu/actions';\nimport TextTranslation from '../../utils/text-translation';\nimport MoveDirentDialog from '../dialog/move-dirent-dialog';\nimport CopyDirentDialog from '../dialog/copy-dirent-dialog';\nimport ShareDialog from '../dialog/share-dialog';\nimport ZipDownloadDialog from '../dialog/zip-download-dialog';\nimport EditFileTagDialog from '../dialog/edit-filetag-dialog';\nimport Rename from '../../components/dialog/rename-dirent';\nimport CreateFile from '../dialog/create-file-dialog';\nimport CreateFolder from '../dialog/create-folder-dialog';\nimport LibSubFolderPermissionDialog from '../dialog/lib-sub-folder-permission-dialog';\nimport toaster from '../toast';\n\nimport '../../css/grid-view.css';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n currentRepoInfo: PropTypes.object,\n direntList: PropTypes.array.isRequired,\n fullDirentList: PropTypes.array,\n onAddFile: PropTypes.func,\n onItemDelete: PropTypes.func,\n onItemCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onRenameNode: PropTypes.func.isRequired,\n onItemClick: PropTypes.func.isRequired,\n isDirentListLoading: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string, // current path's user permission\n enableDirPrivateShare: PropTypes.bool.isRequired,\n updateDirent: PropTypes.func.isRequired,\n isDirentDetailShow: PropTypes.bool.isRequired,\n onGridItemClick: PropTypes.func,\n onFileTagChanged: PropTypes.func,\n onAddFolder: PropTypes.func.isRequired,\n showDirentDetail: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n posX: PropTypes.number,\n posY: PropTypes.number,\n};\n\nclass DirentGridView extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isImagePopupOpen: false,\n imageItems: [],\n imageIndex: 0,\n // onmenuClick\n isShareDialogShow: false,\n isMoveDialogShow: false,\n isCopyDialogShow: false,\n isEditFileTagShow: false,\n isZipDialogOpen: false,\n isRenameDialogShow: false,\n isCreateFolderDialogShow: false,\n isCreateFileDialogShow: false,\n fileType: '',\n isPermissionDialogOpen: false,\n\n isMutipleOperation: false,\n isGridItemFreezed: false,\n activeDirent: null,\n };\n this.isRepoOwner = props.currentRepoInfo.owner_email === username;\n }\n\n onCreateFileToggle = (fileType) => {\n this.setState({\n isCreateFileDialogShow: !this.state.isCreateFileDialogShow,\n fileType: fileType || ''\n });\n };\n\n onGridItemClick = (dirent) => {\n hideMenu();\n this.setState({activeDirent: dirent});\n this.props.onGridItemClick(dirent);\n };\n\n onMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onAddFolder = (dirPath) => {\n this.setState({isCreateFolderDialogShow: false});\n this.props.onAddFolder(dirPath);\n };\n\n onItemShare = (e) => {\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n closeSharedDialog = () => {\n this.setState({isShareDialogShow: !this.state.isShareDialogShow});\n };\n\n onItemDelete = (currentObject, e) => {\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.props.onItemDelete(currentObject);\n };\n\n onItemConvert = (currentObject, e, dstType) => {\n e.nativeEvent.stopImmediatePropagation(); //for document event\n this.props.onItemConvert(currentObject, dstType);\n };\n\n onMenuItemClick = (operation, currentObject, event) => {\n hideMenu();\n switch(operation) {\n case 'Download':\n this.onItemDownload(currentObject, event);\n break;\n case 'Share':\n this.onItemShare(event);\n break;\n case 'Delete':\n this.onItemDelete(currentObject, event);\n break;\n case 'Rename':\n this.onItemRenameToggle();\n break;\n case 'Move':\n this.onItemMoveToggle();\n break;\n case 'Copy':\n this.onItemCopyToggle();\n break;\n case 'Convert to Markdown':\n this.onItemConvert(currentObject, event, 'markdown');\n break;\n case 'Convert to sdoc':\n this.onItemConvert(currentObject, event, 'sdoc');\n break;\n case 'Tags':\n this.onEditFileTagToggle();\n break;\n case 'Permission':\n this.onPermissionItem();\n break;\n case 'Unlock':\n this.onUnlockItem(currentObject);\n break;\n case 'Lock':\n this.onLockItem(currentObject);\n break;\n case 'Mark as draft':\n this.onMarkAsDraft(currentObject);\n break;\n case 'Unmark as draft':\n this.onUnmarkAsDraft(currentObject);\n break;\n case 'History':\n this.onHistory(currentObject);\n break;\n case 'New Folder':\n this.onCreateFolderToggle(currentObject);\n break;\n case 'New File':\n this.onCreateFileToggle('');\n break;\n case 'New Markdown File':\n this.onCreateFileToggle('.md');\n break;\n case 'New Excel File':\n this.onCreateFileToggle('.xlsx');\n break;\n case 'New PowerPoint File':\n this.onCreateFileToggle('.pptx');\n break;\n case 'New Word File':\n this.onCreateFileToggle('.docx');\n break;\n case 'New SeaDoc File':\n this.onCreateFileToggle('.sdoc');\n break;\n case 'Access Log':\n this.onAccessLog(currentObject);\n break;\n case 'Properties':\n this.props.showDirentDetail('info');\n break;\n case 'Open via Client':\n this.onOpenViaClient(currentObject);\n break;\n default:\n break;\n }\n };\n\n onEditFileTagToggle = () => {\n this.setState({\n isEditFileTagShow: !this.state.isEditFileTagShow\n });\n };\n\n onFileTagChanged = () => {\n let dirent = this.state.activeDirent ? this.state.activeDirent : '';\n let direntPath = Utils.joinPath(this.props.path, dirent.name);\n this.props.onFileTagChanged(dirent, direntPath);\n };\n\n getDirentPath = (dirent) => {\n let path = this.props.path;\n return path === '/' ? path + dirent.name : path + '/' + dirent.name;\n };\n\n closeZipDialog = () => {\n this.setState({\n isZipDialogOpen: false\n });\n };\n\n onItemDownload = (currentObject, e) => {\n e.nativeEvent.stopImmediatePropagation();\n let dirent = currentObject;\n let repoID = this.props.repoID;\n let direntPath = this.getDirentPath(dirent);\n if (dirent.type === 'dir') {\n this.setState({\n isZipDialogOpen: true\n });\n } else {\n let url = URLDecorator.getUrl({type: 'download_file_url', repoID: repoID, filePath: direntPath});\n location.href = url;\n }\n };\n\n onCreateFolderToggle = () => {\n this.setState({\n isCreateFolderDialogShow: !this.state.isCreateFolderDialogShow,\n });\n };\n\n onItemRenameToggle = () => {\n this.setState({\n isRenameDialogShow: !this.state.isRenameDialogShow,\n });\n };\n\n onItemMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onItemCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onPermissionItem = () => {\n this.setState({isPermissionDialogOpen: !this.state.isPermissionDialogOpen});\n };\n\n onLockItem = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n seafileAPI.lockfile(repoID, filePath).then(() => {\n this.props.updateDirent(currentObject, 'is_locked', true);\n this.props.updateDirent(currentObject, 'locked_by_me', true);\n let lockName = username.split('@');\n this.props.updateDirent(currentObject, 'lock_owner_name', lockName[0]);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUnlockItem = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n seafileAPI.unlockfile(repoID, filePath).then(() => {\n this.props.updateDirent(currentObject, 'is_locked', false);\n this.props.updateDirent(currentObject, 'locked_by_me', false);\n this.props.updateDirent(currentObject, 'lock_owner_name', '');\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onMarkAsDraft = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n seafileAPI.sdocMarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(currentObject, 'is_sdoc_draft', true);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUnmarkAsDraft = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n seafileAPI.sdocUnmarkAsDraft(repoID, filePath).then((res) => {\n this.props.updateDirent(currentObject, 'is_sdoc_draft', false);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onHistory = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n let url = URLDecorator.getUrl({type: 'file_revisions', repoID: repoID, filePath: filePath});\n location.href = url;\n };\n\n onAccessLog = (currentObject) => {\n let filePath = this.getDirentPath(currentObject);\n let path = siteRoot + 'repo/file-access/' + this.props.repoID + '/?p=' + encodeURIComponent(filePath) ;\n window.open(path);\n };\n\n onOpenViaClient = (currentObject) => {\n let repoID = this.props.repoID;\n let filePath = this.getDirentPath(currentObject);\n let url = URLDecorator.getUrl({type: 'open_via_client', repoID: repoID, filePath: filePath});\n location.href = url;\n };\n\n onItemRename = (newName) => {\n this.props.onItemRename(this.state.activeDirent, newName);\n };\n\n prepareImageItem = (item) => {\n const name = item.name;\n const repoID = this.props.repoID;\n const path = Utils.encodePath(Utils.joinPath(this.props.path, name));\n\n const src = `${siteRoot}repo/${repoID}/raw${path}`;\n\n return {\n 'name': name,\n 'url': `${siteRoot}lib/${repoID}/file${path}`,\n 'src': src\n };\n };\n\n showImagePopup = (curItem) => {\n let items = this.props.fullDirentList.filter((item) => {\n return Utils.imageCheck(item.name);\n });\n\n const imageItems = items.map((item) => {\n return this.prepareImageItem(item);\n });\n\n this.setState({\n isImagePopupOpen: true,\n imageItems: imageItems,\n imageIndex: items.indexOf(curItem)\n });\n };\n\n closeImagePopup = () => {\n this.setState({isImagePopupOpen: false});\n };\n\n moveToPrevImage = () => {\n const imageItemsLength = this.state.imageItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + imageItemsLength - 1) % imageItemsLength\n }));\n };\n\n moveToNextImage = () => {\n const imageItemsLength = this.state.imageItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + 1) % imageItemsLength\n }));\n };\n\n checkDuplicatedName = (newName) => {\n return Utils.checkDuplicatedNameInList(this.props.direntList, newName);\n };\n\n // common contextmenu handle\n onMouseDown = (event) => {\n event.stopPropagation();\n if (event.button === 2) {\n return;\n }\n };\n\n onGridContainerMouseDown = (event) => {\n this.onMouseDown(event);\n };\n\n onGridItemMouseDown = (event) => {\n this.onMouseDown(event);\n };\n\n gridContainerClick = () => {\n hideMenu();\n if (!this.props.isDirentDetailShow) {\n this.onGridItemClick(null);\n }\n };\n\n onGridContainerContextMenu = (event) => {\n event.preventDefault();\n // Display menu items based on the permissions of the current path\n let permission = this.props.userPerm;\n if (permission !== 'admin' && permission !== 'rw') {\n return;\n }\n let id = 'dirent-grid-container-menu';\n const {\n NEW_FOLDER, NEW_FILE,\n NEW_MARKDOWN_FILE,\n NEW_EXCEL_FILE,\n NEW_POWERPOINT_FILE,\n NEW_WORD_FILE,\n NEW_SEADOC_FILE\n } = TextTranslation;\n\n const menuList = [\n NEW_FOLDER, NEW_FILE, 'Divider',\n NEW_MARKDOWN_FILE,\n NEW_EXCEL_FILE,\n NEW_POWERPOINT_FILE,\n NEW_WORD_FILE\n ];\n if (enableSeadoc) {\n menuList.push(NEW_SEADOC_FILE);\n }\n this.handleContextClick(event, id, menuList);\n };\n\n onGridItemContextMenu = (event, dirent) => {\n // Display menu items according to the current dirent permission\n let id = 'grid-item-contextmenu';\n let menuList = this.getDirentItemMenuList(dirent, true);\n this.handleContextClick(event, id, menuList, dirent);\n this.props.onGridItemClick && this.props.onGridItemClick(dirent);\n };\n\n handleContextClick = (event, id, menuList, currentObject = null) => {\n event.preventDefault();\n event.stopPropagation();\n\n let x = event.clientX || (event.touches && event.touches[0].pageX);\n let y = event.clientY || (event.touches && event.touches[0].pageY);\n\n if (this.props.posX) {\n x -= this.props.posX;\n }\n if (this.props.posY) {\n y -= this.props.posY;\n }\n\n hideMenu();\n\n this.setState({activeDirent: currentObject});\n\n let showMenuConfig = {\n id: id,\n position: { x, y },\n target: event.target,\n currentObject: currentObject,\n menuList: menuList,\n };\n\n if (menuList.length === 0) {\n return;\n }\n\n showMenu(showMenuConfig);\n };\n\n getDirentItemMenuList = (dirent, isContextmenu) => {\n const isRepoOwner = this.isRepoOwner;\n const currentRepoInfo = this.props.currentRepoInfo;\n return Utils.getDirentOperationList(isRepoOwner, currentRepoInfo, dirent, isContextmenu);\n };\n\n render() {\n let {direntList, path} = this.props;\n let dirent = this.state.activeDirent ? this.state.activeDirent : '';\n let direntPath = Utils.joinPath(path, dirent.name);\n\n if (this.props.isDirentListLoading) {\n return ();\n }\n\n return (\n \n
      \n {\n direntList.length !== 0 && direntList.map((dirent, index) => {\n return (\n \n );\n })\n }\n
    \n \n \n {this.state.isCreateFolderDialogShow && (\n \n \n \n )}\n {this.state.isCreateFileDialogShow && (\n \n \n \n )}\n {this.state.isMoveDialogShow &&\n \n }\n {this.state.isZipDialogOpen &&\n \n \n \n }\n {this.state.isCopyDialogShow &&\n \n }\n {this.state.isEditFileTagShow &&\n \n }\n {this.state.isShareDialogShow &&\n \n \n \n }\n {this.state.isRenameDialogShow && (\n \n \n \n )}\n {this.state.isPermissionDialogOpen &&\n \n \n \n }\n {this.state.isImagePopupOpen && (\n \n \n \n )}\n
    \n );\n }\n}\n\nDirentGridView.propTypes = propTypes;\n\nexport default DirentGridView;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport RepoInfoBar from '../../components/repo-info-bar';\nimport DirentGridView from '../../components/dirent-grid-view/dirent-grid-view';\nimport DirentNoneView from '../../components/dirent-list-view/dirent-none-view';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n currentRepoInfo: PropTypes.object.isRequired,\n readmeMarkdown: PropTypes.object,\n draftCounts: PropTypes.number,\n usedRepoTags: PropTypes.array.isRequired,\n updateUsedRepoTags: PropTypes.func.isRequired,\n direntList: PropTypes.array.isRequired,\n onItemClick: PropTypes.func.isRequired,\n onGridItemClick: PropTypes.func,\n onAddFile: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onRenameNode: PropTypes.func.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string,\n isRepoInfoBarShow: PropTypes.bool.isRequired,\n isDirentListLoading: PropTypes.bool.isRequired,\n isDirentDetailShow: PropTypes.bool.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n updateDirent: PropTypes.func.isRequired,\n showDirentDetail: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func,\n onItemRename: PropTypes.func.isRequired,\n fullDirentList: PropTypes.array,\n};\n\nclass DirGridView extends React.Component {\n\n render() {\n if (this.props.path === '/' && this.props.direntList.length === 0) {\n return (\n \n );\n }\n return (\n \n {this.props.isRepoInfoBarShow && (\n \n )}\n \n \n );\n }\n}\n\nDirGridView.propTypes = propTypes;\n\nexport default DirGridView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Alert } from 'reactstrap';\n\nconst propTypes = {\n currentNode: PropTypes.object,\n onRename: PropTypes.func.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n checkDuplicatedName: PropTypes.func.isRequired,\n};\n\nclass Rename extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n newName: '',\n errMessage: '',\n isSubmitBtnActive: false,\n };\n this.newInput = React.createRef();\n }\n\n componentWillMount() {\n this.setState({newName: this.props.currentNode.object.name});\n }\n\n componentDidMount() {\n const { currentNode } = this.props;\n this.changeState(currentNode);\n }\n\n componentWillReceiveProps(nextProps) {\n this.changeState(nextProps.currentNode);\n }\n\n handleChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({newName: e.target.value});\n };\n\n handleSubmit = () => {\n let { isValid, errMessage } = this.validateInput();\n if (!isValid) {\n this.setState({errMessage : errMessage});\n } else {\n let isDuplicated = this.checkDuplicatedName();\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(this.state.newName));\n this.setState({errMessage: errMessage});\n } else {\n this.props.onRename(this.state.newName);\n }\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n }\n };\n\n toggle = () => {\n this.props.toggleCancel();\n };\n\n changeState = (currentNode) => {\n let name = currentNode.object.name;\n this.setState({newName: name});\n };\n\n validateInput = () => {\n let newName = this.state.newName.trim();\n let isValid = true;\n let errMessage = '';\n if (!newName) {\n isValid = false;\n errMessage = gettext('Name is required.');\n return { isValid, errMessage };\n }\n\n if (newName.indexOf('/') > -1) {\n isValid = false;\n errMessage = gettext('Name should not include ' + '\\'/\\'' + '.');\n return { isValid, errMessage };\n }\n\n return { isValid, errMessage };\n };\n\n checkDuplicatedName = () => {\n let isDuplicated = this.props.checkDuplicatedName(this.state.newName);\n return isDuplicated;\n };\n\n onAfterModelOpened = () => {\n if (!this.newInput.current) return;\n const { currentNode } = this.props;\n let type = currentNode.object.type;\n this.newInput.current.focus();\n if (type === 'file') {\n var endIndex = currentNode.object.name.lastIndexOf('.md');\n this.newInput.current.setSelectionRange(0, endIndex, 'forward');\n } else {\n this.newInput.current.setSelectionRange(0, -1);\n }\n };\n\n render() {\n let type = this.props.currentNode.object.type;\n return (\n \n {type === 'file' ? gettext('Rename File') : gettext('Rename Folder') }\n \n

    {type === 'file' ? gettext('New file name'): gettext('New folder name')}

    \n \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nRename.propTypes = propTypes;\n\nexport default Rename;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport TreeView from '../../components/tree-view/tree-view';\nimport Loading from '../../components/loading';\nimport ModalPortal from '../../components/modal-portal';\nimport Rename from '../../components/dialog/rename-dialog';\nimport Copy from '../../components/dialog/copy-dirent-dialog';\nimport Move from '../../components/dialog/move-dirent-dialog';\nimport CreateFolder from '../../components/dialog/create-folder-dialog';\nimport CreateFile from '../../components/dialog/create-file-dialog';\nimport ImageDialog from '../../components/dialog/image-dialog';\nimport { siteRoot, thumbnailSizeForOriginal } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n currentPath: PropTypes.string.isRequired,\n userPerm: PropTypes.string.isRequired,\n isTreeDataLoading: PropTypes.bool.isRequired,\n treeData: PropTypes.object.isRequired,\n currentNode: PropTypes.object,\n onNodeClick: PropTypes.func.isRequired,\n onNodeCollapse: PropTypes.func.isRequired,\n onNodeExpanded: PropTypes.func.isRequired,\n onRenameNode: PropTypes.func.isRequired,\n onDeleteNode: PropTypes.func.isRequired,\n onAddFileNode: PropTypes.func.isRequired,\n onAddFolderNode: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n navRate: PropTypes.number,\n inResizing: PropTypes.bool.isRequired,\n currentRepoInfo: PropTypes.object.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n};\n\nclass DirColumnNav extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n opNode: null,\n isAddFileDialogShow: false,\n isAddFolderDialogShow: false,\n isRenameDialogShow: false,\n isNodeImagePopupOpen: false,\n imageNodeItems: [],\n imageIndex: 0,\n isCopyDialogShow: false,\n isMoveDialogShow: false,\n isMutipleOperation: false,\n };\n this.isNodeMenuShow = true;\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState({opNode: nextProps.currentNode});\n }\n\n onNodeClick = (node) => {\n this.setState({opNode: node});\n if (Utils.imageCheck(node.object.name)) {\n this.showNodeImagePopup(node);\n return;\n }\n this.props.onNodeClick(node);\n };\n\n onMenuItemClick = (operation, node) => {\n this.setState({opNode: node});\n switch (operation) {\n case 'New Folder':\n if (!node) {\n this.onAddFolderToggle('root');\n } else {\n this.onAddFolderToggle();\n }\n break;\n case 'New File':\n if (!node) {\n this.onAddFileToggle('root');\n } else {\n this.onAddFileToggle();\n }\n break;\n case 'Rename':\n this.onRenameToggle();\n break;\n case 'Delete':\n this.onDeleteNode(node);\n break;\n case 'Copy':\n this.onCopyToggle();\n break;\n case 'Move':\n this.onMoveToggle();\n break;\n case 'Open in New Tab':\n this.onOpenFile(node);\n break;\n }\n };\n\n onAddFileToggle = (type) => {\n if (type === 'root') {\n let root = this.props.treeData.root;\n this.setState({\n isAddFileDialogShow: !this.state.isAddFileDialogShow,\n opNode: root,\n });\n } else {\n this.setState({isAddFileDialogShow: !this.state.isAddFileDialogShow});\n }\n };\n\n onAddFolderToggle = (type) => {\n if (type === 'root') {\n let root = this.props.treeData.root;\n this.setState({\n isAddFolderDialogShow: !this.state.isAddFolderDialogShow,\n opNode: root,\n });\n } else {\n this.setState({isAddFolderDialogShow: !this.state.isAddFolderDialogShow});\n }\n };\n\n onRenameToggle = () => {\n this.setState({isRenameDialogShow: !this.state.isRenameDialogShow});\n };\n\n onCopyToggle = () => {\n this.setState({isCopyDialogShow: !this.state.isCopyDialogShow});\n };\n\n onMoveToggle = () => {\n this.setState({isMoveDialogShow: !this.state.isMoveDialogShow});\n };\n\n onAddFolderNode = (dirPath) => {\n this.setState({isAddFolderDialogShow: !this.state.isAddFolderDialogShow});\n this.props.onAddFolderNode(dirPath);\n };\n\n onRenameNode = (newName) => {\n this.setState({isRenameDialogShow: !this.state.isRenameDialogShow});\n let node = this.state.opNode;\n this.props.onRenameNode(node, newName);\n };\n\n onDeleteNode = (node) => {\n this.props.onDeleteNode(node);\n };\n\n onOpenFile = (node) => {\n let newUrl = siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(node.path);\n window.open(newUrl, '_blank');\n };\n\n checkDuplicatedName = (newName) => {\n let node = this.state.opNode;\n // root node to new node conditions: parentNode is null,\n let parentNode = node.parentNode ? node.parentNode : node;\n let childrenObject = parentNode.children.map(item => {\n return item.object;\n });\n let isDuplicated = childrenObject.some(object => {\n return object.name === newName;\n });\n return isDuplicated;\n };\n\n showNodeImagePopup = (node) => {\n let childrenNode = node.parentNode.children;\n let items = childrenNode.filter((item) => {\n return Utils.imageCheck(item.object.name);\n });\n let imageNames = items.map((item) => {\n return item.object.name;\n });\n this.setState({\n isNodeImagePopupOpen: true,\n imageNodeItems: this.prepareImageItems(node),\n imageIndex: imageNames.indexOf(node.object.name)\n });\n };\n\n prepareImageItems = (node) => {\n let childrenNode = node.parentNode.children;\n let items = childrenNode.filter((item) => {\n return Utils.imageCheck(item.object.name);\n });\n\n const useThumbnail = !this.props.currentRepoInfo.encrypted;\n let prepareItem = (item) => {\n const name = item.object.name;\n\n const path = Utils.encodePath(Utils.joinPath(node.parentNode.path, name));\n const fileExt = name.substr(name.lastIndexOf('.') + 1).toLowerCase();\n const isGIF = fileExt === 'gif';\n\n const repoID = this.props.repoID;\n let src = '';\n if (useThumbnail && !isGIF) {\n src = `${siteRoot}thumbnail/${repoID}/${thumbnailSizeForOriginal}${path}`;\n } else {\n src = `${siteRoot}repo/${repoID}/raw${path}`;\n }\n\n return {\n 'name': name,\n 'url': `${siteRoot}lib/${repoID}/file${path}`,\n 'src': src\n };\n };\n\n return items.map((item) => { return prepareItem(item); });\n };\n\n closeNodeImagePopup = () => {\n this.setState({\n isNodeImagePopupOpen: false\n });\n };\n\n moveToPrevImage = () => {\n const imageItemsLength = this.state.imageNodeItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + imageItemsLength - 1) % imageItemsLength\n }));\n };\n\n moveToNextImage = () => {\n const imageItemsLength = this.state.imageNodeItems.length;\n this.setState((prevState) => ({\n imageIndex: (prevState.imageIndex + 1) % imageItemsLength\n }));\n };\n\n stopTreeScrollPropagation = (e) => {\n e.stopPropagation();\n };\n\n render() {\n let flex = this.props.navRate ? '0 0 ' + this.props.navRate * 100 + '%' : '0 0 25%';\n const select = this.props.inResizing ? 'none' : '';\n return (\n \n
    \n {this.props.isTreeDataLoading ?\n () :\n ()\n }\n
    \n {this.state.isAddFolderDialogShow && (\n \n \n \n )}\n {this.state.isAddFileDialogShow && (\n \n \n \n )}\n {this.state.isRenameDialogShow && (\n \n \n \n )}\n {this.state.isCopyDialogShow && (\n \n \n \n )}\n {this.state.isMoveDialogShow && (\n \n \n \n )}\n {this.state.isNodeImagePopupOpen && (\n \n \n \n )}\n
    \n );\n }\n}\n\nDirColumnNav.defaultProps={\n navRate: 0.25\n};\n\nDirColumnNav.propTypes = propTypes;\n\nexport default DirColumnNav;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../utils/utils';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport toaster from '../toast';\nimport WikiMarkdownViewer from '../wiki-markdown-viewer';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n hash: PropTypes.string,\n isDraft: PropTypes.bool,\n hasDraft: PropTypes.bool,\n goDraftPage: PropTypes.func.isRequired,\n isFileLoading: PropTypes.bool.isRequired,\n isFileLoadedErr: PropTypes.bool.isRequired,\n filePermission: PropTypes.string,\n content: PropTypes.string,\n lastModified: PropTypes.string,\n latestContributor: PropTypes.string,\n onLinkClick: PropTypes.func.isRequired,\n};\n\nclass DirColumnFile extends React.Component {\n\n componentDidMount() {\n if (this.props.hash) {\n let hash = this.props.hash;\n setTimeout(function() {\n window.location.hash = hash;\n }, 500);\n }\n }\n\n onEditClick = (e) => {\n e.preventDefault();\n let { path, repoID } = this.props;\n let url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(path) + '?mode=edit';\n window.open(url);\n };\n\n onNewDraft = (e) => {\n e.preventDefault();\n let { path, repoID } = this.props;\n seafileAPI.createDraft(repoID, path).then(res => {\n window.location.href = siteRoot + 'lib/' + res.data.origin_repo_id + '/file' + res.data.draft_file_path + '?mode=edit';\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onOpenFile = (e) => {\n e.preventDefault();\n let { path, repoID } = this.props;\n let newUrl = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(path);\n window.open(newUrl, '_blank');\n };\n\n goDraftPage = (e) => {\n e.preventDefault();\n this.props.goDraftPage();\n };\n\n render() {\n if (this.props.isFileLoadedErr) {\n return (\n
    {gettext('File does not exist.')}
    \n );\n }\n return (\n \n \n \n \n \n {(!this.props.isDraft && this.props.hasDraft) &&\n
    \n
    \n {gettext('This file is in draft stage.')}\n {gettext('View Draft')}\n
    \n
    \n }\n
    \n \n );\n }\n}\n\nDirColumnFile.propTypes = propTypes;\n\nexport default DirColumnFile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport DirColumnNav from './dir-column-nav';\nimport DirColumnFile from './dir-column-file';\nimport DirListView from './dir-list-view';\n\nconst propTypes = {\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n // repoinfo\n currentRepoInfo: PropTypes.object.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n userPerm: PropTypes.string,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n // tree\n isTreeDataLoading: PropTypes.bool.isRequired,\n treeData: PropTypes.object.isRequired,\n currentNode: PropTypes.object,\n onNodeClick: PropTypes.func.isRequired,\n onNodeCollapse: PropTypes.func.isRequired,\n onNodeExpanded: PropTypes.func.isRequired,\n onRenameNode: PropTypes.func.isRequired,\n onDeleteNode: PropTypes.func.isRequired,\n onAddFileNode: PropTypes.func.isRequired,\n onAddFolderNode: PropTypes.func.isRequired,\n // file\n isViewFile: PropTypes.bool.isRequired,\n isFileLoading: PropTypes.bool.isRequired,\n isFileLoadedErr: PropTypes.bool.isRequired,\n hash: PropTypes.string,\n isDraft: PropTypes.bool.isRequired,\n hasDraft: PropTypes.bool.isRequired,\n goDraftPage: PropTypes.func.isRequired,\n filePermission: PropTypes.string,\n content: PropTypes.string,\n lastModified: PropTypes.string,\n latestContributor: PropTypes.string,\n onLinkClick: PropTypes.func.isRequired,\n // repo content\n isRepoInfoBarShow: PropTypes.bool.isRequired,\n draftCounts: PropTypes.number.isRequired,\n usedRepoTags: PropTypes.array.isRequired,\n readmeMarkdown: PropTypes.object,\n updateUsedRepoTags: PropTypes.func.isRequired,\n // list\n isDirentListLoading: PropTypes.bool.isRequired,\n direntList: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onAddFile: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n onItemClick: PropTypes.func.isRequired,\n onItemSelected: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onDirentClick: PropTypes.func.isRequired,\n isAllItemSelected: PropTypes.bool.isRequired,\n onAllItemSelected: PropTypes.func.isRequired,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func,\n showDirentDetail: PropTypes.func.isRequired,\n fullDirentList: PropTypes.array,\n};\n\nclass DirColumnView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n inResizing: false,\n navRate: 0.25,\n };\n this.containerWidth = null;\n }\n\n onResizeMouseUp = () => {\n if (this.state.inResizing) {\n this.setState({\n inResizing: false\n });\n }\n this.setCookie('navRate', this.state.navRate);\n };\n\n onResizeMouseDown = () => {\n this.containerWidth = this.refs.viewModeContainer.clientWidth;\n this.setState({\n inResizing: true\n });\n };\n\n onResizeMouseMove = (e) => {\n let sizeNavWidth = this.containerWidth / 0.78 * 0.22 + 3;\n let rate = (e.nativeEvent.clientX - sizeNavWidth) / this.containerWidth;\n if (rate < 0.1) {\n this.setState({\n inResizing: false,\n navRate: 0.12,\n });\n }\n else if (rate > 0.4) {\n this.setState({\n inResizing: false,\n navRate: 0.38,\n });\n }\n else {\n this.setState({\n navRate: rate\n });\n }\n };\n\n setCookie = (name, value) => {\n let cookie = name + '=' + value + ';';\n document.cookie = cookie;\n };\n\n getCookie = (cookiename) => {\n let name = cookiename + '=';\n let cookie = document.cookie.split(';');\n for (let i = 0, len = cookie.length; i < len; i++) {\n let c = cookie[i].trim();\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length) * 1;\n }\n }\n return '';\n };\n\n componentWillMount() {\n let rate = this.getCookie('navRate');\n if (rate) {\n this.setState({\n navRate: rate,\n });\n }\n }\n\n render() {\n const onResizeMove = this.state.inResizing ? this.onResizeMouseMove : null;\n const select = this.state.inResizing ? 'none' : '';\n const mainFlex = '1 0 ' + (1 - this.state.navRate - 0.05) * 100 + '%';\n return (\n
    \n \n
    \n
    \n {this.props.isViewFile ? (\n \n ) : (\n \n )}\n
    \n
    \n );\n }\n}\n\nDirColumnView.propTypes = propTypes;\n\nexport default DirColumnView;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport CurDirPath from '../../components/cur-dir-path';\nimport DirentDetail from '../../components/dirent-detail/dirent-details';\nimport LibDetail from '../../components/dirent-detail/lib-details';\nimport DirListView from '../../components/dir-view-mode/dir-list-view';\nimport DirGridView from '../../components/dir-view-mode/dir-grid-view';\nimport DirColumnView from '../../components/dir-view-mode/dir-column-view';\n\nimport '../../css/lib-content-view.css';\n\nconst propTypes = {\n pathPrefix: PropTypes.array.isRequired,\n currentMode: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n pathExist: PropTypes.bool.isRequired,\n // repoinfo\n currentRepoInfo: PropTypes.object.isRequired,\n repoID: PropTypes.string.isRequired,\n enableDirPrivateShare: PropTypes.bool.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n userPerm: PropTypes.string,\n // path func\n onTabNavClick: PropTypes.func.isRequired,\n onMainNavBarClick: PropTypes.func.isRequired,\n // file\n isViewFile: PropTypes.bool.isRequired,\n isFileLoadedErr: PropTypes.bool.isRequired,\n hash: PropTypes.string,\n isDraft: PropTypes.bool.isRequired,\n hasDraft: PropTypes.bool.isRequired,\n fileTags: PropTypes.array.isRequired,\n goDraftPage: PropTypes.func.isRequired,\n isFileLoading: PropTypes.bool.isRequired,\n filePermission: PropTypes.string,\n content: PropTypes.string,\n lastModified: PropTypes.string,\n latestContributor: PropTypes.string,\n onLinkClick: PropTypes.func.isRequired,\n // tree\n isTreeDataLoading: PropTypes.bool.isRequired,\n treeData: PropTypes.object.isRequired,\n currentNode: PropTypes.object,\n onNodeClick: PropTypes.func.isRequired,\n onNodeCollapse: PropTypes.func.isRequired,\n onNodeExpanded: PropTypes.func.isRequired,\n onRenameNode: PropTypes.func.isRequired,\n onDeleteNode: PropTypes.func.isRequired,\n onAddFileNode: PropTypes.func.isRequired,\n onAddFolderNode: PropTypes.func.isRequired,\n // repo content\n draftCounts: PropTypes.number,\n usedRepoTags: PropTypes.array.isRequired,\n readmeMarkdown: PropTypes.object,\n updateUsedRepoTags: PropTypes.func.isRequired,\n // list\n isDirentListLoading: PropTypes.bool.isRequired,\n direntList: PropTypes.array.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n updateDirent: PropTypes.func.isRequired,\n onItemClick: PropTypes.func.isRequired,\n onItemSelected: PropTypes.func.isRequired,\n onItemDelete: PropTypes.func.isRequired,\n onItemRename: PropTypes.func.isRequired,\n onItemMove: PropTypes.func.isRequired,\n onItemCopy: PropTypes.func.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n onAddFile: PropTypes.func.isRequired,\n onItemConvert: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n isDirentSelected: PropTypes.bool.isRequired,\n isAllDirentSelected: PropTypes.bool.isRequired,\n onAllDirentSelected: PropTypes.func.isRequired,\n isDirentDetailShow: PropTypes.bool.isRequired,\n selectedDirent: PropTypes.object,\n selectedDirentList: PropTypes.array.isRequired,\n onItemsMove: PropTypes.func.isRequired,\n onItemsCopy: PropTypes.func.isRequired,\n onItemsDelete: PropTypes.func.isRequired,\n closeDirentDetail: PropTypes.func.isRequired,\n showDirentDetail: PropTypes.func.isRequired,\n onDeleteRepoTag: PropTypes.func.isRequired,\n updateDetail: PropTypes.bool.isRequired,\n onListContainerScroll: PropTypes.func.isRequired,\n onDirentClick: PropTypes.func.isRequired,\n direntDetailPanelTab: PropTypes.string,\n loadDirentList: PropTypes.func,\n fullDirentList: PropTypes.array,\n};\n\nclass LibContentContainer extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n currentDirent: null,\n };\n\n this.errMessage = (
    {gettext('Folder does not exist.')}
    );\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.path !== this.props.path || nextProps.updateDetail !== this.props.updateDetail) {\n this.setState({currentDirent: null});\n }\n }\n\n onPathClick = (path) => {\n this.props.onMainNavBarClick(path);\n this.props.closeDirentDetail();\n };\n\n onItemClick = (dirent) => {\n this.props.onItemClick(dirent);\n this.props.closeDirentDetail();\n };\n\n onGridItemClick = (dirent) => {\n this.setState({currentDirent: dirent});\n this.props.onDirentClick(dirent);\n };\n\n // on ''\n onDirentClick = (dirent) => {\n this.setState({currentDirent: dirent});\n this.props.onDirentClick(dirent);\n };\n\n onItemSelected = (dirent) => {\n this.setState({currentDirent: dirent});\n this.props.onItemSelected(dirent);\n };\n\n onItemDelete = (dirent) => {\n this.checkCurrentDirent(dirent);\n this.props.onItemDelete(dirent);\n };\n\n onItemMove = (destRepo, dirent, selectedPath, currentPath) => {\n this.checkCurrentDirent(dirent);\n this.props.onItemMove(destRepo, dirent, selectedPath, currentPath);\n };\n\n checkCurrentDirent = (deletedDirent) => {\n let { currentDirent } = this.state;\n if (currentDirent && deletedDirent.name === currentDirent.name) {\n this.setState({currentDirent: null});\n }\n };\n\n onItemsScroll = (e) => {\n let target = e.target;\n\n if (target.scrollTop === 0) {\n return;\n }\n\n if (target.scrollTop + target.clientHeight + 1 >= target.scrollHeight) {\n this.props.onListContainerScroll();\n }\n };\n\n render() {\n let { path, repoID, usedRepoTags, readmeMarkdown, draftCounts } = this.props;\n let isRepoInfoBarShow = false;\n if (path === '/') {\n if (usedRepoTags.length !== 0 || readmeMarkdown !== null || draftCounts !== 0) {\n isRepoInfoBarShow = true;\n }\n }\n\n return (\n \n
    \n {this.props.currentRepoInfo.status === 'read-only' &&\n
    \n {gettext('This library has been set to read-only by admin and cannot be updated.')}\n
    \n }\n
    \n \n
    \n
    \n {!this.props.pathExist && this.errMessage}\n {this.props.pathExist && (\n \n {this.props.currentMode === 'list' && (\n \n )}\n {this.props.currentMode === 'grid' && (\n \n )}\n {this.props.currentMode === 'column' && (\n \n )}\n \n )}\n
    \n
    \n {this.props.isDirentDetailShow &&\n \n
    \n {(this.props.path === '/' && !this.state.currentDirent) ?\n :\n \n }\n
    \n
    \n }\n
    \n );\n }\n}\n\nLibContentContainer.propTypes = propTypes;\n\nexport default LibContentContainer;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n resumableFile: PropTypes.object.isRequired,\n onUploadCancel: PropTypes.func.isRequired,\n onUploadRetry: PropTypes.func.isRequired,\n};\n\nconst UPLOAD_UPLOADING = 'uploading';\nconst UPLOAD_ERROR = 'error';\nconst UPLOAD_ISSAVING = 'isSaving';\nconst UPLOAD_UPLOADED = 'uploaded';\n\nclass UploadListItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n uploadState: UPLOAD_UPLOADING\n };\n }\n\n componentWillReceiveProps(nextProps) {\n let { resumableFile } = nextProps;\n let uploadState = UPLOAD_UPLOADING;\n\n if (resumableFile.error) {\n uploadState = UPLOAD_ERROR;\n } else {\n if (resumableFile.remainingTime === 0 && !resumableFile.isSaved) {\n uploadState = UPLOAD_ISSAVING;\n }\n\n if (resumableFile.isSaved) {\n uploadState = UPLOAD_UPLOADED;\n }\n }\n\n this.setState({uploadState: uploadState});\n }\n\n onUploadCancel = (e) => {\n e.preventDefault();\n this.props.onUploadCancel(this.props.resumableFile);\n };\n\n onUploadRetry = (e) => {\n e.preventDefault();\n this.props.onUploadRetry(this.props.resumableFile);\n };\n\n formatFileSize = (size) => {\n if (typeof size !== 'number') {\n return '';\n }\n if (size >= 1000 * 1000 * 1000) {\n return (size / (1000 * 1000 * 1000)).toFixed(1) + ' G';\n }\n if (size >= 1000 * 1000) {\n return (size / (1000 * 1000)).toFixed(1) + ' M';\n }\n if (size >= 1000) {\n return (size / 1000).toFixed(1) + ' K';\n }\n return size.toFixed(1) + ' B';\n };\n\n render() {\n let { resumableFile } = this.props;\n let progress = Math.round(resumableFile.progress() * 100);\n let error = resumableFile.error;\n\n const fileName = resumableFile.newFileName;\n const size = this.formatFileSize(resumableFile.size);\n\n return (\n \n \n
    {fileName}
    \n \n \n {size}\n \n \n {(this.state.uploadState === UPLOAD_UPLOADING || this.state.uploadState === UPLOAD_ISSAVING) &&\n \n {resumableFile.size >= (100 * 1000 * 1000) &&\n \n {resumableFile.isUploading() && (\n
    \n
    \n
    \n
    \n {(resumableFile.remainingTime === -1) &&
    {gettext('Preparing to upload...')}
    }\n {(resumableFile.remainingTime > 0) &&
    {gettext('Remaining')}{' '}{Utils.formatTime(resumableFile.remainingTime)}
    }\n {(resumableFile.remainingTime === 0) &&
    {gettext('Indexing...')}
    }\n
    \n )}\n {!resumableFile.isUploading() && (\n
    \n
    \n
    \n
    \n
    \n )}\n
    \n }\n {(resumableFile.size < (100 * 1000 * 1000)) &&\n
    \n
    \n
    \n
    \n
    \n }\n
    \n }\n {this.state.uploadState === UPLOAD_ERROR && (\n
    \n )}\n \n \n \n {this.state.uploadState === UPLOAD_UPLOADING && (\n {gettext('Cancel')}\n )}\n {this.state.uploadState === UPLOAD_ERROR && (\n {gettext('Retry')}\n )}\n {this.state.uploadState === UPLOAD_ISSAVING && (\n {gettext('Saving...')}\n )}\n {this.state.uploadState === UPLOAD_UPLOADED && (\n {gettext('Uploaded')}\n )}\n \n \n \n );\n }\n}\n\nUploadListItem.propTypes = propTypes;\n\nexport default UploadListItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext, maxUploadFileSize } from '../../utils/constants';\n\nconst propTypes = {\n file: PropTypes.object,\n};\n\nclass ForbidUploadListItem extends React.Component {\n\n render() {\n let { file } = this.props;\n let msg = gettext('Please upload files less than {placeholder}M').replace('{placeholder}', maxUploadFileSize);\n return (\n \n \n
    {file.name}
    \n \n\n {msg}\n \n );\n }\n}\n\nForbidUploadListItem.propTypes = propTypes;\n\nexport default ForbidUploadListItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport UploadListItem from './upload-list-item';\nimport ForbidUploadListItem from './forbid-upload-list-item';\n\nconst propTypes = {\n uploadBitrate: PropTypes.number.isRequired,\n totalProgress: PropTypes.number.isRequired,\n retryFileList: PropTypes.array.isRequired,\n uploadFileList: PropTypes.array.isRequired,\n forbidUploadFileList: PropTypes.array.isRequired,\n onCloseUploadDialog: PropTypes.func.isRequired,\n onCancelAllUploading: PropTypes.func.isRequired,\n onUploadCancel: PropTypes.func.isRequired,\n onUploadRetry: PropTypes.func.isRequired,\n onUploadRetryAll: PropTypes.func.isRequired,\n allFilesUploaded: PropTypes.bool.isRequired,\n};\n\nclass UploadProgressDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isMinimized: false\n };\n }\n\n onCancelAllUploading = () => {\n this.props.onCancelAllUploading();\n };\n\n onMinimizeUpload = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.setState({isMinimized: !this.state.isMinimized});\n };\n\n onCloseUpload = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.props.onCloseUploadDialog();\n };\n\n render() {\n\n let uploadBitrate = Utils.formatBitRate(this.props.uploadBitrate);\n let uploadedMessage = gettext('File Upload');\n let uploadingMessage = gettext('File Uploading...') + ' ' + this.props.totalProgress + '% (' + uploadBitrate + ')';\n\n let uploadingOptions = ();\n\n let uploadedOptions = (\n \n \n \n \n );\n\n let { totalProgress, allFilesUploaded, retryFileList } = this.props;\n\n return (\n
    \n
    \n
    \n {totalProgress === 100 ? uploadedMessage : uploadingMessage}\n
    \n
    \n {totalProgress === 100 || allFilesUploaded ? uploadedOptions : uploadingOptions}\n
    \n
    \n
    \n
    \n {retryFileList.length > 0 ?\n {gettext('Retry All')}\n :\n {gettext('Retry All')}\n }\n {!allFilesUploaded ?\n {gettext('Cancel All')}\n :\n {gettext('Cancel All')}\n }\n
    \n \n \n \n \n \n \n \n \n \n \n {\n this.props.forbidUploadFileList.map((file, index) => {\n return ();\n })\n }\n {\n this.props.uploadFileList.map((resumableFile, index) => {\n return (\n \n );\n })\n }\n \n
    {gettext('name')}{gettext('size')}{gettext('progress')}{gettext('state')}
    \n
    \n
    \n );\n }\n}\n\nUploadProgressDialog.propTypes = propTypes;\n\nexport default UploadProgressDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\n\nconst propTypes = {\n currentResumableFile: PropTypes.object.isRequired,\n replaceRepetitionFile: PropTypes.func.isRequired,\n uploadFile: PropTypes.func.isRequired,\n cancelFileUpload: PropTypes.func.isRequired,\n};\n\nclass UploadRemindDialog extends React.Component {\n\n toggle = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.props.cancelFileUpload();\n };\n\n replaceRepetitionFile = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.props.replaceRepetitionFile();\n };\n\n uploadFile = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.props.uploadFile();\n };\n\n render() {\n const { fileName } = this.props.currentResumableFile;\n return (\n \n \n {gettext('Replace file {filename}?').replace('{filename}', fileName)}\n \n \n

    {gettext('A file with the same name already exists in this folder.')}

    \n

    {gettext('Replacing it will overwrite its content.')}

    \n
    \n \n \n \n \n \n
    \n );\n }\n}\n\nUploadRemindDialog.propTypes = propTypes;\n\nexport default UploadRemindDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport Resumablejs from '@seafile/resumablejs';\nimport MD5 from 'MD5';\nimport { resumableUploadFileBlockSize, maxUploadFileSize, maxNumberOfFilesForFileupload } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { gettext } from '../../utils/constants';\nimport UploadProgressDialog from './upload-progress-dialog';\nimport UploadRemindDialog from '../dialog/upload-remind-dialog';\nimport toaster from '../toast';\nimport '../../css/file-uploader.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n direntList: PropTypes.array.isRequired,\n filetypes: PropTypes.array,\n chunkSize: PropTypes.number,\n withCredentials: PropTypes.bool,\n testMethod: PropTypes.string,\n testChunks: PropTypes.number,\n simultaneousUploads: PropTypes.number,\n fileParameterName: PropTypes.string,\n minFileSizeErrorCallback: PropTypes.func,\n fileTypeErrorCallback: PropTypes.func,\n dragAndDrop: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n onFileUploadSuccess: PropTypes.func.isRequired,\n isCustomPermission: PropTypes.bool,\n};\n\nclass FileUploader extends React.Component {\n\n static defaultProps = {\n isCustomPermission: false\n };\n\n constructor(props) {\n super(props);\n this.state = {\n retryFileList: [],\n uploadFileList: [],\n forbidUploadFileList: [],\n totalProgress: 0,\n isUploadProgressDialogShow: false,\n isUploadRemindDialogShow: false,\n currentResumableFile: null,\n uploadBitrate: 0,\n allFilesUploaded: false,\n };\n\n this.uploadInput = React.createRef();\n\n this.notifiedFolders = [];\n\n this.timestamp = null;\n this.loaded = 0;\n this.bitrateInterval = 500; // Interval in milliseconds to calculate the bitrate\n window.onbeforeunload = this.onbeforeunload;\n this.isUploadLinkLoaded = false;\n }\n\n componentDidMount() {\n this.resumable = new Resumablejs({\n target: '',\n query: this.setQuery || {},\n fileType: this.props.filetypes,\n maxFiles: maxNumberOfFilesForFileupload || undefined,\n maxFileSize: maxUploadFileSize * 1000 * 1000 || undefined,\n testMethod: this.props.testMethod || 'post',\n testChunks: this.props.testChunks || false,\n headers: this.setHeaders || {},\n withCredentials: this.props.withCredentials || false,\n chunkSize: parseInt(resumableUploadFileBlockSize) * 1024 * 1024 || 1 * 1024 * 1024,\n simultaneousUploads: this.props.simultaneousUploads || 1,\n fileParameterName: this.props.fileParameterName,\n generateUniqueIdentifier: this.generateUniqueIdentifier,\n forceChunkSize: true,\n maxChunkRetries: 3,\n minFileSize: 0,\n });\n\n this.resumable.assignBrowse(this.uploadInput.current, true);\n\n //Enable or Disable DragAnd Drop\n if (this.props.dragAndDrop === true) {\n this.resumable.enableDropOnDocument();\n }\n\n this.bindCallbackHandler();\n this.bindEventHandler();\n }\n\n componentWillUnmount = () => {\n window.onbeforeunload = null;\n if (this.props.dragAndDrop === true) {\n this.resumable.disableDropOnDocument();\n }\n };\n\n onbeforeunload = () => {\n if (window.uploader &&\n window.uploader.isUploadProgressDialogShow &&\n window.uploader.totalProgress !== 100) {\n return '';\n }\n };\n\n bindCallbackHandler = () => {\n let { minFileSizeErrorCallback, fileTypeErrorCallback } = this.props;\n\n if (this.maxFilesErrorCallback) {\n this.resumable.opts.maxFilesErrorCallback = this.maxFilesErrorCallback;\n }\n\n if (minFileSizeErrorCallback) {\n this.resumable.opts.minFileSizeErrorCallback = this.props.minFileSizeErrorCallback;\n }\n\n if (this.maxFileSizeErrorCallback) {\n this.resumable.opts.maxFileSizeErrorCallback = this.maxFileSizeErrorCallback;\n }\n\n if (fileTypeErrorCallback) {\n this.resumable.opts.fileTypeErrorCallback = this.props.fileTypeErrorCallback;\n }\n\n };\n\n bindEventHandler = () => {\n this.resumable.on('chunkingComplete', this.onChunkingComplete.bind(this));\n this.resumable.on('fileAdded', this.onFileAdded.bind(this));\n this.resumable.on('filesAddedComplete', this.filesAddedComplete.bind(this));\n this.resumable.on('fileProgress', this.onFileProgress.bind(this));\n this.resumable.on('fileSuccess', this.onFileUploadSuccess.bind(this));\n this.resumable.on('progress', this.onProgress.bind(this));\n this.resumable.on('complete', this.onComplete.bind(this));\n this.resumable.on('pause', this.onPause.bind(this));\n this.resumable.on('fileRetry', this.onFileRetry.bind(this));\n this.resumable.on('fileError', this.onFileError.bind(this));\n this.resumable.on('error', this.onError.bind(this));\n this.resumable.on('beforeCancel', this.onBeforeCancel.bind(this));\n this.resumable.on('cancel', this.onCancel.bind(this));\n this.resumable.on('dragstart', this.onDragStart.bind(this));\n };\n\n maxFilesErrorCallback = (files, errorCount) => {\n let maxFiles = maxNumberOfFilesForFileupload;\n let message = gettext('Please upload no more than {maxFiles} files at a time.');\n message = message.replace('{maxFiles}', maxFiles);\n toaster.danger(message);\n };\n\n maxFileSizeErrorCallback = (file) => {\n let { forbidUploadFileList } = this.state;\n forbidUploadFileList.push(file);\n this.setState({forbidUploadFileList: forbidUploadFileList});\n };\n\n onChunkingComplete = (resumableFile) => {\n\n let allFilesUploaded = this.state.allFilesUploaded;\n if (allFilesUploaded === true) {\n this.setState({allFilesUploaded: false});\n }\n\n //get parent_dir relative_path\n let path = this.props.path === '/' ? '/' : this.props.path + '/';\n let fileName = resumableFile.fileName;\n let relativePath = resumableFile.relativePath;\n let isFile = fileName === relativePath;\n\n //update formdata\n resumableFile.formData = {};\n if (isFile) { // upload file\n resumableFile.formData = {\n parent_dir: path,\n };\n } else { // upload folder\n let relative_path = relativePath.slice(0, relativePath.lastIndexOf('/') + 1);\n resumableFile.formData = {\n parent_dir: path,\n relative_path: relative_path\n };\n }\n };\n\n onFileAdded = (resumableFile, files) => {\n const { isCustomPermission } = this.props;\n let isFile = resumableFile.fileName === resumableFile.relativePath;\n // uploading is file and only upload one file\n if (isFile && files.length === 1) {\n let hasRepetition = false;\n if (!isCustomPermission) {\n let direntList = this.props.direntList;\n for (let i = 0; i < direntList.length; i++) {\n if (direntList[i].type === 'file' && direntList[i].name === resumableFile.fileName) {\n hasRepetition = true;\n break;\n }\n }\n }\n if (hasRepetition) {\n this.setState({\n isUploadRemindDialogShow: true,\n currentResumableFile: resumableFile,\n });\n } else {\n this.setUploadFileList(this.resumable.files);\n let { repoID, path } = this.props;\n seafileAPI.getFileServerUploadLink(repoID, path).then(res => {\n this.resumable.opts.target = res.data + '?ret-json=1';\n this.resumableUpload(resumableFile);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n } else {\n this.setUploadFileList(this.resumable.files);\n if (!this.isUploadLinkLoaded) {\n this.isUploadLinkLoaded = true;\n let { repoID, path } = this.props;\n seafileAPI.getFileServerUploadLink(repoID, path).then(res => {\n this.resumable.opts.target = res.data + '?ret-json=1';\n this.resumable.upload();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n }\n };\n\n resumableUpload = (resumableFile) => {\n let { repoID, path } = this.props;\n seafileAPI.getFileUploadedBytes(repoID, path, resumableFile.fileName).then(res => {\n let uploadedBytes = res.data.uploadedBytes;\n let blockSize = parseInt(resumableUploadFileBlockSize) * 1024 * 1024 || 1024 * 1024;\n let offset = Math.floor(uploadedBytes / blockSize);\n resumableFile.markChunksCompleted(offset);\n this.resumable.upload();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n filesAddedComplete = (resumable, files) => {\n let { forbidUploadFileList } = this.state;\n if (forbidUploadFileList.length > 0 && files.length === 0) {\n this.setState({\n isUploadProgressDialogShow: true,\n totalProgress: 100\n });\n }\n };\n\n setUploadFileList = () => {\n let uploadFileList = this.resumable.files;\n this.setState({\n uploadFileList: uploadFileList,\n isUploadProgressDialogShow: true,\n });\n Utils.registerGlobalVariable('uploader', 'isUploadProgressDialogShow', true);\n };\n\n onFileProgress = (resumableFile) => {\n let uploadBitrate = this.getBitrate();\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n if (uploadBitrate) {\n let lastSize = (item.size - (item.size * item.progress())) * 8;\n let time = Math.floor(lastSize / uploadBitrate);\n item.remainingTime = time;\n }\n }\n return item;\n });\n\n this.setState({\n uploadBitrate: uploadBitrate,\n uploadFileList: uploadFileList\n });\n };\n\n getBitrate = () => {\n let loaded = 0;\n let uploadBitrate = 0;\n let now = new Date().getTime();\n\n this.resumable.files.forEach(file => {\n loaded += file.progress() * file.size;\n });\n\n if (this.timestamp) {\n let timeDiff = (now - this.timestamp);\n if (timeDiff < this.bitrateInterval) {\n return this.state.uploadBitrate;\n }\n\n // 1. Cancel will produce loaded greater than this.loaded\n // 2. reset can make this.loaded to be 0\n if (loaded < this.loaded || this.loaded === 0) {\n this.loaded = loaded; //\n }\n\n uploadBitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;\n }\n\n this.timestamp = now;\n this.loaded = loaded;\n\n return uploadBitrate;\n };\n\n onProgress = () => {\n let progress = Math.round(this.resumable.progress() * 100);\n this.setState({totalProgress: progress});\n Utils.registerGlobalVariable('uploader', 'totalProgress', progress);\n };\n\n onFileUploadSuccess = (resumableFile, message) => {\n let formData = resumableFile.formData;\n let currentTime = new Date().getTime()/1000;\n message = formData.replace ? message : JSON.parse(message)[0];\n if (formData.relative_path) { // upload folder\n let relative_path = formData.relative_path;\n let dir_name = relative_path.slice(0, relative_path.indexOf('/'));\n let dirent = {\n id: message.id,\n name: dir_name,\n type: 'dir',\n mtime: currentTime,\n };\n\n // update folders cache\n let isExist = this.notifiedFolders.some(item => {return item.name === dirent.name;});\n if (!isExist) {\n this.notifiedFolders.push(dirent);\n this.props.onFileUploadSuccess(dirent);\n }\n\n // update uploadFileList\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n item.newFileName = relative_path + message.name;\n item.isSaved = true;\n }\n return item;\n });\n this.setState({uploadFileList: uploadFileList});\n\n return;\n }\n\n if (formData.replace) { // upload file -- replace exist file\n let fileName = resumableFile.fileName;\n let dirent = {\n id: message,\n name: fileName,\n type: 'file',\n mtime: currentTime\n };\n this.props.onFileUploadSuccess(dirent); // this contance: just one file\n\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n item.newFileName = fileName;\n item.isSaved = true;\n }\n return item;\n });\n this.setState({uploadFileList: uploadFileList});\n\n return;\n }\n\n // upload file -- add files\n let dirent = {\n id: message.id,\n type: 'file',\n name: message.name,\n size: message.size,\n mtime: currentTime,\n };\n this.props.onFileUploadSuccess(dirent); // this contance: no repetition file\n\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n item.newFileName = message.name;\n item.isSaved = true;\n }\n return item;\n });\n this.setState({uploadFileList: uploadFileList});\n };\n\n getFileServerErrorMessage = (key) => {\n const errorMessage = {\n 'File locked by others.': gettext('File is locked by others.'), // 403\n 'Invalid filename.': gettext('Invalid filename.'), // 440\n 'File already exists.': gettext('File already exists.'), // 441\n 'File size is too large.': gettext('File size is too large.'), // 442\n 'Out of quota.': gettext('Out of quota.'), // 443\n 'Internal error.': gettext('Internal Server Error'), // 500\n };\n return errorMessage[key] || key;\n };\n\n onFileError = (resumableFile, message) => {\n let error = '';\n if (!message) {\n error = gettext('Network error');\n } else {\n // eg: '{\"error\": \"Internal error\" \\n }'\n let errorMessage = message.replace(/\\n/g, '');\n errorMessage = JSON.parse(errorMessage);\n error = this.getFileServerErrorMessage(errorMessage.error);\n }\n\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n this.state.retryFileList.push(item);\n item.error = error;\n }\n return item;\n });\n\n this.loaded = 0; // reset loaded data;\n this.setState({\n retryFileList: this.state.retryFileList,\n uploadFileList: uploadFileList\n });\n\n };\n\n onComplete = () => {\n this.notifiedFolders = [];\n // reset upload link loaded\n this.isUploadLinkLoaded = false;\n this.setState({allFilesUploaded: true});\n };\n\n onPause = () => {\n\n };\n\n onError = (message) => {\n // reset upload link loaded\n this.isUploadLinkLoaded = false;\n // After the error, the user can switch windows\n Utils.registerGlobalVariable('uploader', 'totalProgress', 100);\n };\n\n onFileRetry = () => {\n // todo, cancel upload file, uploded again;\n };\n\n onBeforeCancel = () => {\n // todo, giving a pop message ?\n };\n\n onCancel = () => {\n\n };\n\n setHeaders = (resumableFile, resumable) => {\n let offset = resumable.offset;\n let chunkSize = resumable.getOpt('chunkSize');\n let fileSize = resumableFile.size === 0 ? 1 : resumableFile.size;\n let startByte = offset !== 0 ? offset * chunkSize : 0;\n let endByte = Math.min(fileSize, (offset + 1) * chunkSize) - 1;\n\n if (fileSize - resumable.endByte < chunkSize && !resumable.getOpt('forceChunkSize')) {\n endByte = fileSize;\n }\n\n let headers = {\n 'Accept': 'application/json; text/javascript, */*; q=0.01',\n 'Content-Disposition': 'attachment; filename=\"' + encodeURI(resumableFile.fileName) + '\"',\n 'Content-Range': 'bytes ' + startByte + '-' + endByte + '/' + fileSize,\n };\n\n return headers;\n };\n\n setQuery = (resumableFile) => {\n let formData = resumableFile.formData;\n return formData;\n };\n\n generateUniqueIdentifier = (file) => {\n let relativePath = file.webkitRelativePath||file.relativePath||file.fileName||file.name;\n return MD5(relativePath + new Date()) + relativePath;\n };\n\n onClick = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n e.stopPropagation();\n };\n\n onFileUpload = () => {\n this.uploadInput.current.removeAttribute('webkitdirectory');\n\n this.uploadInput.current.click();\n };\n\n onFolderUpload = () => {\n this.uploadInput.current.setAttribute('webkitdirectory', 'webkitdirectory');\n this.uploadInput.current.click();\n };\n\n onDragStart = () => {\n this.uploadInput.current.setAttribute('webkitdirectory', 'webkitdirectory');\n };\n\n onCloseUploadDialog = () => {\n this.loaded = 0;\n this.resumable.files = [];\n // reset upload link loaded\n this.isUploadLinkLoaded = false;\n this.setState({isUploadProgressDialogShow: false, uploadFileList: [], forbidUploadFileList: []});\n Utils.registerGlobalVariable('uploader', 'isUploadProgressDialogShow', false);\n };\n\n onUploadCancel = (uploadingItem) => {\n\n let uploadFileList = this.state.uploadFileList.filter(item => {\n if (item.uniqueIdentifier === uploadingItem.uniqueIdentifier) {\n item.cancel(); // execute cancel function will delete the file at the same time\n return false;\n }\n return true;\n });\n\n if (!this.resumable.isUploading()) {\n this.setState({\n totalProgress: '100',\n allFilesUploaded: true,\n });\n this.loaded = 0;\n }\n\n this.setState({uploadFileList: uploadFileList});\n };\n\n onCancelAllUploading = () => {\n let uploadFileList = this.state.uploadFileList.filter(item => {\n if (Math.round(item.progress() !== 1)) {\n item.cancel();\n return false;\n }\n return true;\n });\n\n this.loaded = 0;\n\n this.setState({\n allFilesUploaded: true,\n totalProgress: '100',\n uploadFileList: uploadFileList\n });\n // reset upload link loaded\n this.isUploadLinkLoaded = false;\n };\n\n onUploadRetry = (resumableFile) => {\n\n seafileAPI.getFileServerUploadLink(this.props.repoID, this.props.path).then(res => {\n this.resumable.opts.target = res.data + '?ret-json=1';\n\n let retryFileList = this.state.retryFileList.filter(item => {\n return item.uniqueIdentifier !== resumableFile.uniqueIdentifier;\n });\n let uploadFileList = this.state.uploadFileList.map(item => {\n if (item.uniqueIdentifier === resumableFile.uniqueIdentifier) {\n item.error = null;\n this.retryUploadFile(item);\n }\n return item;\n });\n\n this.setState({\n retryFileList: retryFileList,\n uploadFileList: uploadFileList\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onUploadRetryAll = () => {\n\n seafileAPI.getFileServerUploadLink(this.props.repoID, this.props.path).then(res => {\n this.resumable.opts.target = res.data + '?ret-json=1';\n this.state.retryFileList.forEach(item => {\n item.error = false;\n this.retryUploadFile(item);\n });\n\n let uploadFileList = this.state.uploadFileList.slice(0);\n this.setState({\n retryFileList: [],\n uploadFileList: uploadFileList\n });\n\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n retryUploadFile = (resumableFile) => {\n let { repoID, path } = this.props;\n let fileName = resumableFile.fileName;\n let isFile = resumableFile.fileName === resumableFile.relativePath;\n if (!isFile) {\n let relative_path = resumableFile.formData.relative_path;\n let prefix = path === '/' ? (path + relative_path) : (path + '/' + relative_path);\n fileName = prefix + fileName;\n }\n\n resumableFile.bootstrap();\n var firedRetry = false;\n resumableFile.resumableObj.on('chunkingComplete', () => {\n if(!firedRetry) {\n seafileAPI.getFileUploadedBytes(repoID, path, fileName).then(res => {\n let uploadedBytes = res.data.uploadedBytes;\n let blockSize = parseInt(resumableUploadFileBlockSize) * 1024 * 1024 || 1024 * 1024;\n let offset = Math.floor(uploadedBytes / blockSize);\n resumableFile.markChunksCompleted(offset);\n\n resumableFile.resumableObj.upload();\n\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n firedRetry = true;\n });\n\n };\n\n replaceRepetitionFile = () => {\n let { repoID, path } = this.props;\n seafileAPI.getUpdateLink(repoID, path).then(res => {\n this.resumable.opts.target = res.data;\n\n let resumableFile = this.resumable.files[this.resumable.files.length - 1];\n resumableFile.formData['replace'] = 1;\n resumableFile.formData['target_file'] = resumableFile.formData.parent_dir + resumableFile.fileName;\n this.setState({isUploadRemindDialogShow: false});\n this.setUploadFileList(this.resumable.files);\n this.resumable.upload();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n uploadFile = () => {\n let resumableFile = this.resumable.files[this.resumable.files.length - 1];\n let { repoID, path } = this.props;\n seafileAPI.getFileServerUploadLink(repoID, path).then((res) => { // get upload link\n this.resumable.opts.target = res.data + '?ret-json=1';\n this.setState({\n isUploadRemindDialogShow: false,\n isUploadProgressDialogShow: true,\n uploadFileList: [...this.state.uploadFileList, resumableFile]\n }, () => {\n this.resumable.upload();\n });\n Utils.registerGlobalVariable('uploader', 'isUploadProgressDialogShow', true);\n\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n cancelFileUpload = () => {\n this.resumable.files.pop(); //delete latest file;\n this.setState({isUploadRemindDialogShow: false});\n };\n\n render() {\n return (\n \n
    \n
    \n \n
    \n
    \n {this.state.isUploadRemindDialogShow &&\n \n }\n {this.state.isUploadProgressDialogShow &&\n \n }\n
    \n );\n }\n}\n\nFileUploader.propTypes = propTypes;\n\nexport default FileUploader;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n deleteFolder: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass DeleteFolderDialog extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n sharedToUserCount: 0,\n sharedToGroupCount: 0\n };\n }\n\n componentDidMount() {\n const { repoID, path } = this.props;\n seafileAPI.getRepoFolderShareInfo(repoID, path).then((res) => {\n this.setState({\n sharedToUserCount: res.data['shared_user_emails'].length,\n sharedToGroupCount: res.data['shared_group_ids'].length\n });\n });\n }\n\n deleteFolder = () => {\n this.props.deleteFolder();\n this.props.toggleDialog();\n };\n\n render() {\n const { sharedToUserCount, sharedToGroupCount } = this.state;\n const { path, toggleDialog } = this.props;\n const folderName = Utils.getFileName(path);\n const opTarget = '' + Utils.HTMLescape(folderName) + '';\n const message = gettext('Are you sure you want to delete %s ?').replace('%s', opTarget);\n\n let alert_message = '';\n if (sharedToUserCount > 0 || sharedToGroupCount > 0) {\n alert_message = gettext('This folder has been shared to {user_amount} user(s) and {group_amount} group(s).')\n .replace('{user_amount}', sharedToUserCount)\n .replace('{group_amount}', sharedToGroupCount);\n }\n\n return (\n \n {gettext('Delete Folder')}\n \n

    \n {alert_message &&

    {alert_message}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nDeleteFolderDialog.propTypes = propTypes;\n\nexport default DeleteFolderDialog;\n","import React from 'react';\nimport { Modal, ModalBody } from 'reactstrap';\nimport Loading from '../loading';\nimport { gettext } from '../../utils/constants';\n\nimport '../../css/convert-markdown.css';\n\nfunction ConvertMarkdownDialog() {\n return (\n \n \n \n
    {gettext('Converting')}...
    \n
    \n
    \n );\n}\n\nexport default ConvertMarkdownDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'react-cookies';\nimport moment from 'moment';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { gettext, siteRoot, username, isDocs, enableVideoThumbnail } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport collabServer from '../../utils/collab-server';\nimport Dirent from '../../models/dirent';\nimport FileTag from '../../models/file-tag';\nimport RepoTag from '../../models/repo-tag';\nimport RepoInfo from '../../models/repo-info';\nimport TreeNode from '../../components/tree-view/tree-node';\nimport treeHelper from '../../components/tree-view/tree-helper';\nimport toaster from '../../components/toast';\nimport ModalPortal from '../../components/modal-portal';\nimport LibDecryptDialog from '../../components/dialog/lib-decrypt-dialog';\nimport LibContentToolbar from './lib-content-toolbar';\nimport LibContentContainer from './lib-content-container';\nimport FileUploader from '../../components/file-uploader/file-uploader';\nimport CopyMoveDirentProgressDialog from '../../components/dialog/copy-move-dirent-progress-dialog';\nimport DeleteFolderDialog from '../../components/dialog/delete-folder-dialog';\nimport ConvertMarkdownDialog from '../../components/dialog/convert-markdown-dialog';\n\nconst propTypes = {\n pathPrefix: PropTypes.array.isRequired,\n onTabNavClick: PropTypes.func.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n repoID: PropTypes.string,\n};\n\nclass LibContentView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n currentMode: cookie.load('seafile_view_mode') || 'list',\n path: '',\n pathExist: true,\n isViewFile: false,\n hash: '',\n currentRepoInfo: null,\n repoName: '',\n repoEncrypted: false,\n libNeedDecrypt: false,\n isGroupOwnedRepo: false,\n userPerm: '',\n selectedDirentList: [],\n isDraft: false,\n hasDraft: false,\n fileTags: [],\n draftID: '',\n draftCounts: 0,\n usedRepoTags: [],\n readmeMarkdown: null,\n isTreeDataLoading: true,\n treeData: treeHelper.buildTree(),\n currentNode: null,\n isFileLoading: true,\n isFileLoadedErr: false,\n filePermission: '',\n content: '',\n lastModified: '',\n latestContributor: '',\n isDirentListLoading: true,\n direntList: [],\n isDirentSelected: false,\n sortBy: cookie.load('seafile-repo-dir-sort-by') || 'name', // 'name' or 'time' or 'size'\n sortOrder: cookie.load('seafile-repo-dir-sort-order') || 'asc', // 'asc' or 'desc'\n isAllDirentSelected: false,\n dirID: '', // for update dir list\n errorMsg: '',\n isDirentDetailShow: false,\n direntDetailPanelTab: '',\n updateDetail: false,\n itemsShowLength: 100,\n isSessionExpired: false,\n isCopyMoveProgressDialogShow: false,\n isDeleteFolderDialogOpen: false,\n asyncCopyMoveTaskId: '',\n asyncOperationType: 'move',\n asyncOperationProgress: 0,\n asyncOperatedFilesLength: 0,\n isConvertLoading: false,\n };\n\n this.oldonpopstate = window.onpopstate;\n window.onpopstate = this.onpopstate;\n this.lastModifyTime = new Date();\n this.isNeedUpdateHistoryState = true; // Load, refresh page, switch mode for the first time, no need to set historyState\n this.currentMoveItemName = '';\n this.currentMoveItemPath = '';\n }\n\n showDirentDetail = (direntDetailPanelTab) => {\n if (direntDetailPanelTab) {\n this.setState({ direntDetailPanelTab: direntDetailPanelTab }, () => {\n this.setState({ isDirentDetailShow: true });\n });\n } else {\n this.setState({\n direntDetailPanelTab: '',\n isDirentDetailShow: true\n });\n }\n };\n\n toggleDirentDetail = () => {\n this.setState({\n direntDetailPanelTab: '',\n isDirentDetailShow: !this.state.isDirentDetailShow\n });\n };\n\n closeDirentDetail = () => {\n this.setState({\n isDirentDetailShow: false,\n direntDetailPanelTab: '',\n });\n };\n\n componentWillMount() {\n const hash = window.location.hash;\n if (hash.slice(0, 1) === '#') {\n this.setState({hash: hash});\n }\n }\n\n async componentDidMount() {\n // eg: http://127.0.0.1:8000/library/repo_id/repo_name/**/**/\\\n let repoID = this.props.repoID;\n let location = window.location.href.split('#')[0];\n location = decodeURIComponent(location);\n let path = location.slice(location.indexOf(repoID) + repoID.length + 1); // get the string after repoID\n path = path.slice(path.indexOf('/')); // get current path\n\n try {\n const repoRes = await seafileAPI.getRepoInfo(repoID);\n const repoInfo = new RepoInfo(repoRes.data);\n const isGroupOwnedRepo = repoInfo.owner_email.indexOf('@seafile_group') > -1;\n\n this.setState({\n currentRepoInfo: repoInfo,\n });\n\n if (repoInfo.permission.startsWith('custom-')) {\n const permissionID = repoInfo.permission.split('-')[1];\n const permissionRes = await seafileAPI.getCustomPermission(repoID, permissionID);\n window.custom_permission = permissionRes.data.permission;\n }\n\n this.isNeedUpdateHistoryState = false;\n this.setState({\n repoName: repoInfo.repo_name,\n libNeedDecrypt: repoInfo.lib_need_decrypt,\n repoEncrypted: repoInfo.encrypted,\n isGroupOwnedRepo: isGroupOwnedRepo,\n path: path\n });\n\n if (!repoInfo.lib_need_decrypt) {\n this.loadDirData(path);\n }\n } catch (error) {\n if (error.response) {\n if (error.response.status == 403) {\n this.setState({\n isDirentListLoading: false,\n errorMsg: gettext('Permission denied')\n });\n\n let errorMsg = gettext('Permission denied');\n toaster.danger(errorMsg);\n } else if (error.response.status == 404) {\n this.setState({\n isDirentListLoading: false,\n errorMsg: gettext('Library share permission not found.')\n });\n } else {\n this.setState({\n isDirentListLoading: false,\n errorMsg: gettext('Error')\n });\n }\n } else {\n this.setState({\n isDirentListLoading: false,\n errorMsg: gettext('Please check the network.')\n });\n }\n }\n }\n\n componentWillUnmount() {\n window.onpopstate = this.oldonpopstate;\n collabServer.unwatchRepo(this.props.repoID, this.onRepoUpdateEvent);\n }\n\n componentDidUpdate() {\n this.lastModifyTime = new Date();\n }\n\n onpopstate = (event) => {\n if (event.state && event.state.key) { // root path\n if (this.state.path === '/') {\n return;\n } else {\n let path = '/';\n this.loadDirentList(path);\n this.setState({\n path: path,\n isViewFile: false\n });\n }\n } else if (event.state && event.state.path) { // file path\n let path = event.state.path;\n if (this.state.currentMode === 'column') {\n if (Utils.isMarkdownFile(path)) { // Judging not strict\n this.showFile(path);\n return;\n }\n }\n this.loadDirentList(path);\n this.setState({\n path: path,\n isViewFile: false\n });\n }\n };\n\n onRepoUpdateEvent = () => {\n let currentTime = new Date();\n if ((parseFloat(currentTime - this.lastModifyTime)/1000) <= 5) {\n return;\n }\n let repoID = this.props.repoID;\n let { path, dirID } = this.state;\n\n if (this.state.currentMode === 'column') {\n if (this.state.isViewFile) {\n this.updateColumnMarkdownData(path);\n } else {\n seafileAPI.dirMetaData(repoID, path).then((res) => {\n if (res.data.id !== dirID) {\n this.loadDirentList(path);\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n } else {\n seafileAPI.dirMetaData(repoID, path).then((res) => {\n if (res.data.id !== dirID) {\n this.loadDirentList(path);\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n updateUsedRepoTags = () => {\n let repoID = this.props.repoID;\n seafileAPI.listRepoTags(repoID).then(res => {\n let usedRepoTags = [];\n res.data.repo_tags.forEach(item => {\n let usedRepoTag = new RepoTag(item);\n if (usedRepoTag.fileCount > 0) {\n usedRepoTags.push(usedRepoTag);\n }\n });\n this.setState({usedRepoTags: usedRepoTags});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateReadmeMarkdown = (direntList) => {\n this.setState({readmeMarkdown: null});\n direntList.forEach(item => {\n let fileName = item.name.toLowerCase();\n if (fileName === 'readme.md' || fileName === 'readme.markdown') {\n this.setState({readmeMarkdown: item});\n return true;\n }\n });\n };\n\n updateColumnMarkdownData = (filePath) => {\n let repoID = this.props.repoID;\n // update state\n this.setState({\n path: filePath,\n isViewFile: true\n });\n\n // update data\n seafileAPI.getFileInfo(repoID, filePath).then((res) => {\n let { mtime, permission, last_modifier_name, is_draft, has_draft, draft_id } = res.data;\n seafileAPI.getFileDownloadLink(repoID, filePath).then((res) => {\n seafileAPI.getFileContent(res.data).then((res) => {\n if (this.state.content !== res.data) {\n this.setState({isFileLoading: true});\n }\n this.setState({\n content: res.data,\n filePermission: permission,\n latestContributor: last_modifier_name,\n lastModified: moment.unix(mtime).fromNow(),\n isFileLoading: false,\n isFileLoadedErr: false,\n isDraft: is_draft,\n hasDraft: has_draft,\n draftID: draft_id\n });\n });\n });\n }).catch(() => {\n this.setState({\n isFileLoading: false,\n isFileLoadedErr: true,\n });\n });\n };\n\n // load data\n loadDirData = (path) => {\n let repoID = this.props.repoID;\n\n // listen current repo\n collabServer.watchRepo(repoID, this.onRepoUpdateEvent);\n\n // list used FileTags\n this.updateUsedRepoTags();\n\n // list draft counts and review counts\n if (isDocs) {\n seafileAPI.getRepoDraftCounts(repoID).then(res => {\n this.setState({\n draftCounts: res.data.draft_counts,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n if (Utils.isMarkdownFile(path)) {\n seafileAPI.getFileInfo(this.props.repoID, path).then(() => {\n if (this.state.currentMode !== 'column') {\n cookie.save('seafile_view_mode', 'column');\n this.setState({currentMode: 'column'});\n }\n this.loadSidePanel(path);\n this.showFile(path);\n }).catch(() => {\n if (this.state.currentMode === 'column') { // After an error occurs, follow dir\n this.loadSidePanel(path);\n this.showDir(path);\n } else {\n this.showDir(path);\n }\n });\n } else {\n if (this.state.currentMode === 'column') {\n this.loadSidePanel(path);\n this.showDir(path);\n } else {\n this.showDir(path);\n }\n }\n };\n\n loadSidePanel = (path) => {\n let repoID = this.props.repoID;\n if (path === '/') {\n seafileAPI.listDir(repoID, '/').then(res => {\n const { dirent_list, user_perm } = res.data;\n let tree = this.state.treeData;\n this.addResponseListToNode(dirent_list, tree.root);\n this.setState({\n isTreeDataLoading: false,\n treeData: tree,\n userPerm: user_perm,\n });\n }).catch(() => {\n this.setState({isTreeDataLoading: false});\n });\n } else {\n this.loadNodeAndParentsByPath(path);\n }\n };\n\n showDir = (path) => {\n let repoID = this.props.repoID;\n\n if (!this.state.isSessionExpired) {\n // update stste\n this.setState({\n isDirentListLoading: true,\n isViewFile: false,\n selectedDirentList: [],\n });\n }\n\n // update data\n this.loadDirentList(path);\n this.resetShowLength();\n\n if (!this.isNeedUpdateHistoryState) {\n this.isNeedUpdateHistoryState = true;\n return;\n }\n // update location\n let repoInfo = this.state.currentRepoInfo;\n let url = siteRoot + 'library/' + repoID + '/' + encodeURIComponent(repoInfo.repo_name) + Utils.encodePath(path);\n window.history.pushState({url: url, path: path}, path, url);\n };\n\n showFile = (filePath) => {\n let repoID = this.props.repoID;\n\n if (this.state.currentMode === 'column') {\n seafileAPI.listFileTags(repoID, filePath).then(res => {\n let fileTags = res.data.file_tags.map(item => {\n return new FileTag(item);\n });\n this.setState({fileTags: fileTags});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n // update state\n this.setState({\n isFileLoading: true,\n path: filePath,\n isViewFile: true\n });\n\n // update data\n seafileAPI.getFileInfo(repoID, filePath).then((res) => {\n let { mtime, permission, last_modifier_name, is_draft, has_draft, draft_id } = res.data;\n seafileAPI.getFileDownloadLink(repoID, filePath).then((res) => {\n seafileAPI.getFileContent(res.data).then((res) => {\n this.setState({\n content: res.data,\n filePermission: permission,\n latestContributor: last_modifier_name,\n lastModified: moment.unix(mtime).fromNow(),\n isFileLoading: false,\n isFileLoadedErr: false,\n isDraft: is_draft,\n hasDraft: has_draft,\n draftID: draft_id\n });\n });\n });\n }).catch((err) => {\n let errMsg = Utils.getErrorMsg(err, true);\n if (!err.response || err.response.status !== 403) {\n toaster.danger(errMsg);\n }\n this.setState({\n isFileLoading: false,\n isFileLoadedErr: true,\n });\n });\n\n // update location\n let repoInfo = this.state.currentRepoInfo;\n let url = siteRoot + 'library/' + repoID + '/' + encodeURIComponent(repoInfo.repo_name) + Utils.encodePath(filePath);\n window.history.pushState({url: url, path: filePath}, filePath, url);\n };\n\n loadDirentList = (path) => {\n let repoID = this.props.repoID;\n seafileAPI.listDir(repoID, path, {'with_thumbnail': true}).then(res => {\n let direntList = [];\n let markdownItem = null;\n res.data.dirent_list.forEach(item => {\n let fileName = item.name.toLowerCase();\n if (fileName === 'readme.md' || fileName === 'readme.markdown') {\n markdownItem = item;\n }\n let dirent = new Dirent(item);\n direntList.push(dirent);\n });\n\n this.setState({\n pathExist: true,\n userPerm: res.data.user_perm,\n isDirentListLoading: false,\n direntList: Utils.sortDirents(direntList, this.state.sortBy, this.state.sortOrder),\n dirID: res.data.dir_id,\n readmeMarkdown: markdownItem,\n path: path,\n isSessionExpired: false,\n });\n\n if (!this.state.repoEncrypted && direntList.length) {\n this.getThumbnails(repoID, path, this.state.direntList);\n }\n }).catch((err) => {\n Utils.getErrorMsg(err, true);\n if (err.response && err.response.status === 403) {\n this.setState({isDirentListLoading: false});\n return;\n }\n this.setState({\n isDirentListLoading: false,\n pathExist: false,\n });\n });\n };\n\n onListContainerScroll = () => {\n let itemsShowLength = this.state.itemsShowLength + 100;\n this.setState({itemsShowLength: itemsShowLength});\n };\n\n resetShowLength = () => {\n this.setState({itemsShowLength: 100});\n };\n\n getThumbnails = (repoID, path, direntList) => {\n let items = direntList.filter((item) => {\n return (Utils.imageCheck(item.name) || (enableVideoThumbnail && Utils.videoCheck(item.name))) && !item.encoded_thumbnail_src;\n });\n if (items.length == 0) {\n return ;\n }\n\n const _this = this;\n const len = items.length;\n const thumbnailSize = 48;\n let getThumbnail = (i) => {\n const curItem = items[i];\n const curItemPath = [path, curItem.name].join('/');\n seafileAPI.createThumbnail(repoID, curItemPath, thumbnailSize).then((res) => {\n curItem.encoded_thumbnail_src = res.data.encoded_thumbnail_src;\n }).catch((error) => {\n // do nothing\n }).then(() => {\n if (i < len - 1) {\n getThumbnail(++i);\n } else {\n _this.setState({\n direntList: direntList\n });\n }\n });\n };\n getThumbnail(0);\n };\n\n updateMoveCopyTreeNode = (path) => {\n let repoID = this.props.repoID;\n\n let tree = this.state.treeData.clone();\n let node = tree.getNodeByPath(path);\n\n // for node not loaded, such as a deep folder '/vv/aa'\n if (!node) { // node: null\n return false;\n }\n\n let nodeChildren = node.children.map(item => item.object);\n let nodeChildrenNames = nodeChildren.map(item => item.name);\n\n seafileAPI.listDir(repoID, path).then(res => {\n let newDirentList = res.data.dirent_list;\n let newAddedDirents = newDirentList.filter(item => {\n return !nodeChildrenNames.includes(item.name);\n });\n newAddedDirents.forEach(item => {\n this.addNodeToTree(item.name, path, item.type);\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n async getAsyncCopyMoveProgress() {\n let { asyncOperationType, asyncCopyMoveTaskId } = this.state;\n try {\n let res = await seafileAPI.queryAsyncOperationProgress(asyncCopyMoveTaskId);\n let data = res.data;\n if (data.failed) {\n let message = gettext('Failed to move files to another library.');\n if (asyncOperationType === 'copy') {\n message = gettext('Failed to copy files to another library.');\n }\n toaster.danger(message);\n this.setState({\n asyncOperationProgress: 0,\n isCopyMoveProgressDialogShow: false,\n });\n return;\n }\n\n if (data.successful) {\n if (asyncOperationType === 'move') {\n if (this.currentMoveItemName && this.currentMoveItemPath) {\n if (this.state.currentMode === 'column') {\n this.deleteTreeNode(this.currentMoveItemPath);\n }\n this.moveDirent(this.currentMoveItemName);\n this.currentMoveItemName = '';\n this.currentMoveItemPath = '';\n } else {\n if (this.state.currentMode === 'column') {\n let direntPaths = this.getSelectedDirentPaths();\n this.deleteTreeNodes(direntPaths);\n }\n let direntNames = this.getSelectedDirentNames();\n this.moveDirents(direntNames);\n }\n }\n\n this.setState({isCopyMoveProgressDialogShow: false});\n let message = gettext('Successfully moved files to another library.');\n if (asyncOperationType === 'copy') {\n message = gettext('Successfully copied files to another library.');\n }\n toaster.success(message);\n return;\n }\n // init state: total is 0\n let asyncOperationProgress = !data.total ? 0 : parseInt((data.done/data.total * 100).toFixed(2));\n\n this.getAsyncCopyMoveProgress();\n this.setState({asyncOperationProgress: asyncOperationProgress});\n } catch (error) {\n this.setState({\n asyncOperationProgress: 0,\n isCopyMoveProgressDialogShow: false,\n });\n }\n }\n\n cancelCopyMoveDirent = () => {\n let taskId = this.state.asyncCopyMoveTaskId;\n seafileAPI.cancelCopyMoveOperation(taskId);\n\n this.currentMoveItemName = '';\n this.currentMoveItemPath = '';\n let direntList = this.state.direntList;\n this.setState({direntList: direntList.slice(0)});\n };\n\n onMoveProgressDialogToggle = () => {\n let { asyncOperationProgress } = this.state;\n if (asyncOperationProgress !== 100) {\n this.cancelCopyMoveDirent();\n }\n\n this.setState({\n asyncOperationProgress: 0,\n isCopyMoveProgressDialogShow: false,\n });\n };\n\n // toolbar operations\n onMoveItems = (destRepo, destDirentPath) => {\n let repoID = this.props.repoID;\n let selectedDirentList = this.state.selectedDirentList;\n if (repoID !== destRepo.repo_id) {\n this.setState(() => ({\n asyncOperatedFilesLength: selectedDirentList.length,\n asyncOperationProgress: 0,\n asyncOperationType: 'move',\n isCopyMoveProgressDialogShow: true\n }));\n }\n\n let dirNames = this.getSelectedDirentNames();\n let direntPaths = this.getSelectedDirentPaths();\n seafileAPI.moveDir(repoID, destRepo.repo_id, destDirentPath, this.state.path, dirNames).then(res => {\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncCopyMoveTaskId: res.data.task_id,\n }, () => {\n // After moving successfully, delete related files\n this.getAsyncCopyMoveProgress();\n });\n }\n\n if (repoID === destRepo.repo_id) {\n if (this.state.currentMode === 'column') {\n this.deleteTreeNodes(direntPaths);\n }\n\n this.moveDirents(dirNames);\n\n // 2. tow columns mode need update left tree\n if (this.state.currentMode === 'column') {\n this.updateMoveCopyTreeNode(destDirentPath);\n }\n\n // show tip message if move to current repo\n let message = Utils.getMoveSuccessMessage(dirNames);\n toaster.success(message);\n }\n\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = Utils.getMoveFailedMessage(dirNames);\n }\n this.setState({\n asyncOperationProgress: 0,\n isCopyMoveProgressDialogShow: false,\n });\n toaster.danger(errMessage);\n });\n };\n\n onCopyItems = (destRepo, destDirentPath) => {\n let repoID = this.props.repoID;\n let selectedDirentList = this.state.selectedDirentList;\n\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncOperatedFilesLength: selectedDirentList.length,\n asyncOperationProgress: 0,\n asyncOperationType: 'copy',\n isCopyMoveProgressDialogShow: true\n });\n }\n\n let dirNames = this.getSelectedDirentNames();\n seafileAPI.copyDir(repoID, destRepo.repo_id, destDirentPath, this.state.path, dirNames).then(res => {\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncCopyMoveTaskId: res.data.task_id,\n }, () => {\n this.getAsyncCopyMoveProgress();\n });\n }\n\n if (repoID === destRepo.repo_id) {\n if (this.state.currentMode === 'column') {\n this.updateMoveCopyTreeNode(destDirentPath);\n }\n\n if (destDirentPath === this.state.path) {\n this.loadDirentList(this.state.path);\n }\n\n // show tip message if copy to current repo\n let message = Utils.getCopySuccessfulMessage(dirNames);\n toaster.success(message);\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = Utils.getCopyFailedMessage(dirNames);\n }\n toaster.danger(errMessage);\n });\n };\n\n restoreDeletedDirents = (commitID, paths, e) => {\n const { repoID } = this.props;\n e.preventDefault();\n toaster.closeAll();\n seafileAPI.restoreDirents(repoID, commitID, paths).then(res => {\n const { success, failed } = res.data;\n success.forEach(dirent => {\n let name = Utils.getFileName(dirent.path);\n let parentPath = Utils.getDirName(dirent.path);\n if (!dirent.is_dir) {\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(name, parentPath, 'file');\n }\n if (parentPath === this.state.path && !this.state.isViewFile) {\n this.addDirent(name, 'file');\n }\n } else {\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(name, parentPath, 'dir');\n }\n if (parentPath === this.state.path && !this.state.isViewFile) {\n this.addDirent(name, 'dir');\n }\n }\n });\n\n if (success.length) {\n let msg = success.length > 1 ? gettext('Restored {name} and {n} other items') :\n gettext('Restored {name}');\n msg = msg.replace('{name}', success[0].path.split('/').pop())\n .replace('{n}', success.length - 1);\n toaster.success(msg);\n }\n\n if (failed.length) {\n let msg = failed.length > 1 ? gettext('Failed to restore {name} and {n} other items') :\n gettext('Failed to restore {name}');\n msg = msg.replace('{name}', failed[0].path.split('/').pop())\n .replace('{n}', failed.length - 1);\n toaster.danger(msg);\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onDeleteItems = () => {\n let repoID = this.props.repoID;\n let direntPaths = this.getSelectedDirentPaths();\n let dirNames = this.getSelectedDirentNames();\n\n this.setState({updateDetail: !this.state.updateDetail});\n seafileAPI.deleteMutipleDirents(repoID, this.state.path, dirNames).then(res => {\n if (this.state.currentMode === 'column') {\n this.deleteTreeNodes(direntPaths);\n }\n\n this.deleteDirents(dirNames);\n\n let msg = '';\n if (direntPaths.length > 1) {\n msg = gettext('Successfully deleted {name} and {n} other items.');\n msg = msg.replace('{name}', dirNames[0]);\n msg = msg.replace('{n}', dirNames.length - 1);\n } else {\n msg = gettext('Successfully deleted {name}.');\n msg = msg.replace('{name}', dirNames[0]);\n }\n const successTipWithUndo = (\n <>\n {msg}\n {gettext('Undo')}\n \n );\n toaster.success(successTipWithUndo, {duration: 5});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed to delete {name} and {n} other items.');\n errMessage = errMessage.replace('{name}', dirNames[0]);\n errMessage = errMessage.replace('{n}', dirNames.length - 1);\n }\n toaster.danger(errMessage);\n });\n };\n\n onAddFolder = (dirPath) => {\n let repoID = this.props.repoID;\n seafileAPI.createDir(repoID, dirPath).then(() => {\n let name = Utils.getFileName(dirPath);\n let parentPath = Utils.getDirName(dirPath);\n\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(name, parentPath, 'dir');\n }\n\n if (parentPath === this.state.path && !this.state.isViewFile) {\n this.addDirent(name, 'dir');\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onAddFile = (filePath, isMarkdownDraft, isSdocDraft) => {\n let repoID = this.props.repoID;\n seafileAPI.createFile(repoID, filePath, isMarkdownDraft).then(res => {\n let name = Utils.getFileName(filePath);\n let parentPath = Utils.getDirName(filePath);\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(name, parentPath, 'file');\n }\n if (parentPath === this.state.path && !this.state.isViewFile) {\n if (isSdocDraft) { // the new file is marked to be draft\n seafileAPI.sdocMarkAsDraft(repoID, filePath).then((res) => {\n this.addDirent(name, 'file', res.data.size, isSdocDraft);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n this.addDirent(name, 'file', res.data.size);\n });\n return;\n }\n\n this.addDirent(name, 'file', res.data.size);\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n switchViewMode = (mode) => {\n if (mode === this.state.currentMode) {\n return;\n }\n if (mode === 'detail') {\n this.toggleDirentDetail();\n return;\n }\n cookie.save('seafile_view_mode', mode);\n let path = this.state.path;\n if (this.state.currentMode === 'column' && this.state.isViewFile) {\n path = Utils.getDirName(path);\n this.setState({\n path: path,\n isViewFile: false,\n });\n let repoInfo = this.state.currentRepoInfo;\n\n let url = siteRoot + 'library/' + repoInfo.repo_id + '/' + encodeURIComponent(repoInfo.repo_name) + Utils.encodePath(path);\n window.history.pushState({url: url, path: path}, path, url);\n }\n\n if (mode === 'column') {\n this.loadSidePanel(this.state.path);\n }\n this.isNeedUpdateHistoryState = false;\n this.setState({currentMode: mode});\n this.showDir(path);\n };\n\n onSearchedClick = (item) => {\n let path = item.is_dir ? item.path.slice(0, item.path.length - 1) : item.path;\n if (this.state.currentPath === path) {\n return;\n }\n if (this.state.currentMode === 'column') {\n // load sidePanel\n let index = -1;\n let paths = Utils.getPaths(path);\n for (let i = 0; i < paths.length; i++) {\n // eslint-disable-next-line\n let node = this.state.treeData.getNodeByPath(node);\n if (!node) {\n index = i;\n break;\n }\n }\n if (index === -1) { // all the data has been loaded already.\n let node = this.state.treeData.getNodeByPath(path);\n this.setState({currentNode: node});\n } else {\n this.loadNodeAndParentsByPath(path);\n }\n\n // load mainPanel\n if (item.is_dir) {\n this.showDir(path);\n } else {\n if (Utils.isMarkdownFile(path)) {\n this.showFile(path);\n } else {\n let url = siteRoot + 'lib/' + item.repo_id + '/file' + Utils.encodePath(path);\n let isWeChat = Utils.isWeChat();\n if (!isWeChat) {\n let newWindow = window.open('about:blank');\n newWindow.location.href = url;\n } else {\n location.href = url;\n }\n }\n }\n } else {\n if (item.is_dir) {\n this.showDir(path);\n } else {\n let url = siteRoot + 'lib/' + item.repo_id + '/file' + Utils.encodePath(path);\n let isWeChat = Utils.isWeChat();\n if (!isWeChat) {\n let newWindow = window.open('about:blank');\n newWindow.location.href = url;\n } else {\n location.href = url;\n }\n }\n }\n };\n\n onMainNavBarClick = (nodePath) => {\n //just for dir\n this.resetSelected();\n if (this.state.currentMode === 'column') {\n let tree = this.state.treeData.clone();\n let node = tree.getNodeByPath(nodePath);\n tree.expandNode(node);\n this.setState({treeData: tree, currentNode: node});\n }\n\n this.showDir(nodePath);\n };\n\n onLinkClick = (link) => {\n const url = link;\n let repoID = this.props.repoID;\n if (Utils.isInternalMarkdownLink(url, repoID)) {\n let path = Utils.getPathFromInternalMarkdownLink(url, repoID);\n this.showFile(path);\n } else if (Utils.isInternalDirLink(url, repoID)) {\n let path = Utils.getPathFromInternalDirLink(url, repoID);\n this.showDir(path);\n } else {\n window.open(url);\n }\n };\n\n // list&tree operations\n onMainPanelItemRename = (dirent, newName) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n this.renameItem(path, dirent.isDir(), newName);\n };\n\n onMainPanelItemDelete = (dirent) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n this.deleteItem(path, dirent.isDir());\n };\n\n onRenameTreeNode = (node, newName) => {\n this.renameItem(node.path, node.object.isDir(), newName);\n };\n\n onDeleteTreeNode = (node) => {\n this.deleteItem(node.path, node.object.isDir());\n };\n\n renameItem = (path, isDir, newName) => {\n let repoID = this.props.repoID;\n if (isDir) {\n seafileAPI.renameDir(repoID, path, newName).then(() => {\n this.renameItemAjaxCallback(path, newName);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = Utils.getFileName(path);\n errMessage = gettext('Renaming {name} failed').replace('{name}', name);\n }\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.renameFile(repoID, path, newName).then(() => {\n this.renameItemAjaxCallback(path, newName);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = Utils.getFileName(path);\n errMessage = gettext('Renaming {name} failed').replace('{name}', name);\n }\n toaster.danger(errMessage);\n });\n }\n };\n\n renameItemAjaxCallback(path, newName) {\n if (this.state.currentMode === 'column') {\n this.renameTreeNode(path, newName);\n }\n this.renameDirent(path, newName);\n }\n\n toggleDeleteFolderDialog = () => {\n this.setState({isDeleteFolderDialogOpen: !this.state.isDeleteFolderDialogOpen});\n };\n\n deleteFolder = () => {\n const { repoID } = this.props;\n const { folderToDelete: path } = this.state;\n seafileAPI.deleteDir(repoID, path).then((res) => {\n this.deleteItemAjaxCallback(path, true);\n let name = Utils.getFileName(path);\n var msg = gettext('Successfully deleted {name}').replace('{name}', name);\n const successTipWithUndo = (\n <>\n {msg}\n {gettext('Undo')}\n \n );\n toaster.success(successTipWithUndo, {duration: 5});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = Utils.getFileName(path);\n errMessage = gettext('Failed to delete {name}').replace('{name}', name);\n }\n toaster.danger(errMessage);\n });\n };\n\n deleteItem(path, isDir) {\n let repoID = this.props.repoID;\n if (isDir) {\n this.setState({ folderToDelete: path }, () => {\n this.toggleDeleteFolderDialog();\n });\n } else {\n seafileAPI.deleteFile(repoID, path).then((res) => {\n this.deleteItemAjaxCallback(path, isDir);\n let name = Utils.getFileName(path);\n var msg = gettext('Successfully deleted {name}').replace('{name}', name);\n const successTipWithUndo = (\n <>\n {msg}\n {gettext('Undo')}\n \n );\n toaster.success(successTipWithUndo, {duration: 5});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n let name = Utils.getFileName(path);\n errMessage = gettext('Failed to delete {name}').replace('{name}', name);\n }\n toaster.danger(errMessage);\n });\n }\n }\n\n deleteItemAjaxCallback(path) {\n if (this.state.currentMode === 'column') {\n this.deleteTreeNode(path);\n }\n this.deleteDirent(path);\n }\n\n // list operations\n onMoveItem = (destRepo, dirent, moveToDirentPath, nodeParentPath) => {\n let repoID = this.props.repoID;\n //just for view list state\n let dirName = dirent.name;\n if (!nodeParentPath) {\n nodeParentPath = this.state.path;\n }\n let direntPath = Utils.joinPath(nodeParentPath, dirName);\n\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncOperatedFilesLength: 1,\n asyncOperationProgress: 0,\n asyncOperationType: 'move',\n isCopyMoveProgressDialogShow: true,\n });\n }\n\n seafileAPI.moveDir(repoID, destRepo.repo_id, moveToDirentPath, nodeParentPath, dirName).then(res => {\n if (repoID !== destRepo.repo_id) {\n this.setState({asyncCopyMoveTaskId: res.data.task_id}, () => {\n this.currentMoveItemName = dirName;\n this.currentMoveItemPath = direntPath;\n this.getAsyncCopyMoveProgress(dirName, direntPath);\n });\n }\n\n if (this.state.currentMode === 'column') {\n this.deleteTreeNode(direntPath);\n }\n\n // 1. move to current repo\n // 2. tow columns mode need update left tree\n if (repoID === destRepo.repo_id && this.state.currentMode === 'column') {\n this.updateMoveCopyTreeNode(moveToDirentPath);\n }\n\n this.moveDirent(direntPath, moveToDirentPath);\n\n // show tip message if move to current repo\n if (repoID === destRepo.repo_id) {\n let message = gettext('Successfully moved {name}.');\n message = message.replace('{name}', dirName);\n toaster.success(message);\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed to move {name}.');\n errMessage = errMessage.replace('{name}', dirName);\n }\n toaster.danger(errMessage);\n });\n };\n\n onCopyItem = (destRepo, dirent, copyToDirentPath, nodeParentPath) => {\n let repoID = this.props.repoID;\n //just for view list state\n let dirName = dirent.name;\n if (!nodeParentPath) {\n nodeParentPath = this.state.path;\n }\n\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncOperatedFilesLength: 1,\n asyncOperationProgress: 0,\n asyncOperationType: 'copy',\n isCopyMoveProgressDialogShow: true\n });\n }\n\n seafileAPI.copyDir(repoID, destRepo.repo_id, copyToDirentPath, nodeParentPath, dirName).then(res => {\n\n if (repoID !== destRepo.repo_id) {\n this.setState({\n asyncCopyMoveTaskId: res.data.task_id,\n }, () => {\n this.getAsyncCopyMoveProgress();\n });\n }\n\n if (repoID === destRepo.repo_id) {\n if (this.state.currentMode === 'column') {\n this.updateMoveCopyTreeNode(copyToDirentPath);\n }\n\n if (copyToDirentPath === nodeParentPath) {\n this.loadDirentList(this.state.path);\n }\n\n let message = gettext('Successfully copied %(name)s.');\n message = message.replace('%(name)s', dirName);\n toaster.success(message);\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n if (errMessage === gettext('Error')) {\n errMessage = gettext('Failed to copy %(name)s');\n errMessage = errMessage.replace('%(name)s', dirName);\n }\n toaster.danger(errMessage);\n });\n };\n\n onConvertItem = (dirent, dstType) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n let repoID = this.props.repoID;\n this.setState({isConvertLoading: true});\n seafileAPI.convertFile(repoID, path, dstType).then((res) => {\n let newFileName = res.data.obj_name;\n let parentDir = res.data.parent_dir;\n let new_path = parentDir + '/' + newFileName;\n let parentPath = Utils.getDirName(new_path);\n\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(newFileName, parentPath, 'file');\n }\n\n this.addDirent(newFileName, 'file', res.data.size);\n this.setState({isConvertLoading: false});\n let message = gettext('Successfully converted the file.');\n toaster.success(message);\n\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n this.setState({isConvertLoading: false});\n if (errMessage === gettext('Error')) {\n let name = Utils.getFileName(path);\n errMessage = gettext('Failed to convert {name}.').replace('{name}', name);\n }\n toaster.danger(errMessage);\n });\n\n };\n\n onDirentClick = (dirent) => {\n let direntList = this.state.direntList.map(dirent => {\n dirent.isSelected = false;\n return dirent;\n });\n if (dirent) {\n // dirent.isSelected = true;\n this.setState({\n direntList: direntList,\n isDirentSelected: true,\n selectedDirentList: [dirent],\n });\n } else {\n this.setState({\n direntList: direntList,\n isDirentSelected: false,\n selectedDirentList: [],\n });\n }\n };\n\n onItemClick = (dirent) => {\n this.resetSelected();\n let repoID = this.props.repoID;\n let direntPath = Utils.joinPath(this.state.path, dirent.name);\n if (dirent.isDir()) { // is dir\n if (this.state.currentMode === 'column') {\n this.loadTreeNodeByPath(direntPath);\n }\n this.showDir(direntPath);\n } else { // is file\n if (this.state.currentMode === 'column' && Utils.isMarkdownFile(direntPath)) {\n this.showColumnMarkdownFile(direntPath);\n } else {\n let url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(direntPath);\n if (dirent.is_sdoc_revision && dirent.revision_id) {\n url = siteRoot + 'lib/' + repoID + '/revisions/' + dirent.revision_id + '/';\n }\n\n let isWeChat = Utils.isWeChat();\n if (!isWeChat) {\n window.open(url);\n } else {\n location.href = url;\n }\n }\n }\n };\n\n onDirentSelected = (dirent) => {\n let direntList = this.state.direntList.map(item => {\n if (item.name === dirent.name) {\n item.isSelected = !item.isSelected;\n }\n return item;\n });\n let selectedDirentList = direntList.filter(item => {\n return item.isSelected;\n });\n\n if (selectedDirentList.length) {\n this.setState({isDirentSelected: true});\n if (selectedDirentList.length === direntList.length) {\n this.setState({\n isAllDirentSelected: true,\n direntList: direntList,\n selectedDirentList: selectedDirentList,\n });\n } else {\n this.setState({\n isAllDirentSelected: false,\n direntList: direntList,\n selectedDirentList: selectedDirentList\n });\n }\n } else {\n this.setState({\n isDirentSelected: false,\n isAllDirentSelected: false,\n direntList: direntList,\n selectedDirentList: []\n });\n }\n };\n\n onAllDirentSelected = () => {\n if (this.state.isAllDirentSelected) {\n let direntList = this.state.direntList.map(item => {\n item.isSelected = false;\n return item;\n });\n this.setState({\n isDirentSelected: false,\n isAllDirentSelected: false,\n direntList: direntList,\n selectedDirentList: [],\n });\n } else {\n let direntList = this.state.direntList.map(item => {\n item.isSelected = true;\n return item;\n });\n this.setState({\n isDirentSelected: true,\n isAllDirentSelected: true,\n direntList: direntList,\n selectedDirentList: direntList,\n });\n }\n };\n\n onFileTagChanged = (dirent, direntPath) => {\n let repoID = this.props.repoID;\n seafileAPI.listFileTags(repoID, direntPath).then(res => {\n let fileTags = res.data.file_tags.map(item => {\n return new FileTag(item);\n });\n\n if (this.state.isViewFile) {\n this.setState({fileTags: fileTags});\n } else {\n this.updateDirent(dirent, 'file_tags', fileTags);\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n\n this.updateUsedRepoTags();\n };\n\n onFileUploadSuccess = (direntObject) => {\n let isExist = this.state.direntList.some(item => {\n return item.name === direntObject.name && item.type === direntObject.type;\n });\n if (isExist) {\n let direntList = this.state.direntList;\n for (let i = 0; i < direntList.length; i++) {\n let dirent = direntList[i];\n if (dirent.name === direntObject.name && dirent.type === direntObject.type) {\n let mtime = moment.unix(direntObject.mtime).fromNow();\n this.updateDirent(dirent, 'mtime', mtime); // todo file size is need update too, api is not return;\n break;\n }\n }\n } else {\n // use current dirent parent's permission as it's permission\n direntObject.permission = this.state.userPerm;\n let dirent = new Dirent(direntObject);\n if (this.state.currentMode === 'column') {\n this.addNodeToTree(dirent.name, this.state.path, dirent.type);\n }\n if (direntObject.type === 'dir') {\n this.setState({direntList: [dirent, ...this.state.direntList]});\n } else {\n this.setState({direntList: [...this.state.direntList, dirent]});\n this.updateReadmeMarkdown(this.state.direntList);\n }\n }\n };\n\n addDirent = (name, type, size, isSdocDraft) => {\n let item = this.createDirent(name, type, size, isSdocDraft);\n let direntList = this.state.direntList;\n if (type === 'dir') {\n direntList.unshift(item);\n } else {\n // there will be there conditions;\n // first: direntList.length === 0;\n // second: all the direntList's items are dir;\n // third: direntList has dir and file;\n let length = direntList.length;\n if (length === 0 || direntList[length - 1].type === 'dir') {\n direntList.push(item);\n } else {\n let index = 0;\n for (let i = 0; i <= length; i++) {\n if (direntList[i].type === 'file') {\n index = i;\n break;\n }\n }\n direntList.splice(index, 0, item);\n }\n }\n this.setState({direntList: direntList});\n this.updateReadmeMarkdown(direntList);\n };\n\n renameDirent = (direntPath, newName) => {\n let repoID = this.props.repoID;\n let parentPath = Utils.getDirName(direntPath);\n let newDirentPath = Utils.joinPath(parentPath, newName);\n if (direntPath === this.state.path) {\n // the renamed item is current viewed item\n // example: direntPath = /A/B/C, state.path = /A/B/C\n\n this.setState({ path: newDirentPath });\n let repoInfo = this.state.currentRepoInfo;\n let url = siteRoot + 'library/' + repoID + '/' + encodeURIComponent(repoInfo.repo_name) + newDirentPath;\n window.history.replaceState({ url: url, path: newDirentPath}, newDirentPath, url);\n } else if (Utils.isChildPath(direntPath, this.state.path)) {\n // example: direntPath = /A/B/C/D, state.path = /A/B/C\n let oldName = Utils.getFileName(direntPath);\n let direntList = this.state.direntList.map(item => {\n if (item.name === oldName) {\n item.name = newName;\n }\n return item;\n });\n this.setState({ direntList: direntList });\n this.updateReadmeMarkdown(direntList);\n } else if (Utils.isAncestorPath(direntPath, this.state.path)) {\n // example: direntPath = /A/B, state.path = /A/B/C\n let newPath = Utils.renameAncestorPath(this.state.path, direntPath, newDirentPath);\n this.setState({ path: newPath });\n\n let repoInfo = this.state.currentRepoInfo;\n let url = siteRoot + 'library/' + repoID + '/' + encodeURIComponent(repoInfo.repo_name) + newPath;\n window.history.replaceState({ url: url, path: newPath}, newPath, url);\n }\n };\n\n deleteDirent(direntPath) {\n if (direntPath === this.state.path) {\n // The deleted item is current item\n let parentPath = Utils.getDirName(direntPath);\n this.showDir(parentPath);\n } else if (Utils.isChildPath(direntPath, this.state.path)) {\n // The deleted item is inside current path\n let name = Utils.getFileName(direntPath);\n let direntList = this.state.direntList.filter(item => {\n return item.name !== name;\n });\n\n // Recalculate the state of the selection\n this.recaculateSelectedStateAfterDirentDeleted(name, direntList);\n\n this.setState({direntList: direntList});\n this.updateReadmeMarkdown(direntList);\n } else if (Utils.isAncestorPath(direntPath, this.state.path)) {\n // the deleted item is ancester of the current item\n let parentPath = Utils.getDirName(direntPath);\n this.showDir(parentPath);\n }\n // else do nothing\n }\n\n // only one scence: The deleted items are inside current path\n deleteDirents = (direntNames) => {\n let direntList = this.state.direntList.filter(item => {\n return direntNames.indexOf(item.name) === -1;\n });\n\n // Recalculate the state of the selection\n this.recaculateSelectedStateAfterDirentDeleted(name, direntList);\n\n this.setState({direntList: direntList});\n this.updateReadmeMarkdown(direntList);\n };\n\n moveDirent = (direntPath, moveToDirentPath = null) => {\n let name = Utils.getFileName(direntPath);\n if (moveToDirentPath === this.state.path) {\n this.loadDirentList(this.state.path);\n return;\n }\n let direntList = this.state.direntList.filter(item => {\n return item.name !== name;\n });\n\n // Recalculate the state of the selection\n this.recaculateSelectedStateAfterDirentDeleted(name, direntList);\n\n this.setState({direntList: direntList});\n this.updateReadmeMarkdown(direntList);\n };\n\n // only one scence: The moved items are inside current path\n moveDirents = (direntNames) => {\n let direntList = this.state.direntList.filter(item => {\n return direntNames.indexOf(item.name) === -1;\n });\n\n // Recalculate the state of the selection\n //this.recaculateSelectedStateAfterDirentDeleted(name, direntList);\n\n this.setState({\n direntList: direntList,\n selectedDirentList: [],\n isDirentSelected: false,\n isAllDirentSelected: false,\n });\n this.updateReadmeMarkdown(direntList);\n };\n\n updateDirent = (dirent, paramKey, paramValue) => {\n let newDirentList = this.state.direntList.map(item => {\n if (item.name === dirent.name) {\n item[paramKey] = paramValue;\n }\n return item;\n });\n this.setState({direntList: newDirentList});\n };\n\n // tree operations\n loadTreeNodeByPath = (path) => {\n let repoID = this.props.repoID;\n let tree = this.state.treeData.clone();\n let node = tree.getNodeByPath(path);\n if (!node.isLoaded) {\n seafileAPI.listDir(repoID, node.path).then(res => {\n this.addResponseListToNode(res.data.dirent_list, node);\n let parentNode = tree.getNodeByPath(node.parentNode.path);\n parentNode.isExpanded = true;\n this.setState({\n treeData: tree,\n currentNode: node\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n let parentNode = tree.getNodeByPath(node.parentNode.path);\n parentNode.isExpanded = true;\n this.setState({treeData: tree, currentNode: node}); //tree\n }\n };\n\n loadNodeAndParentsByPath = (path) => {\n let repoID = this.props.repoID;\n let tree = this.state.treeData.clone();\n if (Utils.isMarkdownFile(path)) {\n path = Utils.getDirName(path);\n }\n seafileAPI.listDir(repoID, path, {with_parents: true}).then(res => {\n const { dirent_list: direntList, user_perm } = res.data;\n let results = {};\n for (let i = 0; i < direntList.length; i++) {\n let object = direntList[i];\n let parentDir = object.parent_dir;\n let key = parentDir === '/' ? '/' : parentDir.slice(0, parentDir.length - 1);\n if (!results[key]) {\n results[key] = [];\n }\n results[key].push(object);\n }\n for (let key in results) {\n let node = tree.getNodeByPath(key);\n if (!node.isLoaded) {\n this.addResponseListToNode(results[key], node);\n }\n }\n this.setState({\n isTreeDataLoading: false,\n treeData: tree,\n userPerm: user_perm,\n });\n }).catch(() => {\n this.setState({isLoadFailed: true});\n });\n };\n\n onTreeNodeClick = (node) => {\n this.resetSelected();\n let repoID = this.props.repoID;\n if (!this.state.pathExist) {\n this.setState({pathExist: true});\n }\n\n if (node.object.isDir()) {\n let isLoaded = node.isLoaded;\n if (!node.isLoaded) {\n let tree = this.state.treeData.clone();\n node = tree.getNodeByPath(node.path);\n seafileAPI.listDir(repoID, node.path).then(res => {\n this.addResponseListToNode(res.data.dirent_list, node);\n tree.collapseNode(node);\n this.setState({treeData: tree});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n if (isLoaded && node.path === this.state.path) {\n if (node.isExpanded) {\n let tree = treeHelper.collapseNode(this.state.treeData, node);\n this.setState({treeData: tree});\n } else {\n let tree = this.state.treeData.clone();\n node = tree.getNodeByPath(node.path);\n tree.expandNode(node);\n this.setState({treeData: tree});\n }\n }\n }\n\n if (node.path === this.state.path ) {\n return;\n }\n\n if (node.object.isDir()) { // isDir\n this.showDir(node.path);\n } else {\n if (Utils.isMarkdownFile(node.path)) {\n if (node.path !== this.state.path) {\n this.showColumnMarkdownFile(node.path);\n }\n } else {\n let url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(node.path);\n let dirent = node.object;\n if (dirent.is_sdoc_revision && dirent.revision_id) {\n url = siteRoot + 'lib/' + repoID + '/revisions/' + dirent.revision_id + '/';\n }\n window.open(url);\n }\n }\n };\n\n showColumnMarkdownFile = (filePath) => {\n let repoID = this.props.repoID;\n seafileAPI.getFileInfo(repoID, filePath).then((res) => {\n if (res.data.size === 0) {\n // loading of asynchronously obtained data may be blocked\n const w = window.open('about:blank');\n const url = siteRoot + 'lib/' + repoID + '/file' + Utils.encodePath(filePath);\n w.location.href = url;\n } else {\n this.showFile(filePath);\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onTreeNodeCollapse = (node) => {\n let tree = treeHelper.collapseNode(this.state.treeData, node);\n this.setState({treeData: tree});\n };\n\n onTreeNodeExpanded = (node) => {\n let repoID = this.props.repoID;\n let tree = this.state.treeData.clone();\n node = tree.getNodeByPath(node.path);\n if (!node.isLoaded) {\n seafileAPI.listDir(repoID, node.path).then(res => {\n this.addResponseListToNode(res.data.dirent_list, node);\n this.setState({treeData: tree});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n tree.expandNode(node);\n this.setState({treeData: tree});\n }\n };\n\n addNodeToTree = (name, parentPath, type) => {\n let node = this.createTreeNode(name, type);\n let tree = treeHelper.addNodeToParentByPath(this.state.treeData, node, parentPath);\n this.setState({treeData: tree});\n };\n\n renameTreeNode = (path, newName) => {\n let tree = treeHelper.renameNodeByPath(this.state.treeData, path, newName);\n this.setState({treeData: tree});\n };\n\n deleteTreeNode = (path) => {\n let tree = treeHelper.deleteNodeByPath(this.state.treeData, path);\n this.setState({treeData: tree});\n };\n\n deleteTreeNodes = (paths) => {\n let tree = treeHelper.deleteNodeListByPaths(this.state.treeData, paths);\n this.setState({treeData: tree});\n };\n\n moveTreeNode = (nodePath, moveToPath, moveToRepo, nodeName) => {\n let repoID = this.props.repoID;\n if (repoID !== moveToRepo.repo_id) {\n let tree = treeHelper.deleteNodeByPath(this.state.treeData, nodePath);\n this.setState({treeData: tree});\n return;\n }\n let tree = treeHelper.moveNodeByPath(this.state.treeData, nodePath, moveToPath, nodeName);\n this.setState({treeData: tree});\n };\n\n copyTreeNode = (nodePath, copyToPath, destRepo, nodeName) => {\n let repoID = this.props.repoID;\n if (repoID !== destRepo.repo_id) {\n return;\n }\n let tree = treeHelper.copyNodeByPath(this.state.treeData, nodePath, copyToPath, nodeName);\n this.setState({treeData: tree});\n };\n\n createTreeNode(name, type) {\n let object = this.createDirent(name, type);\n return new TreeNode({object});\n }\n\n createDirent(name, type, size, isSdocDraft) {\n // use current dirent parent's permission as it's permission\n const { userPerm: permission } = this.state;\n const mtime = new Date().getTime()/1000;\n const obj = { name, type, mtime, size, permission };\n if (isSdocDraft) {\n obj.is_sdoc_draft = isSdocDraft;\n }\n const dirent = new Dirent(obj);\n return dirent;\n }\n\n addResponseListToNode = (list, node) => {\n node.isLoaded = true;\n node.isExpanded = true;\n let direntList = list.map(item => {\n return new Dirent(item);\n });\n direntList = Utils.sortDirents(direntList, 'name', 'asc');\n\n let nodeList = direntList.map(object => {\n return new TreeNode({object});\n });\n node.addChildren(nodeList);\n };\n\n getSelectedDirentPaths = () => {\n let paths = [];\n this.state.selectedDirentList.forEach(selectedDirent => {\n paths.push(Utils.joinPath(this.state.path, selectedDirent.name));\n });\n return paths;\n };\n\n getSelectedDirentNames = () => {\n let names = [];\n this.state.selectedDirentList.forEach(selectedDirent => {\n names.push(selectedDirent.name);\n });\n return names;\n };\n\n resetSelected = () => {\n this.setState({\n isDirentSelected: false,\n isAllDirentSelected: false,\n });\n };\n\n recaculateSelectedStateAfterDirentDeleted = (name, newDirentList) => {\n let selectedDirentList = this.state.selectedDirentList.slice(0);\n if (selectedDirentList.length > 0) {\n selectedDirentList = selectedDirentList.filter(item => {\n return item.name !== name;\n });\n }\n this.setState({\n selectedDirentList: selectedDirentList,\n isDirentSelected: selectedDirentList.length > 0,\n isAllDirentSelected: selectedDirentList.length === newDirentList.length,\n });\n };\n\n onLibDecryptDialog = () => {\n this.setState({libNeedDecrypt: false});\n this.loadDirData(this.state.path);\n };\n\n goDraftPage = () => {\n window.open(siteRoot + 'drafts/' + this.state.draftID + '/');\n };\n\n sortItems = (sortBy, sortOrder) => {\n cookie.save('seafile-repo-dir-sort-by', sortBy);\n cookie.save('seafile-repo-dir-sort-order', sortOrder);\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n items: Utils.sortDirents(this.state.direntList, sortBy, sortOrder)\n });\n };\n\n onUploadFile = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.uploader.onFileUpload();\n };\n\n onUploadFolder = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.uploader.onFolderUpload();\n };\n\n onToolbarFileTagChanged = () => {\n let repoID = this.props.repoID;\n let filePath = this.state.path;\n seafileAPI.listFileTags(repoID, filePath).then(res => {\n let fileTags = res.data.file_tags.map(item => {\n return new FileTag(item);\n });\n\n this.setState({fileTags: fileTags});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n unSelectDirent = () => {\n this.setState({\n isDirentSelected: false,\n selectedDirentList: []\n });\n const dirent = {};\n this.onDirentSelected(dirent);\n };\n\n onDeleteRepoTag = (deletedTagID) => {\n let direntList = this.state.direntList.map(dirent => {\n if (dirent.file_tags) {\n let fileTags = dirent.file_tags.filter(item => {\n return item.repo_tag_id !== deletedTagID;\n });\n dirent.file_tags = fileTags;\n }\n return dirent;\n });\n this.setState({direntList: direntList});\n this.updateUsedRepoTags();\n };\n\n\n handleSubmit = (e) => {\n let options = {\n 'share_type': 'personal',\n 'from': this.state.currentRepoInfo.owner_email\n };\n seafileAPI.leaveShareRepo(this.props.repoID, options).then(res => {\n navigate(siteRoot + 'shared-libs/');\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error, true);\n toaster.danger(errorMsg);\n });\n\n e.preventDefault();\n };\n\n render() {\n if (this.state.libNeedDecrypt) {\n return (\n \n \n \n );\n }\n\n if (this.state.errorMsg) {\n return (\n \n

    {this.state.errorMsg}

    \n \n
    \n );\n }\n\n if (!this.state.currentRepoInfo) {\n return '';\n }\n\n let enableDirPrivateShare = false;\n let { currentRepoInfo, userPerm, isCopyMoveProgressDialogShow, isDeleteFolderDialogOpen, isConvertLoading } = this.state;\n let showShareBtn = Utils.isHasPermissionToShare(currentRepoInfo, userPerm);\n let isRepoOwner = currentRepoInfo.owner_email === username;\n let isVirtual = currentRepoInfo.is_virtual;\n let isAdmin = currentRepoInfo.is_admin;\n if (!isVirtual && (isRepoOwner || isAdmin)) {\n enableDirPrivateShare = true;\n }\n let direntItemsList = this.state.direntList.filter((item, index) => {\n return index < this.state.itemsShowLength;\n });\n\n let canUpload = true;\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (isCustomPermission) {\n const { upload } = customPermission.permission;\n canUpload = upload;\n }\n\n return (\n \n
    \n \n
    \n
    \n \n {canUpload && this.state.pathExist && !this.state.isViewFile && (\n this.uploader = uploader}\n dragAndDrop={true}\n path={this.state.path}\n repoID={this.props.repoID}\n direntList={this.state.direntList}\n onFileUploadSuccess={this.onFileUploadSuccess}\n isCustomPermission={isCustomPermission}\n />\n )}\n
    \n {isCopyMoveProgressDialogShow && (\n \n )}\n {isDeleteFolderDialogOpen && (\n \n )}\n {isConvertLoading && (\n \n )}\n
    \n );\n }\n}\n\nLibContentView.propTypes = propTypes;\n\nexport default LibContentView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nclass DismissGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n dismissGroup = () => {\n let that = this;\n seafileAPI.deleteGroup(this.props.groupID).then((res)=> {\n that.props.onGroupChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return(\n \n {gettext('Delete Group')}\n \n {gettext('Really want to delete this group?')}\n \n \n \n \n \n \n );\n }\n}\n\nconst DismissGroupDialogPropTypes = {\n showDismissGroupDialog: PropTypes.bool.isRequired,\n toggleDismissGroupDialog: PropTypes.func.isRequired,\n loadGroup: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n onGroupChanged: PropTypes.func.isRequired,\n};\n\nDismissGroupDialog.propTypes = DismissGroupDialogPropTypes;\n\nexport default DismissGroupDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Input, Button } from 'reactstrap';\nimport toaster from '../toast';\n\nclass RenameGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n newGroupName: this.props.currentGroupName,\n isSubmitBtnActive: false,\n };\n }\n\n handleGroupNameChange = (event) => {\n if (!event.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n let name = event.target.value;\n this.setState({\n newGroupName: name\n });\n };\n\n renameGroup = () => {\n let name = this.state.newGroupName.trim();\n if (name) {\n let that = this;\n seafileAPI.renameGroup(this.props.groupID, name).then((res)=> {\n that.props.loadGroup(this.props.groupID);\n that.props.onGroupChanged(res.data.id);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n this.setState({\n newGroupName: '',\n });\n this.props.toggleRenameGroupDialog();\n };\n\n handleKeyDown = (event) => {\n if (event.keyCode === 13) {\n this.renameGroup();\n }\n };\n\n render() {\n return(\n \n {gettext('Rename Group')}\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nconst RenameGroupDialogPropTypes = {\n showRenameGroupDialog: PropTypes.bool.isRequired,\n toggleRenameGroupDialog: PropTypes.func.isRequired,\n loadGroup: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n onGroupChanged: PropTypes.func.isRequired,\n currentGroupName: PropTypes.string.isRequired,\n};\n\nRenameGroupDialog.propTypes = RenameGroupDialogPropTypes;\n\nexport default RenameGroupDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport UserSelect from '../user-select';\nimport { Utils } from '../../utils/utils';\n\nimport '../../css/transfer-group-dialog.css';\n\nconst propTypes = {\n groupID: PropTypes.string,\n toggleTransferGroupDialog: PropTypes.func.isRequired,\n onGroupChanged: PropTypes.func.isRequired\n};\n\nclass TransferGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n errMessage: '',\n };\n this.options = [];\n }\n\n handleSelectChange = (option) => {\n this.setState({\n selectedOption: option,\n errMessage: '',\n });\n this.options = [];\n };\n\n transferGroup = () => {\n const email = this.state.selectedOption && this.state.selectedOption.email;\n if (email) {\n seafileAPI.transferGroup(this.props.groupID, email).then((res) => {\n this.props.toggleTransferGroupDialog();\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n this.setState({errMessage: errMessage});\n });\n }\n };\n\n toggle = () => {\n this.props.toggleTransferGroupDialog();\n };\n\n render() {\n return (\n \n {gettext('Transfer Group')}\n \n

    {gettext('Transfer group to')}

    \n \n
    {this.state.errMessage}
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nTransferGroupDialog.propTypes = propTypes;\n\nexport default TransferGroupDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert, Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport { gettext, siteRoot, groupImportMembersExtraMsg } from '../../utils/constants';\n\nconst propTypes = {\n toggleImportMembersDialog: PropTypes.func.isRequired,\n importMembersInBatch: PropTypes.func.isRequired,\n};\n\nclass ImportMembersDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n errorMsg: ''\n };\n this.fileInputRef = React.createRef();\n }\n\n toggle = () => {\n this.props.toggleImportMembersDialog();\n };\n\n openFileInput = () => {\n this.fileInputRef.current.click();\n };\n\n uploadFile = (e) => {\n // no file selected\n if (!this.fileInputRef.current.files.length) {\n return;\n }\n // check file extension\n let fileName = this.fileInputRef.current.files[0].name;\n if(fileName.substr(fileName.lastIndexOf('.') + 1) != 'xlsx') {\n this.setState({\n errorMsg: gettext('Please choose a .xlsx file.')\n });\n return;\n }\n const file = this.fileInputRef.current.files[0];\n this.props.importMembersInBatch(file);\n this.toggle();\n };\n\n render() {\n let { errorMsg } = this.state;\n return (\n \n {gettext('Import members from a .xlsx file')}\n\n \n

    {groupImportMembersExtraMsg}

    \n

    {gettext('Download an example file')}

    \n \n \n {errorMsg && {errorMsg}}\n
    \n \n \n \n
    \n );\n }\n}\n\nImportMembersDialog.propTypes = propTypes;\n\nexport default ImportMembersDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Table } from 'reactstrap';\nimport { Utils } from '../utils/utils';\nimport { gettext } from '../utils/constants';\nimport { seafileAPI } from '../utils/seafile-api';\nimport RoleEditor from './select-editor/role-editor';\nimport toaster from './toast';\nimport OpIcon from './op-icon';\n\nconst propTypes = {\n groupMembers: PropTypes.array.isRequired,\n groupID: PropTypes.string,\n isOwner: PropTypes.bool.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n toggleItemFreezed: PropTypes.func.isRequired,\n changeMember: PropTypes.func.isRequired,\n deleteMember: PropTypes.func.isRequired\n};\n\nclass GroupMembers extends React.Component {\n\n render() {\n const { groupMembers, changeMember, deleteMember, groupID, isOwner, isItemFreezed, toggleItemFreezed } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n \n {groupMembers.map((item, index) => {\n return (\n \n );\n })\n }\n \n
    {gettext('Name')}{gettext('Role')}
    \n );\n }\n}\n\nGroupMembers.propTypes = propTypes;\n\nconst MemberPropTypes = {\n item: PropTypes.object.isRequired,\n changeMember: PropTypes.func.isRequired,\n deleteMember: PropTypes.func.isRequired,\n toggleItemFreezed: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n isOwner: PropTypes.bool.isRequired,\n isItemFreezed: PropTypes.bool.isRequired\n};\n\nclass Member extends React.PureComponent {\n\n constructor(props) {\n super(props);\n this.roles = ['Admin', 'Member'];\n this.state = ({\n highlight: false,\n });\n }\n\n onChangeUserRole = (role) => {\n let isAdmin = role === 'Admin' ? 'True' : 'False';\n seafileAPI.setGroupAdmin(this.props.groupID, this.props.item.email, isAdmin).then((res) => {\n this.props.changeMember(res.data);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteMember = () => {\n const { item } = this.props;\n seafileAPI.deleteGroupMember(this.props.groupID, item.email).then((res) => {\n this.props.deleteMember(item);\n toaster.success(gettext('Successfully deleted {name}.').replace('{name}', item.name));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n handleMouseOver = () => {\n if (this.props.isItemFreezed) return;\n this.setState({\n highlight: true,\n });\n };\n\n handleMouseLeave = () => {\n if (this.props.isItemFreezed) return;\n this.setState({\n highlight: false,\n });\n };\n\n translateRole = (role) => {\n if (role === 'Admin') {\n return gettext('Admin');\n }\n else if (role === 'Member') {\n return gettext('Member');\n }\n else if (role === 'Owner') {\n return gettext('Owner');\n }\n };\n\n render() {\n const { item, isOwner } = this.props;\n const deleteAuthority = (item.role !== 'Owner' && isOwner === true) || (item.role === 'Member' && isOwner === false);\n return(\n \n \"\"/\n {item.name}\n \n {((isOwner === false) || (isOwner === true && item.role === 'Owner')) &&\n {this.translateRole(item.role)}\n }\n {(isOwner === true && item.role !== 'Owner') &&\n \n }\n \n \n {(deleteAuthority && this.state.highlight) &&\n \n }\n \n \n );\n }\n}\n\nMember.propTypes = MemberPropTypes;\n\n\nexport default GroupMembers;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, InputGroup, InputGroupText, Input } from 'reactstrap';\nimport { Utils } from '../utils/utils';\nimport { gettext } from '../utils/constants';\nimport { seafileAPI } from '../utils/seafile-api';\nimport UserSelect from './user-select';\nimport toaster from './toast';\nimport Loading from './loading';\nimport GroupMembers from './group-members';\n\nconst propTypes = {\n groupID: PropTypes.string,\n isOwner: PropTypes.bool.isRequired\n};\n\nclass ManageMembersDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true, // first loading\n isLoadingMore: false,\n groupMembers: [],\n page: 1,\n perPage: 100,\n hasNextPage: false,\n selectedOption: null,\n errMessage: [],\n isItemFreezed: false,\n searchActive: false,\n keyword: '',\n membersFound: []\n };\n }\n\n componentDidMount() {\n this.listGroupMembers(this.state.page);\n }\n\n listGroupMembers = (page) => {\n const { groupID } = this.props;\n const { perPage, groupMembers } = this.state;\n seafileAPI.listGroupMembers(groupID, page, perPage).then((res) => {\n const members = res.data;\n this.setState({\n isLoading: false,\n isLoadingMore: false,\n page: page,\n hasNextPage: members.length < perPage ? false : true,\n groupMembers: groupMembers.concat(members)\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n this.setState({\n isLoading: false,\n isLoadingMore: false,\n hasNextPage: false\n });\n });\n };\n\n onSelectChange = (option) => {\n this.setState({\n selectedOption: option,\n errMessage: [],\n });\n };\n\n addGroupMember = () => {\n let emails = [];\n for (let i = 0; i < this.state.selectedOption.length; i++) {\n emails.push(this.state.selectedOption[i].email);\n }\n seafileAPI.addGroupMembers(this.props.groupID, emails).then((res) => {\n const newMembers = res.data.success;\n this.setState({\n groupMembers: [].concat(newMembers, this.state.groupMembers),\n selectedOption: null,\n });\n this.refs.userSelect.clearSelect();\n if (res.data.failed.length > 0) {\n this.setState({\n errMessage: res.data.failed\n });\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleItemFreezed = (isFreezed) => {\n this.setState({\n isItemFreezed: isFreezed\n });\n };\n\n handleScroll = (event) => {\n // isLoadingMore: to avoid repeated request\n const { page, hasNextPage, isLoadingMore } = this.state;\n if (hasNextPage && !isLoadingMore) {\n const clientHeight = event.target.clientHeight;\n const scrollHeight = event.target.scrollHeight;\n const scrollTop = event.target.scrollTop;\n const isBottom = (clientHeight + scrollTop + 1 >= scrollHeight);\n if (isBottom) { // scroll to the bottom\n this.setState({isLoadingMore: true}, () => {\n this.listGroupMembers(page + 1);\n });\n }\n }\n };\n\n changeMember = (targetMember) => {\n this.setState({\n groupMembers: this.state.groupMembers.map((item) => {\n if (item.email == targetMember.email) {\n item = targetMember;\n }\n return item;\n })\n });\n };\n\n deleteMember = (targetMember) => {\n const groupMembers = this.state.groupMembers;\n groupMembers.splice(groupMembers.indexOf(targetMember), 1);\n this.setState({\n groupMembers: groupMembers\n });\n };\n\n searchMembers = (e) => {\n const { groupMembers } = this.state;\n const keyword = e.target.value;\n const value = keyword.trim().toLowerCase();\n const membersFound = groupMembers.filter(item => item.name.toLowerCase().indexOf(value) > -1);\n this.setState({ keyword, membersFound });\n };\n\n clearSearch = () => {\n this.setState({\n keyword: '',\n membersFound: []\n });\n };\n\n onSearchInputFocus = () => {\n this.setState({\n searchActive: true\n });\n };\n\n onSearchInputBlur = () => {\n this.setState({\n searchActive: false\n });\n };\n\n render() {\n const {\n isLoading, hasNextPage, groupMembers,\n keyword, membersFound,\n searchActive\n } = this.state;\n return (\n \n

    {gettext('Add group member')}

    \n
    \n \n {this.state.selectedOption ?\n :\n \n }\n
    \n {\n this.state.errMessage.length > 0 &&\n this.state.errMessage.map((item, index = 0) => {\n return (\n
    {item.error_msg}
    \n );\n })\n }\n {groupMembers.length > 10 &&\n \n \n \n \n \n {keyword && (\n \n \n \n )}\n \n }\n
    {} : this.handleScroll}>\n {isLoading ? : (\n \n \n {(!keyword.trim() && hasNextPage) && }\n \n )}\n
    \n
    \n );\n }\n}\n\nManageMembersDialog.propTypes = propTypes;\n\nexport default ManageMembersDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport ListAndAddGroupMembers from '../list-and-add-group-members';\n\nimport '../../css/manage-members-dialog.css';\n\nconst propTypes = {\n groupID: PropTypes.string,\n isOwner: PropTypes.bool.isRequired,\n toggleManageMembersDialog: PropTypes.func.isRequired\n};\n\nclass ManageMembersDialog extends React.Component {\n\n render() {\n const { groupID, isOwner, toggleManageMembersDialog: toggle } = this.props;\n return (\n \n {gettext('Manage group members')}\n \n \n \n \n );\n }\n}\n\nManageMembersDialog.propTypes = propTypes;\n\nexport default ManageMembersDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport { gettext, username } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nclass LeaveGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n leaveGroup = () => {\n seafileAPI.quitGroup(this.props.groupID, username).then((res)=> {\n this.props.onGroupChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return(\n \n {gettext('Leave Group')}\n \n

    {gettext('Really want to leave this group?')}

    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nconst LeaveGroupDialogPropTypes = {\n toggleLeaveGroupDialog: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n onGroupChanged: PropTypes.func.isRequired,\n};\n\nLeaveGroupDialog.propTypes = LeaveGroupDialogPropTypes;\n\nexport default LeaveGroupDialog;\n","import React,{ Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport cookie from 'react-cookies';\nimport { gettext, siteRoot, username, canAddRepo } from '../../utils/constants';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../../components/loading';\nimport EmptyTip from '../../components/empty-tip';\nimport ModalPortal from '../../components/modal-portal';\nimport Group from '../../models/group';\nimport Repo from '../../models/repo';\nimport toaster from '../../components/toast';\nimport OpIcon from '../../components/op-icon';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\nimport CreateRepoDialog from '../../components/dialog/create-repo-dialog';\nimport DismissGroupDialog from '../../components/dialog/dismiss-group-dialog';\nimport RenameGroupDialog from '../../components/dialog/rename-group-dialog';\nimport TransferGroupDialog from '../../components/dialog/transfer-group-dialog';\nimport ImportMembersDialog from '../../components/dialog/import-members-dialog';\nimport ManageMembersDialog from '../../components/dialog/manage-members-dialog';\nimport LeaveGroupDialog from '../../components/dialog/leave-group-dialog';\nimport SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view';\nimport LibDetail from '../../components/dirent-detail/lib-details';\nimport SortOptionsDialog from '../../components/dialog/sort-options';\n\nimport '../../css/group-view.css';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n onGroupChanged: PropTypes.func.isRequired,\n onTabNavClick: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n};\n\nclass GroupView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true, // first loading\n isLoadingMore: false,\n errMessage: '',\n emptyTip: null,\n currentGroup: null,\n currentRepo: null,\n isStaff: false,\n isOwner: false,\n sortBy: cookie.load('seafile-repo-dir-sort-by') || 'name', // 'name' or 'time' or 'size'\n sortOrder: cookie.load('seafile-repo-dir-sort-order') || 'asc', // 'asc' or 'desc'\n isSortOptionsDialogOpen: false,\n repoList: [],\n currentPage: 1,\n perPage: 300,\n hasNextPage: false,\n libraryType: 'group',\n isCreateRepoDialogShow: false,\n isDepartmentGroup: false,\n showGroupDropdown: false,\n showGroupMembersPopover: false,\n showRenameGroupDialog: false,\n showDismissGroupDialog: false,\n showTransferGroupDialog: false,\n showImportMembersDialog: false,\n showManageMembersDialog: false,\n groupMembers: [],\n isShowDetails: false,\n isLeaveGroupDialogOpen: false,\n };\n }\n\n componentDidMount() {\n let groupID = this.props.groupID;\n this.loadGroup(groupID);\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.groupID !== this.props.groupID) {\n this.loadGroup(nextProps.groupID);\n }\n }\n\n loadGroup = (groupID) => {\n seafileAPI.getGroup(groupID).then((res) => {\n let currentGroup = new Group(res.data);\n let emptyTip = this.getEmptyTip(currentGroup);\n let isStaff = currentGroup.admins.indexOf(username) > -1; //for item operations\n let isOwner = currentGroup.owner === username ? true : false;\n let isDepartmentGroup = currentGroup.parent_group_id !== 0;\n this.setState({\n emptyTip: emptyTip,\n currentGroup: currentGroup,\n isStaff: isStaff,\n isDepartmentGroup: isDepartmentGroup,\n isOwner: isOwner,\n currentPage: 1,\n repoList: [] // empty it for the current group\n }, () => {\n this.loadRepos(this.state.currentPage);\n });\n }).catch((error) => {\n this.setState({\n isLoading: false,\n errMessage: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n loadRepos = (page) => {\n const { perPage } = this.state;\n seafileAPI.listGroupRepos(this.props.groupID, page, perPage).then((res) => {\n let hasNextPage = true;\n if (res.data.length < perPage) {\n hasNextPage = false;\n }\n let repoList = this.state.repoList;\n let newRepoList = res.data.map(item => {\n let repo = new Repo(item);\n return repo;\n });\n if (newRepoList.length) {\n repoList = repoList.concat(newRepoList);\n }\n this.setState({\n isLoading: false,\n isLoadingMore: false,\n currentPage: page,\n hasNextPage: hasNextPage,\n repoList: Utils.sortRepos(repoList, this.state.sortBy, this.state.sortOrder)\n });\n }).catch((error) => {\n this.setState({\n isLoading: false,\n isLoadingMore: false,\n errMessage: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n getEmptyTip = (currentGroup) => {\n let emptyTip = null;\n if (currentGroup) {\n if (currentGroup.parent_group_id === 0) {\n emptyTip = (\n \n

    {gettext('No libraries shared with this group')}

    \n

    {gettext('No libraries have been shared with this group yet. A library shared with a group can be accessed by all group members. You can share a library with a group in \"My Libraries\". You can also create a new library to be shared with this group by clicking the \"New Library\" button in the menu bar.')}

    \n
    \n );\n } else {\n if (currentGroup.admins.indexOf(username) == -1) { // is a member of this group\n emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n } else {\n emptyTip = (\n \n

    {gettext('No libraries')}

    \n

    {gettext('You can create libraries by clicking the \"New Library\" button above.')}

    \n
    \n );\n }\n }\n }\n return emptyTip;\n };\n\n onCreateRepoToggle = () => {\n this.setState({isCreateRepoDialogShow: !this.state.isCreateRepoDialogShow});\n };\n\n onCreateRepo = (repo, groupOwnerType) => {\n let groupId = this.props.groupID;\n if (groupOwnerType && groupOwnerType === 'department') {\n seafileAPI.createGroupOwnedLibrary(groupId, repo).then(res => { //need modify endpoint api\n let object = {\n repo_id: res.data.id,\n repo_name: res.data.name,\n owner_name: res.data.group_name,\n owner_email: res.data.owner,\n permission: res.data.permission,\n mtime: res.data.mtime,\n size: res.data.size,\n encrypted: res.data.encrypted,\n };\n let repo = new Repo(object);\n let repoList = this.addRepoItem(repo);\n this.setState({repoList: repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n\n } else {\n seafileAPI.createGroupRepo(groupId, repo).then(res => {\n let repo = new Repo(res.data);\n let repoList = this.addRepoItem(repo);\n this.setState({repoList: repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n this.onCreateRepoToggle();\n };\n\n onItemDelete = (repo) => {\n let groupID = this.props.groupID;\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n this.loadGroup(groupID);\n };\n\n addRepoItem = (repo) => {\n let newRepoList = this.state.repoList.map(item => {return item;});\n newRepoList.unshift(repo);\n return newRepoList;\n };\n\n onItemUnshare = (repo) => {\n let group = this.state.currentGroup;\n seafileAPI.unshareRepoToGroup(repo.repo_id, group.id).then(() => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n this.loadGroup(group.id);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onItemRename = (repo, newName) => {\n seafileAPI.renameGroupOwnedLibrary(this.props.groupID, repo.repo_id, newName).then(res => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.repo_name = newName;\n }\n return item;\n });\n this.setState({repoList: repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onMonitorRepo = (repo, monitored) => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.monitored = monitored;\n }\n return item;\n });\n this.setState({repoList: repoList});\n };\n\n onTabNavClick = (tabName) => {\n this.props.onTabNavClick(tabName);\n };\n\n toggleGroupDropdown = () => {\n this.setState({\n showGroupDropdown: !this.state.showGroupDropdown\n });\n };\n\n toggleDismissGroupDialog = () => {\n this.setState({\n showDismissGroupDialog: !this.state.showDismissGroupDialog,\n showGroupDropdown: false,\n });\n };\n\n toggleRenameGroupDialog = () => {\n this.setState({\n showRenameGroupDialog: !this.state.showRenameGroupDialog,\n showGroupDropdown: false,\n });\n };\n\n toggleTransferGroupDialog = () => {\n this.setState({\n showTransferGroupDialog: !this.state.showTransferGroupDialog,\n showGroupDropdown: false,\n });\n };\n\n toggleImportMembersDialog= () => {\n this.setState({\n showImportMembersDialog: !this.state.showImportMembersDialog\n });\n };\n\n importMembersInBatch= (file) => {\n toaster.notify(gettext('It may take some time, please wait.'));\n seafileAPI.importGroupMembersViaFile(this.state.currentGroup.id, file).then((res) => {\n res.data.failed.forEach(item => {\n const msg = `${item.email}: ${item.error_msg}`;\n toaster.danger(msg);\n });\n }).catch((error) => {\n let errMsg = Utils.getErrorMsg(error);\n toaster.danger(errMsg);\n });\n };\n\n toggleManageMembersDialog = () => {\n this.setState({\n showManageMembersDialog: !this.state.showManageMembersDialog,\n showGroupDropdown: false,\n });\n };\n\n toggleLeaveGroupDialog = () => {\n this.setState({\n isLeaveGroupDialogOpen: !this.state.isLeaveGroupDialogOpen,\n showGroupDropdown: false,\n });\n };\n\n listGroupMembers = () => {\n seafileAPI.listGroupMembers(this.props.groupID).then((res) => {\n this.setState({\n groupMembers: res.data\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleGroupMembersPopover = (state) => {\n if (state === 'open') {\n this.listGroupMembers();\n this.setState({\n showGroupMembersPopover: true\n });\n } else {\n this.setState({\n showGroupMembersPopover: false\n });\n }\n };\n\n onItemDetails = (repo) => {\n this.setState({\n isShowDetails: true,\n currentRepo: repo,\n });\n };\n\n closeDetails = () => {\n this.setState({isShowDetails: false});\n };\n\n sortItems = (sortBy, sortOrder) => {\n cookie.save('seafile-repo-dir-sort-by', sortBy);\n cookie.save('seafile-repo-dir-sort-order', sortOrder);\n this.setState({\n sortBy: sortBy,\n sortOrder: sortOrder,\n repoList: Utils.sortRepos(this.state.repoList, sortBy, sortOrder)\n });\n };\n\n translateRole = (role) => {\n if (role === 'Admin') {\n return gettext('Admin');\n }\n else if (role === 'Member') {\n return gettext('Member');\n }\n else if (role === 'Owner') {\n return gettext('Owner');\n }\n };\n\n toggleSortOptionsDialog = () => {\n this.setState({\n isSortOptionsDialogOpen: !this.state.isSortOptionsDialogOpen\n });\n };\n\n handleScroll = (event) => {\n // isLoadingMore: to avoid repeated request\n const { currentPage, hasNextPage, isLoadingMore } = this.state;\n if (hasNextPage && !isLoadingMore) {\n const clientHeight = event.target.clientHeight;\n const scrollHeight = event.target.scrollHeight;\n const scrollTop = event.target.scrollTop;\n const isBottom = (clientHeight + scrollTop + 1 >= scrollHeight);\n if (isBottom) { // scroll to the bottom\n this.setState({isLoadingMore: true}, () => {\n this.loadRepos(currentPage + 1);\n });\n }\n }\n };\n\n render() {\n let { errMessage, emptyTip, currentGroup, isDepartmentGroup, isStaff } = this.state;\n let isShowSettingIcon = false;\n if (currentGroup) { // group message is loaded\n if (currentGroup.parent_group_id === 0) {\n isShowSettingIcon = true;\n } else {\n if (currentGroup.admins.indexOf(username) > -1) {\n isShowSettingIcon = true;\n }\n }\n }\n let useRate = 0;\n if (isDepartmentGroup && currentGroup.group_quota) {\n useRate = currentGroup.group_quota_usage / currentGroup.group_quota * 100 + '%';\n }\n return (\n \n
    \n
    \n \n
    \n {((!isDepartmentGroup && canAddRepo) || (isDepartmentGroup && isStaff)) && (\n Utils.isDesktop() ? (\n \n ) : (\n \n )\n )}\n
    \n
    \n \n
    \n
    \n
    \n
    \n {currentGroup && (\n \n
    \n this.onTabNavClick('groups')}>{gettext('Groups')}\n /\n {currentGroup.name}\n {isDepartmentGroup && (\n \n \n {currentGroup.group_quota > 0 &&\n \n
    \n \n {Utils.bytesToSize(currentGroup.group_quota_usage)} / {Utils.bytesToSize(currentGroup.group_quota)}\n
    \n
    \n }\n
    \n )}\n
    \n
    \n { isShowSettingIcon &&\n \n \n {this.state.showGroupDropdown &&\n
    \n
    \n {gettext('Settings')}\n \n
    \n
    \n {(this.state.isStaff || this.state.isOwner) &&\n \n }\n {(this.state.isStaff || this.state.isOwner) &&\n \n }\n {\n this.state.isOwner &&\n \n }\n {/* gourp owner only can dissmiss group, admin could not quit, department member could not quit */}\n {(!this.state.isOwner && !isDepartmentGroup) &&\n \n }\n
    \n
    }\n
    \n }\n this.toggleGroupMembersPopover('open')}>\n \n {this.state.showGroupMembersPopover &&\n
    \n
    \n {gettext('Members')}\n \n
    \n
    \n \n
    \n
    }\n {(!Utils.isDesktop() && this.state.repoList.length > 0) && }\n {this.state.isSortOptionsDialogOpen &&\n \n }\n
    \n
    \n )}\n
    \n
    \n {this.state.isLoading && }\n {(!this.state.isLoading && errMessage) &&
    {errMessage}
    }\n {(!this.state.isLoading && this.state.repoList.length === 0) && emptyTip}\n {(!this.state.isLoading && this.state.repoList.length > 0) &&\n \n }\n
    \n
    \n {this.state.isShowDetails && (\n
    \n \n
    \n )}\n
    \n {this.state.isCreateRepoDialogShow && !this.state.isDepartmentGroup && (\n \n \n \n )}\n {this.state.isCreateRepoDialogShow && this.state.isDepartmentGroup &&\n \n }\n {this.state.showRenameGroupDialog &&\n \n }\n {this.state.showDismissGroupDialog &&\n \n }\n {this.state.showTransferGroupDialog &&\n \n }\n { this.state.showImportMembersDialog &&\n \n }\n {this.state.showManageMembersDialog &&\n \n }\n {this.state.isLeaveGroupDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nGroupView.propTypes = propTypes;\n\nexport default GroupView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport CommonToolbar from './common-toolbar';\nimport { Button } from 'reactstrap';\nimport { gettext, canAddGroup } from '../../utils/constants';\n\nconst propTypes = {\n searchPlaceholder: PropTypes.string,\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n toggleAddGroupModal: PropTypes.func.isRequired,\n};\n\nclass GroupsToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n let { onShowSidePanel, onSearchedClick } = this.props;\n return (\n
    \n
    \n \n {canAddGroup && (\n
    \n \n \n \n \n \n \n
    \n )}\n
    \n \n
    \n );\n }\n}\n\nGroupsToolbar.propTypes = propTypes;\n\nexport default GroupsToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Input, Button } from 'reactstrap';\nimport { Utils } from '../../utils/utils';\n\nclass CreateGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n groupName: '',\n errorMsg: '',\n isSubmitBtnActive: false,\n };\n }\n\n handleGroupChange = (event) => {\n let name = event.target.value;\n\n if (!name.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n this.setState({\n groupName: name\n });\n if (this.state.errorMsg) {\n this.setState({\n errorMsg: ''\n });\n }\n };\n\n handleSubmitGroup = () => {\n let name = this.state.groupName.trim();\n if (name) {\n let that = this;\n seafileAPI.createGroup(name).then((res)=> {\n that.props.onCreateGroup();\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({errorMsg: errorMsg});\n });\n } else {\n this.setState({\n errorMsg: gettext('Name is required')\n });\n }\n this.setState({\n groupName: '',\n });\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n this.handleSubmitGroup();\n e.preventDefault();\n }\n };\n\n render() {\n return(\n \n {gettext('New Group')}\n \n \n \n {this.state.errorMsg}\n \n \n \n \n \n \n );\n }\n}\n\nconst CreateGroupDialogPropTypes = {\n toggleAddGroupModal: PropTypes.func.isRequired,\n onCreateGroup: PropTypes.func.isRequired,\n showAddGroupModal: PropTypes.bool.isRequired,\n};\n\nCreateGroupDialog.propTypes = CreateGroupDialogPropTypes;\n\nexport default CreateGroupDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext, siteRoot, canAddGroup } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../../components/loading';\nimport Group from '../../models/group';\nimport Repo from '../../models/repo';\nimport toaster from '../../components/toast';\nimport GroupsToolbar from '../../components/toolbar/groups-toolbar';\nimport SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view';\nimport CreateGroupDialog from '../../components/dialog/create-group-dialog';\nimport LibDetail from '../../components/dirent-detail/lib-details';\nimport EmptyTip from '../../components/empty-tip';\n\nimport '../../css/groups.css';\n\nconst propTypes = {\n group: PropTypes.object.isRequired,\n onItemDetails: PropTypes.func.isRequired,\n};\n\n\nclass RepoListViewPanel extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repoList: [],\n };\n }\n\n componentDidMount() {\n let group = this.props.group;\n let repoList = group.repos.map(item => {\n let repo = new Repo(item);\n return repo;\n });\n this.setState({repoList: repoList});\n }\n\n onItemUnshare = (repo) => {\n let group = this.props.group;\n seafileAPI.unshareRepoToGroup(repo.repo_id, group.id).then(() => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onItemDelete = (repo) => {\n let repoList = this.state.repoList.filter(item => {\n return item.repo_id !== repo.repo_id;\n });\n this.setState({repoList: repoList});\n };\n\n onItemRename = (repo, newName) => {\n let group = this.props.group;\n seafileAPI.renameGroupOwnedLibrary(group.id, repo.repo_id, newName).then(res => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.repo_name = newName;\n }\n return item;\n });\n this.setState({repoList: repoList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onMonitorRepo = (repo, monitored) => {\n let repoList = this.state.repoList.map(item => {\n if (item.repo_id === repo.repo_id) {\n item.monitored = monitored;\n }\n return item;\n });\n this.setState({repoList: repoList});\n };\n\n render() {\n let group = this.props.group;\n const emptyTip =

    {gettext('No libraries')}

    ;\n return (\n
    \n

    \n {group.name}\n

    \n {this.state.repoList.length === 0 ?\n emptyTip :\n \n }\n
    \n );\n }\n}\n\nRepoListViewPanel.propTypes = propTypes;\n\nclass GroupsView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true,\n errorMsg: '',\n groupList: [],\n showAddGroupModal: false,\n isShowDetails: false,\n currentRepo: null,\n };\n }\n\n listGroups = () => {\n seafileAPI.listGroups(true).then((res) => {\n // `{'with_repos': 1}`: list repos of every group\n let groupList = res.data.map(item => {\n let group = new Group(item);\n return group;\n });\n this.setState({\n isLoading: false,\n groupList: groupList.sort((a, b) => {\n return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1;\n })\n });\n }).catch((error) => {\n this.setState({\n isLoading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n toggleAddGroupModal = () => {\n this.setState({\n showAddGroupModal: !this.state.showAddGroupModal\n });\n };\n\n onCreateGroup = () => {\n this.setState({\n showAddGroupModal: false,\n isLoading: true,\n groupList: [],\n });\n this.listGroups();\n };\n\n componentDidMount() {\n this.listGroups();\n }\n\n onItemDetails = (repo) => {\n this.setState({\n isShowDetails: true,\n currentRepo: repo,\n });\n };\n\n closeDetails = () => {\n this.setState({isShowDetails: false});\n };\n\n render() {\n const emptyTip = (\n \n

    {gettext('No groups')}

    \n {canAddGroup ?\n

    {gettext('You are not in any groups. Groups allow multiple people to collaborate on libraries. You can create a group by clicking the \"New Group\" button in the menu bar.')}

    :\n

    {gettext('You are not in any groups. Groups allow multiple people to collaborate on libraries. Groups you join will be listed here.')}

    \n }\n
    \n );\n\n return (\n \n \n
    \n
    \n
    \n

    {gettext('My Groups')}

    \n
    \n
    \n {this.state.isLoading && }\n {(!this.state.isLoading && this.state.errorMsg) &&
    {this.state.errorMsg}
    }\n {(!this.state.isLoading && !this.state.errorMsg && this.state.groupList.length == 0) && emptyTip}\n {!this.state.isLoading && this.state.groupList.map((group, index) => {\n return (\n \n );\n })}\n
    \n
    \n {this.state.isShowDetails && (\n
    \n \n
    \n )}\n
    \n { this.state.showAddGroupModal &&\n \n }\n
    \n );\n }\n}\n\nconst GroupsViewPropTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nGroupsView.propTypes = GroupsViewPropTypes;\n\nexport default GroupsView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport CommonToolbar from './common-toolbar';\nimport { Button } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n toggleInvitePeopleDialog: PropTypes.func.isRequired,\n searchPlaceholder: PropTypes.string.isRequired,\n};\n\nclass InvitationsToolbar extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n let { onShowSidePanel, onSearchedClick, toggleInvitePeopleDialog } = this.props;\n return (\n
    \n
    \n \n \n {Utils.isDesktop() ? (\n
    \n \n
    \n ) : (\n \n )}\n
    \n \n
    \n );\n }\n}\n\nInvitationsToolbar.propTypes = propTypes;\n\nexport default InvitationsToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../utils/utils';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Input, Button } from 'reactstrap';\nimport toaster from '../toast';\nimport Loading from '../loading';\n\nconst InvitePeopleDialogPropTypes = {\n onInvitePeople: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass InvitePeopleDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n emails: '',\n errorMsg: '',\n isSubmitting: false\n };\n }\n\n handleInputChange = (e) => {\n let emails = e.target.value;\n this.setState({\n emails: emails\n });\n if (this.state.errorMsg) {\n this.setState({\n errorMsg: ''\n });\n }\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n e.preventDefault();\n this.handleSubmitInvite();\n }\n };\n\n handleSubmitInvite = () => {\n let emails = this.state.emails.trim();\n if (!emails) {\n this.setState({\n errorMsg: gettext('It is required.')\n });\n return false;\n }\n\n let emailsArray = [];\n emails = emails.split(',');\n for (let i = 0, len = emails.length; i < len; i++) {\n let email = emails[i].trim();\n if (email) {\n emailsArray.push(email);\n }\n }\n\n if (!emailsArray.length) {\n this.setState({\n errorMsg: gettext('Email is invalid.')\n });\n return false;\n }\n\n this.setState({\n isSubmitting: true\n });\n seafileAPI.invitePeople(emailsArray).then((res) => {\n this.props.toggleDialog();\n const success = res.data.success;\n if (success.length) {\n let successMsg = '';\n if (success.length == 1) {\n successMsg = gettext('Successfully invited %(email).')\n .replace('%(email)', success[0].accepter);\n } else {\n successMsg = gettext('Successfully invited %(email) and %(num) other people.')\n .replace('%(email)', success[0].accepter)\n .replace('%(num)', success.length - 1);\n }\n toaster.success(successMsg);\n this.props.onInvitePeople(success);\n }\n const failed = res.data.failed;\n if (failed.length) {\n for (let i = 0, len = failed.length; i < len; i++) {\n let failedMsg = failed[i].email + ': ' + failed[i].error_msg;\n toaster.danger(failedMsg);\n }\n }\n }).catch((error) => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n this.props.toggleDialog();\n });\n };\n\n render() {\n const { isSubmitting } = this.state;\n return (\n \n {gettext('Invite Guest')}\n \n \n \n

    {this.state.errorMsg}

    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nInvitePeopleDialog.propTypes = InvitePeopleDialogPropTypes;\n\nexport default InvitePeopleDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../loading';\nimport toaster from '../toast';\n\nconst propTypes = {\n accepter: PropTypes.string.isRequired,\n token: PropTypes.string.isRequired,\n revokeInvitation: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass InvitationRevokeDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isSubmitting: false\n };\n }\n\n onRevokeInvitation = () => {\n this.setState({\n isSubmitting: true,\n });\n\n seafileAPI.revokeInvitation(this.props.token).then((res) => {\n this.props.revokeInvitation();\n this.props.toggleDialog();\n const msg = gettext('Successfully revoked access of user {placeholder}.').replace('{placeholder}', this.props.accepter);\n toaster.success(msg);\n }).catch((error) => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n this.props.toggleDialog();\n });\n };\n\n render() {\n const { toggleDialog } = this.props;\n const { isSubmitting } = this.state;\n const email = '' + Utils.HTMLescape(this.props.accepter) + '';\n const content = gettext('Are you sure to revoke access of user {placeholder} ?').replace('{placeholder}', email);\n\n return (\n \n {gettext('Revoke Access')}\n \n

    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nInvitationRevokeDialog.propTypes = propTypes;\n\nexport default InvitationRevokeDialog;\n","import React, { Component, Fragment } from 'react';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport InvitationsToolbar from '../../components/toolbar/invitations-toolbar';\nimport InvitePeopleDialog from '../../components/dialog/invite-people-dialog';\nimport InvitationRevokeDialog from '../../components/dialog/invitation-revoke-dialog';\nimport Loading from '../../components/loading';\nimport toaster from '../../components/toast';\nimport EmptyTip from '../../components/empty-tip';\n\nimport '../../css/invitations.css';\n\nclass Item extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isOpMenuOpen: false, // for mobile\n isRevokeDialogOpen: false\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n onMouseEnter = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n onMouseLeave = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n deleteItem = (e) => {\n e.preventDefault();\n // make the icon avoid being clicked repeatedly\n this.setState({\n isOpIconShown: false\n });\n const token = this.props.invitation.token;\n seafileAPI.deleteInvitation(token).then((res) => {\n this.setState({deleted: true});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n this.setState({\n isOpIconShown: true\n });\n });\n };\n\n revokeItem = () => {\n this.setState({deleted: true});\n };\n\n toggleRevokeDialog = (e) => {\n e.preventDefault();\n this.setState({\n isRevokeDialogOpen: !this.state.isRevokeDialogOpen\n });\n };\n\n render() {\n const { isOpIconShown, deleted, isRevokeDialogOpen } = this.state;\n\n if (deleted) {\n return null;\n }\n\n const item = this.props.invitation;\n\n const desktopItem = (\n \n {item.accepter}\n {moment(item.invite_time).format('YYYY-MM-DD')}\n {moment(item.expire_time).format('YYYY-MM-DD')}\n {item.accept_time && }\n \n {isOpIconShown && (\n item.accept_time ?\n \n :\n \n \n )}\n \n \n );\n\n const mobileItem = (\n \n \n {item.accepter}
    \n {moment(item.invite_time).format('YYYY-MM-DD')}({gettext('Invite Time')})\n {moment(item.expire_time).format('YYYY-MM-DD')}({gettext('Expiration')})\n {item.accept_time && gettext('Accepted')}\n \n \n \n \n
    \n
    \n
    \n {item.accept_time ?\n {gettext('Revoke Access')} :\n {gettext('Delete')}\n }\n
    \n
    \n
    \n \n \n );\n\n return (\n \n {this.props.isDesktop ? desktopItem : mobileItem}\n {isRevokeDialogOpen &&\n \n }\n \n );\n }\n}\n\nconst ItemPropTypes = {\n data: PropTypes.object.isRequired,\n invitation: PropTypes.object.isRequired,\n isDesktop: PropTypes.bool.isRequired,\n};\n\nItem.propTypes = ItemPropTypes;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n loading, errorMsg, invitationsList\n } = this.props.data;\n\n if (loading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n if (!invitationsList.length) {\n return (\n \n

    {gettext('No guest invitations')}

    \n

    {gettext('You have not invited any guests yet. A guest can access shared libraries through the web interface allowing more efficient ways to collaborate than through links. You can invite a guest by clicking the \"Invite Guest\" button in the menu bar.')}

    \n
    \n );\n }\n\n const isDesktop = Utils.isDesktop();\n return (\n \n \n {isDesktop ?\n \n \n \n \n \n \n \n :\n \n \n \n \n }\n \n \n {invitationsList.map((invitation, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Email')}{gettext('Invite Time')}{gettext('Expiration')}{gettext('Accepted')}
    \n );\n }\n}\n\nclass InvitationsView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n invitationsList: [],\n isInvitePeopleDialogOpen: false\n };\n }\n\n componentDidMount() {\n seafileAPI.listInvitations().then((res) => {\n this.setState({\n invitationsList: res.data,\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n onInvitePeople = (invitationsArray) => {\n invitationsArray.push.apply(invitationsArray, this.state.invitationsList);\n this.setState({\n invitationsList: invitationsArray,\n });\n };\n\n toggleInvitePeopleDialog = () => {\n this.setState({\n isInvitePeopleDialogOpen: !this.state.isInvitePeopleDialogOpen\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Invite Guest')}

    \n
    \n
    \n \n
    \n
    \n
    \n {this.state.isInvitePeopleDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nconst InvitationsViewPropTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nInvitationsView.propTypes = InvitationsViewPropTypes;\n\nexport default InvitationsView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input } from 'reactstrap';\n\nconst propTypes = {\n toggleCancel: PropTypes.func.isRequired,\n addWiki: PropTypes.func.isRequired,\n};\n\nclass NewWikiDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isExist: false,\n name: '',\n repoID: '',\n isSubmitBtnActive: false,\n };\n }\n\n inputNewName = (e) => {\n if (!event.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({\n name: e.target.value,\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n }\n };\n\n handleSubmit = () => {\n let { isExist, name, repoID } = this.state;\n this.props.addWiki(isExist, name, repoID);\n this.props.toggleCancel();\n };\n\n toggle = () => {\n this.props.toggleCancel();\n };\n\n render() {\n return (\n \n {gettext('New Wiki')}\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nNewWikiDialog.propTypes = propTypes;\n\nexport default NewWikiDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport moment from 'moment';\nimport Repo from '../../models/repo';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n toggleCancel: PropTypes.func.isRequired,\n addWiki: PropTypes.func.isRequired\n};\n\nclass WikiSelectDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repos: [],\n repoID: '',\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepos().then(res => {\n let repoList = res.data.repos\n .filter(item => {\n switch (item.type) {\n case 'mine': // my libraries\n return !item.encrypted;\n case 'shared': // libraries shared with me\n // 'is_admin': the library is shared with 'admin' permission\n return !item.encrypted && item.is_admin;\n case 'group':\n default:\n return !item.encrypted && !res.data.repos.some(repo => {\n // just remove the duplicated libraries\n return repo.type != item.type && repo.repo_id == item.repo_id;\n });\n }\n })\n .map(item => {\n let repo = new Repo(item);\n return repo;\n });\n repoList = Utils.sortRepos(repoList, 'name', 'asc');\n this.setState({repos: repoList});\n });\n }\n\n onChange = (repo) => {\n this.setState({\n repoID: repo.repo_id,\n });\n };\n\n handleSubmit = () => {\n let { repoID } = this.state;\n this.props.addWiki(repoID);\n this.props.toggleCancel();\n };\n\n toggle = () => {\n this.props.toggleCancel();\n };\n\n render() {\n return (\n \n {gettext('Publish a Library')}\n \n \n \n \n \n \n \n \n \n \n \n {this.state.repos.map((repo, index) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n
    {/* select */}{/* icon */}{gettext('Name')}{gettext('Last Update')}
    {Utils.getLibIconTitle(repo)}{repo.repo_name}{moment(repo.last_modified).fromNow()}
    \n
    \n \n \n {this.state.repoID ?\n :\n \n }\n \n
    \n );\n }\n}\n\nWikiSelectDialog.propTypes = propTypes;\n\nexport default WikiSelectDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\n\nconst propTypes = {\n toggleCancel: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n};\n\nclass WikiDeleteDialog extends React.Component {\n\n toggle = () => {\n this.props.toggleCancel();\n };\n\n render() {\n return (\n \n {gettext('Unpublish Library')}\n \n

    {gettext('Are you sure you want to unpublish this library?')}

    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nWikiDeleteDialog.propTypes = propTypes;\n\nexport default WikiDeleteDialog;\n","import React, { Component, Fragment } from 'react';\nimport { Dropdown, DropdownToggle, DropdownItem } from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { siteRoot, gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n// import { seafileAPI } from '../../utils/seafile-api';\n// import Toast from '../toast';\nimport ModalPortal from '../modal-portal';\nimport WikiDeleteDialog from '../dialog/wiki-delete-dialog';\n// import Rename from '../rename';\n\nconst propTypes = {\n wiki: PropTypes.object.isRequired,\n // renameWiki: PropTypes.func.isRequired,\n deleteWiki: PropTypes.func.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n};\n\nclass WikiListItem extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isOpMenuOpen: false, // for mobile\n isShowDeleteDialog: false,\n // isRenameing: false,\n highlight: false,\n // permission: this.props.wiki.permission,\n };\n }\n\n toggleOpMenu = () => {\n this.setState({\n isOpMenuOpen: !this.state.isOpMenuOpen\n });\n };\n\n // clickMenuToggle = (e) => {\n // e.preventDefault();\n // this.onMenuToggle(e);\n // }\n\n // onMenuToggle = (e) => {\n // let targetType = e.target.dataset.toggle;\n // if (targetType !== 'item') {\n // if (this.props.isItemFreezed) {\n // this.setState({\n // highlight: false,\n // isShowMenuControl: false,\n // isShowWikiMenu: !this.state.isShowWikiMenu\n // });\n // this.props.onUnfreezedItem();\n // } else {\n // this.setState({\n // isShowWikiMenu: !this.state.isShowWikiMenu\n // });\n // this.props.onFreezedItem();\n // }\n // }\n // }\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({ highlight: true });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({ highlight: false });\n }\n };\n\n // changePerm = (permission) => {\n // let wiki = this.props.wiki;\n // seafileAPI.updateWikiPermission(wiki.slug, permission).then(() => {\n // this.setState({permission: permission});\n // }).catch((error) => {\n // if(error.response) {\n // let errorMsg = error.response.data.error_msg;\n // Toast.danger(errorMsg);\n // }\n // });\n // }\n\n // onRenameToggle = (e) => {\n // this.props.onFreezedItem();\n // this.setState({\n // isShowWikiMenu: false,\n // isShowMenuControl: false,\n // isRenameing: true,\n // });\n // }\n\n // onRenameConfirm = (newName) => {\n // this.renameWiki(newName);\n // this.onRenameCancel();\n // }\n\n // onRenameCancel = () => {\n // this.props.onUnfreezedItem();\n // this.setState({isRenameing: false});\n // }\n\n onDeleteToggle = (e) => {\n e.preventDefault();\n this.props.onUnfreezedItem();\n this.setState({\n isShowDeleteDialog: !this.state.isShowDeleteDialog,\n });\n };\n\n onDeleteCancel = () => {\n this.props.onUnfreezedItem();\n this.setState({\n isShowDeleteDialog: !this.state.isShowDeleteDialog,\n });\n };\n\n // renameWiki = (newName) => {\n // let wiki = this.props.wiki;\n // this.props.renameWiki(wiki, newName);\n // }\n\n deleteWiki = () => {\n let wiki = this.props.wiki;\n this.props.deleteWiki(wiki);\n this.setState({\n isShowDeleteDialog: !this.state.isShowDeleteDialog,\n });\n };\n\n render() {\n let wiki = this.props.wiki;\n let userProfileURL = `${siteRoot}profile/${encodeURIComponent(wiki.owner)}/`;\n let fileIconUrl = Utils.getDefaultLibIconUrl(false);\n let deleteIcon = `action-icon sf2-icon-x3 ${this.state.highlight ? '' : 'invisible'}`;\n\n const desktopItem = (\n \n \"\"\n \n {wiki.name}\n {/*this.state.isRenameing ?\n :\n {wiki.name}\n */}\n \n {wiki.owner_nickname}\n {moment(wiki.updated_at).fromNow()}\n \n \n \n \n );\n\n const mobileItem = (\n \n \"\"\n \n {wiki.name}
    \n {wiki.owner_nickname}\n {moment(wiki.updated_at).fromNow()}\n \n \n \n \n
    \n
    \n
    \n {gettext('Unpublish')}\n
    \n
    \n
    \n \n \n );\n\n return (\n \n {Utils.isDesktop() ? desktopItem : mobileItem}\n {this.state.isShowDeleteDialog &&\n \n \n \n }\n \n );\n }\n}\n\nWikiListItem.propTypes = propTypes;\n\nexport default WikiListItem;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport WikiListItem from './wiki-list-item';\nimport LibsMobileThead from '../libs-mobile-thead';\n\nconst propTypes = {\n data: PropTypes.object.isRequired,\n renameWiki: PropTypes.func.isRequired,\n deleteWiki: PropTypes.func.isRequired,\n};\n\nclass WikiListView extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n let { loading, errorMsg, wikis } = this.props.data;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const isDesktop = Utils.isDesktop();\n const desktopThead = (\n \n \n \n {gettext('Name')}\n {gettext('Owner')}\n {gettext('Last Update')}\n {/* operation */}\n \n \n );\n return (\n \n {isDesktop ? desktopThead : }\n \n {wikis.map((wiki, index) => {\n return (\n \n );\n })}\n \n
    \n );\n }\n }\n}\n\nWikiListView.propTypes = propTypes;\n\nexport default WikiListView;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport MediaQuery from 'react-responsive';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, canPublishRepo } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport ModalPortal from '../../components/modal-portal';\nimport EmptyTip from '../../components/empty-tip';\nimport CommonToolbar from '../../components/toolbar/common-toolbar';\nimport NewWikiDialog from '../../components/dialog/new-wiki-dialog';\nimport WikiSelectDialog from '../../components/dialog/wiki-select-dialog';\nimport WikiListView from '../../components/wiki-list-view/wiki-list-view';\n\nconst propTypes = {\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nclass Wikis extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n wikis: [],\n isShowAddWikiMenu: false,\n isShowSelectDialog: false,\n isShowCreateDialog: false,\n };\n }\n\n componentDidMount() {\n this.getWikis();\n }\n\n getWikis = () => {\n seafileAPI.listWikis().then(res => {\n this.setState({\n loading: false,\n wikis: res.data.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n clickMenuToggle = (e) => {\n e.preventDefault();\n this.onMenuToggle();\n };\n\n onMenuToggle = () => {\n this.setState({isShowAddWikiMenu: !this.state.isShowAddWikiMenu});\n };\n\n onSelectToggle = () => {\n this.setState({isShowSelectDialog: !this.state.isShowSelectDialog});\n };\n\n onCreateToggle = () => {\n this.setState({isShowCreateDialog: !this.state.isShowCreateDialog});\n };\n\n addWiki = (repoID) => {\n seafileAPI.addWiki(repoID).then((res) => {\n this.state.wikis.push(res.data);\n this.setState({wikis: this.state.wikis});\n }).catch((error) => {\n if(error.response) {\n let errorMsg = error.response.data.error_msg;\n toaster.danger(errorMsg);\n }\n });\n };\n\n renameWiki = (wiki, newName) => {\n seafileAPI.renameWiki(wiki.slug, newName).then((res) => {\n let wikis = this.state.wikis.map((item) => {\n if (item.name === wiki.name) {\n item = res.data;\n }\n return item;\n });\n this.setState({wikis: wikis});\n }).catch((error) => {\n if(error.response) {\n let errorMsg = error.response.data.error_msg;\n toaster.danger(errorMsg);\n }\n });\n };\n\n deleteWiki = (wiki) => {\n seafileAPI.deleteWiki(wiki.slug).then(() => {\n let wikis = this.state.wikis.filter(item => {\n return item.name !== wiki.name;\n });\n this.setState({wikis: wikis});\n }).catch((error) => {\n if(error.response) {\n let errorMsg = error.response.data.error_msg;\n toaster.danger(errorMsg);\n }\n });\n };\n\n render() {\n return (\n \n
    \n
    \n \n {canPublishRepo &&\n
    \n \n \n \n \n \n \n \n \n
    \n }\n
    \n \n
    \n
    \n
    \n
    \n
    \n

    {gettext('Published Libraries')}

    \n
    \n
    \n
    \n {(this.state.loading || this.state.wikis.length !== 0) &&\n \n }\n {(!this.state.loading && this.state.wikis.length === 0) &&\n \n

    {gettext('No published libraries')}

    \n

    {gettext('You have not published any libraries yet. A published library can be accessed by anyone, not only users, via its URL. You can publish a library by clicking the \"Publish a Library\" button in the menu bar.')}

    \n
    \n }\n
    \n
    \n
    \n {this.state.isShowCreateDialog && (\n \n \n \n )}\n {this.state.isShowSelectDialog && (\n \n \n \n )}\n
    \n );\n }\n}\n\nWikis.propTypes = propTypes;\n\nexport default Wikis;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport CommonToolbar from './common-toolbar';\n\nconst propTypes = {\n searchPlaceholder: PropTypes.string,\n onShowSidePanel: PropTypes.func.isRequired,\n onSearchedClick: PropTypes.func.isRequired,\n};\n\nclass GeneralToolbar extends React.Component {\n\n render() {\n // todo get repoID?\n let { onShowSidePanel, onSearchedClick } = this.props;\n return (\n
    \n
    \n \n \n
    \n \n
    \n );\n }\n}\n\nGeneralToolbar.propTypes = propTypes;\n\nexport default GeneralToolbar;\n","import React, { Fragment } from 'react';\nimport GeneralToolBar from './toolbar/general-toolbar';\n\nconst MainContentWrapper = (WrapperedComponent) => {\n return class Wrapper extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n \n \n \n \n );\n }\n };\n};\n\nexport default MainContentWrapper;\n","import React, { Component } from 'react';\nimport ReactDom from 'react-dom';\nimport { Router, navigate } from '@gatsbyjs/reach-router';\nimport MediaQuery from 'react-responsive';\nimport { Modal } from 'reactstrap';\nimport { siteRoot, canAddRepo, isDocs } from './utils/constants';\nimport { Utils } from './utils/utils';\nimport SystemNotification from './components/system-notification';\nimport SidePanel from './components/side-panel';\nimport MainPanel from './components/main-panel';\nimport DraftsView from './pages/drafts/drafts-view';\nimport DraftContent from './pages/drafts/draft-content';\nimport FilesActivities from './pages/dashboard/files-activities';\nimport Starred from './pages/starred/starred';\nimport LinkedDevices from './pages/linked-devices/linked-devices';\nimport editUtilities from './utils/editor-utilities';\nimport ShareAdminLibraries from './pages/share-admin/libraries';\nimport ShareAdminFolders from './pages/share-admin/folders';\nimport ShareAdminShareLinks from './pages/share-admin/share-links';\nimport ShareAdminUploadLinks from './pages/share-admin/upload-links';\nimport SharedLibraries from './pages/shared-libs/shared-libs';\nimport ShareWithOCM from './pages/share-with-ocm/shared-with-ocm';\nimport OCMViaWebdav from './pages/ocm-via-webdav/ocm-via-webdav';\nimport OCMRepoDir from './pages/share-with-ocm/remote-dir-view';\nimport MyLibraries from './pages/my-libs/my-libs';\nimport MyLibDeleted from './pages/my-libs/my-libs-deleted';\nimport PublicSharedView from './pages/shared-with-all/public-shared-view';\nimport LibContentView from './pages/lib-content-view/lib-content-view';\nimport Group from './pages/groups/group-view';\nimport Groups from './pages/groups/groups-view';\nimport InvitationsView from './pages/invitations/invitations-view';\nimport Wikis from './pages/wikis/wikis';\nimport MainContentWrapper from './components/main-content-wrapper';\n\nimport './css/layout.css';\nimport './css/toolbar.css';\nimport './css/search.css';\n\nconst FilesActivitiesWrapper = MainContentWrapper(FilesActivities);\nconst DraftsViewWrapper = MainContentWrapper(DraftsView);\nconst StarredWrapper = MainContentWrapper(Starred);\nconst LinkedDevicesWrapper = MainContentWrapper(LinkedDevices);\nconst SharedLibrariesWrapper = MainContentWrapper(SharedLibraries);\nconst SharedWithOCMWrapper = MainContentWrapper(ShareWithOCM);\nconst OCMViaWebdavWrapper = MainContentWrapper(OCMViaWebdav);\nconst ShareAdminLibrariesWrapper = MainContentWrapper(ShareAdminLibraries);\nconst ShareAdminFoldersWrapper = MainContentWrapper(ShareAdminFolders);\n\nclass App extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n isSidePanelClosed: false,\n draftCounts: 0,\n draftList:[],\n isLoadingDraft: true,\n currentTab: '/',\n pathPrefix: [],\n };\n this.dirViewPanels = ['my-libs', 'shared-libs', 'org']; // and group\n window.onpopstate = this.onpopstate;\n }\n\n onpopstate = (event) => {\n if (event.state && event.state.currentTab && event.state.pathPrefix) {\n let { currentTab, pathPrefix } = event.state;\n this.setState({currentTab, pathPrefix});\n }\n };\n\n componentWillMount() {\n if (!Utils.isDesktop()) {\n this.setState({\n isSidePanelClosed: true\n });\n }\n }\n\n navigateClientUrlToLib = () =>{\n if(window.location.hash && window.location.hash.indexOf('common/lib') != -1){\n let splitUrlArray = window.location.hash.split('/');\n let repoID = splitUrlArray[splitUrlArray.length - 2];\n let url = siteRoot + 'library/' + repoID + '/';\n navigate(url, {repalce: true});\n }\n };\n\n componentDidMount() {\n // url from client e.g. http://127.0.0.1:8000/#common/lib/34e7fb92-e91d-499d-bcde-c30ea8af9828/\n // navigate to library page http://127.0.0.1:8000/library/34e7fb92-e91d-499d-bcde-c30ea8af9828/\n this.navigateClientUrlToLib();\n\n // e.g. from http://127.0.0.1:8000/drafts/reviews/\n // get reviews\n // TODO: need refactor later\n let href = window.location.href.split('/');\n if (isDocs) {\n this.getDrafts();\n }\n this.setState({currentTab: href[href.length - 2]});\n }\n\n getDrafts = () => {\n editUtilities.listDrafts().then(res => {\n this.setState({\n draftCounts: res.data.draft_counts,\n draftList: res.data.data,\n isLoadingDraft: false,\n });\n });\n };\n\n updateDraftsList = (draft_id) => {\n this.setState({\n draftCounts: this.state.draftCounts - 1,\n draftList: this.state.draftList.filter(draft => draft.id != draft_id),\n });\n };\n\n onCloseSidePanel = () => {\n this.setState({\n isSidePanelClosed: !this.state.isSidePanelClosed\n });\n };\n\n onShowSidePanel = () => {\n this.setState({\n isSidePanelClosed: !this.state.isSidePanelClosed\n });\n };\n\n onSearchedClick = (selectedItem) => {\n if (selectedItem.is_dir === true) {\n this.setState({currentTab: '', pathPrefix: []});\n let url = siteRoot + 'library/' + selectedItem.repo_id + '/' + selectedItem.repo_name + selectedItem.path;\n navigate(url, {repalce: true});\n } else {\n let url = siteRoot + 'lib/' + selectedItem.repo_id + '/file' + Utils.encodePath(selectedItem.path);\n let isWeChat = Utils.isWeChat();\n if (!isWeChat) {\n let newWindow = window.open('about:blank');\n newWindow.location.href = url;\n } else {\n location.href = url;\n }\n }\n };\n\n onGroupChanged = (groupID) => {\n setTimeout(function(){\n let url;\n if (groupID) {\n url = siteRoot + 'group/' + groupID + '/';\n }\n else {\n url = siteRoot + 'groups/';\n }\n window.location = url.toString();\n }, 1);\n };\n\n tabItemClick = (tabName, groupID) => {\n let pathPrefix = [];\n if (groupID || this.dirViewPanels.indexOf(tabName) > -1) {\n pathPrefix = this.generatorPrefix(tabName, groupID);\n }\n this.setState({\n currentTab: tabName,\n pathPrefix: pathPrefix\n }, () => {\n let { currentTab, pathPrefix } = this.state;\n window.history.replaceState({currentTab: currentTab, pathPrefix: pathPrefix}, null);\n });\n if (!Utils.isDesktop() && !this.state.isSidePanelClosed) {\n this.setState({ isSidePanelClosed: true });\n }\n };\n\n generatorPrefix = (tabName, groupID) => {\n let pathPrefix = [];\n if (groupID) {\n let navTab1 = {\n url: siteRoot + 'groups/',\n showName: 'Groups',\n name: 'groups',\n id: null,\n };\n let navTab2 = {\n url: siteRoot + 'group/' + groupID + '/',\n showName: tabName,\n name: tabName,\n id: groupID,\n };\n pathPrefix.push(navTab1);\n pathPrefix.push(navTab2);\n } else {\n let navTab = {\n url: siteRoot + tabName + '/',\n showName: this.getTabShowName(tabName),\n name: tabName,\n id: null,\n };\n pathPrefix.push(navTab);\n }\n return pathPrefix;\n };\n\n getTabShowName = (tabName) => {\n if (tabName === 'my-libs') {\n return 'Libraries';\n }\n if (tabName === 'shared-libs') {\n return 'Shared with me';\n }\n if (tabName === 'org') {\n return 'Shared with all';\n }\n };\n\n toggleSidePanel = () => {\n this.setState({\n isSidePanelClosed: !this.state.isSidePanelClosed\n });\n };\n\n render() {\n let { currentTab, isSidePanelClosed } = this.state;\n\n const home = canAddRepo ?\n :\n ;\n\n return (\n \n \n
    \n \n \n \n {home}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n","import assign from 'object-assign';\n\nimport { store } from './helpers';\n\nexport const MENU_SHOW = 'REACT_CONTEXTMENU_SHOW';\nexport const MENU_HIDE = 'REACT_CONTEXTMENU_HIDE';\n\n\nexport function dispatchGlobalEvent(eventName, opts, target = window) {\n // Compatibale with IE\n // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work\n let event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, { detail: opts });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, false, true, opts);\n }\n\n if (target) {\n target.dispatchEvent(event);\n assign(store, opts);\n }\n}\n\nexport function showMenu(opts = {}, target) {\n dispatchGlobalEvent(MENU_SHOW, assign({}, opts, { type: MENU_SHOW }), target);\n}\n\nexport function hideMenu(opts = {}, target) {\n dispatchGlobalEvent(MENU_HIDE, assign({}, opts, { type: MENU_HIDE }), target);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport listener from './globalEventListener';\nimport { hideMenu } from './actions';\nimport { callIfExists } from './helpers';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n id: PropTypes.string.isRequired,\n rtl: PropTypes.bool,\n onMenuItemClick: PropTypes.func.isRequired,\n onShowMenu: PropTypes.func,\n onHideMenu: PropTypes.func,\n hideOnLeave: PropTypes.bool,\n};\n\nclass ContextMenu extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n x: 0,\n y: 0,\n isVisible: false,\n currentObject: null,\n menuList: [],\n };\n }\n\n componentDidMount() {\n this.listenId = listener.register(this.handleShow, this.handleHide);\n }\n\n componentDidUpdate () {\n if (this.state.isVisible) {\n const wrapper = window.requestAnimationFrame || setTimeout;\n\n wrapper(() => {\n const { x, y } = this.state;\n const { top, left } = this.props.rtl ? this.getRTLMenuPosition(x, y) : this.getMenuPosition(x, y);\n\n wrapper(() => {\n if (!this.menu) return;\n this.menu.style.top = `${top}px`;\n this.menu.style.left = `${left}px`;\n this.menu.style.opacity = 1;\n this.menu.style.pointerEvents = 'auto';\n });\n });\n } else {\n if (!this.menu) return;\n this.menu.style.opacity = 0;\n this.menu.style.pointerEvents = 'none';\n }\n }\n\n componentWillUnmount() {\n if (this.listenId) {\n listener.unregister(this.listenId);\n }\n\n this.unregisterHandlers();\n }\n\n registerHandlers = () => {\n document.addEventListener('mousedown', this.handleOutsideClick);\n document.addEventListener('touchstart', this.handleOutsideClick);\n document.addEventListener('scroll', this.handleHide);\n document.addEventListener('contextmenu', this.handleHide);\n document.addEventListener('keydown', this.handleKeyNavigation);\n window.addEventListener('resize', this.handleHide);\n };\n\n unregisterHandlers = () => {\n document.removeEventListener('mousedown', this.handleOutsideClick);\n document.removeEventListener('touchstart', this.handleOutsideClick);\n document.removeEventListener('scroll', this.handleHide);\n document.removeEventListener('contextmenu', this.handleHide);\n document.removeEventListener('keydown', this.handleKeyNavigation);\n window.removeEventListener('resize', this.handleHide);\n };\n\n handleShow = (e) => {\n if (e.detail.id !== this.props.id) return;\n\n const { x, y } = e.detail.position;\n const { currentObject, menuList} = e.detail;\n\n this.setState({ isVisible: true, x, y, currentObject, menuList });\n this.registerHandlers();\n callIfExists(this.props.onShowMenu, e);\n };\n\n handleHide = (e) => {\n if (this.state.isVisible && (!e.detail || !e.detail.id || e.detail.id === this.props.id)) {\n this.unregisterHandlers();\n this.setState({ isVisible: false});\n callIfExists(this.props.onHideMenu, e);\n }\n };\n\n handleOutsideClick = (e) => {\n if (!this.menu.contains(e.target)) hideMenu();\n };\n\n handleMouseLeave = (event) => {\n event.preventDefault();\n\n if (this.props.hideOnLeave) hideMenu();\n };\n\n handleContextMenu = (e) => {\n this.handleHide(e);\n };\n\n handleKeyNavigation = (e) => {\n if (this.state.isVisible === false) {\n return;\n }\n e.preventDefault();\n this.hideMenu(e);\n };\n\n hideMenu = (e) => {\n if (e.keyCode === 27 || e.keyCode === 13) { // ECS or enter\n hideMenu();\n }\n };\n\n getMenuPosition = (x = 0, y = 0) => {\n let menuStyles = {\n top: y,\n left: x\n };\n\n if (!this.menu) return menuStyles;\n\n const { innerWidth, innerHeight } = window;\n const rect = this.menu.getBoundingClientRect();\n\n if (y + rect.height > innerHeight) {\n menuStyles.top -= rect.height;\n }\n\n if (x + rect.width > innerWidth) {\n menuStyles.left -= rect.width;\n }\n\n if (menuStyles.top < 0) {\n menuStyles.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n\n if (menuStyles.left < 0) {\n menuStyles.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n\n return menuStyles;\n };\n\n getRTLMenuPosition = (x = 0, y = 0) => {\n let menuStyles = {\n top: y,\n left: x\n };\n\n if (!this.menu) return menuStyles;\n\n const { innerWidth, innerHeight } = window;\n const rect = this.menu.getBoundingClientRect();\n\n // Try to position the menu on the left side of the cursor\n menuStyles.left = x - rect.width;\n\n if (y + rect.height > innerHeight) {\n menuStyles.top -= rect.height;\n }\n\n if (menuStyles.left < 0) {\n menuStyles.left += rect.width;\n }\n\n if (menuStyles.top < 0) {\n menuStyles.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n\n if (menuStyles.left + rect.width > innerWidth) {\n menuStyles.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n\n return menuStyles;\n };\n\n\n onMenuItemClick = (event) => {\n event.stopPropagation();\n let operation = Utils.getEventData(event, 'operation');\n let currentObject = this.state.currentObject;\n this.props.onMenuItemClick(operation, currentObject, event);\n };\n\n onContextMenu = (event) => {\n event.stopPropagation();\n };\n\n render() {\n const inlineStyle = { position: 'fixed', opacity: 0, pointerEvents: 'none', display: 'block' };\n return (\n
    { this.menu = menu; }}>\n {this.state.menuList.map((menuItem, index) => {\n if (menuItem === 'Divider') {\n return
    ;\n } else {\n return (\n \n {menuItem.value}\n \n );\n }\n })}\n
    \n );\n }\n}\n\nContextMenu.propTypes = propTypes;\n\nexport default ContextMenu;\n","import { MENU_SHOW, MENU_HIDE } from './actions';\nimport { uniqueId, hasOwnProp, canUseDOM } from './helpers';\n\nclass GlobalEventListener {\n\n constructor() {\n this.callbacks = {};\n\n if (canUseDOM) {\n window.addEventListener(MENU_SHOW, this.handleShowEvent);\n window.addEventListener(MENU_HIDE, this.handleHideEvent);\n }\n }\n\n handleShowEvent = (event) => {\n for (const id in this.callbacks) {\n if (hasOwnProp(this.callbacks, id)) this.callbacks[id].show(event);\n }\n };\n\n handleHideEvent = (event) => {\n for (const id in this.callbacks) {\n if (hasOwnProp(this.callbacks, id)) this.callbacks[id].hide(event);\n }\n };\n\n register = (showCallback, hideCallback) => {\n const id = uniqueId();\n\n this.callbacks[id] = {\n show: showCallback,\n hide: hideCallback\n };\n\n return id;\n };\n\n unregister = (id) => {\n if (id && this.callbacks[id]) {\n delete this.callbacks[id];\n }\n };\n}\n\nconst globalEventListener = new GlobalEventListener();\n\nexport default globalEventListener;\n","export function callIfExists(func, ...args) {\n return (typeof func === 'function') && func(...args);\n}\n\nexport function hasOwnProp(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function uniqueId() {\n return Math.random().toString(36).substring(7);\n}\n\nexport const store = {};\n\nexport const canUseDOM = Boolean(\n typeof window !== 'undefined' && window.document && window.document.createElement\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n type: PropTypes.oneOf(['move', 'copy']).isRequired,\n asyncOperatedFilesLength: PropTypes.number.isRequired,\n asyncOperationProgress: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass CopyMoveDirentProgressDialog extends React.Component {\n\n render() {\n\n let { type , asyncOperationProgress, asyncOperatedFilesLength } = this.props;\n let title = type === 'move' ? gettext('Move {num} items') : gettext('Copy {num} items');\n title = title.replace('{num}', asyncOperatedFilesLength);\n let progressStyle = {\n width: asyncOperationProgress + '%',\n lineHeight: '40px',\n textAlign: 'left',\n };\n return (\n \n {title}\n \n
    \n \n {asyncOperationProgress + '%'}\n
    \n \n
    \n
    \n );\n }\n}\n\nCopyMoveDirentProgressDialog.propTypes = propTypes;\n\nexport default CopyMoveDirentProgressDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n fileType: PropTypes.string,\n parentPath: PropTypes.string.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n checkDuplicatedName: PropTypes.func.isRequired,\n addFolderCancel: PropTypes.func.isRequired,\n};\n\nclass CreateForder extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n parentPath: '',\n childName: '',\n errMessage: '',\n isSubmitBtnActive: false,\n };\n }\n\n componentDidMount() {\n let parentPath = this.props.parentPath;\n if (parentPath[parentPath.length - 1] === '/') { // mainPanel\n this.setState({parentPath: parentPath});\n } else {\n this.setState({parentPath: parentPath + '/'}); // sidePanel\n }\n }\n\n handleChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({childName: e.target.value});\n };\n\n handleSubmit = () => {\n if (!this.state.isSubmitBtnActive) {\n return;\n }\n\n let newName = this.state.childName;\n let isDuplicated = this.checkDuplicatedName();\n\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));\n this.setState({errMessage: errMessage});\n } else {\n let path = this.state.parentPath + newName;\n this.props.onAddFolder(path);\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n toggle = () => {\n this.props.addFolderCancel();\n };\n\n checkDuplicatedName = () => {\n let isDuplicated = this.props.checkDuplicatedName(this.state.childName);\n return isDuplicated;\n };\n\n render() {\n return (\n \n {gettext('New Folder')}\n \n
    \n \n \n \n \n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nCreateForder.propTypes = propTypes;\n\nexport default CreateForder;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, ModalHeader, ModalBody, ModalFooter, Input } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { TAG_COLORS } from '../../constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n onRepoTagCreated: PropTypes.func,\n toggleCancel: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired\n};\n\nclass CreateTagDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n tagName: '',\n tagColor: TAG_COLORS[0],\n newTag: {},\n errorMsg: '',\n };\n }\n\n inputNewName = (e) => {\n this.setState({\n tagName: e.target.value,\n });\n if (this.state.errorMsg) {\n this.setState({errorMsg: ''});\n }\n };\n\n selectTagcolor = (e) => {\n this.setState({\n tagColor: e.target.value,\n });\n };\n\n createTag = () => {\n let name = this.state.tagName;\n let color = this.state.tagColor;\n let repoID = this.props.repoID;\n seafileAPI.createRepoTag(repoID, name, color).then((res) => {\n let repoTagID = res.data.repo_tag.repo_tag_id;\n if (this.props.onRepoTagCreated) this.props.onRepoTagCreated(repoTagID);\n this.props.toggleCancel();\n }).catch((error) => {\n let errMessage;\n if (error.response.status === 500) {\n errMessage = gettext('Internal Server Error');\n } else if (error.response.status === 400) {\n errMessage = gettext('Tag \"{name}\" already exists.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(name));\n }\n this.setState({errorMsg: errMessage});\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.createTag();\n }\n };\n\n render() {\n let canSave = this.state.tagName.trim() ? true : false;\n return (\n \n \n \n {gettext('New Tag')}\n \n \n
    \n
    \n \n \n
    {this.state.errorMsg}
    \n
    \n
    \n \n
    \n {TAG_COLORS.map((item, index)=>{\n return (\n
    \n \n
    \n );\n })\n }\n
    \n
    \n
    \n
    \n \n \n {canSave ?\n :\n \n }\n \n
    \n );\n }\n}\n\nCreateTagDialog.propTypes = propTypes;\n\nexport default CreateTagDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport RepoTag from '../../models/repo-tag';\nimport CreateTagDialog from './create-tag-dialog';\nimport toaster from '../toast';\nrequire('../../css/repo-tag.css');\n\nconst TagItemPropTypes = {\n repoID: PropTypes.string.isRequired,\n repoTag: PropTypes.object.isRequired,\n filePath: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n};\n\nclass TagItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isTagHighlighted: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({\n isTagHighlighted: true\n });\n };\n\n onMouseLeave = () => {\n this.setState({\n isTagHighlighted: false\n });\n };\n\n getRepoTagIdList = () => {\n let repoTagIdList = [];\n let fileTagList = this.props.fileTagList || [];\n repoTagIdList = fileTagList.map((fileTag) => fileTag.repo_tag_id);\n return repoTagIdList;\n };\n\n onEditFileTag = () => {\n let { repoID, repoTag, filePath } = this.props;\n let repoTagIdList = this.getRepoTagIdList();\n if (repoTagIdList.indexOf(repoTag.id) === -1) {\n let id = repoTag.id;\n seafileAPI.addFileTag(repoID, filePath, id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n let fileTag = null;\n let fileTagList = this.props.fileTagList;\n for(let i = 0; i < fileTagList.length; i++) {\n if (fileTagList[i].repo_tag_id === repoTag.id) {\n fileTag = fileTagList[i];\n break;\n }\n }\n seafileAPI.deleteFileTag(repoID, fileTag.id).then(() => {\n repoTagIdList = this.getRepoTagIdList();\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n render() {\n const { isTagHighlighted } = this.state;\n const { repoTag } = this.props;\n const repoTagIdList = this.getRepoTagIdList();\n const isTagSelected = repoTagIdList.indexOf(repoTag.id) != -1;\n return (\n \n
    \n \n {repoTag.name}\n
    \n {isTagSelected && }\n \n );\n }\n\n}\n\nTagItem.propTypes = TagItemPropTypes;\n\nconst TagListPropTypes = {\n repoID: PropTypes.string.isRequired,\n filePath: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n createNewTag: PropTypes.func.isRequired,\n};\n\nclass TagList extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n repotagList: [],\n };\n }\n\n componentDidMount() {\n this.getRepoTagList();\n }\n\n getRepoTagList = () => {\n let repoID = this.props.repoID;\n seafileAPI.listRepoTags(repoID).then(res => {\n let repotagList = [];\n res.data.repo_tags.forEach(item => {\n let repoTag = new RepoTag(item);\n repotagList.push(repoTag);\n });\n this.setState({repotagList: repotagList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n {gettext('Select Tags')}\n \n
      \n {this.state.repotagList.map((repoTag) => {\n return (\n \n );\n })}\n
    \n \n \n {gettext('Create a new tag')}\n \n
    \n \n \n \n
    \n );\n }\n}\n\nTagList.propTypes = TagListPropTypes;\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n filePath: PropTypes.string.isRequired,\n fileTagList: PropTypes.array.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n onFileTagChanged: PropTypes.func.isRequired,\n};\n\nclass EditFileTagDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isCreateRepoTagShow: false,\n isListRepoTagShow: true,\n };\n }\n\n createNewTag = () => {\n this.setState({\n isCreateRepoTagShow: !this.state.isCreateRepoTagShow,\n isListRepoTagShow: !this.state.isListRepoTagShow,\n });\n };\n\n onRepoTagCreated = (repoTagID) => {\n let {repoID, filePath} = this.props;\n seafileAPI.addFileTag(repoID, filePath, repoTagID).then(() => {\n this.props.onFileTagChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n {this.state.isListRepoTagShow &&\n \n }\n {this.state.isCreateRepoTagShow &&\n \n }\n \n );\n }\n}\n\nEditFileTagDialog.propTypes = propTypes;\n\nexport default EditFileTagDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport Lightbox from '@seafile/react-image-lightbox';\nimport '@seafile/react-image-lightbox/style.css';\n\nconst propTypes = {\n imageItems: PropTypes.array.isRequired,\n imageIndex: PropTypes.number.isRequired,\n closeImagePopup: PropTypes.func.isRequired,\n moveToPrevImage: PropTypes.func.isRequired,\n moveToNextImage: PropTypes.func.isRequired\n};\n\nclass ImageDialog extends React.Component {\n\n render() {\n const imageItems = this.props.imageItems;\n const imageIndex = this.props.imageIndex;\n const imageItemsLength = imageItems.length;\n const name = imageItems[imageIndex].name;\n const imageTitle = `${name} (${imageIndex + 1}/${imageItemsLength})`;\n\n return (\n \n );\n }\n}\n\nImageDialog.propTypes = propTypes;\n\nexport default ImageDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport copy from '../copy-to-clipboard';\nimport { gettext } from '../../utils/constants';\nimport toaster from '../../components/toast';\n\nconst propTypes = {\n link: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass ShareAdminLink extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n copyToClipboard = () => {\n copy(this.props.link);\n this.props.toggleDialog();\n toaster.success(gettext('The link is copied to the clipboard.'), {duration: 2});\n };\n\n render() {\n const { link, toggleDialog } = this.props;\n return (\n \n {gettext('Link')}\n \n {link}\n \n \n \n \n \n \n );\n }\n}\n\nShareAdminLink.propTypes = propTypes;\n\nexport default ShareAdminLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { gettext, fileServerRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../loading';\n\nconst propTypes = {\n data: PropTypes.object,\n token: PropTypes.string,\n path: PropTypes.string.isRequired,\n repoID: PropTypes.string,\n target: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array\n ]),\n toggleDialog: PropTypes.func.isRequired\n};\n\nlet interval;\n\nclass ZipDownloadDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true,\n errorMsg: '',\n zipProgress: null\n };\n }\n\n componentDidMount() {\n const { token, path, repoID, target } = this.props;\n let getZipTask;\n if (token) {\n getZipTask = target.length ?\n seafileAPI.getShareLinkDirentsZipTask(token, path, target) :\n seafileAPI.getShareLinkZipTask(token, path);\n } else {\n getZipTask = seafileAPI.zipDownload(repoID, path, target);\n }\n getZipTask.then((res) => {\n const zipToken = res.data['zip_token'];\n this.setState({\n isLoading: false,\n errorMsg: '',\n zipToken: zipToken\n });\n this.queryZipProgress();\n interval = setInterval(this.queryZipProgress, 1000);\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n }\n\n queryZipProgress = () => {\n const zipToken = this.state.zipToken;\n seafileAPI.queryZipProgress(zipToken).then((res) => {\n const data = res.data;\n if (data.failed == 1) {\n clearInterval(interval);\n this.setState({\n isLoading: false,\n errorMsg: data.failed_reason\n });\n } else {\n this.setState({\n zipProgress: data.total == 0 ? '100%' : (data.zipped/data.total*100).toFixed(2) + '%'\n });\n if (data['total'] == data['zipped']) {\n clearInterval(interval);\n this.props.toggleDialog();\n location.href = `${fileServerRoot}zip/${zipToken}`;\n }\n }\n }).catch((error) => {\n clearInterval(interval);\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n };\n\n cancelZipTask = () => {\n const zipToken = this.state.zipToken;\n seafileAPI.cancelZipTask(zipToken).then((res) => {\n // do nothing\n }).catch((error) => {\n // do nothing\n });\n };\n\n toggleDialog = () => {\n const zipProgress = this.state.zipProgress;\n if (zipProgress && zipProgress != '100%') {\n clearInterval(interval);\n this.cancelZipTask();\n }\n this.props.toggleDialog();\n };\n\n render() {\n return (\n \n {gettext('Download')}\n \n \n \n \n );\n }\n}\n\nclass Content extends React.Component {\n\n render() {\n const {isLoading, errorMsg, zipProgress} = this.props.data;\n\n if (isLoading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n return

    {`${gettext('Packaging...')} ${zipProgress}`}

    ;\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object,\n};\n\nZipDownloadDialog.propTypes = propTypes;\n\nexport default ZipDownloadDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport listener from '../context-menu/globalEventListener';\nimport { Dropdown, ButtonDropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n tagName: PropTypes.string,\n item: PropTypes.object.isRequired,\n toggleClass: PropTypes.string,\n isHandleContextMenuEvent: PropTypes.bool,\n getMenuList: PropTypes.func.isRequired,\n onMenuItemClick: PropTypes.func.isRequired,\n freezeItem: PropTypes.func,\n unfreezeItem: PropTypes.func,\n};\n\nclass ItemDropdownMenu extends React.Component {\n\n static defaultProps = {\n isHandleContextMenuEvent: true,\n toggleClass: 'sf2-icon-caret-down'\n };\n\n constructor(props) {\n super(props);\n this.state = {\n menuList: [],\n isItemMenuShow: false,\n };\n }\n\n componentDidMount() {\n if (this.props.isHandleContextMenuEvent) {\n this.listenerId = listener.register(this.onShowMenu, this.onHideMenu);\n }\n let { item } = this.props;\n let menuList = this.props.getMenuList(item);\n this.setState({menuList: menuList});\n }\n\n componentWillReceiveProps(nextProps) { // for toolbar item operation\n let { item } = nextProps;\n if (item.name !== this.props.item.name) {\n let menuList = this.props.getMenuList(item);\n this.setState({menuList: menuList});\n }\n }\n\n componentWillUnmount() {\n if (this.props.isHandleContextMenuEvent && this.listenerId) {\n listener.unregister(this.listenerId);\n }\n }\n\n onShowMenu = () => {\n // nothing todo\n };\n\n onHideMenu = () => {\n if (this.state.isItemMenuShow) {\n this.setState({isItemMenuShow: false});\n if (typeof(this.props.unfreezeItem) === 'function') {\n this.props.unfreezeItem();\n }\n }\n };\n\n onDropdownToggleKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.onDropdownToggleClick(e);\n }\n };\n\n onDropdownToggleClick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n this.toggleOperationMenu();\n };\n\n toggleOperationMenu = () => {\n this.setState(\n {isItemMenuShow: !this.state.isItemMenuShow},\n () => {\n if (this.state.isItemMenuShow && typeof(this.props.freezeItem) === 'function') {\n this.props.freezeItem();\n } else if (!this.state.isItemMenuShow && typeof(this.props.unfreezeItem) === 'function') {\n this.props.unfreezeItem();\n }\n }\n );\n };\n\n onMenuItemKeyDown = (e) => {\n if (e.key == 'Enter' || e.key == 'Space') {\n this.onMenuItemClick(e);\n }\n };\n\n onMenuItemClick = (event) => {\n let operation = Utils.getEventData(event, 'toggle');\n let item = this.props.item;\n this.props.onMenuItemClick(operation, event, item);\n };\n\n render() {\n let menuList = this.state.menuList;\n let { toggleClass, tagName } = this.props;\n toggleClass = 'sf-dropdown-toggle ' + toggleClass;\n\n if (!menuList.length) {\n return '';\n }\n\n if (tagName && tagName === 'button') {\n return (\n \n \n \n \n {menuList.map((menuItem, index) => {\n if (menuItem === 'Divider') {\n return ;\n } else {\n return (\n {menuItem.value}\n );\n }\n })}\n \n \n );\n }\n\n return (\n \n \n \n {menuList.map((menuItem, index) => {\n if (menuItem === 'Divider') {\n return ;\n } else {\n return (\n {menuItem.value}\n );\n }\n })}\n \n \n );\n }\n}\n\nItemDropdownMenu.propTypes = propTypes;\n\nexport default ItemDropdownMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport '../css/icon.css';\n\nconst importAll = (requireContext) => {\n requireContext.keys().forEach(requireContext);\n};\ntry {\n importAll(require.context('../assets/icons', true, /\\.svg$/));\n} catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n}\n\nconst Icon = (props) => {\n const { className, symbol } = props;\n const iconClass = `seafile-multicolor-icon seafile-multicolor-icon-${symbol} ${className || ''}`;\n return (\n \n \n \n );\n};\n\nIcon.propTypes = {\n symbol: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport default Icon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../utils/constants';\nimport { Utils } from '../utils/utils';\nimport toaster from './toast';\n\nconst propTypes = {\n hasSuffix: PropTypes.bool,\n name: PropTypes.string.isRequired,\n onRenameConfirm: PropTypes.func.isRequired,\n onRenameCancel: PropTypes.func.isRequired,\n};\n\nclass Rename extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n name: props.name\n };\n this.inputRef = React.createRef();\n }\n\n componentDidMount() {\n this.inputRef.current.focus();\n if (this.props.hasSuffix) {\n var endIndex = this.props.name.lastIndexOf('.');\n this.inputRef.current.setSelectionRange(0, endIndex, 'forward');\n } else {\n this.inputRef.current.setSelectionRange(0, -1);\n }\n // ensure real dom has been rendered, then listen the click event\n setTimeout(() => {\n document.addEventListener('click', this.onClick);\n }, 1);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.onClick);\n }\n\n onClick = (e) => {\n if (!this.inputRef.current.contains(e.target)) {\n this.onRenameConfirm();\n }\n };\n\n onChange = (e) => {\n this.setState({name: e.target.value});\n };\n\n onKeyDown = (e) => {\n if (e.keyCode === Utils.keyCodes.enter) {\n this.onRenameConfirm(e);\n } else if (e.keyCode === Utils.keyCodes.esc) {\n this.onRenameCancel(e);\n }\n e.nativeEvent.stopImmediatePropagation();\n };\n\n onRenameConfirm = (e) => {\n e && e.nativeEvent.stopImmediatePropagation();\n let newName = this.state.name.trim();\n if (newName === this.props.name) {\n this.props.onRenameCancel();\n return;\n }\n\n let { isValid, errMessage } = this.validateInput();\n if (!isValid) {\n toaster.danger(errMessage);\n this.props.onRenameCancel();\n } else {\n this.props.onRenameConfirm(newName);\n }\n };\n\n onRenameCancel = (e) => {\n e.nativeEvent.stopImmediatePropagation();\n this.props.onRenameCancel();\n };\n\n validateInput = () => {\n let newName = this.state.name.trim();\n let isValid = true;\n let errMessage = '';\n if (!newName) {\n isValid = false;\n errMessage = gettext('Name is required.');\n return { isValid, errMessage };\n }\n\n if (newName.indexOf('/') > -1) {\n isValid = false;\n errMessage = gettext('Name should not include ' + '\\'/\\'' + '.');\n return { isValid, errMessage };\n }\n\n return { isValid, errMessage };\n };\n\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\nRename.propTypes = propTypes;\n\nexport default Rename;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport moment from 'moment';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n currentTag: PropTypes.object.isRequired,\n toggleCancel: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n updateUsedRepoTags: PropTypes.func,\n onFileTagChanged: PropTypes.func,\n shareLinkToken: PropTypes.string,\n enableFileDownload: PropTypes.bool\n};\n\nclass ListTaggedFilesDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n taggedFileList: [],\n };\n }\n\n onFileTagChanged = (TaggedFile) => {\n const path = TaggedFile.parent_path;\n const dirent = {name: TaggedFile.filename};\n let direntPath = path === '/' ? path + TaggedFile.filename : path + '/' + TaggedFile.filename;\n this.props.onFileTagChanged(dirent, direntPath);\n };\n\n onDeleteTaggedFile = (taggedFile) => {\n let repoID = this.props.repoID;\n let fileTagID = taggedFile.file_tag_id;\n seafileAPI.deleteFileTag(repoID, fileTagID).then(res => {\n this.getTaggedFiles();\n this.props.updateUsedRepoTags();\n if ((this.props.onFileTagChanged) && !taggedFile.file_deleted) this.onFileTagChanged(taggedFile);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n componentDidMount() {\n this.getTaggedFiles();\n }\n\n getTaggedFiles = () => {\n let { repoID, currentTag, shareLinkToken } = this.props;\n let request = shareLinkToken ?\n seafileAPI.getShareLinkTaggedFiles(shareLinkToken, currentTag.id) :\n seafileAPI.listTaggedFiles(repoID, currentTag.id);\n request.then(res => {\n let taggedFileList = [];\n res.data.tagged_files !== undefined &&\n res.data.tagged_files.forEach(file => {\n let taggedFile = file;\n taggedFileList.push(taggedFile);\n });\n this.setState({\n taggedFileList: taggedFileList,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let taggedFileList = this.state.taggedFileList;\n return (\n \n {gettext('Tagged Files')}\n \n \n \n \n \n \n \n \n \n \n \n {taggedFileList.map((taggedFile, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Name')}{gettext('Size')}{gettext('Last Update')}
    \n
    \n \n \n \n
    \n );\n }\n}\n\nListTaggedFilesDialog.propTypes = propTypes;\n\nexport default ListTaggedFilesDialog;\n\nconst TaggedFilePropTypes = {\n repoID: PropTypes.string.isRequired,\n taggedFile: PropTypes.object,\n onDeleteTaggedFile: PropTypes.func.isRequired,\n shareLinkToken: PropTypes.string,\n enableFileDownload: PropTypes.bool\n};\n\nclass TaggedFile extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = ({\n active: false,\n });\n }\n\n onMouseEnter = () => {\n this.setState({\n active: true\n });\n };\n\n onMouseLeave = () => {\n this.setState({\n active: false\n });\n };\n\n deleteFile = (e) => {\n e.preventDefault();\n this.props.onDeleteTaggedFile(this.props.taggedFile);\n };\n\n render() {\n const { taggedFile, shareLinkToken, enableFileDownload } = this.props;\n\n let path = taggedFile.parent_path ? Utils.joinPath(taggedFile.parent_path, taggedFile.filename) : '';\n let href = shareLinkToken ?\n siteRoot + 'd/' + shareLinkToken + '/files/?p=' + Utils.encodePath(path) :\n siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(path);\n\n return (\n \n {taggedFile.file_deleted ?\n \n {taggedFile.filename}{' '}\n {gettext('deleted')}\n \n \n :\n \n {taggedFile.filename}\n {Utils.bytesToSize(taggedFile.size)}\n {moment.unix(taggedFile.mtime).fromNow()}\n \n }\n \n {!shareLinkToken &&\n \n }\n {(shareLinkToken && enableFileDownload) &&\n \n }\n \n \n );\n }\n}\n\nTaggedFile.propTypes = TaggedFilePropTypes;\n","import moment from 'moment';\n\nclass Draft {\n\n constructor(item) {\n this.created = item.created_at;\n this.createdStr = moment((new Date(item.created_at)).getTime()).format('YYYY-MM-DD HH:mm');\n this.id = item.id;\n this.ownerNickname = item.owner_nickname;\n this.originRepoID = item.origin_repo_id;\n this.draftFilePath = item.draft_file_path;\n }\n}\n\nexport default Draft;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport moment from 'moment';\nimport editorUtilities from '../../utils/editor-utilities';\nimport toaster from '../../components/toast';\nimport { Utils } from '../../utils/utils';\nimport Draft from '../../models/draft';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nclass ListRepoDraftsDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n drafts: [],\n };\n }\n\n componentDidMount() {\n seafileAPI.listRepoDrafts(this.props.repoID).then(res => {\n let drafts = res.data.drafts.map(item => {\n let draft = new Draft(item);\n return draft;\n });\n this.setState({\n drafts: drafts\n });\n });\n }\n\n onDeleteDraftItem = (draft) => {\n editorUtilities.deleteDraft(draft.id).then(() => {\n let drafts = this.state.drafts.filter(item => {\n return item.id !== draft.id;\n });\n this.setState({drafts: drafts});\n let msg = gettext('Successfully deleted draft %(draft)s.');\n msg = msg.replace('%(draft)s', draft.draftFilePath);\n toaster.success(msg);\n }).catch(() => {\n let msg = gettext('Failed to delete draft %(draft)s.');\n msg = msg.replace('%(draft)s', draft.draftFilePath);\n toaster.danger(msg);\n });\n };\n\n toggle = () => {\n this.props.toggle();\n };\n\n render() {\n return (\n \n {gettext('Drafts')}\n \n \n \n \n \n \n \n \n \n \n \n {this.state.drafts.map((item, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Name')}{gettext('Owner')}{gettext('Last Update')}
    \n
    \n \n \n \n
    \n );\n }\n}\n\nListRepoDraftsDialog.propTypes = propTypes;\n\nexport default ListRepoDraftsDialog;\n\nconst DraftItemPropTypes = {\n draftItem: PropTypes.object,\n onDeleteDraftItem: PropTypes.func.isRequired,\n};\n\nclass DraftItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = ({\n active: false,\n });\n }\n\n onMouseEnter = () => {\n this.setState({\n active: true\n });\n };\n\n onMouseLeave = () => {\n this.setState({\n active: false\n });\n };\n\n render() {\n const draftItem = this.props.draftItem;\n let href = siteRoot + 'drafts/' + draftItem.id + '/';\n let className = this.state.active ? 'action-icon sf2-icon-x3' : 'action-icon vh sf2-icon-x3';\n return (\n \n \n {Utils.getFileName(draftItem.draftFilePath)}\n \n {draftItem.ownerNickname}\n {moment(draftItem.createdStr).fromNow()}\n \n \n \n \n );\n }\n}\n\nDraftItem.propTypes = DraftItemPropTypes;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { MarkdownViewer } from '@seafile/seafile-editor';\nimport Loading from '../../components/loading';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, mediaUrl } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../toast';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n filePath: PropTypes.string.isRequired,\n fileName: PropTypes.string.isRequired,\n href: PropTypes.string,\n toggleCancel: PropTypes.func.isRequired,\n};\n\nclass ReadmeDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n readmeContent: null,\n isLoading: true,\n };\n }\n\n componentDidMount() {\n seafileAPI.getFileDownloadLink(this.props.repoID, this.props.filePath).then(res => {\n seafileAPI.getFileContent(res.data).then(res => {\n this.setState({\n readmeContent: res.data,\n isLoading: false,\n });\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n render() {\n return (\n \n {this.props.fileName}\n \n \n \n {this.state.isLoading ?\n :\n \n }\n \n \n \n \n \n );\n }\n}\n\nReadmeDialog.propTypes = propTypes;\n\nexport default ReadmeDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ModalPortal from './modal-portal';\nimport ListTaggedFilesDialog from './dialog/list-taggedfiles-dialog';\nimport ListRepoDraftsDialog from './dialog/list-repo-drafts-dialog';\nimport ReadmeDialog from './dialog/readme-dialog';\nimport { siteRoot, gettext } from '../utils/constants';\nimport { Utils } from '../utils/utils';\n\nimport '../css/repo-info-bar.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n currentPath: PropTypes.string.isRequired,\n usedRepoTags: PropTypes.array.isRequired,\n readmeMarkdown: PropTypes.object,\n draftCounts: PropTypes.number,\n updateUsedRepoTags: PropTypes.func,\n onFileTagChanged: PropTypes.func,\n className: PropTypes.string,\n shareLinkToken: PropTypes.string,\n enableFileDownload: PropTypes.bool\n};\n\nclass RepoInfoBar extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n currentTag: null,\n isListTaggedFileShow: false,\n showRepoDrafts: false,\n showReadmeDialog: false,\n };\n }\n\n onListTaggedFiles = (currentTag) => {\n this.setState({\n currentTag: currentTag,\n isListTaggedFileShow: !this.state.isListTaggedFileShow,\n });\n };\n\n onCloseDialog = () => {\n this.setState({\n isListTaggedFileShow: false\n });\n };\n\n toggleDrafts = () => {\n this.setState({\n showRepoDrafts: !this.state.showRepoDrafts\n });\n };\n\n toggleReadme = () => {\n this.setState({\n showReadmeDialog: !this.state.showReadmeDialog\n });\n };\n\n render() {\n let { repoID, currentPath, usedRepoTags, readmeMarkdown, draftCounts, className } = this.props;\n\n // to be compatible with the existing code\n if (readmeMarkdown === undefined) {\n readmeMarkdown = null;\n }\n if (draftCounts === undefined) {\n draftCounts = 0;\n }\n\n let href = readmeMarkdown !== null ? siteRoot + 'lib/' + repoID + '/file' + Utils.joinPath(currentPath, readmeMarkdown.name) + '?mode=edit' : '';\n let filePath = readmeMarkdown !== null ? currentPath + readmeMarkdown.name : '';\n return (\n
    \n {usedRepoTags.length > 0 && (\n
      \n {usedRepoTags.map((usedRepoTag) => {\n return (\n
    • \n \n {usedRepoTag.name}\n \n
    • \n );\n })}\n
    \n )}\n
    0 && readmeMarkdown) ? 'file-info-list mt-1' : 'file-info-list'}>\n {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) > 1) &&\n \n \n {readmeMarkdown.name}\n \n }\n {(readmeMarkdown !== null && parseInt(readmeMarkdown.size) < 2) &&\n \n \n {readmeMarkdown.name}\n \n }\n {draftCounts > 0 &&\n \n \n {gettext('draft')}\n \n \n }\n
    \n {this.state.isListTaggedFileShow && (\n \n \n \n )}\n\n {this.state.showRepoDrafts && (\n \n \n \n )}\n\n {this.state.showReadmeDialog && (\n \n \n \n )}\n
    \n );\n }\n}\n\nRepoInfoBar.propTypes = propTypes;\n\nexport default RepoInfoBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { permission } from '../../utils/constants';\nimport TextTranslation from '../../utils/text-translation';\nimport ItemDropdownMenu from '../dropdown-menu/item-dropdown-menu';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n userPerm: PropTypes.string,\n node: PropTypes.object.isRequired,\n currentPath: PropTypes.string.isRequired,\n paddingLeft: PropTypes.number.isRequired,\n isNodeMenuShow: PropTypes.bool.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onNodeClick: PropTypes.func.isRequired,\n onNodeExpanded: PropTypes.func.isRequired,\n onNodeCollapse: PropTypes.func.isRequired,\n onNodeDragStart: PropTypes.func.isRequired,\n freezeItem: PropTypes.func.isRequired,\n unfreezeItem: PropTypes.func.isRequired,\n onMenuItemClick: PropTypes.func,\n onNodeDragMove: PropTypes.func,\n onNodeDrop: PropTypes.func,\n handleContextClick: PropTypes.func.isRequired,\n onNodeDragEnter: PropTypes.func.isRequired,\n onNodeDragLeave:PropTypes.func.isRequired,\n};\n\nclass TreeNodeView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isHighlight: false,\n isShowOperationMenu: false,\n isNodeDropShow: false,\n };\n const { userPerm } = props;\n this.canDrag = userPerm === 'rw';\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (isCustomPermission) {\n const { modify } = customPermission.permission;\n this.canDrag = modify;\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.isItemFreezed) {\n this.setState({\n isShowOperationMenu: false,\n isHighlight: false,\n });\n }\n }\n\n onMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isShowOperationMenu: true,\n isHighlight: true,\n });\n }\n };\n\n onMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isShowOperationMenu: true,\n isHighlight: true,\n });\n }\n };\n\n onMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isShowOperationMenu: false,\n isHighlight: false,\n });\n }\n };\n\n onNodeClick = () => {\n const { node } = this.props;\n const { object } = node;\n if (object.isDir()) {\n this.props.onNodeClick(this.props.node);\n return;\n }\n const { isCustomPermission, customPermission } = Utils.getUserPermission(object.permission);\n if (isCustomPermission) {\n const { preview: canPreview, modify: canModify } = customPermission.permission;\n if (!canPreview && !canModify) return;\n }\n this.props.onNodeClick(this.props.node);\n };\n\n onLoadToggle = (e) => {\n e.stopPropagation();\n let { node } = this.props;\n if (node.isExpanded) {\n this.props.onNodeCollapse(node);\n } else {\n this.props.onNodeExpanded(node);\n }\n };\n\n onNodeDragStart = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n this.props.onNodeDragStart(e, this.props.node);\n };\n\n onNodeDragEnter = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n if (this.props.node.object.type === 'dir') {\n this.setState({isNodeDropShow: true});\n }\n this.props.onNodeDragEnter(e, this.props.node);\n };\n\n onNodeDragMove = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n this.props.onNodeDragMove(e);\n };\n\n onNodeDragLeave = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n this.setState({isNodeDropShow: false});\n this.props.onNodeDragLeave(e, this.props.node);\n };\n\n onNodeDrop = (e) => {\n if (Utils.isIEBrower() || !this.canDrag) {\n return false;\n }\n e.stopPropagation();\n this.setState({isNodeDropShow: false});\n this.props.onNodeDrop(e, this.props.node);\n };\n\n unfreezeItem = () => {\n this.setState({isShowOperationMenu: false});\n this.props.unfreezeItem();\n };\n\n onMenuItemClick = (operation, event, node) => {\n this.props.onMenuItemClick(operation, node);\n };\n\n onItemMouseDown = (event) => {\n event.stopPropagation();\n if (event.button === 2) {\n return;\n }\n };\n\n onItemContextMenu = (event) => {\n this.handleContextClick(event);\n };\n\n handleContextClick = (event) => {\n this.props.handleContextClick(event, this.props.node);\n this.setState({isShowOperationMenu: false});\n };\n\n getNodeTypeAndIcon = () => {\n let { node } = this.props;\n let icon = '';\n let type = '';\n if (node.object.type === 'dir') {\n icon = ;\n type = 'dir';\n } else {\n let index = node.object.name.lastIndexOf('.');\n if (index === -1) {\n icon = ;\n type = 'file';\n } else {\n let suffix = node.object.name.slice(index).toLowerCase();\n if (suffix === '.png' || suffix === '.jpg' || suffix === '.jpeg' || suffix === '.gif' || suffix === '.bmp') {\n icon = ;\n type = 'image';\n }\n else if (suffix === '.md' || suffix === '.markdown') {\n icon = ;\n type = 'file';\n }\n else {\n icon = ;\n type = 'file';\n }\n }\n }\n return {icon, type};\n };\n\n calculateMenuList = (node) => {\n let { NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE, OPEN_VIA_CLIENT} = TextTranslation;\n\n let menuList = [RENAME, DELETE, COPY, MOVE, OPEN_VIA_CLIENT];\n if (node.object.type === 'dir') {\n menuList = [NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE];\n }\n\n const { userPerm } = this.props;\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (!isCustomPermission) {\n return menuList;\n }\n\n menuList = [];\n const { create: canCreate, modify: canModify, delete: canDelete, copy: canCopy } = customPermission.permission;\n if (node.object.type === 'dir') {\n canCreate && menuList.push(NEW_FOLDER, NEW_FILE);\n }\n\n canCopy && menuList.push(COPY);\n canModify && menuList.push(MOVE, RENAME);\n canDelete && menuList.push(DELETE);\n\n if (node.object.type !== 'dir') {\n menuList.push(OPEN_VIA_CLIENT);\n }\n\n return menuList;\n };\n\n renderChildren = () => {\n let { node, paddingLeft } = this.props;\n if (!node.hasChildren()) {\n return '';\n }\n return (\n
    \n {node.children.map(item => {\n return (\n \n );\n })}\n
    \n );\n };\n\n render() {\n let { currentPath, node, isNodeMenuShow, userPerm } = this.props;\n let { type, icon } = this.getNodeTypeAndIcon();\n let hlClass = this.state.isHighlight ? 'tree-node-inner-hover ' : '';\n if (node.path === currentPath) {\n hlClass = 'tree-node-hight-light';\n }\n\n const { isCustomPermission } = Utils.getUserPermission(userPerm);\n return (\n
    \n {node.isExpanded && this.renderChildren()}\n \n );\n }\n}\n\nTreeNodeView.propTypes = propTypes;\n\nexport default TreeNodeView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextTranslation from '../../utils/text-translation';\nimport TreeNodeView from './tree-node-view';\nimport ContextMenu from '../context-menu/context-menu';\nimport { hideMenu, showMenu } from '../context-menu/actions';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n userPerm: PropTypes.string,\n isNodeMenuShow: PropTypes.bool.isRequired,\n treeData: PropTypes.object.isRequired,\n currentPath: PropTypes.string.isRequired,\n onMenuItemClick: PropTypes.func,\n onNodeClick: PropTypes.func.isRequired,\n onNodeExpanded: PropTypes.func.isRequired,\n onNodeCollapse: PropTypes.func.isRequired,\n onItemMove: PropTypes.func,\n currentRepoInfo: PropTypes.object,\n selectedDirentList: PropTypes.array,\n onItemsMove: PropTypes.func,\n posX: PropTypes.number,\n posY: PropTypes.number,\n};\n\nconst PADDING_LEFT = 20;\n\nclass TreeView extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n isTreeViewDropTipShow: false,\n };\n const { userPerm } = props;\n this.canDrop = userPerm === 'rw';\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (isCustomPermission) {\n const { modify } = customPermission.permission;\n this.canDrop = modify;\n }\n }\n\n onItemMove = (repo, dirent, selectedPath, currentPath) => {\n this.props.onItemMove(repo, dirent, selectedPath, currentPath);\n };\n\n onNodeDragStart = (e, node) => {\n if (Utils.isIEBrower()) {\n return false;\n }\n let dragStartNodeData = {nodeDirent: node.object, nodeParentPath: node.parentNode.path, nodeRootPath: node.path};\n dragStartNodeData = JSON.stringify(dragStartNodeData);\n\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('applicaiton/drag-item-info', dragStartNodeData);\n };\n\n onNodeDragEnter = (e, node) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n e.persist();\n if (e.target.className === 'tree-view tree ') {\n this.setState({\n isTreeViewDropTipShow: true,\n });\n }\n };\n\n onNodeDragMove = (e) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n };\n\n onNodeDragLeave = (e, node) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n if (e.target.className === 'tree-view tree tree-view-drop') {\n this.setState({\n isTreeViewDropTipShow: false,\n });\n }\n };\n\n onContainerClick = (event) => {\n hideMenu();\n };\n\n onNodeClick = (node) => {\n hideMenu();\n this.props.onNodeClick(node);\n };\n\n onNodeDrop = (e, node) => {\n if (Utils.isIEBrower() || !this.canDrop) {\n return false;\n }\n if (e.dataTransfer.files.length) { // uploaded files\n return;\n }\n let dragStartNodeData = e.dataTransfer.getData('applicaiton/drag-item-info');\n dragStartNodeData = JSON.parse(dragStartNodeData);\n\n let {nodeDirent, nodeParentPath, nodeRootPath} = dragStartNodeData;\n let dropNodeData = node;\n\n if (Array.isArray(dragStartNodeData)) { //move items\n if (!dropNodeData) { //move items to root\n if (dragStartNodeData[0].nodeParentPath === '/') {\n this.setState({isTreeViewDropTipShow: false});\n return;\n }\n this.props.onItemsMove(this.props.currentRepoInfo, '/');\n this.setState({isTreeViewDropTipShow: false});\n return;\n }\n this.onMoveItems(dragStartNodeData, dropNodeData, this.props.currentRepoInfo, dropNodeData.path);\n return;\n }\n\n if (!dropNodeData) {\n if (nodeParentPath === '/') {\n this.setState({isTreeViewDropTipShow: false});\n return;\n }\n this.onItemMove(this.props.currentRepoInfo, nodeDirent, '/', nodeParentPath);\n this.setState({isTreeViewDropTipShow: false});\n return;\n }\n\n if (dropNodeData.object.type !== 'dir') {\n return;\n }\n\n if (nodeParentPath === dropNodeData.path) {\n return;\n }\n\n // copy the dirent to itself. eg: A/B -> A/B\n if (nodeParentPath === dropNodeData.parentNode.path) {\n if (dropNodeData.object.name === nodeDirent.name) {\n return;\n }\n }\n\n // copy the dirent to it's child. eg: A/B -> A/B/C\n if (dropNodeData.object.type === 'dir' && nodeDirent.type === 'dir') {\n if (dropNodeData.parentNode.path !== nodeParentPath) {\n let paths = Utils.getPaths(dropNodeData.path);\n if (paths.includes(nodeRootPath)) {\n return;\n }\n }\n }\n\n this.onItemMove(this.props.currentRepoInfo, nodeDirent, dropNodeData.path, nodeParentPath);\n };\n\n onMoveItems = (dragStartNodeData, dropNodeData, destRepo, destDirentPath) => {\n let direntPaths = [];\n let paths = Utils.getPaths(destDirentPath);\n dragStartNodeData.forEach(dirent => {\n let path = dirent.nodeRootPath;\n direntPaths.push(path);\n });\n\n if (dropNodeData.object.type !== 'dir') {\n return;\n }\n\n // move dirents to one of them. eg: A/B, A/C -> A/B\n if (direntPaths.some(direntPath => { return direntPath === destDirentPath;})) {\n return;\n }\n\n // move dirents to current path\n if (dragStartNodeData[0].nodeParentPath && dragStartNodeData[0].nodeParentPath === dropNodeData.path ) {\n return;\n }\n\n // move dirents to one of their child. eg: A/B, A/D -> A/B/C\n let isChildPath = direntPaths.some(direntPath => {\n return paths.includes(direntPath);\n });\n if (isChildPath) {\n return;\n }\n\n this.props.onItemsMove(destRepo, destDirentPath);\n };\n\n freezeItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n unfreezeItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n onMenuItemClick = (operation, node) => {\n this.props.onMenuItemClick(operation, node);\n hideMenu();\n };\n\n onMouseDown = (event) => {\n event.stopPropagation();\n if (event.button === 2) {\n return;\n }\n };\n\n onContextMenu = (event) => {\n event.preventDefault();\n\n let currentRepoInfo = this.props.currentRepoInfo;\n if (currentRepoInfo.permission !== 'admin' && currentRepoInfo.permission !== 'rw') {\n return '';\n }\n this.handleContextClick(event);\n };\n\n handleContextClick = (event, node) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.props.isNodeMenuShow) {\n return;\n }\n\n let x = event.clientX || (event.touches && event.touches[0].pageX);\n let y = event.clientY || (event.touches && event.touches[0].pageY);\n\n if (this.props.posX) {\n x -= this.props.posX;\n }\n if (this.props.posY) {\n y -= this.props.posY;\n }\n\n hideMenu();\n\n let menuList = this.getMenuList(node);\n\n let showMenuConfig = {\n id: 'tree-node-contextmenu',\n position: { x, y },\n target: event.target,\n currentObject: node,\n menuList: menuList,\n };\n\n showMenu(showMenuConfig);\n };\n\n getMenuList = (node) => {\n let menuList = [];\n\n let { NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE, OPEN_VIA_CLIENT } = TextTranslation;\n\n if (!node) {\n return [NEW_FOLDER, NEW_FILE];\n }\n\n if (node.object.type === 'dir') {\n menuList = [NEW_FOLDER, NEW_FILE, COPY, MOVE, RENAME, DELETE];\n } else {\n menuList = [RENAME, DELETE, COPY, MOVE, OPEN_VIA_CLIENT];\n }\n\n const { userPerm } = this.props;\n const { isCustomPermission, customPermission } = Utils.getUserPermission(userPerm);\n if (!isCustomPermission) {\n return menuList;\n }\n\n menuList = [];\n\n const { create: canCreate, modify: canModify, delete: canDelete, copy: canCopy } = customPermission.permission;\n if (!node) {\n canCreate && menuList.push(NEW_FOLDER, NEW_FILE);\n return menuList;\n }\n\n if (node.object.type === 'dir') {\n canCreate && menuList.push(NEW_FOLDER, NEW_FILE);\n }\n\n canCopy && menuList.push(COPY);\n canModify && menuList.push(MOVE, RENAME);\n canDelete && menuList.push(DELETE);\n\n if (node.object.type !== 'dir') {\n menuList.push(OPEN_VIA_CLIENT);\n }\n\n return menuList;\n };\n\n onShowMenu = () => {\n this.freezeItem();\n };\n\n onHideMenu = () => {\n this.unfreezeItem();\n };\n\n render() {\n return (\n \n \n \n \n );\n }\n}\n\nTreeView.propTypes = propTypes;\n\nexport default TreeView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { MarkdownViewer } from '@seafile/seafile-editor';\nimport { gettext, repoID, slug, serviceURL, isPublicWiki, sharedToken, mediaUrl } from '../utils/constants';\nimport Loading from './loading';\nimport { Utils } from '../utils/utils';\n\nconst propTypes = {\n children: PropTypes.object,\n isFileLoading: PropTypes.bool.isRequired,\n markdownContent: PropTypes.string.isRequired,\n latestContributor: PropTypes.string.isRequired,\n lastModified: PropTypes.string.isRequired,\n onLinkClick: PropTypes.func.isRequired,\n isWiki: PropTypes.bool,\n isTOCShow: PropTypes.bool,\n // for dir-column-file component(import repoID is undefined)\n repoID: PropTypes.string,\n path: PropTypes.string,\n};\n\nconst contentClass = 'wiki-page-content';\n\nclass WikiMarkdownViewer extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n activeTitleIndex: 0,\n };\n this.markdownContainer = React.createRef();\n this.links = [];\n this.titlesInfo = [];\n }\n\n componentDidMount() {\n // Bind event when first loaded\n this.links = document.querySelectorAll(`.${contentClass} a`);\n this.links.forEach(link => {\n link.addEventListener('click', this.onLinkClick);\n });\n\n this.getTitlesInfo();\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.markdownContent === nextProps.markdownContent) {\n return;\n }\n // Unbound event when updating\n this.links.forEach(link => {\n link.removeEventListener('click', this.onLinkClick);\n });\n }\n\n componentDidUpdate() {\n // Update completed, rebind event\n this.links = document.querySelectorAll(`.${contentClass} a`);\n this.links.forEach(link => {\n link.addEventListener('click', this.onLinkClick);\n });\n if (this.titlesInfo.length === 0) {\n this.getTitlesInfo();\n }\n }\n\n componentWillUnmount() {\n // Unbound events when the component is destroyed\n this.links.forEach(link => {\n link.removeEventListener('click', this.onLinkClick);\n });\n }\n\n getTitlesInfo = () => {\n let titlesInfo = [];\n const titleDom = document.querySelectorAll('h1[id^=\"user-content\"]')[0];\n if (titleDom) {\n const id = titleDom.getAttribute('id');\n let content = id && id.replace('user-content-', '');\n content = content ? `${content} - ${slug}` : slug;\n Utils.updateTabTitle(content);\n }\n let headingList = document.querySelectorAll('h2[id^=\"user-content\"], h3[id^=\"user-content\"]');\n for (let i = 0; i < headingList.length; i++) {\n titlesInfo.push(headingList[i].offsetTop);\n }\n this.titlesInfo = titlesInfo;\n };\n\n onLinkClick = (event) => {\n event.preventDefault();\n event.stopPropagation();\n let link = '';\n if (event.target.tagName !== 'A') {\n let target = event.target.parentNode;\n while (target.tagName !== 'A') {\n target = target.parentNode;\n }\n link = target.href;\n } else {\n link = event.target.href;\n }\n this.props.onLinkClick(link);\n };\n\n onScrollHandler = () => {\n const contentScrollTop = this.markdownContainer.current.scrollTop + 180;\n let titlesLength = this.titlesInfo.length;\n let activeTitleIndex;\n if (contentScrollTop <= this.titlesInfo[0]) {\n activeTitleIndex = 0;\n this.setState({activeTitleIndex: activeTitleIndex});\n return;\n }\n if (contentScrollTop > this.titlesInfo[titlesLength - 1]) {\n activeTitleIndex = this.titlesInfo.length - 1;\n this.setState({activeTitleIndex: activeTitleIndex});\n return;\n }\n for (let i = 0; i < titlesLength; i++) {\n if (contentScrollTop > this.titlesInfo[i]) {\n continue;\n } else {\n activeTitleIndex = i - 1;\n break;\n }\n }\n this.setState({activeTitleIndex: activeTitleIndex});\n };\n\n changeInlineNode = (item) => {\n let url, imagePath;\n\n if (item.type == 'image' && isPublicWiki) { // change image url\n url = item.data.src;\n const re = new RegExp(serviceURL + '/lib/' + repoID +'/file.*raw=1');\n // different repo\n if (re.test(url)) {\n // get image path\n let index = url.indexOf('/file');\n let index2 = url.indexOf('?');\n imagePath = url.substring(index + 5, index2);\n } else if (/^\\.\\.\\/*/.test(url) || /^\\.\\/*/.test(url)) {\n const path = this.props.path;\n const originalPath = path.slice(0, path.lastIndexOf('/')) + '/' + url;\n imagePath = Utils.pathNormalize(originalPath);\n } else {\n return;\n }\n item.data.src = serviceURL + '/view-image-via-public-wiki/?slug=' + slug + '&path=' + imagePath;\n } else if (item.type == 'link') { // change link url\n url = item.data.href;\n if (Utils.isInternalFileLink(url, repoID)) { // change file url\n if (Utils.isInternalMarkdownLink(url, repoID)) {\n let path = Utils.getPathFromInternalMarkdownLink(url, repoID);\n // replace url\n item.data.href = serviceURL + '/published/' + slug + path;\n } else {\n item.data.href = url.replace(/(.*)lib\\/([-0-9a-f]{36})\\/file(.*)/g, (match, p1, p2, p3) => {\n return `${p1}d/${sharedToken}/files/?p=${p3}&dl=1`;\n });\n }\n } else if (Utils.isInternalDirLink(url, repoID)) { // change dir url\n let path = Utils.getPathFromInternalDirLink(url, repoID);\n // replace url\n item.data.href = serviceURL + '/published/' + slug + path;\n }\n }\n\n return item;\n };\n\n modifyValueBeforeRender = (value) => {\n let newNodes = Utils.changeMarkdownNodes(value, this.changeInlineNode);\n return newNodes;\n };\n\n renderMarkdown = () => {\n let isTOCShow = true;\n if (this.props.isTOCShow === false) {\n isTOCShow = false;\n }\n if (this.props.isWiki) {\n return (\n \n );\n }\n\n return (\n \n );\n };\n\n render() {\n if (this.props.isFileLoading) {\n return ;\n }\n // In dir-column-file repoID is one of props, width is 100%; In wiki-viewer repoID is not props, width isn't 100%\n let contentClassName = `${this.props.repoID ? contentClass + ' w-100' : contentClass}`;\n return (\n
    \n
    \n {this.props.children}\n {this.renderMarkdown()}\n

    {gettext('Last modified by')} {this.props.latestContributor}, {this.props.lastModified}

    \n
    \n
    \n );\n }\n}\n\nconst defaultProps = {\n isWiki: false,\n};\n\nWikiMarkdownViewer.propTypes = propTypes;\nMarkdownViewer.defaultProps = defaultProps;\n\nexport default WikiMarkdownViewer;\n","module.exports = after\n\nfunction after(count, callback, err_cb) {\n var bail = false\n err_cb = err_cb || noop\n proxy.count = count\n\n return (count === 0) ? callback() : proxy\n\n function proxy(err, result) {\n if (proxy.count <= 0) {\n throw new Error('after called too many times')\n }\n --proxy.count\n\n // after first error, rest are passed to err_cb\n if (err) {\n bail = true\n callback(err)\n // future error callbacks will go to error handler\n callback = err_cb\n } else if (proxy.count === 0 && !bail) {\n callback(null, result)\n }\n }\n}\n\nfunction noop() {}\n","/**\n * An abstraction for slicing an arraybuffer even when\n * ArrayBuffer.prototype.slice is not supported\n *\n * @api public\n */\n\nmodule.exports = function(arraybuffer, start, end) {\n var bytes = arraybuffer.byteLength;\n start = start || 0;\n end = end || bytes;\n\n if (arraybuffer.slice) { return arraybuffer.slice(start, end); }\n\n if (start < 0) { start += bytes; }\n if (end < 0) { end += bytes; }\n if (end > bytes) { end = bytes; }\n\n if (start >= bytes || start >= end || bytes === 0) {\n return new ArrayBuffer(0);\n }\n\n var abv = new Uint8Array(arraybuffer);\n var result = new Uint8Array(end - start);\n for (var i = start, ii = 0; i < end; i++, ii++) {\n result[ii] = abv[i];\n }\n return result.buffer;\n};\n","\n/**\n * Expose `Backoff`.\n */\n\nmodule.exports = Backoff;\n\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\n\nBackoff.prototype.duration = function(){\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\n\nBackoff.prototype.reset = function(){\n this.attempts = 0;\n};\n\n/**\n * Set the minimum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMin = function(min){\n this.ms = min;\n};\n\n/**\n * Set the maximum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMax = function(max){\n this.max = max;\n};\n\n/**\n * Set the jitter\n *\n * @api public\n */\n\nBackoff.prototype.setJitter = function(jitter){\n this.jitter = jitter;\n};\n\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(chars){\n \"use strict\";\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = chars.indexOf(base64[i]);\n encoded2 = chars.indexOf(base64[i+1]);\n encoded3 = chars.indexOf(base64[i+2]);\n encoded4 = chars.indexOf(base64[i+3]);\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\");\n","/**\r\n * Create a blob builder even when vendor prefixes exist\r\n */\r\n\r\nvar BlobBuilder = typeof BlobBuilder !== 'undefined' ? BlobBuilder :\r\n typeof WebKitBlobBuilder !== 'undefined' ? WebKitBlobBuilder :\r\n typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder :\r\n typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : \r\n false;\r\n\r\n/**\r\n * Check if Blob constructor is supported\r\n */\r\n\r\nvar blobSupported = (function() {\r\n try {\r\n var a = new Blob(['hi']);\r\n return a.size === 2;\r\n } catch(e) {\r\n return false;\r\n }\r\n})();\r\n\r\n/**\r\n * Check if Blob constructor supports ArrayBufferViews\r\n * Fails in Safari 6, so we need to map to ArrayBuffers there.\r\n */\r\n\r\nvar blobSupportsArrayBufferView = blobSupported && (function() {\r\n try {\r\n var b = new Blob([new Uint8Array([1,2])]);\r\n return b.size === 2;\r\n } catch(e) {\r\n return false;\r\n }\r\n})();\r\n\r\n/**\r\n * Check if BlobBuilder is supported\r\n */\r\n\r\nvar blobBuilderSupported = BlobBuilder\r\n && BlobBuilder.prototype.append\r\n && BlobBuilder.prototype.getBlob;\r\n\r\n/**\r\n * Helper function that maps ArrayBufferViews to ArrayBuffers\r\n * Used by BlobBuilder constructor and old browsers that didn't\r\n * support it in the Blob constructor.\r\n */\r\n\r\nfunction mapArrayBufferViews(ary) {\r\n return ary.map(function(chunk) {\r\n if (chunk.buffer instanceof ArrayBuffer) {\r\n var buf = chunk.buffer;\r\n\r\n // if this is a subarray, make a copy so we only\r\n // include the subarray region from the underlying buffer\r\n if (chunk.byteLength !== buf.byteLength) {\r\n var copy = new Uint8Array(chunk.byteLength);\r\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\r\n buf = copy.buffer;\r\n }\r\n\r\n return buf;\r\n }\r\n\r\n return chunk;\r\n });\r\n}\r\n\r\nfunction BlobBuilderConstructor(ary, options) {\r\n options = options || {};\r\n\r\n var bb = new BlobBuilder();\r\n mapArrayBufferViews(ary).forEach(function(part) {\r\n bb.append(part);\r\n });\r\n\r\n return (options.type) ? bb.getBlob(options.type) : bb.getBlob();\r\n};\r\n\r\nfunction BlobConstructor(ary, options) {\r\n return new Blob(mapArrayBufferViews(ary), options || {});\r\n};\r\n\r\nif (typeof Blob !== 'undefined') {\r\n BlobBuilderConstructor.prototype = Blob.prototype;\r\n BlobConstructor.prototype = Blob.prototype;\r\n}\r\n\r\nmodule.exports = (function() {\r\n if (blobSupported) {\r\n return blobSupportsArrayBufferView ? Blob : BlobConstructor;\r\n } else if (blobBuilderSupported) {\r\n return BlobBuilderConstructor;\r\n } else {\r\n return undefined;\r\n }\r\n})();\r\n","/**\n * Slice reference.\n */\n\nvar slice = [].slice;\n\n/**\n * Bind `obj` to `fn`.\n *\n * @param {Object} obj\n * @param {Function|String} fn or string\n * @return {Function}\n * @api public\n */\n\nmodule.exports = function(obj, fn){\n if ('string' == typeof fn) fn = obj[fn];\n if ('function' != typeof fn) throw new Error('bind() requires a function');\n var args = slice.call(arguments, 2);\n return function(){\n return fn.apply(obj, args.concat(slice.call(arguments)));\n }\n};\n","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n // Remove event specific arrays for event types that no\r\n // one is subscribed for to avoid memory leak.\r\n if (callbacks.length === 0) {\r\n delete this._callbacks['$' + event];\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n\r\n var args = new Array(arguments.length - 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n args[i - 1] = arguments[i];\r\n }\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n","\nmodule.exports = function(a, b){\n var fn = function(){};\n fn.prototype = b.prototype;\n a.prototype = new fn;\n a.prototype.constructor = a;\n};","module.exports = (function () {\n if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')(); // eslint-disable-line no-new-func\n }\n})();\n","\nmodule.exports = require('./socket');\n\n/**\n * Exports parser\n *\n * @api public\n *\n */\nmodule.exports.parser = require('engine.io-parser');\n","/**\n * Module dependencies.\n */\n\nvar transports = require('./transports/index');\nvar Emitter = require('component-emitter');\nvar debug = require('debug')('engine.io-client:socket');\nvar index = require('indexof');\nvar parser = require('engine.io-parser');\nvar parseuri = require('parseuri');\nvar parseqs = require('parseqs');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Socket;\n\n/**\n * Socket constructor.\n *\n * @param {String|Object} uri or options\n * @param {Object} options\n * @api public\n */\n\nfunction Socket (uri, opts) {\n if (!(this instanceof Socket)) return new Socket(uri, opts);\n\n opts = opts || {};\n\n if (uri && 'object' === typeof uri) {\n opts = uri;\n uri = null;\n }\n\n if (uri) {\n uri = parseuri(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === 'https' || uri.protocol === 'wss';\n opts.port = uri.port;\n if (uri.query) opts.query = uri.query;\n } else if (opts.host) {\n opts.hostname = parseuri(opts.host).host;\n }\n\n this.secure = null != opts.secure ? opts.secure\n : (typeof location !== 'undefined' && 'https:' === location.protocol);\n\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? '443' : '80';\n }\n\n this.agent = opts.agent || false;\n this.hostname = opts.hostname ||\n (typeof location !== 'undefined' ? location.hostname : 'localhost');\n this.port = opts.port || (typeof location !== 'undefined' && location.port\n ? location.port\n : (this.secure ? 443 : 80));\n this.query = opts.query || {};\n if ('string' === typeof this.query) this.query = parseqs.decode(this.query);\n this.upgrade = false !== opts.upgrade;\n this.path = (opts.path || '/engine.io').replace(/\\/$/, '') + '/';\n this.forceJSONP = !!opts.forceJSONP;\n this.jsonp = false !== opts.jsonp;\n this.forceBase64 = !!opts.forceBase64;\n this.enablesXDR = !!opts.enablesXDR;\n this.withCredentials = false !== opts.withCredentials;\n this.timestampParam = opts.timestampParam || 't';\n this.timestampRequests = opts.timestampRequests;\n this.transports = opts.transports || ['polling', 'websocket'];\n this.transportOptions = opts.transportOptions || {};\n this.readyState = '';\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.policyPort = opts.policyPort || 843;\n this.rememberUpgrade = opts.rememberUpgrade || false;\n this.binaryType = null;\n this.onlyBinaryUpgrades = opts.onlyBinaryUpgrades;\n this.perMessageDeflate = false !== opts.perMessageDeflate ? (opts.perMessageDeflate || {}) : false;\n\n if (true === this.perMessageDeflate) this.perMessageDeflate = {};\n if (this.perMessageDeflate && null == this.perMessageDeflate.threshold) {\n this.perMessageDeflate.threshold = 1024;\n }\n\n // SSL options for Node.js client\n this.pfx = opts.pfx || undefined;\n this.key = opts.key || undefined;\n this.passphrase = opts.passphrase || undefined;\n this.cert = opts.cert || undefined;\n this.ca = opts.ca || undefined;\n this.ciphers = opts.ciphers || undefined;\n this.rejectUnauthorized = opts.rejectUnauthorized === undefined ? true : opts.rejectUnauthorized;\n this.forceNode = !!opts.forceNode;\n\n // detect ReactNative environment\n this.isReactNative = (typeof navigator !== 'undefined' && typeof navigator.product === 'string' && navigator.product.toLowerCase() === 'reactnative');\n\n // other options for Node.js or ReactNative client\n if (typeof self === 'undefined' || this.isReactNative) {\n if (opts.extraHeaders && Object.keys(opts.extraHeaders).length > 0) {\n this.extraHeaders = opts.extraHeaders;\n }\n\n if (opts.localAddress) {\n this.localAddress = opts.localAddress;\n }\n }\n\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n\n // set on heartbeat\n this.pingIntervalTimer = null;\n this.pingTimeoutTimer = null;\n\n this.open();\n}\n\nSocket.priorWebsocketSuccess = false;\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Socket.prototype);\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nSocket.protocol = parser.protocol; // this is an int\n\n/**\n * Expose deps for legacy compatibility\n * and standalone browser access.\n */\n\nSocket.Socket = Socket;\nSocket.Transport = require('./transport');\nSocket.transports = require('./transports/index');\nSocket.parser = require('engine.io-parser');\n\n/**\n * Creates transport of the given type.\n *\n * @param {String} transport name\n * @return {Transport}\n * @api private\n */\n\nSocket.prototype.createTransport = function (name) {\n debug('creating transport \"%s\"', name);\n var query = clone(this.query);\n\n // append engine.io protocol identifier\n query.EIO = parser.protocol;\n\n // transport name\n query.transport = name;\n\n // per-transport options\n var options = this.transportOptions[name] || {};\n\n // session id if we already have one\n if (this.id) query.sid = this.id;\n\n var transport = new transports[name]({\n query: query,\n socket: this,\n agent: options.agent || this.agent,\n hostname: options.hostname || this.hostname,\n port: options.port || this.port,\n secure: options.secure || this.secure,\n path: options.path || this.path,\n forceJSONP: options.forceJSONP || this.forceJSONP,\n jsonp: options.jsonp || this.jsonp,\n forceBase64: options.forceBase64 || this.forceBase64,\n enablesXDR: options.enablesXDR || this.enablesXDR,\n withCredentials: options.withCredentials || this.withCredentials,\n timestampRequests: options.timestampRequests || this.timestampRequests,\n timestampParam: options.timestampParam || this.timestampParam,\n policyPort: options.policyPort || this.policyPort,\n pfx: options.pfx || this.pfx,\n key: options.key || this.key,\n passphrase: options.passphrase || this.passphrase,\n cert: options.cert || this.cert,\n ca: options.ca || this.ca,\n ciphers: options.ciphers || this.ciphers,\n rejectUnauthorized: options.rejectUnauthorized || this.rejectUnauthorized,\n perMessageDeflate: options.perMessageDeflate || this.perMessageDeflate,\n extraHeaders: options.extraHeaders || this.extraHeaders,\n forceNode: options.forceNode || this.forceNode,\n localAddress: options.localAddress || this.localAddress,\n requestTimeout: options.requestTimeout || this.requestTimeout,\n protocols: options.protocols || void (0),\n isReactNative: this.isReactNative\n });\n\n return transport;\n};\n\nfunction clone (obj) {\n var o = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n o[i] = obj[i];\n }\n }\n return o;\n}\n\n/**\n * Initializes transport to use and starts probe.\n *\n * @api private\n */\nSocket.prototype.open = function () {\n var transport;\n if (this.rememberUpgrade && Socket.priorWebsocketSuccess && this.transports.indexOf('websocket') !== -1) {\n transport = 'websocket';\n } else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n var self = this;\n setTimeout(function () {\n self.emit('error', 'No transports available');\n }, 0);\n return;\n } else {\n transport = this.transports[0];\n }\n this.readyState = 'opening';\n\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n } catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n\n transport.open();\n this.setTransport(transport);\n};\n\n/**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @api private\n */\n\nSocket.prototype.setTransport = function (transport) {\n debug('setting transport %s', transport.name);\n var self = this;\n\n if (this.transport) {\n debug('clearing existing transport %s', this.transport.name);\n this.transport.removeAllListeners();\n }\n\n // set up transport\n this.transport = transport;\n\n // set up transport listeners\n transport\n .on('drain', function () {\n self.onDrain();\n })\n .on('packet', function (packet) {\n self.onPacket(packet);\n })\n .on('error', function (e) {\n self.onError(e);\n })\n .on('close', function () {\n self.onClose('transport close');\n });\n};\n\n/**\n * Probes a transport.\n *\n * @param {String} transport name\n * @api private\n */\n\nSocket.prototype.probe = function (name) {\n debug('probing transport \"%s\"', name);\n var transport = this.createTransport(name, { probe: 1 });\n var failed = false;\n var self = this;\n\n Socket.priorWebsocketSuccess = false;\n\n function onTransportOpen () {\n if (self.onlyBinaryUpgrades) {\n var upgradeLosesBinary = !this.supportsBinary && self.transport.supportsBinary;\n failed = failed || upgradeLosesBinary;\n }\n if (failed) return;\n\n debug('probe transport \"%s\" opened', name);\n transport.send([{ type: 'ping', data: 'probe' }]);\n transport.once('packet', function (msg) {\n if (failed) return;\n if ('pong' === msg.type && 'probe' === msg.data) {\n debug('probe transport \"%s\" pong', name);\n self.upgrading = true;\n self.emit('upgrading', transport);\n if (!transport) return;\n Socket.priorWebsocketSuccess = 'websocket' === transport.name;\n\n debug('pausing current transport \"%s\"', self.transport.name);\n self.transport.pause(function () {\n if (failed) return;\n if ('closed' === self.readyState) return;\n debug('changing transport and sending upgrade packet');\n\n cleanup();\n\n self.setTransport(transport);\n transport.send([{ type: 'upgrade' }]);\n self.emit('upgrade', transport);\n transport = null;\n self.upgrading = false;\n self.flush();\n });\n } else {\n debug('probe transport \"%s\" failed', name);\n var err = new Error('probe error');\n err.transport = transport.name;\n self.emit('upgradeError', err);\n }\n });\n }\n\n function freezeTransport () {\n if (failed) return;\n\n // Any callback called by transport should be ignored since now\n failed = true;\n\n cleanup();\n\n transport.close();\n transport = null;\n }\n\n // Handle any error that happens while probing\n function onerror (err) {\n var error = new Error('probe error: ' + err);\n error.transport = transport.name;\n\n freezeTransport();\n\n debug('probe transport \"%s\" failed because of error: %s', name, err);\n\n self.emit('upgradeError', error);\n }\n\n function onTransportClose () {\n onerror('transport closed');\n }\n\n // When the socket is closed while we're probing\n function onclose () {\n onerror('socket closed');\n }\n\n // When the socket is upgraded while we're probing\n function onupgrade (to) {\n if (transport && to.name !== transport.name) {\n debug('\"%s\" works - aborting \"%s\"', to.name, transport.name);\n freezeTransport();\n }\n }\n\n // Remove all listeners on the transport and on self\n function cleanup () {\n transport.removeListener('open', onTransportOpen);\n transport.removeListener('error', onerror);\n transport.removeListener('close', onTransportClose);\n self.removeListener('close', onclose);\n self.removeListener('upgrading', onupgrade);\n }\n\n transport.once('open', onTransportOpen);\n transport.once('error', onerror);\n transport.once('close', onTransportClose);\n\n this.once('close', onclose);\n this.once('upgrading', onupgrade);\n\n transport.open();\n};\n\n/**\n * Called when connection is deemed open.\n *\n * @api public\n */\n\nSocket.prototype.onOpen = function () {\n debug('socket open');\n this.readyState = 'open';\n Socket.priorWebsocketSuccess = 'websocket' === this.transport.name;\n this.emit('open');\n this.flush();\n\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if ('open' === this.readyState && this.upgrade && this.transport.pause) {\n debug('starting upgrade probes');\n for (var i = 0, l = this.upgrades.length; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n};\n\n/**\n * Handles a packet.\n *\n * @api private\n */\n\nSocket.prototype.onPacket = function (packet) {\n if ('opening' === this.readyState || 'open' === this.readyState ||\n 'closing' === this.readyState) {\n debug('socket receive: type \"%s\", data \"%s\"', packet.type, packet.data);\n\n this.emit('packet', packet);\n\n // Socket is live - any packet counts\n this.emit('heartbeat');\n\n switch (packet.type) {\n case 'open':\n this.onHandshake(JSON.parse(packet.data));\n break;\n\n case 'pong':\n this.setPing();\n this.emit('pong');\n break;\n\n case 'error':\n var err = new Error('server error');\n err.code = packet.data;\n this.onError(err);\n break;\n\n case 'message':\n this.emit('data', packet.data);\n this.emit('message', packet.data);\n break;\n }\n } else {\n debug('packet received with socket readyState \"%s\"', this.readyState);\n }\n};\n\n/**\n * Called upon handshake completion.\n *\n * @param {Object} handshake obj\n * @api private\n */\n\nSocket.prototype.onHandshake = function (data) {\n this.emit('handshake', data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.onOpen();\n // In case open handler closes socket\n if ('closed' === this.readyState) return;\n this.setPing();\n\n // Prolong liveness of socket on heartbeat\n this.removeListener('heartbeat', this.onHeartbeat);\n this.on('heartbeat', this.onHeartbeat);\n};\n\n/**\n * Resets ping timeout.\n *\n * @api private\n */\n\nSocket.prototype.onHeartbeat = function (timeout) {\n clearTimeout(this.pingTimeoutTimer);\n var self = this;\n self.pingTimeoutTimer = setTimeout(function () {\n if ('closed' === self.readyState) return;\n self.onClose('ping timeout');\n }, timeout || (self.pingInterval + self.pingTimeout));\n};\n\n/**\n * Pings server every `this.pingInterval` and expects response\n * within `this.pingTimeout` or closes connection.\n *\n * @api private\n */\n\nSocket.prototype.setPing = function () {\n var self = this;\n clearTimeout(self.pingIntervalTimer);\n self.pingIntervalTimer = setTimeout(function () {\n debug('writing ping packet - expecting pong within %sms', self.pingTimeout);\n self.ping();\n self.onHeartbeat(self.pingTimeout);\n }, self.pingInterval);\n};\n\n/**\n* Sends a ping packet.\n*\n* @api private\n*/\n\nSocket.prototype.ping = function () {\n var self = this;\n this.sendPacket('ping', function () {\n self.emit('ping');\n });\n};\n\n/**\n * Called on `drain` event\n *\n * @api private\n */\n\nSocket.prototype.onDrain = function () {\n this.writeBuffer.splice(0, this.prevBufferLen);\n\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n\n if (0 === this.writeBuffer.length) {\n this.emit('drain');\n } else {\n this.flush();\n }\n};\n\n/**\n * Flush write buffers.\n *\n * @api private\n */\n\nSocket.prototype.flush = function () {\n if ('closed' !== this.readyState && this.transport.writable &&\n !this.upgrading && this.writeBuffer.length) {\n debug('flushing %d packets in socket', this.writeBuffer.length);\n this.transport.send(this.writeBuffer);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = this.writeBuffer.length;\n this.emit('flush');\n }\n};\n\n/**\n * Sends a message.\n *\n * @param {String} message.\n * @param {Function} callback function.\n * @param {Object} options.\n * @return {Socket} for chaining.\n * @api public\n */\n\nSocket.prototype.write =\nSocket.prototype.send = function (msg, options, fn) {\n this.sendPacket('message', msg, options, fn);\n return this;\n};\n\n/**\n * Sends a packet.\n *\n * @param {String} packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} callback function.\n * @api private\n */\n\nSocket.prototype.sendPacket = function (type, data, options, fn) {\n if ('function' === typeof data) {\n fn = data;\n data = undefined;\n }\n\n if ('function' === typeof options) {\n fn = options;\n options = null;\n }\n\n if ('closing' === this.readyState || 'closed' === this.readyState) {\n return;\n }\n\n options = options || {};\n options.compress = false !== options.compress;\n\n var packet = {\n type: type,\n data: data,\n options: options\n };\n this.emit('packetCreate', packet);\n this.writeBuffer.push(packet);\n if (fn) this.once('flush', fn);\n this.flush();\n};\n\n/**\n * Closes the connection.\n *\n * @api private\n */\n\nSocket.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.readyState = 'closing';\n\n var self = this;\n\n if (this.writeBuffer.length) {\n this.once('drain', function () {\n if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n });\n } else if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n }\n\n function close () {\n self.onClose('forced close');\n debug('socket closing - telling transport to close');\n self.transport.close();\n }\n\n function cleanupAndClose () {\n self.removeListener('upgrade', cleanupAndClose);\n self.removeListener('upgradeError', cleanupAndClose);\n close();\n }\n\n function waitForUpgrade () {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n self.once('upgrade', cleanupAndClose);\n self.once('upgradeError', cleanupAndClose);\n }\n\n return this;\n};\n\n/**\n * Called upon transport error\n *\n * @api private\n */\n\nSocket.prototype.onError = function (err) {\n debug('socket error %j', err);\n Socket.priorWebsocketSuccess = false;\n this.emit('error', err);\n this.onClose('transport error', err);\n};\n\n/**\n * Called upon transport close.\n *\n * @api private\n */\n\nSocket.prototype.onClose = function (reason, desc) {\n if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState) {\n debug('socket close with reason: \"%s\"', reason);\n var self = this;\n\n // clear timers\n clearTimeout(this.pingIntervalTimer);\n clearTimeout(this.pingTimeoutTimer);\n\n // stop event from firing again for transport\n this.transport.removeAllListeners('close');\n\n // ensure transport won't stay open\n this.transport.close();\n\n // ignore further transport communication\n this.transport.removeAllListeners();\n\n // set ready state\n this.readyState = 'closed';\n\n // clear session id\n this.id = null;\n\n // emit close event\n this.emit('close', reason, desc);\n\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n self.writeBuffer = [];\n self.prevBufferLen = 0;\n }\n};\n\n/**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} server upgrades\n * @api private\n *\n */\n\nSocket.prototype.filterUpgrades = function (upgrades) {\n var filteredUpgrades = [];\n for (var i = 0, j = upgrades.length; i < j; i++) {\n if (~index(this.transports, upgrades[i])) filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n};\n","/**\n * Module dependencies.\n */\n\nvar parser = require('engine.io-parser');\nvar Emitter = require('component-emitter');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Transport;\n\n/**\n * Transport abstract constructor.\n *\n * @param {Object} options.\n * @api private\n */\n\nfunction Transport (opts) {\n this.path = opts.path;\n this.hostname = opts.hostname;\n this.port = opts.port;\n this.secure = opts.secure;\n this.query = opts.query;\n this.timestampParam = opts.timestampParam;\n this.timestampRequests = opts.timestampRequests;\n this.readyState = '';\n this.agent = opts.agent || false;\n this.socket = opts.socket;\n this.enablesXDR = opts.enablesXDR;\n this.withCredentials = opts.withCredentials;\n\n // SSL options for Node.js client\n this.pfx = opts.pfx;\n this.key = opts.key;\n this.passphrase = opts.passphrase;\n this.cert = opts.cert;\n this.ca = opts.ca;\n this.ciphers = opts.ciphers;\n this.rejectUnauthorized = opts.rejectUnauthorized;\n this.forceNode = opts.forceNode;\n\n // results of ReactNative environment detection\n this.isReactNative = opts.isReactNative;\n\n // other options for Node.js client\n this.extraHeaders = opts.extraHeaders;\n this.localAddress = opts.localAddress;\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Transport.prototype);\n\n/**\n * Emits an error.\n *\n * @param {String} str\n * @return {Transport} for chaining\n * @api public\n */\n\nTransport.prototype.onError = function (msg, desc) {\n var err = new Error(msg);\n err.type = 'TransportError';\n err.description = desc;\n this.emit('error', err);\n return this;\n};\n\n/**\n * Opens the transport.\n *\n * @api public\n */\n\nTransport.prototype.open = function () {\n if ('closed' === this.readyState || '' === this.readyState) {\n this.readyState = 'opening';\n this.doOpen();\n }\n\n return this;\n};\n\n/**\n * Closes the transport.\n *\n * @api private\n */\n\nTransport.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.doClose();\n this.onClose();\n }\n\n return this;\n};\n\n/**\n * Sends multiple packets.\n *\n * @param {Array} packets\n * @api private\n */\n\nTransport.prototype.send = function (packets) {\n if ('open' === this.readyState) {\n this.write(packets);\n } else {\n throw new Error('Transport not open');\n }\n};\n\n/**\n * Called upon open\n *\n * @api private\n */\n\nTransport.prototype.onOpen = function () {\n this.readyState = 'open';\n this.writable = true;\n this.emit('open');\n};\n\n/**\n * Called with data.\n *\n * @param {String} data\n * @api private\n */\n\nTransport.prototype.onData = function (data) {\n var packet = parser.decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n};\n\n/**\n * Called with a decoded packet.\n */\n\nTransport.prototype.onPacket = function (packet) {\n this.emit('packet', packet);\n};\n\n/**\n * Called upon close.\n *\n * @api private\n */\n\nTransport.prototype.onClose = function () {\n this.readyState = 'closed';\n this.emit('close');\n};\n","/**\n * Module dependencies\n */\n\nvar XMLHttpRequest = require('./xmlhttprequest');\nvar XHR = require('./polling-xhr');\nvar JSONP = require('./polling-jsonp');\nvar websocket = require('./websocket');\n\n/**\n * Export transports.\n */\n\nexports.polling = polling;\nexports.websocket = websocket;\n\n/**\n * Polling transport polymorphic constructor.\n * Decides on xhr vs jsonp based on feature detection.\n *\n * @api private\n */\n\nfunction polling (opts) {\n var xhr;\n var xd = false;\n var xs = false;\n var jsonp = false !== opts.jsonp;\n\n if (typeof location !== 'undefined') {\n var isSSL = 'https:' === location.protocol;\n var port = location.port;\n\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? 443 : 80;\n }\n\n xd = opts.hostname !== location.hostname || port !== opts.port;\n xs = opts.secure !== isSSL;\n }\n\n opts.xdomain = xd;\n opts.xscheme = xs;\n xhr = new XMLHttpRequest(opts);\n\n if ('open' in xhr && !opts.forceJSONP) {\n return new XHR(opts);\n } else {\n if (!jsonp) throw new Error('JSONP disabled');\n return new JSONP(opts);\n }\n}\n","/**\n * Module requirements.\n */\n\nvar Polling = require('./polling');\nvar inherit = require('component-inherit');\nvar globalThis = require('../globalThis');\n\n/**\n * Module exports.\n */\n\nmodule.exports = JSONPPolling;\n\n/**\n * Cached regular expressions.\n */\n\nvar rNewline = /\\n/g;\nvar rEscapedNewline = /\\\\n/g;\n\n/**\n * Global JSONP callbacks.\n */\n\nvar callbacks;\n\n/**\n * Noop.\n */\n\nfunction empty () { }\n\n/**\n * JSONP Polling constructor.\n *\n * @param {Object} opts.\n * @api public\n */\n\nfunction JSONPPolling (opts) {\n Polling.call(this, opts);\n\n this.query = this.query || {};\n\n // define global callbacks array if not present\n // we do this here (lazily) to avoid unneeded global pollution\n if (!callbacks) {\n // we need to consider multiple engines in the same page\n callbacks = globalThis.___eio = (globalThis.___eio || []);\n }\n\n // callback identifier\n this.index = callbacks.length;\n\n // add callback to jsonp global\n var self = this;\n callbacks.push(function (msg) {\n self.onData(msg);\n });\n\n // append to query string\n this.query.j = this.index;\n\n // prevent spurious errors from being emitted when the window is unloaded\n if (typeof addEventListener === 'function') {\n addEventListener('beforeunload', function () {\n if (self.script) self.script.onerror = empty;\n }, false);\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(JSONPPolling, Polling);\n\n/*\n * JSONP only supports binary as base64 encoded strings\n */\n\nJSONPPolling.prototype.supportsBinary = false;\n\n/**\n * Closes the socket.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doClose = function () {\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n if (this.form) {\n this.form.parentNode.removeChild(this.form);\n this.form = null;\n this.iframe = null;\n }\n\n Polling.prototype.doClose.call(this);\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doPoll = function () {\n var self = this;\n var script = document.createElement('script');\n\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n script.async = true;\n script.src = this.uri();\n script.onerror = function (e) {\n self.onError('jsonp poll error', e);\n };\n\n var insertAt = document.getElementsByTagName('script')[0];\n if (insertAt) {\n insertAt.parentNode.insertBefore(script, insertAt);\n } else {\n (document.head || document.body).appendChild(script);\n }\n this.script = script;\n\n var isUAgecko = 'undefined' !== typeof navigator && /gecko/i.test(navigator.userAgent);\n\n if (isUAgecko) {\n setTimeout(function () {\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n document.body.removeChild(iframe);\n }, 100);\n }\n};\n\n/**\n * Writes with a hidden iframe.\n *\n * @param {String} data to send\n * @param {Function} called upon flush.\n * @api private\n */\n\nJSONPPolling.prototype.doWrite = function (data, fn) {\n var self = this;\n\n if (!this.form) {\n var form = document.createElement('form');\n var area = document.createElement('textarea');\n var id = this.iframeId = 'eio_iframe_' + this.index;\n var iframe;\n\n form.className = 'socketio';\n form.style.position = 'absolute';\n form.style.top = '-1000px';\n form.style.left = '-1000px';\n form.target = id;\n form.method = 'POST';\n form.setAttribute('accept-charset', 'utf-8');\n area.name = 'd';\n form.appendChild(area);\n document.body.appendChild(form);\n\n this.form = form;\n this.area = area;\n }\n\n this.form.action = this.uri();\n\n function complete () {\n initIframe();\n fn();\n }\n\n function initIframe () {\n if (self.iframe) {\n try {\n self.form.removeChild(self.iframe);\n } catch (e) {\n self.onError('jsonp polling iframe removal error', e);\n }\n }\n\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n var html = '\n \n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["_window$shared$pageOp","window","shared","pageOptions","repoID","filePath","err","commitID","fileType","fileName","sharedToken","SharedFileViewSpreadsheet","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsx","SharedFileView","content","FileContent","React","_React$Component2","_super2","props","_this","call","setIframeHeight","e","iframe","currentTarget","height","contentDocument","body","scrollHeight","state","isLoading","errorMsg","_this2","queryStatus","seafileAPI","queryOfficeFileConvertStatus","toLowerCase","then","res","data","setState","setTimeout","gettext","catch","error","response","_this$state","this","SharedFileViewTip","Loading","className","children","id","title","src","concat","siteRoot","encodeURIComponent","onLoad","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js b/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js new file mode 100644 index 00000000000..f0ed36d5bf3 --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[554],{35326:function(e,n,t){var r=t(15671),u=t(43144),i=t(60136),s=t(29388),o=t(72791),a=t(54164),f=t(21393),c=t(87556),l=t(42383),d=(t(77937),t(80184)),p=window.shared.pageOptions,h=p.err,Z=p.fileExt,v=p.fileContent,x=function(e){(0,i.Z)(t,e);var n=(0,s.Z)(t);function t(){return(0,r.Z)(this,t),n.apply(this,arguments)}return(0,u.Z)(t,[{key:"render",value:function(){return h?(0,d.jsx)(c.Z,{}):(0,d.jsx)("div",{className:"shared-file-view-body text-file-view",children:(0,d.jsx)(l.Z,{fileExt:Z,value:v})})}}]),t}(o.Component),w=function(e){(0,i.Z)(t,e);var n=(0,s.Z)(t);function t(){return(0,r.Z)(this,t),n.apply(this,arguments)}return(0,u.Z)(t,[{key:"render",value:function(){return(0,d.jsx)(f.Z,{content:(0,d.jsx)(x,{})})}}]),t}(o.Component);a.render((0,d.jsx)(w,{}),document.getElementById("wrapper"))}},function(e){e.O(0,[351],(function(){return n=35326,e(e.s=n);var n}));e.O()}]); +//# sourceMappingURL=sharedFileViewText.2fe6341c.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js.map b/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js.map new file mode 100644 index 00000000000..207a2c96666 --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewText.2fe6341c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/sharedFileViewText.2fe6341c.js","mappings":"qPAOAA,EAAsCC,OAAOC,OAAOC,YAA5CC,EAAGJ,EAAHI,IAAKC,EAAOL,EAAPK,QAASC,EAAWN,EAAXM,YAEhBC,EAAW,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAJ,GAAA,SAAAA,IAAA,OAAAK,EAAAA,EAAAA,GAAA,KAAAL,GAAAG,EAAAG,MAAA,KAAAC,UAAA,CAWd,OAXcC,EAAAA,EAAAA,GAAAR,EAAA,EAAAS,IAAA,SAAAC,MACf,WACE,OAAIb,GACKc,EAAAA,EAAAA,KAACC,EAAAA,EAAiB,KAIzBD,EAAAA,EAAAA,KAAA,OAAKE,UAAU,uCAAsCC,UACnDH,EAAAA,EAAAA,KAACI,EAAAA,EAAiB,CAACjB,QAASA,EAASY,MAAOX,KAGlD,KAACC,CAAA,CAXc,CAASgB,EAAAA,WAcpBC,EAAkB,SAAAC,IAAAhB,EAAAA,EAAAA,GAAAe,EAAAC,GAAA,IAAAC,GAAAf,EAAAA,EAAAA,GAAAa,GAAA,SAAAA,IAAA,OAAAZ,EAAAA,EAAAA,GAAA,KAAAY,GAAAE,EAAAb,MAAA,KAAAC,UAAA,CAGrB,OAHqBC,EAAAA,EAAAA,GAAAS,EAAA,EAAAR,IAAA,SAAAC,MACtB,WACE,OAAOC,EAAAA,EAAAA,KAACS,EAAAA,EAAc,CAACC,SAASV,EAAAA,EAAAA,KAACX,EAAW,KAC9C,KAACiB,CAAA,CAHqB,CAASD,EAAAA,WAMjCM,EAAAA,QAAgBX,EAAAA,EAAAA,KAACM,EAAkB,IAAKM,SAASC,eAAe,W","sources":["shared-file-view-text.js"],"sourcesContent":["import React from 'react';\nimport ReactDom from 'react-dom';\nimport SharedFileView from './components/shared-file-view/shared-file-view';\nimport SharedFileViewTip from './components/shared-file-view/shared-file-view-tip';\nimport SeafileCodeMirror from './components/seafile-codemirror';\nimport './css/text-file-view.css';\n\nconst { err, fileExt, fileContent } = window.shared.pageOptions;\n\nclass FileContent extends React.Component {\n render() {\n if (err) {\n return ;\n }\n\n return (\n
    \n \n
    \n );\n }\n}\n\nclass SharedFileViewText extends React.Component {\n render() {\n return } />;\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["_window$shared$pageOp","window","shared","pageOptions","err","fileExt","fileContent","FileContent","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsx","SharedFileViewTip","className","children","SeafileCodeMirror","React","SharedFileViewText","_React$Component2","_super2","SharedFileView","content","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js b/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js new file mode 100644 index 00000000000..53dafd581c3 --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[146],{41304:function(n,e,r){var t=r(15671),u=r(43144),o=r(60136),s=r(29388),i=r(72791),a=r(54164),c=r(21393),f=r(87556),p=r(80184),h=window.shared.pageOptions.err,Z=function(n){(0,o.Z)(r,n);var e=(0,s.Z)(r);function r(){return(0,t.Z)(this,r),e.apply(this,arguments)}return(0,u.Z)(r,[{key:"render",value:function(){return(0,p.jsx)(c.Z,{content:(0,p.jsx)(d,{})})}}]),r}(i.Component),d=function(n){(0,o.Z)(r,n);var e=(0,s.Z)(r);function r(){return(0,t.Z)(this,r),e.apply(this,arguments)}return(0,u.Z)(r,[{key:"render",value:function(){if(h)return(0,p.jsx)(f.Z,{})}}]),r}(i.Component);a.render((0,p.jsx)(Z,{}),document.getElementById("wrapper"))}},function(n){n.O(0,[351],(function(){return e=41304,n(n.s=e);var e}));n.O()}]); +//# sourceMappingURL=sharedFileViewUnknown.a0e468e0.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js.map b/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js.map new file mode 100644 index 00000000000..0d57de13db0 --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewUnknown.a0e468e0.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/sharedFileViewUnknown.a0e468e0.js","mappings":"+NAKQA,EAAQC,OAAOC,OAAOC,YAAtBH,IAEFI,EAAmB,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAJ,GAAA,SAAAA,IAAA,OAAAK,EAAAA,EAAAA,GAAA,KAAAL,GAAAG,EAAAG,MAAA,KAAAC,UAAA,CAGtB,OAHsBC,EAAAA,EAAAA,GAAAR,EAAA,EAAAS,IAAA,SAAAC,MACvB,WACE,OAAOC,EAAAA,EAAAA,KAACC,EAAAA,EAAc,CAACC,SAASF,EAAAA,EAAAA,KAACG,EAAW,KAC9C,KAACd,CAAA,CAHsB,CAASe,EAAAA,WAM5BD,EAAW,SAAAE,IAAAd,EAAAA,EAAAA,GAAAY,EAAAE,GAAA,IAAAC,GAAAb,EAAAA,EAAAA,GAAAU,GAAA,SAAAA,IAAA,OAAAT,EAAAA,EAAAA,GAAA,KAAAS,GAAAG,EAAAX,MAAA,KAAAC,UAAA,CAKd,OALcC,EAAAA,EAAAA,GAAAM,EAAA,EAAAL,IAAA,SAAAC,MACf,WACE,GAAId,EACF,OAAOe,EAAAA,EAAAA,KAACO,EAAAA,EAAiB,GAE7B,KAACJ,CAAA,CALc,CAASC,EAAAA,WAQ1BI,EAAAA,QAAgBR,EAAAA,EAAAA,KAACX,EAAmB,IAAKoB,SAASC,eAAe,W","sources":["shared-file-view-unknown.js"],"sourcesContent":["import React from 'react';\nimport ReactDom from 'react-dom';\nimport SharedFileView from './components/shared-file-view/shared-file-view';\nimport SharedFileViewTip from './components/shared-file-view/shared-file-view-tip';\n\nconst { err } = window.shared.pageOptions;\n\nclass SharedFileViewImage extends React.Component {\n render() {\n return } />;\n }\n}\n\nclass FileContent extends React.Component {\n render() {\n if (err) {\n return ;\n }\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["err","window","shared","pageOptions","SharedFileViewImage","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsx","SharedFileView","content","FileContent","React","_React$Component2","_super2","SharedFileViewTip","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js b/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js new file mode 100644 index 00000000000..5b6111fca4d --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[809],{75572:function(e,n,r){var t=r(1413),s=r(15671),a=r(43144),u=r(60136),o=r(29388),i=r(72791),c=r(54164),l=r(21393),d=r(87556),f=r(34737),p=(r(32607),r(80184)),h=window.shared.pageOptions,Z=h.rawPath,v=h.err,x=function(e){(0,u.Z)(r,e);var n=(0,o.Z)(r);function r(){return(0,s.Z)(this,r),n.apply(this,arguments)}return(0,a.Z)(r,[{key:"render",value:function(){return(0,p.jsx)(l.Z,{content:(0,p.jsx)(y,{})})}}]),r}(i.Component),y=function(e){(0,u.Z)(r,e);var n=(0,o.Z)(r);function r(){return(0,s.Z)(this,r),n.apply(this,arguments)}return(0,a.Z)(r,[{key:"render",value:function(){if(v)return(0,p.jsx)(d.Z,{});var e={autoplay:!1,controls:!0,preload:"auto",playbackRates:[.5,1,1.5,2],sources:[{src:Z}]};return(0,p.jsx)("div",{className:"shared-file-view-body d-flex",children:(0,p.jsx)("div",{className:"flex-1",children:(0,p.jsx)(f.Z,(0,t.Z)({},e))})})}}]),r}(i.Component);c.render((0,p.jsx)(x,{}),document.getElementById("wrapper"))}},function(e){e.O(0,[351],(function(){return n=75572,e(e.s=n);var n}));e.O()}]); +//# sourceMappingURL=sharedFileViewVideo.6af2fa31.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js.map b/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js.map new file mode 100644 index 00000000000..b5a3c321a57 --- /dev/null +++ b/media/assets/frontend/static/js/sharedFileViewVideo.6af2fa31.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/sharedFileViewVideo.6af2fa31.js","mappings":"+PAQAA,EAAyBC,OAAOC,OAAOC,YAA/BC,EAAOJ,EAAPI,QAASC,EAAGL,EAAHK,IAEXC,EAAmB,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAJ,GAAA,SAAAA,IAAA,OAAAK,EAAAA,EAAAA,GAAA,KAAAL,GAAAG,EAAAG,MAAA,KAAAC,UAAA,CAGtB,OAHsBC,EAAAA,EAAAA,GAAAR,EAAA,EAAAS,IAAA,SAAAC,MACvB,WACE,OAAOC,EAAAA,EAAAA,KAACC,EAAAA,EAAc,CAACC,SAASF,EAAAA,EAAAA,KAACG,EAAW,KAC9C,KAACd,CAAA,CAHsB,CAASe,EAAAA,WAM5BD,EAAW,SAAAE,IAAAd,EAAAA,EAAAA,GAAAY,EAAAE,GAAA,IAAAC,GAAAb,EAAAA,EAAAA,GAAAU,GAAA,SAAAA,IAAA,OAAAT,EAAAA,EAAAA,GAAA,KAAAS,GAAAG,EAAAX,MAAA,KAAAC,UAAA,CAsBd,OAtBcC,EAAAA,EAAAA,GAAAM,EAAA,EAAAL,IAAA,SAAAC,MACf,WACE,GAAIX,EACF,OAAOY,EAAAA,EAAAA,KAACO,EAAAA,EAAiB,IAG3B,IAAMC,EAAiB,CACrBC,UAAU,EACVC,UAAU,EACVC,QAAS,OACTC,cAAe,CAAC,GAAK,EAAG,IAAK,GAC7BC,QAAS,CAAC,CACRC,IAAK3B,KAGT,OACEa,EAAAA,EAAAA,KAAA,OAAKe,UAAU,+BAA8BC,UAC3ChB,EAAAA,EAAAA,KAAA,OAAKe,UAAU,SAAQC,UACrBhB,EAAAA,EAAAA,KAACiB,EAAAA,GAAWC,EAAAA,EAAAA,GAAA,GAAMV,OAI1B,KAACL,CAAA,CAtBc,CAASC,EAAAA,WAyB1Be,EAAAA,QAAgBnB,EAAAA,EAAAA,KAACX,EAAmB,IAAK+B,SAASC,eAAe,W","sources":["shared-file-view-video.js"],"sourcesContent":["import React from 'react';\nimport ReactDom from 'react-dom';\nimport SharedFileView from './components/shared-file-view/shared-file-view';\nimport SharedFileViewTip from './components/shared-file-view/shared-file-view-tip';\nimport VideoPlayer from './components/video-player';\n\nimport './css/video-file-view.css';\n\nconst { rawPath, err } = window.shared.pageOptions;\n\nclass SharedFileViewImage extends React.Component {\n render() {\n return } />;\n }\n}\n\nclass FileContent extends React.Component {\n render() {\n if (err) {\n return ;\n }\n\n const videoJsOptions = {\n autoplay: false,\n controls: true,\n preload: 'auto',\n playbackRates: [0.5, 1, 1.5, 2],\n sources: [{\n src: rawPath\n }]\n };\n return (\n
    \n
    \n \n
    \n
    \n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n"],"names":["_window$shared$pageOp","window","shared","pageOptions","rawPath","err","SharedFileViewImage","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","_jsx","SharedFileView","content","FileContent","React","_React$Component2","_super2","SharedFileViewTip","videoJsOptions","autoplay","controls","preload","playbackRates","sources","src","className","children","VideoPlayer","_objectSpread","ReactDom","document","getElementById"],"sourceRoot":""} \ No newline at end of file diff --git a/media/assets/frontend/static/js/sysAdmin.e682dbd6.js b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js new file mode 100644 index 00000000000..065542e96b7 --- /dev/null +++ b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js @@ -0,0 +1,3 @@ +/*! For license information please see sysAdmin.e682dbd6.js.LICENSE.txt */ +(self.webpackChunkseahub_frontend=self.webpackChunkseahub_frontend||[]).push([[149],{72451:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var i=n(15671),r=n(43144),s=n(60136),a=n(29388),o=n(72791),l=n(62298),c=n(4292),h=n(95234),d=n(72426),u=n.n(d),g=n(53585),p=n(22228),m=n(95996),f=n(63446),v=n(80184),x=function(e){(0,s.Z)(n,e);var t=(0,a.Z)(n);function n(e){var r;return(0,i.Z)(this,n),(r=t.call(this,e)).state={isLoading:!0,errorMsg:""},r}return(0,r.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=this.props,n=t.repoID,i=t.commitID;p.I.getCommitDetails(n,i).then((function(t){e.setState({isLoading:!1,errorMsg:"",commitDetails:t.data})})).catch((function(t){var n=m.c.getErrorMsg(t);e.setState({isLoading:!1,errorMsg:n})}))}},{key:"render",value:function(){var e=this.props,t=e.toggleDialog,n=e.commitTime;return(0,v.jsxs)(l.Z,{isOpen:!0,centered:!0,toggle:t,children:[(0,v.jsx)(c.Z,{toggle:t,children:(0,g.ih)("Modification Details")}),(0,v.jsxs)(h.Z,{children:[(0,v.jsx)("p",{className:"small",children:u()(n).format("YYYY-MM-DD HH:mm:ss")}),(0,v.jsx)(y,{data:this.state})]})]})}}]),n}(o.Component),y=function(e){(0,s.Z)(n,e);var t=(0,a.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var r=arguments.length,s=new Array(r),a=0;at:tt:t0&&(0,v.jsx)(G,{labels:t,filesData:n,suggestedMaxNumbers:10,isLegendStatus:!0,chartTitle:(0,p.ih)("File Operations")})]})]})]})}}]),n}(l.Component)),Q=q,K=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getActiviesFiles=function(e,t,n){var r=i.state.filesData;D.I.sysAdminStatisticStorages(e,t,n).then((function(e){var t=[],n=[],s=e.data;if(Array.isArray(s)){s.forEach((function(e){t.push(C()(e.datetime).format("YYYY-MM-DD")),n.push(e.total_storage)}));var a={label:(0,p.ih)("Total Storage"),data:n,borderColor:"#fd913a",backgroundColor:"#fd913a"};r=[a]}i.setState({filesData:r,labels:t,isLoading:!1})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={filesData:[],labels:[],isLoading:!0},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.labels,n=e.filesData,r=e.isLoading;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(L,{currentItem:"storageStatistic"}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsx)(H,{getActiviesFiles:this.getActiviesFiles}),r&&(0,v.jsx)(I.Z,{}),!r&&t.length>0&&(0,v.jsx)(G,{labels:t,filesData:n,suggestedMaxNumbers:1e7,isTitleCallback:!0,isTicksCallback:!0,isLegendStatus:!1,chartTitle:(0,p.ih)("Total Storage")})]})]})]})}}]),n}(l.Component),X=K,$=n(97326),J=n(54555),ee=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.type,n=e.sortBy,i="asc"==e.sortOrder?(0,v.jsx)("span",{className:"fas fa-caret-up"}):(0,v.jsx)("span",{className:"fas fa-caret-down"});return(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"16%",children:"user"==t?(0,p.ih)("User"):(0,p.ih)("Organization")}),(0,v.jsx)("th",{width:"11%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"sync_file_upload"),children:[(0,p.ih)("Sync Upload")," ","sync_file_upload"===n&&i]})}),(0,v.jsx)("th",{width:"14%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"sync_file_download"),children:[(0,p.ih)("Sync Download")," ","sync_file_download"===n&&i]})}),(0,v.jsx)("th",{width:"11%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"web_file_upload"),children:[(0,p.ih)("Web Upload")," ","web_file_upload"===n&&i]})}),(0,v.jsx)("th",{width:"14%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"web_file_download"),children:[(0,p.ih)("Web Download")," ","web_file_download"===n&&i]})}),(0,v.jsx)("th",{width:"17%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"link_file_upload"),children:[(0,p.ih)("Share link upload")," ","link_file_upload"===n&&i]})}),(0,v.jsx)("th",{width:"17%",children:(0,v.jsxs)("div",{className:"d-block table-sort-op cursor-pointer",onClick:this.props.sortItems.bind(this,"link_file_download"),children:[(0,p.ih)("Share link download")," ","link_file_download"===n&&i]})})]})}),(0,v.jsx)("tbody",{children:this.props.children})]})}}]),n}(l.Component),te=ee,ne=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a0&&i.map((function(e,t){return(0,v.jsx)(ie,{userTrafficItem:e,type:"org"},t)}))}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:r,hasNextPage:s,curPerPage:a,resetPerPage:this.resetPerPage})]})}}]),n}(l.Component),ae=se,oe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.getTrafficList(i.state.month,i.state.currentPage-1)},i.getNextPage=function(){i.getTrafficList(i.state.month,i.state.currentPage+1)},i.handleChange=function(e){var t=e.target.value;i.setState({month:t})},i.handleKeyPress=function(e){var t=i.state.month;if("Enter"===e.key){if(!/^([012]\d{3})(0[1-9]|1[012])$/.test(t)){var n=(0,p.ih)("Invalid month, should be yyyymm.");return void i.setState({errorMessage:n})}i.getTrafficList(t,i.initPage),e.target.blur(),e.preventDefault()}},i.getTrafficList=function(e,t){var n=i.state,r=n.perPage,s=n.sortBy,a=n.sortOrder,o="asc"==a?s:"".concat(s,"_").concat(a);i.setState({isLoading:!0,errorMessage:""}),D.I.sysAdminListUserTraffic(e,t,r,o).then((function(n){var r=n.data.user_monthly_traffic_list.slice(0);i.setState({month:e,currentPage:t,userTrafficList:r,hasNextPage:n.data.has_next_page,isLoading:!1})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.sortItems=function(e){i.setState({sortBy:e,sortOrder:"asc"==i.state.sortOrder?"desc":"asc"},(function(){var e=i.state,t=e.month,n=e.currentPage;i.getTrafficList(t,n)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getTrafficList(i.initMonth,i.initPage)}))},i.state={userTrafficList:[],hasNextPage:!1,perPage:25,currentPage:1,month:C()().format("YYYYMM"),isLoading:!1,errorMessage:"",sortBy:"link_file_download",sortOrder:"desc"},i.initPage=1,i.initMonth=C()().format("YYYYMM"),i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getTrafficList(e.initMonth,e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.isLoading,n=e.errorMessage,i=e.userTrafficList,r=e.currentPage,s=e.hasNextPage,a=e.perPage,o=e.sortBy,c=e.sortOrder;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("div",{className:"d-flex align-items-center mt-4",children:[(0,v.jsx)("span",{className:"statistic-reports-tip",children:(0,p.ih)("Month:")}),(0,v.jsx)(J.Z,{className:"statistic-reports-input",defaultValue:C()().format("YYYYMM"),onChange:this.handleChange,onKeyPress:this.handleKeyPress}),n&&(0,v.jsx)("div",{className:"error",children:n})]}),t&&(0,v.jsx)(I.Z,{}),!t&&(0,v.jsx)(te,{type:"user",sortItems:this.sortItems,sortBy:o,sortOrder:c,children:i.length>0&&i.map((function(e,t){return(0,v.jsx)(ie,{userTrafficItem:e,type:"user"},t)}))}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:r,hasNextPage:s,curPerPage:a,resetPerPage:this.resetPerPage})]})}}]),n}(l.Component),le=oe,ce=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).changeTabActive=function(e){i.setState({tabActive:e})},i.getActiviesFiles=function(e,t,n){D.I.sysAdminStatisticTraffic(e,t,n).then((function(e){var t=[],n=[],r=[],s=[],a=[],o=[],l=[],c=[],h=[],d=e.data;if(Array.isArray(d)){d.forEach((function(e){t.push(C()(e.datetime).format("YYYY-MM-DD")),s.push(e["link-file-upload"]),a.push(e["link-file-download"]),o.push(e["sync-file-upload"]),l.push(e["sync-file-download"]),c.push(e["web-file-upload"]),h.push(e["web-file-download"]),n.push(e["link-file-upload"]+e["sync-file-upload"]+e["web-file-upload"]),r.push(e["link-file-download"]+e["sync-file-download"]+e["web-file-download"])}));var u=[{label:(0,p.ih)("Upload"),data:s,borderColor:"#fd913a",backgroundColor:"#fd913a"},{label:(0,p.ih)("Download"),data:a,borderColor:"#57cd6b",backgroundColor:"#57cd6b"}],g=[{label:(0,p.ih)("Upload"),data:o,borderColor:"#fd913a",backgroundColor:"#fd913a"},{label:(0,p.ih)("Download"),data:l,borderColor:"#57cd6b",backgroundColor:"#57cd6b"}],m=[{label:(0,p.ih)("Upload"),data:c,borderColor:"#fd913a",backgroundColor:"#fd913a"},{label:(0,p.ih)("Download"),data:h,borderColor:"#57cd6b",backgroundColor:"#57cd6b"}],f=[{label:(0,p.ih)("Upload"),data:n,borderColor:"#fd913a",backgroundColor:"#fd913a"},{label:(0,p.ih)("Download"),data:r,borderColor:"#57cd6b",backgroundColor:"#57cd6b"}];i.setState({linkData:u,syncData:g,webData:m,filesData:f,labels:t,isLoading:!1})}})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.renderCommonTool=function(){var e=i.state.tabActive;return"system"===e?(0,v.jsx)(H,{getActiviesFiles:i.getActiviesFiles,children:(0,v.jsxs)("div",{className:"statistic-traffic-tab",children:[(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("system"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"system"),children:(0,p.ih)("System")}),(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("user"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"user"),children:(0,p.ih)("Users")}),(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("organizations"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"organizations"),children:(0,p.ih)("Organizations")})]})}):(0,v.jsxs)("div",{className:"statistic-traffic-tab",children:[(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("system"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"system"),children:(0,p.ih)("System")}),(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("user"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"user"),children:(0,p.ih)("Users")}),(0,v.jsx)("div",{className:"statistic-traffic-tab-item ".concat("organizations"===e?"active":""),onClick:i.changeTabActive.bind((0,$.Z)(i),"organizations"),children:(0,p.ih)("Organizations")})]})},i.state={filesData:[],linkData:[],syncData:[],webData:[],labels:[],isLoading:!0,tabActive:"system"},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.labels,n=e.filesData,r=e.linkData,s=e.syncData,a=e.webData,o=e.isLoading,c=e.tabActive;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(L,{currentItem:"trafficStatistic"}),(0,v.jsxs)("div",{className:"cur-view-content",children:[this.renderCommonTool(),o&&(0,v.jsx)(I.Z,{}),!o&&"system"===c&&(0,v.jsxs)("div",{className:"statistic-traffic-chart-container",children:[(0,v.jsx)("div",{className:"mb-4",children:t.length>0&&(0,v.jsx)(G,{labels:t,filesData:n,chartTitle:(0,p.ih)("Total Traffic"),suggestedMaxNumbers:1e7,isTitleCallback:!0,isTicksCallback:!0,isLegendStatus:!0})}),(0,v.jsx)("div",{className:"mb-4",children:t.length>0&&(0,v.jsx)(G,{labels:t,filesData:a,chartTitle:(0,p.ih)("Web Traffic"),suggestedMaxNumbers:1e7,isTitleCallback:!0,isTicksCallback:!0,isLegendStatus:!0})}),(0,v.jsx)("div",{className:"mb-4",children:t.length>0&&(0,v.jsx)(G,{labels:t,filesData:r,chartTitle:(0,p.ih)("Share Link Traffic"),suggestedMaxNumbers:1e7,isTitleCallback:!0,isTicksCallback:!0,isLegendStatus:!0})}),(0,v.jsx)("div",{className:"mb-4",children:t.length>0&&(0,v.jsx)(G,{labels:t,filesData:s,chartTitle:(0,p.ih)("Sync Traffic"),suggestedMaxNumbers:1e7,isTitleCallback:!0,isTicksCallback:!0,isLegendStatus:!0})})]}),!o&&"user"===c&&(0,v.jsx)(le,{}),!o&&"organizations"===c&&(0,v.jsx)(ae,{})]})]})]})}}]),n}(l.Component),he=ce,de=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getActiviesFiles=function(e,t,n){var r=i.state.filesData;D.I.sysAdminStatisticActiveUsers(e,t,n).then((function(e){var t=[],n=[],s=e.data;if(Array.isArray(s)){s.forEach((function(e){t.push(C()(e.datetime).format("YYYY-MM-DD")),n.push(e.count)}));var a={label:(0,p.ih)("Active Users"),data:n,borderColor:"#fd913a",backgroundColor:"#fd913a"};r=[a]}i.setState({filesData:r,labels:t,isLoading:!1})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={filesData:[],labels:[],isLoading:!0},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.labels,n=e.filesData,r=e.isLoading;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(L,{currentItem:"usersStatistic"}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsx)(H,{getActiviesFiles:this.getActiviesFiles}),r&&(0,v.jsx)(I.Z,{}),!r&&t.length>0&&(0,v.jsx)(G,{labels:t,filesData:n,suggestedMaxNumbers:10,isLegendStatus:!1,chartTitle:(0,p.ih)("Active Users")})]})]})]})}}]),n}(l.Component),ue=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleChange=function(e){var t=e.target.value;i.setState({month:t})},i.onGenerateReports=function(e){var t=p.ze+"api/v2.1/admin/statistics/",n=i.state.month;if(n){if("month"===e){if(!/^([012]\d{3})(0[1-9]|1[012])$/.test(n)){var r=(0,p.ih)("Invalid month, should be yyyymm.");return void i.setState({errorMessage:r})}}switch(e){case"month":t+="system-user-traffic/excel/?month="+n;break;case"storage":t+="system-user-storage/excel/?"}i.setState({errorMessage:""}),window.location.href=t}else{var s=(0,p.ih)("It is required.");i.setState({errorMessage:s})}},i.state={month:C()().format("YYYYMM"),errorMessage:""},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.errorMessage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(L,{currentItem:"reportsStatistic"}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsxs)("div",{className:"statistic-reports",children:[(0,v.jsx)("div",{className:"statistic-reports-title",children:(0,p.ih)("Monthly User Traffic")}),(0,v.jsxs)("div",{className:"d-flex align-items-center mt-4",children:[(0,v.jsx)("span",{className:"statistic-reports-tip",children:(0,p.ih)("Month:")}),(0,v.jsx)(J.Z,{className:"statistic-reports-input",defaultValue:C()().format("YYYYMM"),onChange:this.handleChange}),(0,v.jsx)(S.Z,{className:"statistic-reports-submit operation-item",onClick:this.onGenerateReports.bind(this,"month"),children:(0,p.ih)("Create Report")})]}),e&&(0,v.jsx)("div",{className:"error",children:e})]}),(0,v.jsxs)("div",{className:"statistic-reports",children:[(0,v.jsx)("div",{className:"statistic-reports-title",children:(0,p.ih)("User Storage")}),(0,v.jsx)(S.Z,{className:"mt-4 operation-item",onClick:this.onGenerateReports.bind(this,"storage"),children:(0,p.ih)("Create Report")})]})]})]})]})}}]),n}(l.Component),ge=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"desktop",urlPart:"desktop-devices",text:(0,p.ih)("Desktop")},{name:"mobile",urlPart:"mobile-devices",text:(0,p.ih)("Mobile")}],p._y&&i.navItems.push({name:"errors",urlPart:"device-errors",text:(0,p.ih)("Errors")}),i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),pe=ge,me=n(73379),fe=n(83207),ve=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPageDevicesList=function(){i.props.getDevicesListByPage(i.props.pageInfo.current_page-1)},i.getNextPageDevicesList=function(){i.props.getDevicesListByPage(i.props.pageInfo.current_page+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items,r=e.pageInfo,s=e.curPerPage;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var a=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No connected devices")})}),o=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"19%",children:(0,p.ih)("User")}),(0,v.jsxs)("th",{width:"19%",children:[(0,p.ih)("Platform")," / ",(0,p.ih)("Version")]}),(0,v.jsx)("th",{width:"19%",children:(0,p.ih)("Device Name")}),(0,v.jsx)("th",{width:"19%",children:(0,p.ih)("IP")}),(0,v.jsx)("th",{width:"19%",children:(0,p.ih)("Last Access")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(xe,{item:e},t)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageDevicesList,gotoNextPage:this.getNextPageDevicesList,currentPage:r.current_page,hasNextPage:r.has_next_page,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return i.length?o:a}}]),n}(l.Component),xe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.setState({isOpIconShown:!0})},i.handleMouseOut=function(){i.setState({isOpIconShown:!1})},i.handleUnlink=function(e){e.preventDefault(),i.props.item.is_desktop_client?i.toggleUnlinkDeviceDialog():i.unlinkDevice(!0)},i.toggleUnlinkDeviceDialog=function(){i.setState({isUnlinkDeviceDialogOpen:!i.state.isUnlinkDeviceDialogOpen})},i.unlinkDevice=function(e){var t=i.props.item,n=t.platform,r=t.device_id,s=t.user;D.I.sysAdminUnlinkDevice(n,r,s,e).then((function(e){i.setState({unlinked:!0});var t=(0,p.ih)("Successfully unlinked the device.");w.Z.success(t)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={unlinked:!1,isOpIconShown:!1,isUnlinkDeviceDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.unlinked,i=t.isUnlinkDeviceDialogOpen,r=t.isOpIconShown;return n?null:(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseOver,onMouseLeave:this.handleMouseOut,children:[(0,v.jsx)("td",{children:e.user_name}),(0,v.jsxs)("td",{children:[e.platform," / ",e.client_version]}),(0,v.jsx)("td",{children:e.device_name}),(0,v.jsx)("td",{children:e.last_login_ip}),(0,v.jsx)("td",{children:(0,v.jsx)("span",{title:C()(e.last_accessed).format("llll"),children:C()(e.last_accessed).fromNow()})}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"sf2-icon-delete action-icon ".concat(r?"":"invisible"),title:(0,p.ih)("Unlink"),onClick:this.handleUnlink})})]}),i&&(0,v.jsx)(fe.Z,{unlinkDevice:this.unlinkDevice,toggleDialog:this.toggleUnlinkDeviceDialog})]})}}]),n}(l.Component),ye=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getDevicesListByPage=function(e){var t=i.props.devicesPlatform,n=i.state.perPage;D.I.sysAdminListDevices(t,e,n).then((function(e){i.setState({devicesData:e.data.devices,pageInfo:e.data.page_info,loading:!1})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getDevicesListByPage(1)}))},i.state={loading:!0,errorMsg:"",devicesData:{},pageInfo:{},perPage:25},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=void 0===i?1:i,s=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||s),currentPage:parseInt(t.get("page")||r)},(function(){e.getDevicesListByPage(e.state.currentPage)}))}},{key:"render",value:function(){return(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(ve,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.devicesData,getDevicesListByPage:this.getDevicesListByPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,pageInfo:this.state.pageInfo})})}}]),n}(l.Component),be=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(pe,{currentItem:"desktop"}),(0,v.jsx)(ye,{devicesPlatform:"desktop"})]})})]})}}]),n}(l.Component),je=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(pe,{currentItem:"mobile"}),(0,v.jsx)(ye,{devicesPlatform:"mobile"})]})})]})}}]),n}(l.Component),Se=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/users/").concat(encodeURIComponent(this.props.email),"/"),children:this.props.name})}}]),n}(l.Component),De=Se,we=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPageDeviceErrorsList=function(){i.props.getDeviceErrorsListByPage(i.props.pageInfo.current_page-1)},i.getNextPageDeviceErrorsList=function(){i.props.getDeviceErrorsListByPage(i.props.pageInfo.current_page+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items,r=e.pageInfo,s=e.curPerPage;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var a=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No sync errors")})}),o=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"16%",children:(0,p.ih)("User")}),(0,v.jsxs)("th",{width:"20%",children:[(0,p.ih)("Device")," / ",(0,p.ih)("Version")]}),(0,v.jsx)("th",{width:"16%",children:(0,p.ih)("IP")}),(0,v.jsx)("th",{width:"16%",children:(0,p.ih)("Library")}),(0,v.jsx)("th",{width:"16%",children:(0,p.ih)("Error")}),(0,v.jsx)("th",{width:"16%",children:(0,p.ih)("Time")})]})}),(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(Ie,{item:e},t)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageDeviceErrorsList,gotoNextPage:this.getNextPageDeviceErrorsList,currentPage:r.current_page,hasNextPage:r.has_next_page,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return i.length?o:a}}]),n}(l.Component),Ie=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.setState({isOpIconShown:!0})},i.handleMouseOut=function(){i.setState({isOpIconShown:!1})},i.state={isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseOver,onMouseLeave:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsxs)("td",{children:[e.device_name," / ",e.client_version]}),(0,v.jsx)("td",{children:e.device_ip}),(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sysadmin/#libs/").concat(e.repo_id),children:e.repo_name})}),(0,v.jsx)("td",{children:e.error_msg}),(0,v.jsx)("td",{children:(0,v.jsx)("span",{className:"item-meta-info",title:C()(e.last_accessed).format("llll"),children:C()(e.error_time).fromNow()})})]})}}]),n}(l.Component),Pe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getDeviceErrorsListByPage=function(e){var t=i.state.perPage;D.I.sysAdminListDeviceErrors(e,t).then((function(e){i.setState({loading:!1,devicesErrors:e.data.device_errors,pageInfo:e.data.page_info,isCleanBtnShown:e.data.length>0})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.clean=function(){D.I.sysAdminClearDeviceErrors().then((function(e){i.setState({devicesErrors:[],isCleanBtnShown:!1});var t=(0,p.ih)("Successfully cleaned all errors.");w.Z.success(t)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getDeviceErrorsListByPage(1)}))},i.state={loading:!0,errorMsg:"",devicesErrors:[],isCleanBtnShown:!1,pageInfo:{},perPage:25},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=void 0===i?1:i,s=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||s),currentPage:parseInt(t.get("page")||r)},(function(){e.getDeviceErrorsListByPage(e.state.currentPage)}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[this.state.isCleanBtnShown?(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"operation-item",onClick:this.clean,children:(0,p.ih)("Clean")})})):(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(pe,{currentItem:"errors"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(we,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.devicesErrors,getDeviceErrorsListByPage:this.getDeviceErrorsListByPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,pageInfo:this.state.pageInfo})})]})})]})}}]),n}(l.Component),Ze=n(4292),ke=n(95234),_e=n(44517),Me=n(66919),Ne=n(82377),Ce=n(51840),Ae=n(34594),Le=n(95060),Oe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.toggle()},i.handleQuotaChange=function(e){var t=e.target.value;i.setState({quota:t,isSubmitBtnActive:""!=t.trim()})},i.handleKeyPress=function(e){"Enter"==e.key&&(i.handleSubmit(),e.preventDefault())},i.handleSubmit=function(){i.props.updateQuota(i.state.quota.trim()),i.toggle()},i.state={quota:"",isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.quota,n=e.isSubmitBtnActive;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Set Quota")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(_e.Z,{children:(0,v.jsxs)(Me.Z,{children:[(0,v.jsxs)(Ne.Z,{children:[(0,v.jsx)(J.Z,{type:"text",className:"form-control",value:t,onKeyPress:this.handleKeyPress,onChange:this.handleQuotaChange}),(0,v.jsx)(Ce.Z,{addonType:"append",children:(0,v.jsx)(Ae.Z,{children:"MB"})})]}),(0,v.jsxs)("p",{className:"small text-secondary mt-2 mb-2",children:[(0,p.ih)("An integer that is greater than or equal to 0."),(0,v.jsx)("br",{}),(0,p.ih)("Tip: 0 means default limit")]})]})})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!n,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Te=n(38122),Fe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.toggle()},i.openFileInput=function(){i.fileInputRef.current.click()},i.uploadFile=function(e){if(i.fileInputRef.current.files.length){var t=i.fileInputRef.current.files[0].name;if("xlsx"==t.substr(t.lastIndexOf(".")+1)){var n=i.fileInputRef.current.files[0];i.props.importUserInBatch(n),i.toggle()}else i.setState({errorMsg:(0,p.ih)("Please choose a .xlsx file.")})}},i.state={errorMsg:""},i.fileInputRef=l.createRef(),i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.errorMsg;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Import users from a .xlsx file")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsx)("p",{children:(0,v.jsx)("a",{className:"text-secondary small",href:"".concat(p.ze,"useradmin/batchadduser/example/"),children:(0,p.ih)("Download an example file")})}),(0,v.jsx)("button",{className:"btn btn-outline-primary",onClick:this.openFileInput,children:(0,p.ih)("Upload file")}),(0,v.jsx)("input",{className:"d-none",type:"file",onChange:this.uploadFile,ref:this.fileInputRef}),e&&(0,v.jsx)(Te.Z,{color:"danger",children:e})]}),(0,v.jsx)(Le.Z,{children:(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")})})]})}}]),n}(l.Component),Re=n(73002),Ee=n(87324),Ue=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a0})},i.handleSubmit=function(){i.props.addAdminInBatch(i.state.options.map((function(e){return e.email}))),i.toggle()},i.handleKeyPress=function(e){"Enter"===e.key&&(i.handleSubmit(),e.preventDefault())},i.state={options:null,isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Add Admin")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(Ve.Z,{isMulti:!0,className:"reviewer-select",placeholder:(0,p.ih)("Search users..."),onSelectChange:this.handleSelectChange})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),We=n(7054),Ye=(0,s.Z)((function e(t){(0,r.Z)(this,e),this.email=t.email,this.name=t.name,this.contact_email=t.contact_email,this.login_id=t.login_id,this.last_login=t.last_login,this.last_access_time=t.last_access_time,this.create_time=t.create_time,this.is_active=t.is_active,this.is_staff=t.is_staff,this.reference_id=t.reference_id,this.department=t.department,this.quota_total=t.quota_total,this.quota_usage=t.quota_usage,this.role=t.role,this.institution=t.institution,t.org_id&&(this.org_id=t.org_id),t.org_name&&(this.org_name=t.org_name),this.isSelected=!1})),Ge=(0,s.Z)((function e(t){(0,r.Z)(this,e),this.email=t.email,this.name=t.name,this.contact_email=t.contact_email,this.login_id=t.login_id,this.last_login=t.last_login,this.last_access_time=t.last_access_time,this.create_time=t.create_time,this.is_active=t.is_active,this.is_staff=t.is_staff,this.quota_total=t.quota_total,this.quota_usage=t.quota_usage,this.admin_role=t.admin_role,this.isSelected=!1})),qe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleInputChange=function(e){i.setState({value:e.target.value})},i.handleKeyPress=function(e){"Enter"==e.key&&(e.preventDefault(),i.handleSubmit())},i.handleSubmit=function(){var e=i.state.value.trim();if(!e)return!1;i.props.submit(e)},i.state={value:""},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)("div",{className:"input-icon",children:[(0,v.jsx)("i",{className:"d-flex input-icon-addon fas fa-search"}),(0,v.jsx)("input",{type:"text",className:"form-control search-input h-6 mr-1",style:{width:"17rem"},placeholder:this.props.placeholder,value:this.state.value,onChange:this.handleInputChange,onKeyPress:this.handleKeyPress,autoComplete:"off"})]})}}]),n}(l.Component),Qe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"database",urlPart:"users",text:(0,p.ih)("Database")}],p.VA&&i.navItems.push({name:"ldap",urlPart:"users/ldap",text:(0,p.ih)("LDAP")},{name:"ldap-imported",urlPart:"users/ldap-imported",text:(0,p.ih)("LDAP(imported)")}),p.B2&&i.navItems.push({name:"admin",urlPart:"users/admins",text:(0,p.ih)("Admin")}),i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),Ke=Qe,Xe=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a'+m.c.HTMLescape(t.name)+"",d=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",h),u=(0,p.ih)("Are you sure you want to reset the password of {placeholder} ?").replace("{placeholder}",h),f=(0,p.ih)("Are you sure you want to revoke the admin permission of {placeholder} ?").replace("{placeholder}",h);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{className:"pl-2",children:(0,v.jsx)("input",{type:"checkbox",className:"vam",onChange:this.onUserSelected,checked:t.isSelected})}),(0,v.jsxs)("td",{children:[(0,v.jsx)(De,{email:t.email,name:t.name}),t.contact_email&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("br",{}),t.contact_email]}),t.org_id&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("br",{}),(0,v.jsxs)(g.rU,{to:"".concat(p.ze,"sys/organizations/").concat(t.org_id,"/info/"),children:["(",t.org_name,")"]})]})]}),(0,v.jsx)("td",{children:(0,v.jsx)($e,{isTextMode:!0,isEditIconShow:r,currentStatus:t.is_active?"active":"inactive",statusOptions:["active","inactive"],onStatusChanged:this.updateStatus})}),p._y&&(0,v.jsx)("td",{children:n?(0,v.jsx)(Ee.Z,{isTextMode:!0,isEditIconShow:r,options:nt,currentOption:t.admin_role,onOptionChanged:this.updateAdminRole,translateOption:this.translateAdminRole}):(0,v.jsx)(ze,{isTextMode:!0,isEditIconShow:r,currentRole:t.role,roleOptions:tt,onRoleChanged:this.updateRole})}),(0,v.jsxs)("td",{children:["".concat(m.c.bytesToSize(t.quota_usage)," / ").concat(t.quota_total>0?m.c.bytesToSize(t.quota_total):"--"),(0,v.jsx)("span",{title:(0,p.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon ".concat(r?"":"invisible"),onClick:this.toggleSetQuotaDialog})]}),p.ws&&!n&&(0,v.jsx)("td",{children:(0,v.jsx)(Ee.Z,{isTextMode:!0,isEditIconShow:r&&it.length>0,options:it,currentOption:t.institution,onOptionChanged:this.updateInstitution,translateOption:this.translateInstitution})}),(0,v.jsxs)("td",{children:["".concat(t.create_time?C()(t.create_time).format("YYYY-MM-DD HH:mm"):"--"," /"),(0,v.jsx)("br",{}),"".concat(t.last_login?C()(t.last_login).fromNow():"--"),(0,v.jsx)("br",{}),"".concat(t.last_access_time?C()(t.last_access_time).fromNow():"--")]}),(0,v.jsx)("td",{children:t.email!=p.b6&&r&&(0,v.jsx)(Je.Z,{operations:this.getMenuOperations(),translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),s&&(0,v.jsx)(Oe,{toggle:this.toggleSetQuotaDialog,updateQuota:this.updateQuota}),a&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete User"),message:d,executeOperation:this.deleteUser,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteUserDialog}),o&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Reset Password"),message:u,executeOperation:this.resetPassword,confirmBtnText:(0,p.ih)("Reset"),toggleDialog:this.toggleResetUserPasswordDialog}),c&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Revoke Admin"),message:f,executeOperation:this.revokeAdmin,confirmBtnText:(0,p.ih)("Revoke"),toggleDialog:this.toggleRevokeAdminDialog})]})}}]),n}(l.Component),at=rt,ot=window.sysadmin.pageOptions.availableRoles,lt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleImportUserDialog=function(){i.setState({isImportUserDialogOpen:!i.state.isImportUserDialogOpen})},i.toggleAddUserDialog=function(){i.setState({isAddUserDialogOpen:!i.state.isAddUserDialogOpen})},i.toggleBatchSetQuotaDialog=function(){i.setState({isBatchSetQuotaDialogOpen:!i.state.isBatchSetQuotaDialogOpen})},i.toggleBatchDeleteUserDialog=function(){i.setState({isBatchDeleteUserDialogOpen:!i.state.isBatchDeleteUserDialogOpen})},i.onUserSelected=function(e){var t=!1,n=[],r=i.state.userList.map((function(i){return i.email===e.email&&(i.isSelected=!i.isSelected),1==i.isSelected?(t=!0,n.push(i)):n=n.filter((function(e){return e.email!=i.email})),i}));i.setState({userList:r,hasUserSelected:t,selectedUserList:n})},i.toggleSelectAllUsers=function(){if(i.state.isAllUsersSelected){var e=i.state.userList.map((function(e){return e.isSelected=!1,e}));i.setState({userList:e,hasUserSelected:!1,isAllUsersSelected:!1,selectedUserList:[]})}else{var t=i.state.userList.map((function(e){return e.isSelected=!0,e}));i.setState({userList:t,hasUserSelected:!0,isAllUsersSelected:!0,selectedUserList:t})}},i.getUserList=function(){D.I.sysAdminListAdmins().then((function(e){var t=e.data.admin_user_list.map((function(e){return new Ge(e)}));i.setState({userList:t,loading:!1})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.getUsersListByPage=function(e){var t=i.state,n=t.perPage,r=t.sortBy,s=t.sortOrder,a=i.props.isLDAPImported;D.I.sysAdminListUsers(e,n,a,r,s).then((function(t){var r=t.data.data.map((function(e){return new Ye(e)}));i.setState({userList:r,loading:!1,hasNextPage:m.c.hasNextPage(e,n,t.data.total_count),currentPage:e})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.sortByQuotaUsage=function(){i.setState({sortBy:"quota_usage",sortOrder:"asc"==i.state.sortOrder?"desc":"asc",currentPage:1},(function(){var e=new URL(location.href),t=new URLSearchParams(e.search),n=i.state,r=n.currentPage,s=n.sortBy,a=n.sortOrder;t.set("page",r),t.set("order_by",s),t.set("direction",a),e.search=t.toString(),(0,g.c4)(e.toString()),i.getUsersListByPage(r)}))},i.deleteUser=function(e,t){D.I.sysAdminDeleteUser(e).then((function(n){var r=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:r});var s=(0,p.ih)("Deleted user %s");s=s.replace("%s",t),w.Z.success(s)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.setUserQuotaInBatch=function(e){var t=i.state.selectedUserList.map((function(e){return e.email}));D.I.sysAdminSetUserQuotaInBatch(t,e).then((function(e){var t=i.state.userList.map((function(t){return e.data.success.forEach((function(e){t.email==e.email&&(t.quota_total=e.quota_total)})),t}));i.setState({userList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteUserInBatch=function(){var e=i.state.selectedUserList.map((function(e){return e.email}));D.I.sysAdminDeleteUserInBatch(e).then((function(t){if(t.data.success.length){var n=i.state.userList.filter((function(e){return!t.data.success.some((function(t){return t.email==e.email}))}));i.setState({userList:n,hasUserSelected:e.length!=t.data.success.length});var r=t.data.success.length,s=1==r?(0,p.ih)("Successfully deleted 1 user."):(0,p.ih)("Successfully deleted {user_number_placeholder} users.").replace("{user_number_placeholder}",r);w.Z.success(s)}t.data.failed.forEach((function(e){var t="".concat(e.email,": ").concat(e.error_msg);w.Z.danger(t)}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.importUserInBatch=function(e){w.Z.notify((0,p.ih)("It may take some time, please wait.")),D.I.sysAdminImportUserViaFile(e).then((function(e){if(e.data.success.length){var t=e.data.success.map((function(e){return void 0==e.institution&&(e.institution=""),new Ye(e)}));i.setState({userList:t.concat(i.state.userList)})}e.data.failed.forEach((function(e){var t="".concat(e.email,": ").concat(e.error_msg);w.Z.danger(t)}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.addUser=function(e){w.Z.notify((0,p.ih)("It may take some time, please wait."));var t=e.email,n=e.name,r=e.role,s=e.password;D.I.sysAdminAddUser(t,n,r,s).then((function(e){var t=i.state.userList;t.unshift(e.data),i.setState({userList:t}),w.Z.success(e.data.add_user_tip)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getUsersListByPage(1)}))},i.updateUser=function(e,t,n){D.I.sysAdminUpdateUser(e,t,n).then((function(r){var s=i.state.userList.map((function(n){return n.email==e&&(n[t]=r.data[t]),n}));i.setState({userList:s});var a="is_active"==t&&n?r.data.update_status_tip:(0,p.ih)("Edit succeeded");w.Z.success(a)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateAdminRole=function(e,t){D.I.sysAdminUpdateAdminRole(e,t).then((function(t){var n=i.state.userList.map((function(n){return n.email==e&&(n.admin_role=t.data.role),n}));i.setState({userList:n}),w.Z.success((0,p.ih)("Edit succeeded"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.revokeAdmin=function(e,t){D.I.sysAdminUpdateUser(e,"is_staff",!1).then((function(n){var r=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:r}),w.Z.success((0,p.ih)("Successfully revoked the admin permission of {placeholder}.").replace("{placeholder}",t))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.getOperationsForAll=function(){var e=i.props,t=e.isAdmin,n=e.isLDAPImported;return t?(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:i.toggleBatchAddAdminDialog,children:(0,p.ih)("Add Admin")}):n?(0,v.jsx)("a",{className:"btn btn-secondary operation-item",href:"".concat(p.ze,"sys/useradmin/export-excel/"),children:(0,p.ih)("Export Excel")}):(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:i.toggleImportUserDialog,children:(0,p.ih)("Import Users")}),(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:i.toggleAddUserDialog,children:(0,p.ih)("Add User")}),(0,v.jsx)("a",{className:"btn btn-secondary operation-item",href:"".concat(p.ze,"sys/useradmin/export-excel/"),children:(0,p.ih)("Export Excel")})]})},i.getCurrentNavItem=function(){var e=i.props,t=e.isAdmin,n=e.isLDAPImported,r="database";return t?r="admin":n&&(r="ldap-imported"),r},i.toggleBatchAddAdminDialog=function(){i.setState({isBatchAddAdminDialogOpen:!i.state.isBatchAddAdminDialogOpen})},i.addAdminInBatch=function(e){D.I.sysAdminAddAdminInBatch(e).then((function(e){var t=e.data.success.map((function(e){return new Ge(e)}));i.setState({userList:t.concat(i.state.userList)}),e.data.failed.forEach((function(e){var t="".concat(e.email,": ").concat(e.error_msg);w.Z.danger(t)}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.getSearch=function(){return i.props.isAdmin?null:(0,v.jsx)(qe,{placeholder:(0,p.ih)("Search users"),submit:i.searchItems})},i.searchItems=function(e){(0,g.c4)("".concat(p.ze,"sys/search-users/?query=").concat(encodeURIComponent(e)))},i.state={loading:!0,errorMsg:"",userList:[],hasNextPage:!1,currentPage:1,perPage:25,hasUserSelected:!1,selectedUserList:[],isAllUsersSelected:!1,isImportUserDialogOpen:!1,isAddUserDialogOpen:!1,isBatchSetQuotaDialogOpen:!1,isBatchDeleteUserDialogOpen:!1,isBatchAddAdminDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;if(this.props.isAdmin)this.getUserList();else{var t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage,s=n.sortBy,a=void 0===s?"":s,o=n.sortOrder,l=void 0===o?"asc":o;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i),sortBy:t.get("order_by")||a,sortOrder:t.get("direction")||l},(function(){e.getUsersListByPage(e.state.currentPage)}))}}},{key:"render",value:function(){var e=this.props,t=e.isAdmin,n=e.isLDAPImported,r=this.state,s=r.hasUserSelected,a=r.isImportUserDialogOpen,o=r.isAddUserDialogOpen,c=r.isBatchDeleteUserDialogOpen,h=r.isBatchSetQuotaDialogOpen,d=r.isBatchAddAdminDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({search:this.getSearch()},this.props),{},{children:s?(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleBatchSetQuotaDialog,children:(0,p.ih)("Set Quota")}),(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleBatchDeleteUserDialog,children:(0,p.ih)("Delete Users")})]}):this.getOperationsForAll()})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Ke,{currentItem:this.getCurrentNavItem()}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(at,{isAdmin:t,isLDAPImported:n,loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortByQuotaUsage:this.sortByQuotaUsage,currentPage:this.state.currentPage,hasNextPage:this.state.hasNextPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,getListByPage:this.getUsersListByPage,updateUser:this.updateUser,deleteUser:this.deleteUser,updateAdminRole:this.updateAdminRole,revokeAdmin:this.revokeAdmin,onUserSelected:this.onUserSelected,isAllUsersSelected:this.isAllUsersSelected,toggleSelectAllUsers:this.toggleSelectAllUsers})})]})}),a&&(0,v.jsx)(Fe,{toggle:this.toggleImportUserDialog,importUserInBatch:this.importUserInBatch}),o&&(0,v.jsx)(Be,{dialogTitle:(0,p.ih)("Add User"),showRole:p._y,availableRoles:ot,addUser:this.addUser,toggleDialog:this.toggleAddUserDialog}),h&&(0,v.jsx)(Oe,{toggle:this.toggleBatchSetQuotaDialog,updateQuota:this.setUserQuotaInBatch}),c&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Users"),message:(0,p.ih)("Are you sure you want to delete the selected user(s) ?"),executeOperation:this.deleteUserInBatch,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleBatchDeleteUserDialog}),d&&(0,v.jsx)(He,{addAdminInBatch:this.addAdminInBatch,toggle:this.toggleBatchAddAdminDialog})]})}}]),n}(l.Component),ct=lt,ht=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsx)(ct,(0,i.Z)({isAdmin:!0},this.props))}}]),n}(l.Component),dt=ht,ut=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsx)(ct,(0,i.Z)({isLDAPImported:!0},this.props))}}]),n}(l.Component),gt=ut,pt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getListByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getListByPage(i.props.currentPage+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items,r=e.curPerPage,s=e.hasNextPage,a=e.currentPage;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center mt-4",children:n});var o=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No users")})}),c=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"40%",children:(0,p.ih)("Email")}),(0,v.jsxs)("th",{width:"30%",children:[(0,p.ih)("Space Used")," / ",(0,p.ih)("Quota")]}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Last Login")})]})}),(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(mt,{item:e},t)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:a,hasNextPage:s,curPerPage:r,resetPerPage:this.props.resetPerPage})]});return i.length?c:o}}]),n}(l.Component),mt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.email})}),(0,v.jsx)("td",{children:"".concat(m.c.bytesToSize(e.quota_usage)," / ").concat(e.quota_total>0?m.c.bytesToSize(e.quota_total):"--")}),(0,v.jsx)("td",{children:e.last_login?C()(e.last_login).fromNow():"--"})]})})}}]),n}(l.Component),ft=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getUsersListByPage=function(e){var t=i.state.perPage;D.I.sysAdminListLDAPUsers(e,t).then((function(t){i.setState({loading:!1,userList:t.data.ldap_user_list,hasNextPage:t.data.has_next_page,currentPage:e})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getUsersListByPage(1)}))},i.state={loading:!0,errorMsg:"",userList:{},hasNextPage:!1,currentPage:1,perPage:25},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getUsersListByPage(e.state.currentPage)}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Ke,{currentItem:"ldap"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(pt,{resetPerPage:this.resetPerPage,loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,currentPage:this.state.currentPage,hasNextPage:this.state.hasNextPage,curPerPage:this.state.perPage,getListByPage:this.getUsersListByPage})})]})})]})}}]),n}(l.Component),vt=ft,xt=n(27988),yt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleBatchSetQuotaDialog=function(){i.setState({isBatchSetQuotaDialogOpen:!i.state.isBatchSetQuotaDialogOpen})},i.toggleBatchDeleteUserDialog=function(){i.setState({isBatchDeleteUserDialogOpen:!i.state.isBatchDeleteUserDialogOpen})},i.onUserSelected=function(e){var t=!1,n=[],r=i.state.userList.map((function(i){return i.email===e.email&&(i.isSelected=!i.isSelected),1==i.isSelected?(t=!0,n.push(i)):n=n.filter((function(e){return e.email!=i.email})),i}));i.setState({userList:r,hasUserSelected:t,selectedUserList:n})},i.toggleSelectAllUsers=function(){if(i.state.isAllUsersSelected){var e=i.state.userList.map((function(e){return e.isSelected=!1,e}));i.setState({userList:e,hasUserSelected:!1,isAllUsersSelected:!1,selectedUserList:[]})}else{var t=i.state.userList.map((function(e){return e.isSelected=!0,e}));i.setState({userList:t,hasUserSelected:!0,isAllUsersSelected:!0,selectedUserList:t})}},i.getItems=function(e){D.I.sysAdminSearchUsers(i.state.query.trim(),e,i.state.perPage).then((function(e){i.setState({userList:e.data.user_list,loading:!1,pageInfo:e.data.page_info})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getItems(1)}))},i.deleteUser=function(e,t){D.I.sysAdminDeleteUser(e).then((function(n){var r=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:r});var s=(0,p.ih)("Deleted user %s");s=s.replace("%s",t),w.Z.success(s)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.setUserQuotaInBatch=function(e){var t=i.state.selectedUserList.map((function(e){return e.email}));D.I.sysAdminSetUserQuotaInBatch(t,e).then((function(e){var t=i.state.userList.map((function(t){return e.data.success.forEach((function(e){t.email==e.email&&(t.quota_total=e.quota_total)})),t}));i.setState({userList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteUserInBatch=function(){var e=i.state.selectedUserList.map((function(e){return e.email}));D.I.sysAdminDeleteUserInBatch(e).then((function(t){if(t.data.success.length){var n=i.state.userList.filter((function(e){return!t.data.success.some((function(t){return t.email==e.email}))}));i.setState({userList:n,hasUserSelected:e.length!=t.data.success.length});var r=t.data.success.length,s=1==r?(0,p.ih)("Successfully deleted 1 user."):(0,p.ih)("Successfully deleted {user_number_placeholder} users.").replace("{user_number_placeholder}",r);w.Z.success(s)}t.data.failed.forEach((function(e){var t="".concat(e.email,": ").concat(e.error_msg);w.Z.danger(t)}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateUser=function(e,t,n){D.I.sysAdminUpdateUser(e,t,n).then((function(r){var s=i.state.userList.map((function(n){return n.email==e&&(n[t]=r.data[t]),n}));i.setState({userList:s});var a="is_active"==t&&n?r.data.update_status_tip:(0,p.ih)("Edit succeeded");w.Z.success(a)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateAdminRole=function(e,t){D.I.sysAdminUpdateAdminRole(e,t).then((function(t){var n=i.state.userList.map((function(n){return n.email==e&&(n.admin_role=t.data.role),n}));i.setState({userList:n}),w.Z.success((0,p.ih)("Edit succeeded"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.revokeAdmin=function(e,t){D.I.sysAdminUpdateUser(e,"is_staff",!1).then((function(n){var r=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:r}),w.Z.success((0,p.ih)("Successfully revoked the admin permission of {placeholder}.").replace("{placeholder}",t))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.handleInputChange=function(e){i.setState({query:e.target.value},i.checkSubmitBtnActive)},i.checkSubmitBtnActive=function(){var e=i.state.query;i.setState({isSubmitBtnActive:e.trim()})},i.getPreviousPageList=function(){i.getItems(i.state.pageInfo.current_page-1)},i.getNextPageList=function(){i.getItems(i.state.pageInfo.current_page+1)},i.handleKeyDown=function(e){13===e.keyCode&&(i.state.isSubmitBtnActive&&i.getItems())},i.state={query:"",isSubmitBtnActive:!1,loading:!0,errorMsg:"",userList:[],pageInfo:{has_next_page:!1,current_page:1},currentPage:1,perPage:25,hasUserSelected:!1,selectedUserList:[],isAllUsersSelected:!1,isBatchSetQuotaDialogOpen:!1,isBatchDeleteUserDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(document.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({query:t.get("query")||"",currentPage:parseInt(t.get("page")||i),perPage:parseInt(t.get("per_page")||r)},(function(){e.getItems(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.query,n=e.isSubmitBtnActive,r=this.state,s=r.hasUserSelected,a=r.isBatchDeleteUserDialogOpen,o=r.isBatchSetQuotaDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[s?(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleBatchSetQuotaDialog,children:(0,p.ih)("Set Quota")}),(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleBatchDeleteUserDialog,children:(0,p.ih)("Delete Users")})]})})):(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Users")})}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Search Users")}),(0,v.jsxs)(_e.Z,{tag:"div",children:[(0,v.jsx)(Me.Z,{row:!0,children:(0,v.jsx)(xt.Z,{sm:5,children:(0,v.jsx)(J.Z,{type:"text",name:"query",value:t,placeholder:(0,p.ih)("Search users"),onChange:this.handleInputChange,onKeyDown:this.handleKeyDown})})}),(0,v.jsx)(Me.Z,{row:!0,children:(0,v.jsx)(xt.Z,{sm:{size:5},children:(0,v.jsx)("button",{className:"btn btn-outline-primary",disabled:!n,onClick:this.getItems,children:(0,p.ih)("Submit")})})})]})]}),(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Result")}),(0,v.jsx)(at,{isLDAPImported:!1,isAdmin:!1,isSearchResult:!0,loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,updateUser:this.updateUser,deleteUser:this.deleteUser,updateAdminRole:this.updateAdminRole,revokeAdmin:this.revokeAdmin,onUserSelected:this.onUserSelected,isAllUsersSelected:this.isAllUsersSelected,toggleSelectAllUsers:this.toggleSelectAllUsers})]})]})]})}),o&&(0,v.jsx)(Oe,{toggle:this.toggleBatchSetQuotaDialog,updateQuota:this.setUserQuotaInBatch}),a&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Users"),message:(0,p.ih)("Are you sure you want to delete the selected user(s) ?"),executeOperation:this.deleteUserInBatch,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleBatchDeleteUserDialog}),this.state.pageInfo&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageList,gotoNextPage:this.getNextPageList,currentPage:this.state.pageInfo.current_page,hasNextPage:this.state.pageInfo.has_next_page,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage})]})}}]),n}(l.Component),bt=yt,jt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.toggle()},i.handleRateLimitChange=function(e){var t=e.target.value;i.setState({rateLimit:t,isSubmitBtnActive:""!=t.trim()})},i.handleKeyPress=function(e){"Enter"==e.key&&(i.handleSubmit(),e.preventDefault())},i.handleSubmit=function(){i.props.updateUploadDownloadRateLimit(i.props.uploadOrDownload,i.state.rateLimit.trim()),i.toggle()},i.state={rateLimit:"",isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.rateLimit,n=e.isSubmitBtnActive;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:"upload"==this.props.uploadOrDownload?(0,p.ih)("Set Upload Rate Limit"):(0,p.ih)("Set Download Rate Limit")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(_e.Z,{children:(0,v.jsxs)(Me.Z,{children:[(0,v.jsxs)(Ne.Z,{children:[(0,v.jsx)(J.Z,{type:"text",className:"form-control",value:t,onKeyPress:this.handleKeyPress,onChange:this.handleRateLimitChange}),(0,v.jsx)(Ce.Z,{addonType:"append",children:(0,v.jsx)(Ae.Z,{children:"kB/s"})})]}),(0,v.jsxs)("p",{className:"small text-secondary mt-2 mb-2",children:[(0,p.ih)("An integer that is greater than or equal to 0."),(0,v.jsx)("br",{}),(0,p.ih)("Tip: 0 means default limit")]})]})})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!n,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),St=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleInputChange=function(e){var t=e.target.value;i.setState({value:t})},i.handleKeyPress=function(e){"Enter"==e.key&&(i.handleSubmit(),e.preventDefault())},i.handleSubmit=function(){i.props.updateValue(i.state.value.trim()),i.props.toggleDialog()},i.state={value:i.props.value,isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.toggleDialog;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:e,children:[(0,v.jsx)(Ze.Z,{toggle:e,children:this.props.dialogTitle}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(_e.Z,{children:(0,v.jsx)(Me.Z,{children:(0,v.jsx)(J.Z,{type:"text",value:this.state.value,onKeyPress:this.handleKeyPress,onChange:this.handleInputChange})})})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:e,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Dt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"info",urlPart:"",text:(0,p.ih)("Info")},{name:"owned-repos",urlPart:"owned-libraries",text:(0,p.ih)("Owned Libraries")},{name:"shared-repos",urlPart:"shared-libraries",text:(0,p.ih)("Shared Libraries")},{name:"links",urlPart:"shared-links",text:(0,p.ih)("Shared Links")},{name:"groups",urlPart:"groups",text:(0,p.ih)("Groups")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.currentItem,n=e.email,i=e.userName;return(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsxs)("h3",{className:"sf-heading",children:[(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/users/"),children:(0,p.ih)("Users")})," / ",i]})}),(0,v.jsx)("ul",{className:"nav border-bottom mx-4",children:this.navItems.map((function(e,i){return(0,v.jsx)("li",{className:"nav-item mr-2",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/users/").concat(encodeURIComponent(n),"/").concat(e.urlPart),className:"nav-link ".concat(t==e.name?" active":""),children:e.text})},i)}))})]})}}]),n}(l.Component),wt=Dt,It=window.sysadmin.pageOptions.twoFactorAuthEnabled,Pt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleSetQuotaDialog=function(){i.setState({isSetQuotaDialogOpen:!i.state.isSetQuotaDialogOpen})},i.toggleSetUserUploadRateLimitDialog=function(){i.setState({isSetUserUploadRateLimitDialogOpen:!i.state.isSetUserUploadRateLimitDialogOpen})},i.toggleSetUserDownloadRateLimitDialog=function(){i.setState({isSetUserDownloadRateLimitDialogOpen:!i.state.isSetUserDownloadRateLimitDialogOpen})},i.updateQuota=function(e){i.props.updateUser("quota_total",e)},i.updateUploadDownloadRateLimit=function(e,t){"upload"==e&&i.props.updateUser("upload_rate_limit",t),"download"==e&&i.props.updateUser("download_rate_limit",t)},i.toggleDialog=function(e,t){i.setState({currentKey:e,dialogTitle:t,isUpdateUserDialogOpen:!i.state.isUpdateUserDialogOpen})},i.toggleSetNameDialog=function(){i.toggleDialog("name",(0,p.ih)("Set Name"))},i.toggleSetUserLoginIDDialog=function(){i.toggleDialog("login_id",(0,p.ih)("Set Login ID"))},i.toggleSetUserComtactEmailDialog=function(){i.toggleDialog("contact_email",(0,p.ih)("Set Contact Email"))},i.toggleSetUserReferenceIDDialog=function(){i.toggleDialog("reference_id",(0,p.ih)("Set Reference ID"))},i.updateValue=function(e){i.props.updateUser(i.state.currentKey,e)},i.toggleUpdateUserDialog=function(){i.toggleDialog("","")},i.showEditIcon=function(e){return(0,v.jsx)("span",{title:(0,p.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",onClick:e})},i.state={currentKey:"",dialogTitle:"",isSetQuotaDialogOpen:!1,isSetUserUploadRateLimitDialogOpen:!1,isSetUserDownloadRateLimitDialogOpen:!1,isUpdateUserDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center mt-4",children:n});var i=this.props.userInfo,r=this.state,s=r.currentKey,a=r.dialogTitle,o=r.isSetQuotaDialogOpen,c=r.isUpdateUserDialogOpen,h=r.isSetUserUploadRateLimitDialogOpen,d=r.isSetUserDownloadRateLimitDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("dl",{className:"m-0",children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Avatar")}),(0,v.jsx)("dd",{className:"info-item-content",children:(0,v.jsx)("img",{src:i.avatar_url,alt:i.name,width:"80",className:"rounded"})}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Email")}),(0,v.jsx)("dd",{className:"info-item-content",children:i.email}),i.org_name&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Organization")}),(0,v.jsx)("dd",{className:"info-item-content",children:i.org_name})]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Name")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.name||"--",this.showEditIcon(this.toggleSetNameDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Login ID")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.login_id||"--",this.showEditIcon(this.toggleSetUserLoginIDDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Contact Email")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.contact_email||"--",this.showEditIcon(this.toggleSetUserComtactEmailDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Reference ID")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.reference_id||"--",this.showEditIcon(this.toggleSetUserReferenceIDDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Space Used / Quota")}),(0,v.jsxs)("dd",{className:"info-item-content",children:["".concat(m.c.bytesToSize(i.quota_usage)," / ").concat(i.quota_total>0?m.c.bytesToSize(i.quota_total):"--"),this.showEditIcon(this.toggleSetQuotaDialog)]}),p._y&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Upload Rate Limit")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.upload_rate_limit>0?i.upload_rate_limit+" kB/s":"--",this.showEditIcon(this.toggleSetUserUploadRateLimitDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Download Rate Limit")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.download_rate_limit>0?i.download_rate_limit+" kB/s":"--",this.showEditIcon(this.toggleSetUserDownloadRateLimitDialog)]})]}),It&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Two-Factor Authentication")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[i.has_default_device?(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)("p",{className:"mb-1",children:(0,p.ih)("Status: enabled")}),(0,v.jsx)(S.Z,{onClick:this.props.disable2FA,children:(0,p.ih)("Disable Two-Factor Authentication")})]}):(0,v.jsx)(Me.Z,{children:(0,v.jsx)(S.Z,{disabled:!0,children:(0,p.ih)("Disable Two-Factor Authentication")})}),(0,v.jsx)(Me.Z,{check:!0,children:(0,v.jsxs)(Re.Z,{check:!0,children:[(0,v.jsx)(J.Z,{type:"checkbox",checked:i.is_force_2fa,onChange:this.props.toggleForce2fa}),(0,v.jsx)("span",{children:(0,p.ih)("Force Two-Factor Authentication")})]})})]})]})]}),o&&(0,v.jsx)(Oe,{updateQuota:this.updateQuota,toggle:this.toggleSetQuotaDialog}),p._y&&h&&(0,v.jsx)(jt,{uploadOrDownload:"upload",updateUploadDownloadRateLimit:this.updateUploadDownloadRateLimit,toggle:this.toggleSetUserUploadRateLimitDialog}),p._y&&d&&(0,v.jsx)(jt,{uploadOrDownload:"download",updateUploadDownloadRateLimit:this.updateUploadDownloadRateLimit,toggle:this.toggleSetUserDownloadRateLimitDialog}),c&&(0,v.jsx)(St,{dialogTitle:a,value:i[s],updateValue:this.updateValue,toggleDialog:this.toggleUpdateUserDialog})]})}}]),n}(l.Component),Zt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).updateUser=function(e,t){var n=i.state.userInfo.email;D.I.sysAdminUpdateUser(n,e,t).then((function(t){var n=i.state.userInfo;n[e]=t.data[e],i.setState({userInfo:n}),w.Z.success((0,p.ih)("Edit succeeded"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.disable2FA=function(){var e=i.state.userInfo.email;D.I.sysAdminDeleteTwoFactorAuth(e).then((function(e){var t=i.state.userInfo;t.has_default_device=!1,i.setState({userInfo:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.toggleForce2fa=function(e){var t=i.state.userInfo.email,n=e.target.checked;D.I.sysAdminSetForceTwoFactorAuth(t,n).then((function(e){var t=i.state.userInfo;t.is_force_2fa=n,i.setState({userInfo:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",userInfo:{}},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=decodeURIComponent(this.props.email);D.I.sysAdminGetUser(t,160).then((function(t){e.setState({loading:!1,userInfo:t.data})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state.userInfo;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(wt,{currentItem:"info",email:this.props.email,userName:e.name}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Pt,{loading:this.state.loading,errorMsg:this.state.errorMsg,userInfo:this.state.userInfo,updateUser:this.updateUser,disable2FA:this.disable2FA,toggleForce2fa:this.toggleForce2fa})})]})})]})}}]),n}(l.Component),kt=n(33028),_t=window.sysadmin.pageOptions.enableSysAdminViewRepo,Mt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No libraries")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Size")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Last Update")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Nt,{item:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,deleteRepo:e.props.deleteRepo,transferRepo:e.props.transferRepo},n)}))})]})});return r.length?a:s}}]),n}(l.Component),Nt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.toggleDeleteDialog=function(){i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.deleteRepo=function(){i.props.deleteRepo(i.props.item.id)},i.toggleTransferDialog=function(){i.setState({isTransferDialogOpen:!i.state.isTransferDialogOpen})},i.transferRepo=function(e){i.props.transferRepo(i.props.item.id,e.email),i.toggleTransferDialog()},i.renderRepoName=function(){var e=i.props.item;return e.name?p._y&&_t&&!e.encrypted?(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/libraries/").concat(e.id,"/"),children:e.name}):e.name:(0,p.ih)("Broken ({repo_id_placeholder})").replace("{repo_id_placeholder}",e.id)},i.translateOperations=function(e){var t="";switch(e){case"Delete":t=(0,p.ih)("Delete");break;case"Transfer":t=(0,p.ih)("Transfer")}return t},i.onMenuItemClick=function(e){switch(e){case"Delete":i.toggleDeleteDialog();break;case"Transfer":i.toggleTransferDialog()}},i.state={isOpIconShown:!1,highlight:!1,isDeleteDialogOpen:!1,isTransferDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=t.isTransferDialogOpen,s=m.c.getLibIconUrl(e),a=m.c.getLibIconTitle(e),o=''+m.c.HTMLescape(e.name)+"",c=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",o);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:s,title:a,alt:a,width:"24"})}),(0,v.jsx)("td",{children:this.renderRepoName()}),(0,v.jsx)("td",{children:m.c.bytesToSize(e.size)}),(0,v.jsx)("td",{children:C()(e.last_modified).fromNow()}),(0,v.jsx)("td",{children:n&&(0,v.jsx)(Je.Z,{operations:["Delete","Transfer"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Library"),message:c,executeOperation:this.deleteRepo,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog}),r&&(0,v.jsx)(kt.Z,{itemName:e.name,submit:this.transferRepo,canTransferToDept:!1,toggleDialog:this.toggleTransferDialog})]})}}]),n}(l.Component),Ct=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteRepo=function(e){D.I.sysAdminDeleteRepo(e).then((function(t){var n=i.state.repoList.filter((function(t){return t.id!=e}));i.setState({repoList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.transferRepo=function(e,t){D.I.sysAdminTransferRepo(e,t).then((function(t){var n=i.state.repoList.filter((function(t){return t.id!=e}));i.setState({repoList:n});var r=(0,p.ih)("Successfully transferred the library.");w.Z.success(r)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",userInfo:{},repoList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=decodeURIComponent(this.props.email);D.I.sysAdminGetUser(t).then((function(t){e.setState({userInfo:t.data})})),D.I.sysAdminListReposByOwner(t).then((function(t){e.setState({loading:!1,repoList:t.data.repos})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(wt,{currentItem:"owned-repos",email:this.props.email,userName:this.state.userInfo.name}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Mt,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repoList,deleteRepo:this.deleteRepo,transferRepo:this.transferRepo})})]})})]})}}]),n}(l.Component),At=window.sysadmin.pageOptions.enableSysAdminViewRepo,Lt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center mt-4",children:n});var r=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No libraries")})}),s=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Share From")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Size")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Last Update")})]})}),(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(Ot,{item:e},t)}))})]})});return i.length?s:r}}]),n}(l.Component),Ot=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a0)for(var n=0;n0)for(var n=0;n0&&this.state.errorMsg.map((function(e,t){var n="";return n=e.email?e.email+": "+e.error_msg:e,(0,v.jsx)("tr",{children:(0,v.jsx)("td",{colSpan:3,children:(0,v.jsx)("p",{className:"error",children:n})})},t)}))]})]}),(0,v.jsx)("div",{className:"share-list-container",children:(0,v.jsxs)("table",{className:"table-thead-hidden",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"50%",children:(0,p.ih)("User")}),(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("Permission")}),(0,v.jsx)("th",{width:"15%"})]})}),(0,v.jsx)(rn,{items:e,permissions:this.permissions,deleteShareItem:this.deleteShareItem,onChangeUserPermission:this.onChangeUserPermission})]})})]})}}]),n}(l.Component),an=sn,on=n(94414),ln=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onMouseEnter=function(){i.setState({isOperationShow:!0})},i.onMouseLeave=function(){i.setState({isOperationShow:!1})},i.deleteShareItem=function(){var e=i.props.item;i.props.deleteShareItem(e.group_id)},i.onChangeUserPermission=function(e){var t=i.props.item;i.props.onChangeUserPermission(t,e)},i.state={isOperationShow:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=m.c.getSharedPermission(e);return(0,v.jsxs)("tr",{onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,v.jsx)("td",{className:"name",children:e.group_name}),(0,v.jsx)("td",{children:(0,v.jsx)(tn.Z,{repoID:e.repo_id,isTextMode:!0,autoFocus:!0,isEditIconShow:this.state.isOperationShow,currentPermission:t,permissions:this.props.permissions,onPermissionChanged:this.onChangeUserPermission})}),(0,v.jsx)("td",{children:(0,v.jsx)("span",{className:"sf2-icon-x3 action-icon ".concat(this.state.isOperationShow?"":"hide"),onClick:this.deleteShareItem,title:(0,p.ih)("Delete")})})]})}}]),n}(l.Component),cn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.items;return(0,v.jsx)("tbody",{children:t.map((function(t,n){return(0,v.jsx)(ln,{item:t,permissions:e.props.permissions,deleteShareItem:e.props.deleteShareItem,onChangeUserPermission:e.props.onChangeUserPermission},n)}))})}}]),n}(l.Component),hn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSelectChange=function(e){i.setState({selectedOption:e})},i.loadOptions=function(){D.I.shareableGroups().then((function(e){i.options=[];for(var t=0;t0)for(var n=0;n0)for(var n=0;n0&&this.state.errorMsg.map((function(e,t){var n=e.group_name+": "+e.error_msg;return(0,v.jsx)("tr",{children:(0,v.jsx)("td",{colSpan:3,children:(0,v.jsx)("p",{className:"error",children:n})})},t)}))]})]}),(0,v.jsx)("div",{className:"share-list-container",children:(0,v.jsxs)("table",{className:"table-thead-hidden",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"50%",children:(0,p.ih)("Group")}),(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("Permission")}),(0,v.jsx)("th",{width:"15%"})]})}),(0,v.jsx)(cn,{items:this.state.sharedItems,permissions:this.permissions,deleteShareItem:this.deleteShareItem,onChangeUserPermission:this.onChangeUserPermission})]})})]})}}]),n}(l.Component),dn=hn,un=(n(36491),function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getInitialActiveTab=function(){return"shareToUser"},i.toggle=function(e){i.state.activeTab!==e&&i.setState({activeTab:e})},i.renderDirContent=function(){var e=i.state.activeTab,t=i.props,n=t.enableDirPrivateShare,r=t.isGroupOwnedRepo;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("div",{className:"share-dialog-side",children:(0,v.jsx)(Kt.Z,{pills:!0,children:n&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(Xt.Z,{children:(0,v.jsx)($t.Z,{className:"shareToUser"===e?"active":"",onClick:i.toggle.bind((0,$.Z)(i),"shareToUser"),children:(0,p.ih)("Share to user")})}),(0,v.jsx)(Xt.Z,{children:(0,v.jsx)($t.Z,{className:"shareToGroup"===e?"active":"",onClick:i.toggle.bind((0,$.Z)(i),"shareToGroup"),children:(0,p.ih)("Share to group")})})]})})}),(0,v.jsx)("div",{className:"share-dialog-main",children:(0,v.jsx)(Jt.Z,{activeTab:i.state.activeTab,children:n&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(en.Z,{tabId:"shareToUser",children:(0,v.jsx)(an,{itemType:"library",isGroupOwnedRepo:r,itemPath:i.props.itemPath,repoID:i.props.repoID,isRepoOwner:i.state.isRepoOwner})}),(0,v.jsx)(en.Z,{tabId:"shareToGroup",children:(0,v.jsx)(dn,{itemType:"library",isGroupOwnedRepo:r,itemPath:i.props.itemPath,repoID:i.props.repoID,isRepoOwner:i.state.isRepoOwner})})]})})})]})},i.state={activeTab:i.getInitialActiveTab(),isRepoOwner:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsx)("div",{children:(0,v.jsxs)(u.Z,{isOpen:!0,style:{maxWidth:"720px"},className:"share-dialog",toggle:this.props.toggleDialog,children:[(0,v.jsxs)(Ze.Z,{toggle:this.props.toggleDialog,children:[(0,p.ih)("Share")," ",(0,v.jsx)("span",{className:"op-target",title:this.props.itemName,children:this.props.itemName})]}),(0,v.jsx)(ke.Z,{className:"share-dialog-content",children:this.renderDirContent()})]})})}}]),n}(l.Component)),gn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).submit=function(){var e=i.state.keepDays;i.state.autoHistory&&(e=i.state.expireDays);var t=i.props.repoID;if(/^-?\d+$/.test(e)){var n=(0,p.ih)("Successfully set library history.");D.I.sysAdminUpdateRepoHistorySetting(t,e).then((function(e){w.Z.success(n),i.setState({keepDays:e.data.keep_days}),i.props.toggleDialog()})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))}else i.setState({errorInfo:(0,p.ih)("Please enter a non-negative integer")})},i.handleKeyPress=function(e){"Enter"===e.key&&(i.submit(),e.preventDefault())},i.onChange=function(e){var t=e.target.value;i.setState({keepDays:t,expireDays:t})},i.setLimitDays=function(e){"allHistory"===e?i.setState({keepDays:-1}):"noHistory"===e?i.setState({keepDays:0}):i.setState({disabled:!1}),i.setState({allHistory:"allHistory"===e,noHistory:"noHistory"===e,autoHistory:"autoHistory"===e})},i.state={keepDays:-1,expireDays:30,disabled:!0,allHistory:!0,noHistory:!1,autoHistory:!1,errorInfo:""},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetRepoHistorySetting(this.props.repoID).then((function(t){e.setState({keepDays:t.data.keep_days,allHistory:t.data.keep_days<0,noHistory:0===t.data.keep_days,autoHistory:t.data.keep_days>0,disabled:!(t.data.keep_days>0),expireDays:t.data.keep_days>0?t.data.keep_days:30})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))}},{key:"render",value:function(){var e=this,t=this.props.itemName;return(0,v.jsxs)(u.Z,{isOpen:!0,children:[(0,v.jsxs)(Ze.Z,{toggle:this.props.toggleDialog,children:[(0,v.jsx)("span",{className:"op-target",title:t,children:t})," ",(0,p.ih)("History Setting")]}),(0,v.jsx)(ke.Z,{children:(0,v.jsxs)(_e.Z,{children:[(0,v.jsxs)(Me.Z,{check:!0,children:[(0,v.jsx)(J.Z,{type:"radio",name:"radio1",checked:this.state.allHistory,onChange:function(){e.setLimitDays("allHistory")}})," ",(0,v.jsx)(Re.Z,{children:(0,p.ih)("Keep full history")})]}),(0,v.jsxs)(Me.Z,{check:!0,children:[(0,v.jsx)(J.Z,{type:"radio",name:"radio1",checked:this.state.noHistory,onChange:function(){e.setLimitDays("noHistory")}})," ",(0,v.jsx)(Re.Z,{children:(0,p.ih)("Don't keep history")})]}),(0,v.jsxs)(Me.Z,{check:!0,children:[(0,v.jsx)(J.Z,{type:"radio",name:"radio1",checked:this.state.autoHistory,onChange:function(){e.setLimitDays("autoHistory")}})," ",(0,v.jsx)(Re.Z,{children:(0,p.ih)("Only keep a period of history:")}),(0,v.jsx)(J.Z,{type:"text",className:"expire-input",value:this.state.expireDays,onChange:this.onChange,disabled:this.state.disabled,onKeyDown:this.handleKeyPress})," ",(0,v.jsx)(Re.Z,{children:(0,v.jsx)("span",{children:(0,p.ih)("days")})})]}),this.state.errorInfo&&(0,v.jsx)(Te.Z,{color:"danger",children:this.state.errorInfo})]})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggleDialog,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.submit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),pn=window.sysadmin.pageOptions.enableSysAdminViewRepo,mn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPageList=function(){i.props.getListByPage(i.props.pageInfo.current_page-1)},i.getNextPageList=function(){i.props.getListByPage(i.props.pageInfo.current_page+1)},i.sortByFileCount=function(e){e.preventDefault(),i.props.sortItems("file_count")},i.sortBySize=function(e){e.preventDefault(),i.props.sortItems("size")},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.pageInfo,a=t.curPerPage,o=t.sortBy;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center",children:i});var c=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No libraries")})}),h=(0,v.jsx)("span",{className:"fas fa-sort"}),d=(0,v.jsx)("span",{className:"fas fa-caret-down"}),u=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"15%",children:void 0!=o?(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("a",{className:"d-inline-block table-sort-op",href:"#",onClick:this.sortByFileCount,children:[(0,p.ih)("Files")," ","file_count"==o?d:h]})," / ",(0,v.jsxs)("a",{className:"d-inline-block table-sort-op",href:"#",onClick:this.sortBySize,children:[(0,p.ih)("Size")," ","size"==o?d:h]})]}):(0,p.ih)("Files")/(0,p.ih)("Size")}),(0,v.jsx)("th",{width:"32%",children:"ID"}),(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(fn,{repo:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,onDeleteRepo:e.props.onDeleteRepo,onTransferRepo:e.props.onTransferRepo},n)}))})]}),s&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageList,gotoNextPage:this.getNextPageList,currentPage:s.current_page,hasNextPage:s.has_next_page,curPerPage:a,resetPerPage:this.props.resetPerPage})]});return r.length?u:c}}]),n}(l.Component),fn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onDeleteRepo=function(e){D.I.sysAdminDeleteRepo(e.id).then((function(t){i.props.onDeleteRepo(e),i.setState({isDeleteDialogOpen:!1,isRepoDeleted:!0});var n=(0,p.ih)("Successfully deleted {name}.").replace("{name}",e.name);w.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t),i.setState({isRepoDeleted:!1})}))},i.onTransferRepo=function(e){D.I.sysAdminTransferRepo(i.props.repo.id,e.email).then((function(e){i.props.onTransferRepo(e.data);var t=(0,p.ih)("Successfully transferred the library.");w.Z.success(t)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)})),i.toggleTransferDialog()},i.handleMouseOver=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseOut=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.onMenuItemClick=function(e){switch(e){case"Share":i.toggleShareDialog();break;case"Delete":i.toggleDeleteDialog();break;case"Transfer":i.toggleTransferDialog();break;case"History Setting":i.toggleHistorySettingDialog()}},i.toggleShareDialog=function(){i.setState({isShareDialogOpen:!i.state.isShareDialogOpen})},i.toggleDeleteDialog=function(){i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.toggleTransferDialog=function(){i.setState({isTransferDialogOpen:!i.state.isTransferDialogOpen})},i.toggleHistorySettingDialog=function(){i.setState({isHistorySettingDialogOpen:!i.state.isHistorySettingDialogOpen})},i.renderRepoName=function(){var e=i.props.repo;return e.name?p._y&&pn&&!e.encrypted?(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/libraries/").concat(e.id,"/"),children:e.name}):e.name:"--"},i.translateOperations=function(e){var t="";switch(e){case"Share":t=(0,p.ih)("Share");break;case"Delete":t=(0,p.ih)("Delete");break;case"Transfer":t=(0,p.ih)("Transfer");break;case"History Setting":t=(0,p.ih)("History Setting")}return t},i.getOperations=function(){var e=["Delete","Transfer"];return i.props.repo.encrypted||e.push("Share"),e.push("History Setting"),e},i.state={isOpIconShown:!1,highlight:!1,isShareDialogOpen:!1,isDeleteDialogOpen:!1,isTransferDialogOpen:!1,isHistorySettingDialogOpen:!1,isRepoDeleted:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e,t=this.props.repo,n=this.state,i=n.isOpIconShown,r=n.isShareDialogOpen,s=n.isDeleteDialogOpen,a=n.isTransferDialogOpen,o=n.isHistorySettingDialogOpen,c=m.c.getLibIconUrl(t),h=m.c.getLibIconTitle(t),d=t.owner_email.indexOf("@seafile_group"),u=-1!=d;return u&&(e=t.owner_email.substring(0,d)),(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseOver,onMouseLeave:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:c,title:h,alt:h,width:"24"})}),(0,v.jsx)("td",{children:this.renderRepoName()}),(0,v.jsx)("td",{children:"".concat(t.file_count," / ").concat(m.c.bytesToSize(t.size))}),(0,v.jsx)("td",{children:t.id}),(0,v.jsx)("td",{children:u?(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/departments/").concat(e,"/"),children:t.owner_name}):(0,v.jsx)(De,{email:t.owner_email,name:t.owner_name})}),(0,v.jsx)("td",{children:!u&&i&&(0,v.jsx)(Je.Z,{operations:this.getOperations(),translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),r&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(un,{itemName:t.name,itemPath:"/",repoID:t.id,isGroupOwnedRepo:u,repoEncrypted:t.encrypted,enableDirPrivateShare:!0,userPerm:t.permission,toggleDialog:this.toggleShareDialog})}),s&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(Qt.Z,{repo:t,isRepoDeleted:this.state.isRepoDeleted,onDeleteRepo:this.onDeleteRepo,toggle:this.toggleDeleteDialog})}),a&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(kt.Z,{itemName:t.name,submit:this.onTransferRepo,canTransferToDept:!1,toggleDialog:this.toggleTransferDialog})}),o&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(gn,{repoID:t.id,itemName:t.name,toggleDialog:this.toggleHistorySettingDialog})})]})}}]),n}(l.Component),vn=mn,xn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleCreateRepoDialog=function(){i.setState({isCreateRepoDialogOpen:!i.state.isCreateRepoDialogOpen})},i.getReposByPage=function(e){var t=i.state,n=t.perPage,r=t.sortBy;D.I.sysAdminListAllRepos(e,n,r).then((function(e){i.setState({loading:!1,repos:e.data.repos,pageInfo:e.data.page_info})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.sortItems=function(e){i.setState({currentPage:1,sortBy:e},(function(){var e=new URL(location.href),t=new URLSearchParams(e.search),n=i.state,r=n.currentPage,s=n.sortBy;t.set("page",r),t.set("order_by",s),e.search=t.toString(),(0,g.c4)(e.toString()),i.getReposByPage(r)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getReposByPage(1)}))},i.createRepo=function(e,t){D.I.sysAdminCreateRepo(e,t).then((function(e){i.state.repos.unshift(e.data),i.setState({repos:i.state.repos})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.onDeleteRepo=function(e){var t=i.state.repos.filter((function(t){return t.id!=e.id}));i.setState({repos:t})},i.onTransferRepo=function(e){var t=i.state.repos.map((function(t){return t.id==e.id?e:t}));i.setState({repos:t})},i.getSearch=function(){return(0,v.jsx)(qe,{placeholder:(0,p.ih)("Search libraries by name or ID"),submit:i.searchRepos})},i.searchRepos=function(e){(0,g.c4)("".concat(p.ze,"sys/search-libraries/?name_or_id=").concat(encodeURIComponent(e)))},i.state={loading:!0,errorMsg:"",repos:[],pageInfo:{},perPage:25,sortBy:"",isCreateRepoDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=void 0===i?1:i,s=n.perPage,a=n.sortBy;this.setState({sortBy:t.get("order_by")||a,perPage:parseInt(t.get("per_page")||s),currentPage:parseInt(t.get("page")||r)},(function(){e.getReposByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state.isCreateRepoDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({search:this.getSearch()},this.props),{},{children:(0,v.jsxs)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleCreateRepoDialog,children:[(0,v.jsx)("i",{className:"fas fa-plus-square text-secondary mr-1"}),(0,p.ih)("New Library")]})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gt,{currentItem:"all"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(vn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repos,sortBy:this.state.sortBy,sortItems:this.sortItems,pageInfo:this.state.pageInfo,curPerPage:this.state.perPage,getListByPage:this.getReposByPage,resetPerPage:this.resetPerPage,onDeleteRepo:this.onDeleteRepo,onTransferRepo:this.onTransferRepo})})]})}),e&&(0,v.jsx)(Wt,{createRepo:this.createRepo,toggleDialog:this.toggleCreateRepoDialog})]})}}]),n}(l.Component),yn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items;return t?(0,v.jsx)(I.Z,{}):n?(0,v.jsx)("p",{className:"error text-center",children:n}):(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"33%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"34%",children:"ID"}),(0,v.jsx)("th",{width:"33%",children:(0,p.ih)("Description")})]})}),(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(bn,{item:e},t)}))})]})})}}]),n}(l.Component),bn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,v.jsxs)("tr",{children:[(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/libraries/").concat(e.id,"/"),children:e.name})}),(0,v.jsx)("td",{children:e.id}),(0,v.jsx)("td",{children:e.description})]})}}]),n}(l.Component),jn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).state={loading:!0,errorMsg:"",items:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetSystemRepoInfo().then((function(t){var n=[];n.push(t.data),e.setState({items:n,loading:!1})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gt,{currentItem:"system"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(yn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.items})})]})})]})}}]),n}(l.Component),Sn=window.sysadmin.pageOptions.trashReposExpireDays,Dn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPageList=function(){i.props.getListByPage(i.props.pageInfo.current_page-1)},i.getNextPageList=function(){i.props.getListByPage(i.props.pageInfo.current_page+1)},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.pageInfo,a=t.curPerPage;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var o=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No deleted libraries")})}),c=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("p",{className:"mt-4 small text-secondary",children:(0,p.ih)("Tip: libraries deleted {trashReposExpireDays} days ago will be cleaned automatically.").replace("{trashReposExpireDays}",Sn)}),(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"43%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"27%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Deleted Time")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(wn,{repo:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,onDeleteRepo:e.props.onDeleteRepo,onRestoreRepo:e.props.onRestoreRepo},n)}))})]}),s&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageList,gotoNextPage:this.getNextPageList,currentPage:s.current_page,hasNextPage:s.has_next_page,curPerPage:a,resetPerPage:this.props.resetPerPage})]});return r.length?c:o}}]),n}(l.Component),wn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseOut=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.onDeleteRepo=function(){var e=i.props.repo;D.I.sysAdminDeleteTrashRepo(e.id).then((function(t){i.props.onDeleteRepo(e);var n=(0,p.ih)("Successfully deleted {name}.").replace("{name}",e.name);w.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.onRestoreRepo=function(){var e=i.props.repo;D.I.sysAdminRestoreTrashRepo(e.id).then((function(t){i.props.onRestoreRepo(e);var n=(0,p.ih)("Successfully restored the library.");w.Z.success(n)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.toggleDeleteRepoDialog=function(e){e&&e.preventDefault(),i.setState({isDeleteRepoDialogOpen:!i.state.isDeleteRepoDialogOpen})},i.toggleRestoreRepoDialog=function(e){e&&e.preventDefault(),i.setState({isRestoreRepoDialogOpen:!i.state.isRestoreRepoDialogOpen})},i.translateOperations=function(e){var t="";switch(e){case"Restore":t=(0,p.ih)("Restore");break;case"Delete":t=(0,p.ih)("Delete")}return t},i.onMenuItemClick=function(e){switch(e){case"Restore":i.toggleRestoreRepoDialog();break;case"Delete":i.toggleDeleteRepoDialog()}},i.state={highlight:!1,isOpIconShown:!1,isDeleteRepoDialogOpen:!1,isRestoreRepoDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repo,t=this.state,n=t.isOpIconShown,i=t.isDeleteRepoDialogOpen,r=t.isRestoreRepoDialogOpen,s=m.c.getLibIconUrl(e),a=m.c.getLibIconTitle(e),o=''+m.c.HTMLescape(e.name)+"";return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseOver,onMouseLeave:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:s,title:a,alt:a,width:"24"})}),(0,v.jsx)("td",{children:e.name}),(0,v.jsx)("td",{children:-1==e.owner.indexOf("@seafile_group")?(0,v.jsx)(De,{email:e.owner,name:e.owner_name}):e.group_name}),(0,v.jsx)("td",{children:C()(e.delete_time).fromNow()}),(0,v.jsx)("td",{children:n&&(0,v.jsx)(Je.Z,{operations:["Restore","Delete"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Library"),message:(0,p.ih)("Are you sure you want to delete {placeholder} completely?").replace("{placeholder}",o),executeOperation:this.onDeleteRepo,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteRepoDialog})}),r&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(We.Z,{title:(0,p.ih)("Restore Library"),message:(0,p.ih)("Are you sure you want to restore {placeholder}?").replace("{placeholder}",o),executeOperation:this.onRestoreRepo,confirmBtnText:(0,p.ih)("Restore"),toggleDialog:this.toggleRestoreRepoDialog})})]})}}]),n}(l.Component),In=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleCleanTrashDialog=function(){i.setState({isCleanTrashDialogOpen:!i.state.isCleanTrashDialogOpen})},i.getReposByPage=function(e){var t=i.state.perPage;D.I.sysAdminListTrashRepos(e,t).then((function(e){i.setState({repos:e.data.repos,pageInfo:e.data.page_info,loading:!1})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getReposByPage(1)}))},i.onDeleteRepo=function(e){var t=i.state.repos.filter((function(t){return t.id!=e.id}));i.setState({repos:t})},i.onRestoreRepo=function(e){var t=i.state.repos.filter((function(t){return t.id!=e.id}));i.setState({repos:t})},i.cleanTrash=function(){D.I.sysAdminCleanTrashRepos().then((function(e){i.setState({repos:[]}),w.Z.success((0,p.ih)("Successfully cleared trash."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.getSearch=function(){return(0,v.jsx)(qe,{placeholder:(0,p.ih)("Search libraries by owner"),submit:i.searchRepos})},i.searchRepos=function(e){D.I.sysAdminSearchTrashRepos(e).then((function(e){i.setState({repos:e.data.repos,pageInfo:null,errorMsg:"",loading:!1})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.state={loading:!0,errorMsg:"",repos:[],pageInfo:{},perPage:25,isCleanTrashDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=void 0===i?1:i,s=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||s),currentPage:parseInt(t.get("page")||r)},(function(){e.getReposByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state.isCleanTrashDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[this.state.repos.length?(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"operation-item",onClick:this.toggleCleanTrashDialog,children:(0,p.ih)("Clean")})})):(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gt,{currentItem:"trash"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Dn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repos,pageInfo:this.state.pageInfo,onDeleteRepo:this.onDeleteRepo,onRestoreRepo:this.onRestoreRepo,getListByPage:this.getReposByPage,resetPerPage:this.resetPerPage,curPerPage:this.state.perPage})})]})}),e&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Clear Trash"),message:(0,p.ih)("Are you sure you want to clear trash?"),executeOperation:this.cleanTrash,confirmBtnText:(0,p.ih)("Clear"),toggleDialog:this.toggleCleanTrashDialog})]})}}]),n}(l.Component),Pn=In,Zn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getRepos=function(){var e=i.state.name;D.I.sysAdminSearchRepos(e).then((function(e){i.setState({loading:!1,errorMsg:"",repos:e.data.repo_list})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.searchRepos=function(){i.getRepos()},i.onDeleteRepo=function(e){var t=i.state.repos.filter((function(t){return t.id!=e.id}));i.setState({repos:t})},i.onTransferRepo=function(e){var t=i.state.repos.map((function(t){return t.id==e.id?e:t}));i.setState({repos:t})},i.handleNameInputChange=function(e){i.setState({name:e.target.value},i.checkSubmitBtnActive)},i.checkSubmitBtnActive=function(){var e=i.state.name;i.setState({isSubmitBtnActive:e.trim()})},i.handleKeyDown=function(e){13===e.keyCode&&(i.state.isSubmitBtnActive&&i.searchRepos())},i.state={name:"",isSubmitBtnActive:!1,loading:!0,errorMsg:"",repos:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=new URL(document.location).searchParams;this.setState({name:e.get("name_or_id")||""},this.getRepos)}},{key:"render",value:function(){var e=this.state,t=e.name,n=e.isSubmitBtnActive;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Libraries")})}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Search Libraries")}),(0,v.jsx)("p",{className:"text-secondary small",children:(0,p.ih)("Tip: you can search by keyword in name or ID.")}),(0,v.jsxs)(_e.Z,{tag:"div",children:[(0,v.jsxs)(Me.Z,{row:!0,children:[(0,v.jsx)(Re.Z,{for:"name",sm:1,children:(0,p.ih)("Name or ID")}),(0,v.jsx)(xt.Z,{sm:5,children:(0,v.jsx)(J.Z,{type:"text",name:"name",id:"name",value:t,onChange:this.handleNameInputChange,onKeyDown:this.handleKeyDown})})]}),(0,v.jsx)(Me.Z,{row:!0,children:(0,v.jsx)(xt.Z,{sm:{size:5,offset:1},children:(0,v.jsx)("button",{className:"btn btn-outline-primary",disabled:!n,onClick:this.searchRepos,children:(0,p.ih)("Submit")})})})]})]}),(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Result")}),(0,v.jsx)(vn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repos,onDeleteRepo:this.onDeleteRepo,onTransferRepo:this.onTransferRepo})]})]})]})})]})}}]),n}(l.Component),kn=n(82388),_n=n(77066),Mn=function(){function e(t){(0,r.Z)(this,e),this.name=t.obj_name,this.mtime=t.last_update,this.size=t.file_size,this.is_file=t.is_file}return(0,s.Z)(e,[{key:"isDir",value:function(){return!this.is_file}}]),e}(),Nn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a'+m.c.HTMLescape(this.props.groupName)+"",n=(0,p.ih)("Transfer Group {placeholder} to").replace("{placeholder}",t);return(0,v.jsxs)(u.Z,{isOpen:!0,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggleDialog,children:(0,v.jsx)("span",{dangerouslySetInnerHTML:{__html:n}})}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(Ve.Z,{ref:"userSelect",isMulti:!1,className:"reviewer-select",placeholder:(0,p.ih)("Select a user"),onSelectChange:this.handleSelectChange})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggleDialog,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.submit,disabled:e,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),En=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPage=function(){i.props.getListByPage(i.props.pageInfo.current_page-1)},i.getNextPage=function(){i.props.getListByPage(i.props.pageInfo.current_page+1)},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.pageInfo,a=t.curPerPage;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var o=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No groups")})}),c=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"40%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Un,{item:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,deleteGroup:e.props.deleteGroup,transferGroup:e.props.transferGroup},n)}))})]}),s&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:s.current_page,hasNextPage:s.has_next_page,curPerPage:a,resetPerPage:this.props.resetPerPage})]});return r.length?c:o}}]),n}(l.Component),Un=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.onMenuItemClick=function(e){switch(e){case"Delete":i.toggleDeleteDialog();break;case"Transfer":i.toggleTransferDialog()}},i.toggleDeleteDialog=function(e){e&&e.preventDefault(),i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.toggleTransferDialog=function(e){e&&e.preventDefault(),i.setState({isTransferDialogOpen:!i.state.isTransferDialogOpen})},i.deleteGroup=function(){i.props.deleteGroup(i.props.item.id)},i.transferGroup=function(e){i.props.transferGroup(i.props.item.id,e)},i.translateOperations=function(e){var t="";switch(e){case"Delete":t=(0,p.ih)("Delete");break;case"Transfer":t=(0,p.ih)("Transfer")}return t},i.state={isOpIconShown:!1,highlight:!1,isDeleteDialogOpen:!1,isTransferDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=t.isTransferDialogOpen,s=''+m.c.HTMLescape(e.name)+"",a=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",s),o=0==e.parent_group_id?"".concat(p.ze,"sys/groups/").concat(e.id,"/libraries/"):"".concat(p.ze,"sys/departments/").concat(e.id,"/");return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:o,children:e.name})}),(0,v.jsx)("td",{children:"system admin"==e.owner?"--":(0,v.jsx)(De,{email:e.owner,name:e.owner_name})}),(0,v.jsx)("td",{children:(0,v.jsx)("span",{title:C()(e.created_at).format("llll"),children:C()(e.created_at).fromNow()})}),(0,v.jsx)("td",{children:n&&"system admin"!=e.owner&&(0,v.jsx)(Je.Z,{operations:["Delete","Transfer"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Group"),message:a,executeOperation:this.deleteGroup,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog}),r&&(0,v.jsx)(Rn,{groupName:e.name,transferGroup:this.transferGroup,toggleDialog:this.toggleTransferDialog})]})}}]),n}(l.Component),zn=En,Bn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleCreateGroupDialog=function(){i.setState({isCreateGroupDialogOpen:!i.state.isCreateGroupDialogOpen})},i.getGroupListByPage=function(e){D.I.sysAdminListAllGroups(e,i.state.perPage).then((function(e){i.setState({loading:!1,groupList:e.data.groups,pageInfo:e.data.page_info})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getGroupListByPage(1)}))},i.createGroup=function(e,t){D.I.sysAdminCreateNewGroup(e,t).then((function(e){var t=i.state.groupList;t.unshift(e.data),i.setState({groupList:t}),i.toggleCreateGroupDialog()})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteGroup=function(e){D.I.sysAdminDismissGroupByID(e).then((function(t){var n=i.state.groupList.filter((function(t){return t.id!=e}));i.setState({groupList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.transferGroup=function(e,t){D.I.sysAdminTransferGroup(t,e).then((function(t){var n=i.state.groupList.map((function(n){return n.id==e&&(n=t.data),n}));i.setState({groupList:n}),w.Z.success((0,p.ih)("Successfully transferred the group."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.getSearch=function(){return(0,v.jsx)(qe,{placeholder:(0,p.ih)("Search groups by name"),submit:i.searchGroups})},i.searchGroups=function(e){(0,g.c4)("".concat(p.ze,"sys/search-groups/?name=").concat(encodeURIComponent(e)))},i.state={loading:!0,errorMsg:"",groupList:[],pageInfo:{},perPage:25,isCreateGroupDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=void 0===i?1:i,s=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||s),currentPage:parseInt(t.get("page")||r)},(function(){e.getGroupListByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state.isCreateGroupDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({search:this.getSearch()},this.props),{},{children:(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(S.Z,{className:"operation-item",onClick:this.toggleCreateGroupDialog,children:(0,p.ih)("New Group")}),(0,v.jsx)("a",{className:"btn btn-secondary operation-item",href:"".concat(p.ze,"sys/groupadmin/export-excel/"),children:(0,p.ih)("Export Excel")})]})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Groups")})}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(zn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.groupList,pageInfo:this.state.pageInfo,deleteGroup:this.deleteGroup,transferGroup:this.transferGroup,getListByPage:this.getGroupListByPage,resetPerPage:this.resetPerPage,curPerPage:this.state.perPage})})]})}),e&&(0,v.jsx)(Fn,{createGroup:this.createGroup,toggleDialog:this.toggleCreateGroupDialog})]})}}]),n}(l.Component),Vn=Bn,Hn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getGroups=function(){var e=i.state.name;D.I.sysAdminSearchGroups(e).then((function(e){i.setState({loading:!1,groupList:e.data.group_list})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.deleteGroup=function(e){D.I.sysAdminDismissGroupByID(e).then((function(t){var n=i.state.groupList.filter((function(t){return t.id!=e}));i.setState({groupList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.transferGroup=function(e,t){D.I.sysAdminTransferGroup(t,e).then((function(t){var n=i.state.groupList.map((function(n){return n.id==e&&(n=t.data),n}));i.setState({groupList:n}),w.Z.success((0,p.ih)("Successfully transferred the group."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.handleNameInputChange=function(e){i.setState({name:e.target.value},i.checkSubmitBtnActive)},i.checkSubmitBtnActive=function(){var e=i.state.name;i.setState({isSubmitBtnActive:e.trim()})},i.handleKeyDown=function(e){13===e.keyCode&&(i.state.isSubmitBtnActive&&i.getGroups())},i.state={name:"",isSubmitBtnActive:!1,loading:!0,errorMsg:"",groupList:[],pageInfo:null},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=new URL(document.location).searchParams;this.setState({name:e.get("name")||""},this.getGroups)}},{key:"render",value:function(){var e=this.state,t=e.name,n=e.isSubmitBtnActive;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Groups")})}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Search Groups")}),(0,v.jsx)("p",{className:"text-secondary small",children:(0,p.ih)("Tip: you can search by keyword in name.")}),(0,v.jsxs)(_e.Z,{tag:"div",children:[(0,v.jsxs)(Me.Z,{row:!0,children:[(0,v.jsx)(Re.Z,{for:"name",sm:1,children:(0,p.ih)("Name")}),(0,v.jsx)(xt.Z,{sm:5,children:(0,v.jsx)(J.Z,{type:"text",name:"name",id:"name",value:t,onChange:this.handleNameInputChange,onKeyDown:this.handleKeyDown})})]}),(0,v.jsx)(Me.Z,{row:!0,children:(0,v.jsx)(xt.Z,{sm:{size:5,offset:1},children:(0,v.jsx)("button",{className:"btn btn-outline-primary",disabled:!n,onClick:this.getGroups,children:(0,p.ih)("Submit")})})})]})]}),(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Result")}),(0,v.jsx)(zn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.groupList,deleteGroup:this.deleteGroup,transferGroup:this.transferGroup})]})]})]})})]})}}]),n}(l.Component),Wn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"repos",urlPart:"groups/"+i.props.groupID+"/libraries",text:(0,p.ih)("Libraries")},{name:"members",urlPart:"groups/"+i.props.groupID+"/members",text:(0,p.ih)("Members")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.groupName,n=e.currentItem;return(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsxs)("h3",{className:"sf-heading",children:[(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/groups/"),children:(0,p.ih)("Groups")})," / ",t]})}),(0,v.jsx)("ul",{className:"nav border-bottom mx-4",children:this.navItems.map((function(e,t){return(0,v.jsx)("li",{className:"nav-item mr-2",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(e.urlPart,"/"),className:"nav-link ".concat(n==e.name?" active":""),children:e.text})},t)}))})]})}}]),n}(l.Component),Yn=Wn,Gn=window.sysadmin.pageOptions.enableSysAdminViewRepo,qn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No libraries")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Size")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Shared By")}),(0,v.jsx)("th",{width:"10%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Qn,{item:t,unshareRepo:e.props.unshareRepo},n)}))})]})});return r.length?a:s}}]),n}(l.Component),Qn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.setState({isOpIconShown:!0})},i.handleMouseLeave=function(){i.setState({isOpIconShown:!1})},i.toggleUnshareRepoDialog=function(e){e&&e.preventDefault(),i.setState({isUnshareRepoDialogOpen:!i.state.isUnshareRepoDialogOpen})},i.unshareRepo=function(){var e=i.props.item;i.props.unshareRepo(e.repo_id,e.name),i.toggleUnshareRepoDialog()},i.renderRepoName=function(){var e=i.props.item,t=e;return t.id=e.repo_id,t.name?p._y&&Gn&&!t.encrypted?(0,v.jsx)("a",{href:"".concat(p.ze,"sys/libraries/").concat(t.id,"/"),children:t.name}):t.name:"--"},i.state={isOpIconShown:!1,isUnshareRepoDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.isOpIconShown,n=e.isUnshareRepoDialogOpen,i=this.props.item,r=m.c.getLibIconUrl(i),s=m.c.getLibIconTitle(i),a=''+m.c.HTMLescape(i.name)+"",o=(0,p.ih)("Are you sure you want to unshare {placeholder} ?").replace("{placeholder}",a);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:r,title:s,alt:s,width:"24"})}),(0,v.jsx)("td",{children:this.renderRepoName()}),(0,v.jsx)("td",{children:m.c.bytesToSize(i.size)}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:i.shared_by,name:i.shared_by_name})}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-x3 ".concat(t?"":"invisible"),title:(0,p.ih)("Unshare"),onClick:this.toggleUnshareRepoDialog})})]}),n&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Unshare Library"),message:o,executeOperation:this.unshareRepo,confirmBtnText:(0,p.ih)("Unshare"),toggleDialog:this.toggleUnshareRepoDialog})]})}}]),n}(l.Component),Kn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).unshareRepo=function(e,t){D.I.sysAdminUnshareRepoFromGroup(i.props.groupID,e).then((function(n){var r=i.state.repoList.filter((function(t){return t.repo_id!=e}));i.setState({repoList:r});var s=(0,p.ih)("Successfully unshared library {placeholder}").replace("{placeholder}",t);w.Z.success(s)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",groupName:"",repoList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminListGroupRepos(this.props.groupID).then((function(t){e.setState({loading:!1,repoList:t.data.libraries,groupName:t.data.group_name})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Yn,{groupID:this.props.groupID,groupName:this.state.groupName,currentItem:"repos"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(qn,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repoList,unshareRepo:this.unshareRepo})})]})})]})}}]),n}(l.Component),Xn=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSelectChange=function(e){i.setState({selectedOptions:e,isSubmitBtnDisabled:!e.length})},i.addMembers=function(){var e=i.state.selectedOptions.map((function(e){return e.email}));i.props.addMembers(e),i.props.toggle()},i.state={selectedOptions:null,isSubmitBtnDisabled:!0},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.isSubmitBtnDisabled;return(0,v.jsxs)(u.Z,{isOpen:!0,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Add Member")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(Ve.Z,{ref:"userSelect",isMulti:!0,className:"reviewer-select",placeholder:(0,p.ih)("Search users..."),onSelectChange:this.handleSelectChange})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.addMembers,disabled:e,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),$n=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a'+m.c.HTMLescape(i.name)+"",s=(0,p.ih)("Are you sure you want to remove {placeholder} ?").replace("{placeholder}",r);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:i.avatar_url,alt:"",className:"rounded-circle",width:"24"})}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:i.email,name:i.name})}),(0,v.jsx)("td",{children:"Owner"==i.role?(0,p.ih)("Owner"):(0,v.jsx)(Jn,{isTextMode:!0,isEditIconShow:t,roleOptions:["Member","Admin"],currentRole:i.role,onRoleChanged:this.updateMemberRole})}),(0,v.jsx)("td",{children:"Owner"!=i.role&&(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-x3 ".concat(t?"":"invisible"),title:(0,p.ih)("Remove"),onClick:this.toggleDeleteDialog})})]}),n&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Remove Member"),message:s,executeOperation:this.removeMember,confirmBtnText:(0,p.ih)("Remove"),toggleDialog:this.toggleDeleteDialog})]})}}]),n}(l.Component),ni=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getListByPage=function(e){var t=i.state.perPage;D.I.sysAdminListGroupMembers(i.props.groupID,e,t).then((function(e){i.setState({loading:!1,memberList:e.data.members,groupName:e.data.group_name,pageInfo:e.data.page_info})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getListByPage(1)}))},i.toggleAddMemgerDialog=function(){i.setState({isAddMemberDialogOpen:!i.state.isAddMemberDialogOpen})},i.addMembers=function(e){D.I.sysAdminAddGroupMember(i.props.groupID,e).then((function(e){var t=e.data.success;t.length&&(i.setState({memberList:t.concat(i.state.memberList)}),t.forEach((function(e){var t=(0,p.ih)("Successfully added {email_placeholder}").replace("{email_placeholder}",e.email);w.Z.success(t)}))),e.data.failed.forEach((function(e){var t=(0,p.ih)("Failed to add {email_placeholder}: {error_msg_placeholder}").replace("{email_placeholder}",e.email).replace("{error_msg_placeholder}",e.error_msg);w.Z.danger(t,{duration:3})}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.removeMember=function(e,t){D.I.sysAdminDeleteGroupMember(i.props.groupID,e).then((function(n){var r=i.state.memberList.filter((function(t){return t.email!=e}));i.setState({memberList:r}),w.Z.success((0,p.ih)("Successfully removed {placeholder}.").replace("{placeholder}",t))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateMemberRole=function(e,t){var n="Admin"==t;D.I.sysAdminUpdateGroupMemberRole(i.props.groupID,e,n).then((function(n){var r=i.state.memberList.map((function(n){return n.email==e&&(n.role=t),n}));i.setState({memberList:r})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",groupName:"",memberList:[],pageInfo:{},currentPage:1,perPage:25,isAddMemberDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({currentPage:parseInt(t.get("page")||i),perPage:parseInt(t.get("per_page")||r)},(function(){e.getListByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state.isAddMemberDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddMemgerDialog,children:(0,p.ih)("Add Member")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Yn,{currentItem:"members",groupID:this.props.groupID,groupName:this.state.groupName}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(ei,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.memberList,removeMember:this.removeMember,updateMemberRole:this.updateMemberRole,pageInfo:this.state.pageInfo,curPerPage:this.state.perPage,getListByPage:this.getListByPage,resetPerPage:this.resetPerPage})})]})}),e&&(0,v.jsx)(Xn,{addMembers:this.addMembers,toggle:this.toggleAddMemgerDialog})]})}}]),n}(l.Component),ii=(n(74351),function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsx)("div",{className:"h-100 org-departments",children:this.props.children})}}]),n}(l.Component)),ri=ii,si=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSubmit=function(){if(i.validateName()){var e=-1;i.props.parentGroupID&&(e=i.props.parentGroupID),D.I.sysAdminAddNewDepartment(e,i.state.departName.trim()).then((function(e){i.props.toggle(),i.props.onAddNewDepartment(e.data)})).catch((function(e){var t=(0,p.ih)(e.response.data.error_msg);i.setState({errMessage:t})}))}},i.validateName=function(){var e="";return!!i.state.departName.trim().length||(e=(0,p.ih)("Name is required"),i.setState({errMessage:e}),!1)},i.handleChange=function(e){i.setState({departName:e.target.value})},i.handleKeyPress=function(e){"Enter"===e.key&&(i.handleSubmit(),e.preventDefault())},i.state={departName:"",errMessage:""},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.parentGroupID?(0,p.ih)("New Sub-department"):(0,p.ih)("New Department");return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,autoFocus:!1,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:e}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsx)(_e.Z,{children:(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{for:"departName",children:(0,p.ih)("Name")}),(0,v.jsx)(J.Z,{id:"departName",onKeyPress:this.handleKeyPress,value:this.state.departName,onChange:this.handleChange,autoFocus:!0})]})}),this.state.errMessage&&(0,v.jsx)("p",{className:"error",children:this.state.errMessage})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),ai=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSubmit=function(){i.validateName()&&D.I.sysAdminRenameDepartment(i.props.groupID,i.state.departmentName.trim()).then((function(e){i.props.toggle(),i.props.onDepartmentNameChanged(e.data),w.Z.success((0,p.ih)("Success"))})).catch((function(e){var t=m.c.getErrorMsg(e);i.setState({errMessage:t})}))},i.validateName=function(){var e="";return!!i.state.departmentName.trim().length||(e=(0,p.ih)("Name is required"),i.setState({errMessage:e}),!1)},i.handleChange=function(e){i.setState({departmentName:e.target.value})},i.handleKeyPress=function(e){"Enter"===e.key&&(i.handleSubmit(),e.preventDefault())},i.onAfterModelOpened=function(){i.newInput.current&&(i.newInput.current.focus(),i.newInput.current.select())},i.state={departmentName:i.props.name,errMessage:""},i.newInput=l.createRef(),i}return(0,s.Z)(n,[{key:"render",value:function(){var e=(0,p.ih)("Rename Department");return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,onOpened:this.onAfterModelOpened,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:e}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsx)(_e.Z,{children:(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{for:"departmentName",children:(0,p.ih)("Name")}),(0,v.jsx)(J.Z,{id:"departmentName",onKeyPress:this.handleKeyPress,value:this.state.departmentName,onChange:this.handleChange,innerRef:this.newInput})]})}),this.state.errMessage&&(0,v.jsx)("p",{className:"error",children:this.state.errMessage})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),oi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteDepart=function(){i.props.toggle();var e=i.props.group;D.I.sysAdminDeleteDepartment(e.id).then((function(t){i.props.onDeleteDepartment(e.id)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.group,t=(0,p.ih)("Are you sure you want to delete {placeholder} ?");return t=t.replace("{placeholder}",''+m.c.HTMLescape(e.name)+""),(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Delete Department")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)("p",{dangerouslySetInnerHTML:{__html:t}})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.deleteDepart,children:(0,p.ih)("Delete")})]})]})}}]),n}(l.Component),li=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).setGroupQuota=function(){var e=i.state.quota;if(e.length&&/^[1-9]\d*$/im.test(e)||-2==e){i.setState({errMessage:""});var t=-2==i.state.quota?i.state.quota:1e6*i.state.quota;D.I.sysAdminUpdateDepartmentQuota(i.props.groupID,t).then((function(e){i.props.toggle(),i.props.onSetQuota(e.data)})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))}else{var n=(0,p.ih)("Quota is invalid.");i.setState({errMessage:n})}},i.handleChange=function(e){var t=e.target.value.trim();i.setState({quota:t})},i.handleKeyPress=function(e){"Enter"===e.key&&(i.setGroupQuota(),e.preventDefault())},i.state={quota:"",errMessage:""},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,autoFocus:!1,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Set Quota")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsxs)(Ne.Z,{children:[(0,v.jsx)(J.Z,{onKeyPress:this.handleKeyPress,value:this.state.quota,onChange:this.handleChange,autoFocus:!0}),(0,v.jsx)(Ce.Z,{addonType:"append",children:"MB"})]}),(0,v.jsxs)("p",{className:"tip",children:[(0,v.jsx)("br",{}),(0,v.jsx)("span",{children:(0,p.ih)("An integer that is greater than 0 or equal to -2.")}),(0,v.jsx)("br",{}),(0,v.jsx)("span",{children:(0,p.ih)("Tip: -2 means no limit.")})]}),this.state.errMessage&&(0,v.jsx)("p",{className:"error",children:this.state.errMessage})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.setGroupQuota,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),ci=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseOut=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.translateOperations=function(e){var t="";switch(e){case"Rename":t=(0,p.ih)("Rename");break;case"Delete":t=(0,p.ih)("Delete")}return t},i.onMenuItemClick=function(e){switch(e){case"Rename":i.toggleRenameDialog();break;case"Delete":i.toggleDeleteDialog()}},i.toggleRenameDialog=function(){i.setState({isRenameDialogOpen:!i.state.isRenameDialogOpen})},i.toggleDeleteDialog=function(){i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.toggleSetQuotaDialog=function(){i.setState({isSetQuotaDialogOpen:!i.state.isSetQuotaDialogOpen})},i.state={isOpIconShown:!1,highlight:!1,isSetQuotaDialogOpen:!1,isDeleteDialogOpen:!1,isRenameDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.group,t=this.state,n=t.highlight,i=t.isOpIconShown,r=t.isRenameDialogOpen,s=t.isDeleteDialogOpen,a=t.isSetQuotaDialogOpen,o=p.ze+"sys/departments/"+e.id+"/";return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseOver,onMouseLeave:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:o,children:e.name})}),(0,v.jsx)("td",{children:C()(e.created_at).fromNow()}),(0,v.jsxs)("td",{children:[m.c.bytesToSize(e.quota)," ",(0,v.jsx)("span",{onClick:this.toggleSetQuotaDialog,title:(0,p.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon ".concat(n?"":"vh")})]}),(0,v.jsx)("td",{children:i&&(0,v.jsx)(Je.Z,{operations:["Rename","Delete"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),s&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(oi,{group:e,onDeleteDepartment:this.props.onDeleteDepartment,toggle:this.toggleDeleteDialog})}),a&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(li,{groupID:e.id,onSetQuota:this.props.onSetDepartmentQuota,toggle:this.toggleSetQuotaDialog})}),r&&(0,v.jsx)(ai,{groupID:e.id,name:e.name,toggle:this.toggleRenameDialog,onDepartmentNameChanged:this.props.onDepartmentNameChanged})]})}}]),n}(l.Component),hi=ci;C().locale(p.KQ);var di=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.listDepartments=function(){D.I.sysAdminListAllDepartments().then((function(e){i.setState({groups:e.data.data})}))},i.toggleAddDepartDialog=function(){i.setState({isShowAddDepartDialog:!i.state.isShowAddDepartDialog})},i.onDepartmentNameChanged=function(e){i.setState({groups:i.state.groups.map((function(t){return t.id==e.id&&(t.name=e.name),t}))})},i.onAddNewDepartment=function(e){var t=i.state.groups;t.unshift(e),i.setState({groups:t})},i.onDeleteDepartment=function(e){var t=i.state.groups;i.setState({groups:t.filter((function(t){return t.id!=e}))})},i.onSetDepartmentQuota=function(e){var t=i.state.groups;i.setState({groups:t.map((function(t){return t.id==e.id&&(t.quota=e.quota),t}))})},i.state={groups:null,groupID:"",isShowAddDepartDialog:!1,isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listDepartments()}},{key:"render",value:function(){var e=this,t=this.state.groups,n=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("button",{className:"btn btn-secondary operation-item",title:(0,p.ih)("New Department"),onClick:this.toggleAddDepartDialog,children:(0,p.ih)("New Department")}),this.state.isShowAddDepartDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(si,{onAddNewDepartment:this.onAddNewDepartment,groupID:this.state.groupID,toggle:this.toggleAddDepartDialog})})]});return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:n})),(0,v.jsx)("div",{className:"main-panel-center flex-row h-100",children:(0,v.jsxs)("div",{className:"cur-view-container o-auto",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("div",{className:"fleft",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Departments")})})}),(0,v.jsx)("div",{className:"cur-view-content",children:t&&t.length>0?(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"40%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Quota")}),(0,v.jsx)("th",{width:"15%"})]})}),(0,v.jsx)("tbody",{children:t.map((function(t,n){return(0,v.jsx)(l.Fragment,{children:(0,v.jsx)(hi,{group:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,onDepartmentNameChanged:e.onDepartmentNameChanged,onDeleteDepartment:e.onDeleteDepartment,onSetDepartmentQuota:e.onSetDepartmentQuota})},t.id)}))})]}):(0,v.jsx)("p",{className:"no-group",children:(0,p.ih)("No departments")})})]})})]})}}]),n}(l.Component),ui=di,gi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSelectChange=function(e){i.setState({selectedOption:e})},i.handleSubmit=function(){if(i.state.selectedOption){var e=i.state.selectedOption.map((function(e){return e.email}));i.refs.orgSelect.clearSelect(),i.setState({errMessage:[]}),D.I.sysAdminAddGroupMember(i.props.groupID,e).then((function(e){i.setState({selectedOption:null}),e.data.failed.length>0&&i.setState({errMessage:e.data.failed[0].error_msg}),e.data.success.length>0&&(i.props.onAddNewMembers(e.data.success),i.props.toggle())})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))}},i.state={selectedOption:null,errMessage:""},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Add Member")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsx)(Ve.Z,{placeholder:(0,p.ih)("Search users..."),onSelectChange:this.handleSelectChange,ref:"orgSelect",isMulti:!0,className:"org-add-member-select"}),this.state.errMessage&&(0,v.jsx)("p",{className:"error",children:this.state.errMessage})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),pi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSubmit=function(){i.validateName()&&D.I.sysAdminAddRepoInDepartment(i.props.groupID,i.state.repoName.trim()).then((function(e){i.props.toggle(),i.props.onAddNewRepo(e.data)})).catch((function(e){var t=m.c.getErrorMsg(e);i.setState({errMessage:t})}))},i.validateName=function(){var e="";return!!i.state.repoName.trim().length||(e=(0,p.ih)("Name is required"),i.setState({errMessage:e}),!1)},i.handleChange=function(e){i.setState({repoName:e.target.value})},i.handleKeyPress=function(e){"Enter"===e.key&&(i.handleSubmit(),e.preventDefault())},i.state={repoName:"",errMessage:""},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,autoFocus:!1,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("New Library")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsx)(_e.Z,{children:(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{for:"repoName",children:(0,p.ih)("Name")}),(0,v.jsx)(J.Z,{id:"repoName",onKeyPress:this.handleKeyPress,value:this.state.repoName,onChange:this.handleChange,autoFocus:!0})]})}),this.state.errMessage&&(0,v.jsx)("p",{className:"error",children:this.state.errMessage})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component);C().locale(p.KQ);var mi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getDepartmentInfo=function(e){D.I.sysAdminGetDepartmentInfo(e,!0).then((function(e){i.setState({ancestorGroups:e.data.ancestor_groups,groupName:e.data.name})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.onDepartmentNameChanged=function(e){i.setState({groupName:e.name})},i.toggleRenameDepartmentDialog=function(){i.setState({isShowRenameDepartmentDialog:!i.state.isShowRenameDepartmentDialog})},i.toggleAddRepoDialog=function(){i.setState({isShowAddRepoDialog:!i.state.isShowAddRepoDialog})},i.toggleAddMemberDialog=function(){i.setState({isShowAddMemberDialog:!i.state.isShowAddMemberDialog})},i.toggleAddDepartmentDialog=function(){i.setState({isShowAddDepartmentDialog:!i.state.isShowAddDepartmentDialog})},i.state={groupName:"",ancestorGroups:[],isShowAddDepartmentDialog:!1,isShowAddMemberDialog:!1,isShowRenameDepartmentDialog:!1,isShowAddRepoDialog:!1},i.navItems=[{name:"subDepartments",urlPart:"/",text:(0,p.ih)("Sub-departments")},{name:"members",urlPart:"/members/",text:(0,p.ih)("Members")},{name:"repos",urlPart:"/libraries/",text:(0,p.ih)("Libraries")}],i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.groupID;this.getDepartmentInfo(e)}},{key:"componentWillReceiveProps",value:function(e){this.props.groupID!==e.groupID&&this.getDepartmentInfo(e.groupID)}},{key:"render",value:function(){var e=this.props,t=e.groupID,n=e.currentItem,r=this.state.groupName,s="btn btn-secondary operation-item",a=(0,v.jsxs)(l.Fragment,{children:[t&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("button",{className:s,title:(0,p.ih)("Rename Department"),onClick:this.toggleRenameDepartmentDialog,children:(0,p.ih)("Rename Department")}),"subDepartments"==n&&(0,v.jsx)("button",{className:s,title:(0,p.ih)("New Sub-department"),onClick:this.toggleAddDepartmentDialog,children:(0,p.ih)("New Sub-department")}),"members"==n&&(0,v.jsx)("button",{className:s,title:(0,p.ih)("Add Member"),onClick:this.toggleAddMemberDialog,children:(0,p.ih)("Add Member")}),"repos"==n&&(0,v.jsx)("button",{className:s,onClick:this.toggleAddRepoDialog,title:(0,p.ih)("New Library"),children:(0,p.ih)("New Library")})]}),this.state.isShowRenameDepartmentDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(ai,{groupID:t,name:r,toggle:this.toggleRenameDepartmentDialog,onDepartmentNameChanged:this.onDepartmentNameChanged})}),this.state.isShowAddMemberDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(gi,{toggle:this.toggleAddMemberDialog,onAddNewMembers:this.props.onAddNewMembers,groupID:t})}),this.state.isShowAddRepoDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(pi,{toggle:this.toggleAddRepoDialog,onAddNewRepo:this.props.onAddNewRepo,groupID:t})}),this.state.isShowAddDepartmentDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(si,{onAddNewDepartment:this.props.onAddNewDepartment,parentGroupID:t,toggle:this.toggleAddDepartmentDialog})})]});return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:a})),(0,v.jsx)("div",{className:"main-panel-center flex-row h-100",children:(0,v.jsxs)("div",{className:"cur-view-container o-auto",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("div",{className:"fleft",children:(0,v.jsxs)("h3",{className:"sf-heading",children:[t?(0,v.jsx)(g.rU,{to:p.ze+"sys/departments/",children:(0,p.ih)("Departments")}):(0,v.jsx)("span",{children:(0,p.ih)("Departments")}),this.state.ancestorGroups.map((function(e){var t=p.ze+"sys/departments/"+e.id+"/";return(0,v.jsxs)("span",{children:[" / ",(0,v.jsx)(g.rU,{to:t,children:e.name})]},e.id)})),t&&(0,v.jsxs)("span",{children:[" / ",r]})]})})}),(0,v.jsx)("ul",{className:"nav border-bottom mx-4",children:this.navItems.map((function(e,i){return(0,v.jsx)("li",{className:"nav-item mr-2",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/departments/").concat(t).concat(e.urlPart),className:"nav-link ".concat(n==e.name?" active":""),children:e.text})},i)}))}),this.props.children]})})]})}}]),n}(l.Component);C().locale(p.KQ);var fi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).listSubDepartments=function(e){D.I.sysAdminGetDepartmentInfo(e,!0).then((function(e){i.setState({groups:e.data.groups})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.onSubDepartmentNameChanged=function(e){i.setState({groups:i.state.groups.map((function(t){return t.id==e.id&&(t.name=e.name),t}))})},i.onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.onAddNewDepartment=function(e){var t=i.state.groups;t.unshift(e),i.setState({groups:t})},i.onDeleteDepartment=function(e){var t=i.state.groups;i.setState({groups:t.filter((function(t){return t.id!=e}))})},i.onSetDepartmentQuota=function(e){var t=i.state.groups;i.setState({groups:t.map((function(t){return t.id==e.id&&(t.quota=e.quota),t}))})},i.state={isItemFreezed:!1,groups:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listSubDepartments(this.props.groupID)}},{key:"componentWillReceiveProps",value:function(e){this.props.groupID!==e.groupID&&this.listSubDepartments(e.groupID)}},{key:"render",value:function(){var e=this,t=this.state.groups,n=this.props.groupID;return(0,v.jsx)(mi,{groupID:n,currentItem:"subDepartments",onAddNewDepartment:this.onAddNewDepartment,children:(0,v.jsx)("div",{className:"cur-view-content",children:t&&t.length>0?(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"40%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Quota")}),(0,v.jsx)("th",{width:"15%"})]})}),(0,v.jsx)("tbody",{children:t.map((function(t,n){return(0,v.jsx)(hi,{isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,onDepartmentNameChanged:e.onSubDepartmentNameChanged,group:t,onDeleteDepartment:e.onDeleteDepartment,onSetDepartmentQuota:e.onSetDepartmentQuota},t.id)}))})]}):(0,v.jsx)("p",{className:"no-group",children:(0,p.ih)("No sub-departments")})})})}}]),n}(l.Component),vi=fi,xi=n(93433),yi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteMember=function(){var e=i.props.member.email;D.I.sysAdminDeleteGroupMember(i.props.groupID,e).then((function(e){e.data.success&&(i.props.onMemberChanged(),i.props.toggle())})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=(0,p.ih)("Are you sure you want to delete {placeholder} ?");return e=e.replace("{placeholder}",''+m.c.HTMLescape(this.props.member.name)+""),(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Delete Member")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)("div",{dangerouslySetInnerHTML:{__html:e}})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.deleteMember,children:(0,p.ih)("Delete")})]})]})}}]),n}(l.Component),bi=n(54210),ji=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onMouseEnter=function(){i.props.isItemFreezed||i.setState({highlight:!0})},i.onMouseLeave=function(){i.props.isItemFreezed||i.setState({highlight:!1})},i.toggleMemberRoleMenu=function(){i.setState({showRoleMenu:!i.state.showRoleMenu})},i.onChangeUserRole=function(e){var t="Admin"===e;D.I.sysAdminUpdateGroupMemberRole(i.props.groupID,i.props.member.email,t).then((function(e){i.props.onMemberChanged()})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)})),i.setState({highlight:!1})},i.state={highlight:!1,showRoleMenu:!1},i.roles=["Admin","Member"],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.member,t=this.state.highlight;return"Owner"===e.role?null:(0,v.jsxs)("tr",{className:t?"tr-highlight":"",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:e.avatar_url,alt:"member-header",width:"24",className:"avatar"})}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:(0,v.jsx)(bi.Z,{isTextMode:!0,isEditIconShow:t,currentRole:e.role,roles:this.roles,onRoleChanged:this.onChangeUserRole,toggleItemFreezed:this.props.toggleItemFreezed})}),this.props.isItemFreezed?(0,v.jsx)("td",{}):(0,v.jsx)("td",{className:"cursor-pointer text-center",onClick:this.props.showDeleteMemberDialog.bind(this,e),children:(0,v.jsx)("span",{className:"sf2-icon-x3 action-icon ".concat(t?"":"vh"),title:"Delete"})})]})}}]),n}(l.Component);C().locale(p.KQ);var Si=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).listMembers=function(e,t,n){D.I.sysAdminListGroupMembers(e,t,n).then((function(e){i.setState({members:e.data.members,currentPageInfo:e.data.page_info})})).catch((function(e){var t=m.c.getErrorMsg(e);i.setState({membersErrorMsg:t})}))},i.getPreviousPageList=function(){i.listMembers(i.props.groupID,i.state.currentPageInfo.current_page-1,i.state.perPage)},i.getNextPageList=function(){i.listMembers(i.props.groupID,i.state.currentPageInfo.current_page+1,i.state.perPage)},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.listMembers(i.props.groupID,1,e)}))},i.toggleCancel=function(){i.setState({showDeleteMemberDialog:!1})},i.onMemberChanged=function(){i.listMembers(i.props.groupID,i.state.currentPageInfo.current_page,i.state.perPage)},i.toggleItemFreezed=function(e){i.setState({isItemFreezed:e})},i.showDeleteMemberDialog=function(e){i.setState({showDeleteMemberDialog:!0,deletedMember:e})},i.onAddNewMembers=function(e){var t=i.state.members;t.unshift.apply(t,(0,xi.Z)(e)),i.setState({members:t})},i.state={isItemFreezed:!1,members:[],membersErrorMsg:"",currentPageInfo:{},currentPage:1,perPage:25,deletedMember:{},showDeleteMemberDialog:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){var t=e.props.groupID;e.listMembers(t,e.state.currentPage,e.state.perPage)}))}},{key:"componentWillReceiveProps",value:function(e){this.props.groupID!==e.groupID&&this.listMembers(e.groupID,this.state.currentPage,this.state.perPage)}},{key:"render",value:function(){var e=this,t=this.state,n=t.members,i=t.membersErrorMsg,r=this.props.groupID;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(mi,{groupID:r,currentItem:"members",onAddNewMembers:this.onAddNewMembers,children:(0,v.jsx)("div",{className:"cur-view-content",children:i?(0,v.jsx)("p",{className:"error text-center",children:i}):0==n.length?(0,v.jsx)("p",{className:"no-member",children:(0,p.ih)("No members")}):(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"50%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Role")}),(0,v.jsx)("th",{width:"30%"})]})}),(0,v.jsx)("tbody",{children:n.map((function(t,n){return(0,v.jsx)(l.Fragment,{children:(0,v.jsx)(ji,{member:t,showDeleteMemberDialog:e.showDeleteMemberDialog,isItemFreezed:e.state.isItemFreezed,onMemberChanged:e.onMemberChanged,toggleItemFreezed:e.toggleItemFreezed,groupID:r})},n)}))})]}),this.state.currentPageInfo&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPageList,gotoNextPage:this.getNextPageList,currentPage:this.state.currentPageInfo.current_page,hasNextPage:this.state.currentPageInfo.has_next_page,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage})]})})}),this.state.showDeleteMemberDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(yi,{toggle:this.toggleCancel,onMemberChanged:this.onMemberChanged,member:this.state.deletedMember,groupID:r})})]})}}]),n}(l.Component),Di=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteRepo=function(){D.I.sysAdminDeleteRepoInDepartment(i.props.groupID,i.props.repo.repo_id).then((function(e){e.data.success&&(i.props.onRepoChanged(),i.props.toggle())})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repo,t=(0,p.ih)("Are you sure you want to delete {placeholder} ?");return t=t.replace("{placeholder}",''+m.c.HTMLescape(e.name||e.repo_name)+""),(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Delete Library")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)("div",{dangerouslySetInnerHTML:{__html:t}})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.deleteRepo,children:(0,p.ih)("Delete")})]})]})}}]),n}(l.Component),wi=window.sysadmin.pageOptions.enableSysAdminViewRepo,Ii=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onMouseEnter=function(){i.setState({highlight:!0})},i.onMouseLeave=function(){i.setState({highlight:!1})},i.state={highlight:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.repo,t=e.name||e.repo_name,n=this.state.highlight,i=m.c.getLibIconUrl(e);return(0,v.jsxs)("tr",{className:n?"tr-highlight":"",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:i,width:"24",alt:(0,p.ih)("icon")})}),wi?(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"".concat(p.ze,"sys/libraries/").concat(e.repo_id,"/").concat(encodeURIComponent(t),"/"),children:t})}):(0,v.jsx)("td",{children:t}),(0,v.jsx)("td",{children:m.c.bytesToSize(e.size)}),(0,v.jsx)("td",{className:"cursor-pointer text-center",onClick:this.props.showDeleteRepoDialog.bind(this,e),children:(0,v.jsx)("span",{className:"sf2-icon-delete action-icon ".concat(n?"":"vh"),title:"Delete"})})]})}}]),n}(l.Component);C().locale(p.KQ);var Pi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).listGroupRepo=function(e){D.I.sysAdminListGroupRepos(e).then((function(e){i.setState({repos:e.data.libraries})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.toggleCancel=function(){i.setState({showDeleteRepoDialog:!1})},i.onRepoChanged=function(){i.listGroupRepo(i.props.groupID)},i.showDeleteRepoDialog=function(e){i.setState({showDeleteRepoDialog:!0,deletedRepo:e})},i.onAddNewRepo=function(e){var t=i.state.repos;t.unshift(e),i.setState({repos:t})},i.state={repos:[],deletedRepo:{},showDeleteRepoDialog:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this.props.groupID;this.listGroupRepo(e)}},{key:"componentWillReceiveProps",value:function(e){this.props.groupID!==e.groupID&&this.listGroupRepo(e.groupID)}},{key:"render",value:function(){var e=this,t=this.state.repos,n=this.props.groupID;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(mi,{groupID:n,currentItem:"repos",onAddNewRepo:this.onAddNewRepo,children:t.length>0?(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"50%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Size")}),(0,v.jsx)("th",{width:"15%"})]})}),(0,v.jsx)("tbody",{children:t.map((function(t,n){return(0,v.jsx)(Ii,{repo:t,showDeleteRepoDialog:e.showDeleteRepoDialog},n)}))})]})}):(0,v.jsx)("p",{className:"no-libraty",children:(0,p.ih)("No libraries")})}),this.state.showDeleteRepoDialog&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(Di,{toggle:this.toggleCancel,onRepoChanged:this.onRepoChanged,repo:this.state.deletedRepo,groupID:n})})]})}}]),n}(l.Component),Zi=Pi,ki=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"shareLinks",urlPart:"share-links",text:(0,p.ih)("Share Links")},{name:"uploadLinks",urlPart:"upload-links",text:(0,p.ih)("Upload Links")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),_i=ki,Mi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getShareLinksByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getShareLinksByPage(i.props.currentPage+1)},i.sortByTime=function(e){e.preventDefault(),i.props.sortItems("ctime")},i.sortByCount=function(e){e.preventDefault(),i.props.sortItems("view_cnt")},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.perPage,a=t.currentPage,o=t.hasNextPage,c=t.sortBy,h=t.sortOrder;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center",children:i});var d=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No share links")})}),u=(0,v.jsx)("span",{className:"fas fa-sort"}),g=(0,v.jsx)("span",{className:"fas ".concat("asc"==h?"fa-caret-up":"fa-caret-down")}),m=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Token")}),(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"15%",children:(0,v.jsxs)("a",{className:"d-inline-block table-sort-op",href:"#",onClick:this.sortByTime,children:[(0,p.ih)("Created At")," ","ctime"==c?g:u]})}),(0,v.jsx)("th",{width:"10%",children:(0,v.jsxs)("a",{className:"d-inline-block table-sort-op",href:"#",onClick:this.sortByCount,children:[(0,p.ih)("Count")," ","view_cnt"==c?g:u]})}),(0,v.jsx)("th",{width:"11%",children:(0,p.ih)("Expiration")}),(0,v.jsx)("th",{width:"10%"})]})}),r&&(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Ni,{item:t,deleteShareLink:e.props.deleteShareLink},n)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:a,hasNextPage:o,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return r.length?m:d}}]),n}(l.Component),Ni=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.setState({isOpIconShown:!0})},i.handleMouseOut=function(){i.setState({isOpIconShown:!1})},i.deleteShareLink=function(){i.props.deleteShareLink(i.props.item.token)},i.renderExpiration=function(){var e=i.props.item;if(!e.expire_date)return"--";var t=C()(e.expire_date).format("YYYY-MM-DD"),n=C()(e.expire_date).format("YYYY-MM-DD HH:mm:ss");return(0,v.jsx)("span",{className:e.is_expired?"error":"",title:n,children:t})},i.state={isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.isOpIconShown,t=this.props.item,n="action-icon sf2-icon-delete ".concat(e?"":"invisible");return(0,v.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,v.jsx)("td",{children:t.obj_name}),(0,v.jsx)("td",{children:t.token}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:t.creator_email,name:t.creator_name})}),(0,v.jsx)("td",{children:C()(t.ctime).fromNow()}),(0,v.jsx)("td",{children:t.view_cnt}),(0,v.jsx)("td",{children:this.renderExpiration()}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:n,title:(0,p.ih)("Remove"),onClick:this.deleteShareLink})})]})}}]),n}(l.Component),Ci=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getShareLinksByPage=function(e){var t=i.state,n=t.perPage,r=t.sortBy,s=t.sortOrder;D.I.sysAdminListShareLinks(e,n,r,s).then((function(t){i.setState({shareLinkList:t.data.share_link_list,loading:!1,currentPage:e,hasNextPage:m.c.hasNextPage(e,n,t.data.count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.sortItems=function(e){i.setState({currentPage:1,sortBy:e,sortOrder:"asc"==i.state.sortOrder?"desc":"asc"},(function(){var e=new URL(location.href),t=new URLSearchParams(e.search),n=i.state,r=n.currentPage,s=n.sortBy,a=n.sortOrder;t.set("page",r),t.set("order_by",s),t.set("direction",a),e.search=t.toString(),(0,g.c4)(e.toString()),i.getShareLinksByPage(r)}))},i.deleteShareLink=function(e){D.I.sysAdminDeleteShareLink(e).then((function(t){var n=i.state.shareLinkList.filter((function(t){return t.token!=e}));i.setState({shareLinkList:n})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getShareLinksByPage(i.initPage)}))},i.state={loading:!0,errorMsg:"",shareLinkList:[],perPage:25,currentPage:1,hasNextPage:!1,sortBy:"",sortOrder:"asc"},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage,s=n.sortBy,a=n.sortOrder;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i),sortBy:t.get("order_by")||s,sortOrder:t.get("direction")||a},(function(){e.getShareLinksByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.shareLinkList,n=e.currentPage,r=e.perPage,s=e.hasNextPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(_i,{currentItem:"shareLinks"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Mi,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:t,currentPage:n,perPage:r,hasNextPage:s,getShareLinksByPage:this.getShareLinksByPage,resetPerPage:this.resetPerPage,sortBy:this.state.sortBy,sortOrder:this.state.sortOrder,sortItems:this.sortItems,deleteShareLink:this.deleteShareLink})})]})})]})}}]),n}(l.Component),Ai=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getUploadLinksByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getUploadLinksByPage(i.props.currentPage+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.perPage,a=t.currentPage,o=t.hasNextPage;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center",children:i});var c=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No upload links")})}),h=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Token")}),(0,v.jsx)("th",{width:"18%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Count")}),(0,v.jsx)("th",{width:"11%",children:(0,p.ih)("Expiration")}),(0,v.jsx)("th",{width:"10%"})]})}),r&&(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Li,{item:t,deleteUploadLink:e.props.deleteUploadLink},n)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:a,hasNextPage:o,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return r.length?h:c}}]),n}(l.Component),Li=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseOver=function(){i.setState({isOpIconShown:!0})},i.handleMouseOut=function(){i.setState({isOpIconShown:!1})},i.deleteUploadLink=function(){i.props.deleteUploadLink(i.props.item.token)},i.renderExpiration=function(){var e=i.props.item;if(!e.expire_date)return"--";var t=C()(e.expire_date).format("YYYY-MM-DD"),n=C()(e.expire_date).format("YYYY-MM-DD HH:mm:ss");return(0,v.jsx)("span",{className:e.is_expired?"error":"",title:n,children:t})},i.state={isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state.isOpIconShown,t=this.props.item,n="action-icon sf2-icon-delete ".concat(e?"":"invisible");return(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,v.jsx)("td",{children:t.path}),(0,v.jsx)("td",{children:t.token}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:t.creator_email,name:t.creator_name})}),(0,v.jsx)("td",{children:C()(t.ctime).fromNow()}),(0,v.jsx)("td",{children:t.view_cnt}),(0,v.jsx)("td",{children:this.renderExpiration()}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:n,title:(0,p.ih)("Remove"),onClick:this.deleteUploadLink})})]})})}}]),n}(l.Component),Oi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getUploadLinksByPage=function(e){var t=i.state.perPage;D.I.sysAdminListAllUploadLinks(e,t).then((function(n){i.setState({uploadLinkList:n.data.upload_link_list,loading:!1,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.deleteUploadLink=function(e){D.I.sysAdminDeleteUploadLink(e).then((function(t){var n=i.state.uploadLinkList.filter((function(t){return t.token!=e}));i.setState({uploadLinkList:n})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getUploadLinksByPage(i.initPage)}))},i.state={loading:!0,errorMsg:"",uploadLinkList:[],perPage:25,currentPage:1,hasNextPage:!1},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getUploadLinksByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.uploadLinkList,n=e.currentPage,r=e.perPage,s=e.hasNextPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(_i,{currentItem:"uploadLinks"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Ai,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:t,currentPage:n,perPage:r,hasNextPage:s,getUploadLinksByPage:this.getUploadLinksByPage,resetPerPage:this.resetPerPage,deleteUploadLink:this.deleteUploadLink})})]})})]})}}]),n}(l.Component),Ti=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).checkSubmitBtnActive=function(){var e=i.state,t=e.name,n=e.email,r=e.password,s=e.passwordAgain,a=!0;a=""!=t.trim()&&""!=n.trim()&&""!=r.trim()&&""!=s.trim(),i.setState({isSubmitBtnActive:a})},i.toggle=function(){i.props.toggleDialog()},i.inputPassword=function(e){var t=e.target.value;i.setState({password:t},i.checkSubmitBtnActive)},i.inputPasswordAgain=function(e){var t=e.target.value;i.setState({passwordAgain:t},i.checkSubmitBtnActive)},i.inputEmail=function(e){var t=e.target.value;i.setState({email:t},i.checkSubmitBtnActive)},i.inputName=function(e){var t=e.target.value;i.setState({name:t},i.checkSubmitBtnActive)},i.handleSubmit=function(){var e=i.state,t=e.name,n=e.email,r=e.password;if(r==e.passwordAgain){var s={orgName:t.trim(),ownerEmail:n.trim(),password:r.trim()};i.props.addOrg(s),i.toggle()}else i.setState({errorMsg:(0,p.ih)("Passwords do not match.")})},i.state={name:"",email:"",password:"",passwordAgain:"",errorMsg:"",isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.errorMsg,n=e.password,i=e.passwordAgain,r=e.email,s=e.name,a=e.isSubmitBtnActive;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Add Organization")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsxs)(_e.Z,{autoComplete:"off",children:[(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{children:(0,p.ih)("Name")}),(0,v.jsx)(J.Z,{value:s,onChange:this.inputName})]}),(0,v.jsxs)(Me.Z,{children:[(0,v.jsxs)(Re.Z,{children:[(0,p.ih)("Owner"),(0,v.jsx)("span",{className:"small text-secondary ml-1 fas fa-question-circle",title:(0,p.ih)("Owner can use admin panel in an organization, must be a new account.")})]}),(0,v.jsx)(J.Z,{value:r,onChange:this.inputEmail})]}),(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{children:(0,p.ih)("Password")}),(0,v.jsx)(J.Z,{type:"password",value:n,onChange:this.inputPassword})]}),(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{children:(0,p.ih)("Password again")}),(0,v.jsx)(J.Z,{type:"password",value:i,onChange:this.inputPasswordAgain})]})]}),t&&(0,v.jsx)(Te.Z,{color:"danger",children:t})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!a,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Fi=window.sysadmin.pageOptions.availableRoles,Ri=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a",n=''+m.c.HTMLescape(e.data.users_count)+"",r=''+m.c.HTMLescape(e.data.repos_count)+"",s=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",t)+"
    "+(0,p.ih)("{userCount} user(s) and {repoCount} libraries of this organization will also be deleted.").replace("{userCount}",n).replace("{repoCount}",r);i.setState({deleteDialogMsg:s})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))}))},i.updateRole=function(e){i.props.updateRole(i.props.item.org_id,e)},i.deleteOrg=function(){w.Z.notify((0,p.ih)("It may take some time, please wait.")),i.props.deleteOrg(i.props.item.org_id)},i.state={isOpIconShown:!1,isDeleteDialogOpen:!1,deleteDialogMsg:""},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=t.deleteDialogMsg;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/organizations/").concat(e.org_id,"/info/"),children:e.org_name})}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.creator_email,name:e.creator_name})}),(0,v.jsx)("td",{children:(0,v.jsx)(ze,{isTextMode:!0,isEditIconShow:n,currentRole:e.role,roleOptions:Fi,onRoleChanged:this.updateRole})}),(0,v.jsx)("td",{children:"".concat(m.c.bytesToSize(e.quota_usage)," / ").concat(e.quota>0?m.c.bytesToSize(e.quota):"--")}),(0,v.jsx)("td",{children:C()(e.ctime).format("YYYY-MM-DD HH:mm:ss")}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-delete ".concat(n?"":"invisible"),title:(0,p.ih)("Delete"),onClick:this.toggleDeleteDialog})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Organization"),message:r,executeOperation:this.deleteOrg,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog})]})}}]),n}(l.Component),Ui=Ri,zi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getItemsByPage=function(e){var t=i.state.perPage;D.I.sysAdminListOrgs(e,t).then((function(n){i.setState({loading:!1,orgList:n.data.organizations,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.total_count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getItemsByPage(1)}))},i.toggleAddOrgDialog=function(){i.setState({isAddOrgDialogOpen:!i.state.isAddOrgDialogOpen})},i.updateRole=function(e,t){var n={};n.role=t,D.I.sysAdminUpdateOrg(e,n).then((function(n){var r=i.state.orgList.map((function(n){return n.org_id==e&&(n.role=t),n}));i.setState({orgList:r}),w.Z.success((0,p.ih)("Edit succeeded"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.addOrg=function(e){var t=e.orgName,n=e.ownerEmail,r=e.password;D.I.sysAdminAddOrg(t,n,r).then((function(e){var t=i.state.orgList;t.unshift(e.data),i.setState({orgList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteOrg=function(e){D.I.sysAdminDeleteOrg(e).then((function(t){var n=i.state.orgList.filter((function(t){return t.org_id!=e}));i.setState({orgList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.getSearch=function(){return(0,v.jsx)(qe,{placeholder:(0,p.ih)("Search organizations"),submit:i.searchItems})},i.searchItems=function(e){(0,g.c4)("".concat(p.ze,"sys/search-organizations/?query=").concat(encodeURIComponent(e)))},i.state={loading:!0,errorMsg:"",orgList:[],currentPage:1,perPage:25,hasNextPage:!1,isAddOrgDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getItemsByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state.isAddOrgDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({search:this.getSearch()},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddOrgDialog,children:(0,p.ih)("Add Organization")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Organizations")})}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Ui,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.orgList,currentPage:this.state.currentPage,hasNextPage:this.state.hasNextPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,getListByPage:this.getItemsByPage,updateRole:this.updateRole,deleteOrg:this.deleteOrg})})]})}),e&&(0,v.jsx)(Ti,{addOrg:this.addOrg,toggleDialog:this.toggleAddOrgDialog})]})}}]),n}(l.Component),Bi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getItems=function(){D.I.sysAdminSearchOrgs(i.state.query.trim()).then((function(e){i.setState({loading:!1,orgList:e.data.organization_list})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.updateRole=function(e,t){var n={};n.role=t,D.I.sysAdminUpdateOrg(e,n).then((function(n){var r=i.state.orgList.map((function(n){return n.org_id==e&&(n.role=t),n}));i.setState({orgList:r}),w.Z.success((0,p.ih)("Edit succeeded"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteOrg=function(e){D.I.sysAdminDeleteOrg(e).then((function(t){var n=i.state.orgList.filter((function(t){return t.org_id!=e}));i.setState({orgList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.handleInputChange=function(e){i.setState({query:e.target.value},i.checkSubmitBtnActive)},i.checkSubmitBtnActive=function(){var e=i.state.query;i.setState({isSubmitBtnActive:e.trim()})},i.handleKeyDown=function(e){13===e.keyCode&&(i.state.isSubmitBtnActive&&i.getItems())},i.state={query:"",isSubmitBtnActive:!1,loading:!0,errorMsg:"",orgList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=new URL(document.location).searchParams;this.setState({query:e.get("query")||""},this.getItems)}},{key:"render",value:function(){var e=this.state,t=e.query,n=e.isSubmitBtnActive;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Organizations")})}),(0,v.jsxs)("div",{className:"cur-view-content",children:[(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Search Organizations")}),(0,v.jsx)("p",{className:"text-secondary small",children:(0,p.ih)("Tip: you can search by keyword in name.")}),(0,v.jsxs)(_e.Z,{tag:"div",children:[(0,v.jsxs)(Me.Z,{row:!0,children:[(0,v.jsx)(Re.Z,{for:"name",sm:1,children:(0,p.ih)("Name")}),(0,v.jsx)(xt.Z,{sm:5,children:(0,v.jsx)(J.Z,{type:"text",name:"query",id:"name",value:t,onChange:this.handleInputChange,onKeyDown:this.handleKeyDown})})]}),(0,v.jsx)(Me.Z,{row:!0,children:(0,v.jsx)(xt.Z,{sm:{size:5,offset:1},children:(0,v.jsx)("button",{className:"btn btn-outline-primary",disabled:!n,onClick:this.getItems,children:(0,p.ih)("Submit")})})})]})]}),(0,v.jsxs)("div",{className:"mt-4 mb-6",children:[(0,v.jsx)("h4",{className:"border-bottom font-weight-normal mb-2 pb-1",children:(0,p.ih)("Result")}),(0,v.jsx)(Ui,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.orgList,updateRole:this.updateRole,deleteOrg:this.deleteOrg})]})]})]})})]})}}]),n}(l.Component),Vi=n(56153),Hi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.toggle()},i.handleInputChange=function(e){var t=e.target.value;i.setState({name:t,isSubmitBtnActive:""!=t.trim()})},i.handleKeyPress=function(e){"Enter"==e.key&&(i.handleSubmit(),e.preventDefault())},i.handleSubmit=function(){i.props.updateName(i.state.name.trim()),i.toggle()},i.state={name:i.props.name,isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.name,n=e.isSubmitBtnActive;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Set Name")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(_e.Z,{children:(0,v.jsx)(Me.Z,{children:(0,v.jsx)(J.Z,{type:"text",value:t,onKeyPress:this.handleKeyPress,onChange:this.handleInputChange})})})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!n,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Wi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.toggle()},i.handleInputChange=function(e){var t=e.target.value;i.setState({value:t,isSubmitBtnActive:""!=t.trim()})},i.handleKeyPress=function(e){"Enter"==e.key&&(i.handleSubmit(),e.preventDefault())},i.handleSubmit=function(){i.props.updateValue(i.state.value.trim()),i.toggle()},i.state={value:i.props.value,isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.state,t=e.value,n=e.isSubmitBtnActive;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Set max number of members")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(_e.Z,{children:(0,v.jsx)(Me.Z,{children:(0,v.jsx)(J.Z,{type:"text",className:"form-control",value:t,onKeyPress:this.handleKeyPress,onChange:this.handleInputChange})})})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!n,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Yi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"info",urlPart:"info",text:(0,p.ih)("Info")},{name:"users",urlPart:"users",text:(0,p.ih)("Members")},{name:"groups",urlPart:"groups",text:(0,p.ih)("Groups")},{name:"repos",urlPart:"libraries",text:(0,p.ih)("Libraries")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.currentItem,n=e.orgID,i=e.orgName;return(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsxs)("h3",{className:"sf-heading",children:[(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/organizations/"),children:(0,p.ih)("Organizations")})," / ",i]})}),(0,v.jsx)("ul",{className:"nav border-bottom mx-4",children:this.navItems.map((function(e,i){return(0,v.jsx)("li",{className:"nav-item mr-2",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/organizations/").concat(n,"/").concat(e.urlPart,"/"),className:"nav-link ".concat(t==e.name?" active":""),children:e.text})},i)}))})]})}}]),n}(l.Component),Gi=Yi,qi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleSetQuotaDialog=function(){i.setState({isSetQuotaDialogOpen:!i.state.isSetQuotaDialogOpen})},i.toggleSetNameDialog=function(){i.setState({isSetNameDialogOpen:!i.state.isSetNameDialogOpen})},i.toggleSetMaxUserNumberDialog=function(){i.setState({isSetMaxUserNumberDialogOpen:!i.state.isSetMaxUserNumberDialogOpen})},i.showEditIcon=function(e){return(0,v.jsx)("span",{title:(0,p.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",onClick:e})},i.state={isSetQuotaDialogOpen:!1,isSetNameDialogOpen:!1,isSetMaxUserNumberDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var i=this.props.orgInfo,r=i.org_name,s=i.users_count,a=i.max_user_number,o=i.groups_count,c=i.quota,h=i.quota_usage,d=i.enable_saml_login,u=i.url_prefix,g=i.metadata_url,f=i.domain,x=this.state,y=x.isSetQuotaDialogOpen,b=x.isSetNameDialogOpen,j=x.isSetMaxUserNumberDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("dl",{className:"m-0",children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Name")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[r,this.showEditIcon(this.toggleSetNameDialog)]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Number of members")}),(0,v.jsx)("dd",{className:"info-item-content",children:s}),a&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Max number of members")}),(0,v.jsxs)("dd",{className:"info-item-content",children:[a,this.showEditIcon(this.toggleSetMaxUserNumberDialog)]})]}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Number of groups")}),(0,v.jsx)("dd",{className:"info-item-content",children:o}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Space Used")}),(0,v.jsxs)("dd",{className:"info-item-content",children:["".concat(m.c.bytesToSize(h)," / ").concat(c>0?m.c.bytesToSize(c):"--"),this.showEditIcon(this.toggleSetQuotaDialog)]}),d&&(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("SAML Config")}),(0,v.jsx)("dd",{className:"info-item-content",children:(0,v.jsxs)(Vi.Z,{className:"my-4",children:[(0,v.jsx)(xt.Z,{md:"3",children:(0,p.ih)("Custom SAML Login URL")}),(0,v.jsx)(xt.Z,{md:"6",children:"".concat(p.xx,"/org/custom/").concat(u)})]})}),(0,v.jsx)("dd",{className:"info-item-content",children:(0,v.jsxs)(Vi.Z,{className:"my-4",children:[(0,v.jsx)(xt.Z,{md:"3",children:(0,p.ih)("App Federation Metadata URL")}),(0,v.jsx)(xt.Z,{md:"6",children:g})]})}),(0,v.jsx)("dd",{className:"info-item-content",children:(0,v.jsxs)(Vi.Z,{className:"my-4",children:[(0,v.jsx)(xt.Z,{md:"3",children:(0,p.ih)("Email Domain")}),(0,v.jsx)(xt.Z,{md:"6",children:f})]})})]})]}),y&&(0,v.jsx)(Oe,{updateQuota:this.props.updateQuota,toggle:this.toggleSetQuotaDialog}),b&&(0,v.jsx)(Hi,{name:r,updateName:this.props.updateName,toggle:this.toggleSetNameDialog}),j&&(0,v.jsx)(Wi,{value:a,updateValue:this.props.updateMaxUserNumber,toggle:this.toggleSetMaxUserNumberDialog})]})}}]),n}(l.Component),Qi=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).updateQuota=function(e){var t={quota:e};D.I.sysAdminUpdateOrg(i.props.orgID,t).then((function(e){var t=Object.assign(i.state.orgInfo,{quota:e.data.quota});i.setState({orgInfo:t}),w.Z.success((0,p.ih)("Successfully set quota."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateName=function(e){var t={orgName:e};D.I.sysAdminUpdateOrg(i.props.orgID,t).then((function(e){var t=Object.assign(i.state.orgInfo,{org_name:e.data.org_name});i.setState({orgInfo:t}),w.Z.success((0,p.ih)("Successfully set name."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateMaxUserNumber=function(e){var t={maxUserNumber:e};D.I.sysAdminUpdateOrg(i.props.orgID,t).then((function(e){var t=Object.assign(i.state.orgInfo,{max_user_number:e.data.max_user_number});i.setState({orgInfo:t}),w.Z.success((0,p.ih)("Successfully set max number of members."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",orgInfo:{}},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetOrg(this.props.orgID).then((function(t){e.setState({loading:!1,orgInfo:t.data})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state.orgInfo;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gi,{currentItem:"info",orgID:this.props.orgID,orgName:e.org_name}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(qi,{orgID:this.props.orgID,loading:this.state.loading,errorMsg:this.state.errorMsg,orgInfo:this.state.orgInfo,updateQuota:this.updateQuota,updateName:this.updateName,updateMaxUserNumber:this.updateMaxUserNumber})})]})})]})}}]),n}(l.Component),Ki=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a'+m.c.HTMLescape(e.name)+"",a=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",s),o=(0,p.ih)("Are you sure you want to reset the password of {placeholder} ?").replace("{placeholder}",s);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:(0,v.jsx)($e,{isTextMode:!0,isEditIconShow:n,currentStatus:e.active?"active":"inactive",statusOptions:["active","inactive"],onStatusChanged:this.updateStatus})}),(0,v.jsx)("td",{children:(0,v.jsx)(Xi,{isTextMode:!0,isEditIconShow:n,currentStatus:e.is_org_staff?"is_org_staff":"not_is_org_staff",statusOptions:["is_org_staff","not_is_org_staff"],onStatusChanged:this.updateMembership})}),(0,v.jsx)("td",{children:"".concat(m.c.bytesToSize(e.quota_usage)," / ").concat(e.quota_total>0?m.c.bytesToSize(e.quota_total):"--")}),(0,v.jsxs)("td",{children:[C()(e.create_time).format("YYYY-MM-DD HH:mm:ss")," / ",e.last_login?C()(e.last_login).fromNow():"--"]}),(0,v.jsx)("td",{children:n&&e.email!=p.b6&&(0,v.jsx)(Je.Z,{operations:["Delete","Reset Password"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Member"),message:a,executeOperation:this.deleteUser,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog}),r&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Reset Password"),message:o,executeOperation:this.resetPassword,confirmBtnText:(0,p.ih)("Reset"),toggleDialog:this.toggleResetPasswordDialog})]})}}]),n}(l.Component),er=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleAddUserDialog=function(){i.setState({isAddUserDialogOpen:!i.state.isAddUserDialogOpen})},i.addUser=function(e){var t=e.email,n=e.name,r=e.password;D.I.sysAdminAddOrgUser(i.props.orgID,t,n,r).then((function(e){var t=i.state.userList;t.unshift(e.data),i.setState({userList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteUser=function(e,t){D.I.sysAdminDeleteOrgUser(e,t).then((function(e){var n=i.state.userList.filter((function(e){return e.email!=t}));i.setState({userList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateStatus=function(e,t){var n="active"==t;D.I.sysAdminUpdateOrgUser(i.props.orgID,e,"active",n).then((function(t){var n=i.state.userList.map((function(n){return n.email==e&&(n.active=t.data.active),n}));i.setState({userList:n})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateMembership=function(e,t){var n="is_org_staff"==t;D.I.sysAdminUpdateOrgUser(i.props.orgID,e,"is_org_staff",n).then((function(t){var n=i.state.userList.map((function(n){return n.email==e&&(n.is_org_staff=t.data.is_org_staff),n}));i.setState({userList:n})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",orgName:"",userList:[],isAddUserDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetOrg(this.props.orgID).then((function(t){e.setState({orgName:t.data.org_name})})),D.I.sysAdminListOrgUsers(this.props.orgID).then((function(t){e.setState({loading:!1,userList:t.data.users})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state,t=e.isAddUserDialogOpen,n=e.orgName;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddUserDialog,children:(0,p.ih)("Add Member")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gi,{currentItem:"users",orgID:this.props.orgID,orgName:n}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)($i,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,updateStatus:this.updateStatus,updateMembership:this.updateMembership,deleteUser:this.deleteUser})})]})}),t&&(0,v.jsx)(Be,{addUser:this.addUser,toggleDialog:this.toggleAddUserDialog})]})}}]),n}(l.Component),tr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No groups")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Creator")}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"10%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(nr,{item:t,deleteGroup:e.props.deleteGroup},n)}))})]})});return r.length?a:s}}]),n}(l.Component),nr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.setState({isOpIconShown:!0})},i.handleMouseLeave=function(){i.setState({isOpIconShown:!1})},i.toggleDeleteDialog=function(e){e&&e.preventDefault(),i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.deleteGroup=function(){i.toggleDeleteDialog(),i.props.deleteGroup(i.props.item.group_id)},i.state={isOpIconShown:!1,isDeleteDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=''+m.c.HTMLescape(e.group_name)+"",s=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",r),a=0==e.parent_group_id?"".concat(p.ze,"sys/groups/").concat(e.group_id,"/libraries/"):"".concat(p.ze,"sys/departments/").concat(e.group_id,"/");return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:a,children:e.group_name})}),(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.creator_email,name:e.creator_name})}),(0,v.jsx)("td",{children:C()(e.created_at).format("YYYY-MM-DD HH:mm:ss")}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-delete ".concat(n?"":"invisible"),title:(0,p.ih)("Delete"),onClick:this.toggleDeleteDialog})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Group"),message:s,executeOperation:this.deleteGroup,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog})]})}}]),n}(l.Component),ir=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteGroup=function(e){D.I.sysAdminDismissGroupByID(e).then((function(t){var n=i.state.groupList.filter((function(t){return t.group_id!=e}));i.setState({groupList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",orgName:"",groupList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetOrg(this.props.orgID).then((function(t){e.setState({orgName:t.data.org_name})})),D.I.sysAdminListOrgGroups(this.props.orgID).then((function(t){e.setState({loading:!1,groupList:t.data.group_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gi,{currentItem:"groups",orgID:this.props.orgID,orgName:this.state.orgName}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(tr,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.groupList,deleteGroup:this.deleteGroup})})]})})]})}}]),n}(l.Component),rr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No libraries")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%"}),(0,v.jsx)("th",{width:"30%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"35%",children:(0,p.ih)("ID")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"10%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(sr,{item:t,deleteRepo:e.props.deleteRepo},n)}))})]})});return r.length?a:s}}]),n}(l.Component),sr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.setState({isOpIconShown:!0})},i.handleMouseLeave=function(){i.setState({isOpIconShown:!1})},i.toggleDeleteDialog=function(e){e&&e.preventDefault(),i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.deleteRepo=function(){i.props.deleteRepo(i.props.item.repo_id)},i.state={isOpIconShown:!1,isDeleteDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=m.c.getLibIconUrl(e),s=m.c.getLibIconTitle(e),a=''+m.c.HTMLescape(e.repo_name)+"",o=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",a);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)("img",{src:r,title:s,alt:s,width:"24"})}),(0,v.jsx)("td",{children:e.repo_name}),(0,v.jsx)("td",{children:e.repo_id}),(0,v.jsx)("td",{children:e.owner_email?-1==e.owner_email.indexOf("@seafile_group")?(0,v.jsx)(De,{email:e.owner_email,name:e.owner_name}):e.owner_name:"--"}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-delete ".concat(n?"":"invisible"),title:(0,p.ih)("Delete"),onClick:this.toggleDeleteDialog})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Library"),message:o,executeOperation:this.deleteRepo,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog})]})}}]),n}(l.Component),ar=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).deleteRepo=function(e){D.I.sysAdminDeleteRepo(e).then((function(t){var n=i.state.repoList.filter((function(t){return t.repo_id!=e}));i.setState({repoList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",orgName:"",repoList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetOrg(this.props.orgID).then((function(t){e.setState({orgName:t.data.org_name})})),D.I.sysAdminListOrgRepos(this.props.orgID).then((function(t){e.setState({loading:!1,repoList:t.data.repo_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gi,{currentItem:"repos",orgID:this.props.orgID,orgName:this.state.orgName}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(rr,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.repoList,deleteRepo:this.deleteRepo})})]})})]})}}]),n}(l.Component),or=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleChange=function(e){var t=e.target.value;i.setState({value:t,isSubmitBtnActive:""!=t.trim()})},i.handleSubmit=function(){i.toggle(),i.props.addInstitution(i.state.value.trim())},i.toggle=function(){i.props.toggle()},i.state={value:"",isSubmitBtnActive:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.toggle,children:(0,p.ih)("Add institution")}),(0,v.jsx)(ke.Z,{children:(0,v.jsxs)(_e.Z,{children:[(0,v.jsx)("p",{children:(0,p.ih)("Name")}),(0,v.jsx)(Me.Z,{children:(0,v.jsx)(J.Z,{value:this.state.value,onChange:this.handleChange})})]})}),(0,v.jsx)(Le.Z,{children:(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,disabled:!this.state.isSubmitBtnActive,children:(0,p.ih)("Submit")})})]})}}]),n}(l.Component),lr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getInstitutionsByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getInstitutionsByPage(i.props.currentPage+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.perPage,a=t.currentPage,o=t.hasNextPage;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var c=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No institutions")})}),h=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"75%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Created At")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(cr,{item:t,deleteInstitution:e.props.deleteInstitution},n)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:a,hasNextPage:o,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return r.length?h:c}}]),n}(l.Component),cr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.setState({isOpIconShown:!0})},i.handleMouseLeave=function(){i.setState({isOpIconShown:!1})},i.toggleDeleteDialog=function(e){e&&e.preventDefault(),i.setState({isDeleteDialogOpen:!i.state.isDeleteDialogOpen})},i.deleteInstitution=function(){i.props.deleteInstitution(i.props.item.id)},i.state={isOpIconShown:!1,isDeleteDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isDeleteDialogOpen,r=''+m.c.HTMLescape(e.name)+"",s=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",r);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/institutions/").concat(e.id,"/info/"),children:e.name})}),(0,v.jsx)("td",{children:C()(e.ctime).fromNow()}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:"#",className:"action-icon sf2-icon-delete ".concat(n?"":"invisible"),title:(0,p.ih)("Delete"),onClick:this.toggleDeleteDialog})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete Institution"),message:s,executeOperation:this.deleteInstitution,confirmBtnText:(0,p.ih)("Delete"),toggleDialog:this.toggleDeleteDialog})]})}}]),n}(l.Component),hr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getInstitutionsByPage=function(e){var t=i.state.perPage;D.I.sysAdminListInstitutions(e,t).then((function(n){i.setState({loading:!1,institutionList:n.data.institution_list,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.total_count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getInstitutionsByPage(i.initPage)}))},i.toggleAddInstitutionDialog=function(){i.setState({isAddInstitutionDialogOpen:!i.state.isAddInstitutionDialogOpen})},i.addInstitution=function(e){D.I.sysAdminAddInstitution(e).then((function(e){var t=i.state.institutionList;t.push(e.data),i.setState({institutionList:t})})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteInstitution=function(e){D.I.sysAdminDeleteInstitution(e).then((function(t){var n=i.state.institutionList.filter((function(t){return t.id!=e}));i.setState({institutionList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",institutionList:[],perPage:25,currentPage:1,hasNextPage:!1,isAddInstitutionDialogOpen:!1},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getInstitutionsByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.isAddInstitutionDialogOpen,n=e.hasNextPage,r=e.currentPage,s=e.perPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddInstitutionDialog,children:(0,p.ih)("Add Institution")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Institutions")})}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(lr,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.institutionList,deleteInstitution:this.deleteInstitution,currentPage:r,perPage:s,hasNextPage:n,getInstitutionsByPage:this.getInstitutionsByPage,resetPerPage:this.resetPerPage})})]})}),t&&(0,v.jsx)(or,{addInstitution:this.addInstitution,toggle:this.toggleAddInstitutionDialog})]})}}]),n}(l.Component),dr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"info",urlPart:"info",text:(0,p.ih)("Info")},{name:"members",urlPart:"members",text:(0,p.ih)("Members")},{name:"admins",urlPart:"admins",text:(0,p.ih)("Admins")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.currentItem,n=e.institutionID,i=e.institutionName;return(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsxs)("h3",{className:"sf-heading",children:[(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/institutions/"),children:(0,p.ih)("Institutions")})," / ",i]})}),(0,v.jsx)("ul",{className:"nav border-bottom mx-4",children:this.navItems.map((function(e,i){return(0,v.jsx)("li",{className:"nav-item mr-2",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/institutions/").concat(n,"/").concat(e.urlPart,"/"),className:"nav-link ".concat(t==e.name?" active":""),children:e.text})},i)}))})]})}}]),n}(l.Component),ur=dr,gr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleSetQuotaDialog=function(){i.setState({isSetQuotaDialogOpen:!i.state.isSetQuotaDialogOpen})},i.showEditIcon=function(e){return(0,v.jsx)("span",{title:(0,p.ih)("Edit"),className:"fa fa-pencil-alt attr-action-icon",onClick:e})},i.state={isSetQuotaDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.institutionInfo;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var r=i.name,s=i.user_count,a=i.quota_total,o=i.quota_used,c=this.state.isSetQuotaDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("dl",{className:"m-0",children:[(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Name")}),(0,v.jsx)("dd",{className:"info-item-content",children:r}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Number of members")}),(0,v.jsx)("dd",{className:"info-item-content",children:s}),(0,v.jsx)("dt",{className:"info-item-heading",children:(0,p.ih)("Space Used")}),(0,v.jsxs)("dd",{className:"info-item-content",children:["".concat(m.c.bytesToSize(o)," / ").concat(a>0?m.c.bytesToSize(a):"--"),this.showEditIcon(this.toggleSetQuotaDialog)]})]}),c&&(0,v.jsx)(Oe,{updateQuota:this.props.updateQuota,toggle:this.toggleSetQuotaDialog})]})}}]),n}(l.Component),pr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).updateQuota=function(e){D.I.sysAdminUpdateInstitution(i.props.institutionID,e).then((function(e){var t=Object.assign(i.state.institutionInfo,{quota_total:e.data.quota_total});i.setState({institutionInfo:t}),w.Z.success((0,p.ih)("Successfully set quota."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",institutionInfo:{}},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetInstitution(this.props.institutionID).then((function(t){e.setState({loading:!1,institutionInfo:t.data})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state.institutionInfo;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(ur,{currentItem:"info",institutionID:this.props.institutionID,institutionName:e.name}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(gr,{loading:this.state.loading,errorMsg:this.state.errorMsg,institutionInfo:this.state.institutionInfo,updateQuota:this.updateQuota})})]})})]})}}]),n}(l.Component),mr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleSelectChange=function(e){i.setState({selectedOption:e})},i.handleSubmit=function(){if(i.state.selectedOption){var e=i.state.selectedOption.map((function(e){return e.email}));i.props.addUser(e)}},i.state={selectedOption:[]},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Add Member")}),(0,v.jsx)(ke.Z,{children:(0,v.jsx)(Ve.Z,{placeholder:(0,p.ih)("Search users..."),onSelectChange:this.handleSelectChange,isMulti:!0,className:"org-add-member-select"})}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:(0,p.ih)("Submit")}),(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")})]})]})}}]),n}(l.Component),fr=mr,vr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPage=function(){i.props.getInstitutionUsersByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getInstitutionUsersByPage(i.props.currentPage+1)},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items,s=t.perPage,a=t.currentPage,o=t.hasNextPage;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var c=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No members")})}),h=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Status")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Space Used")}),(0,v.jsxs)("th",{width:"40%",children:[(0,p.ih)("Created At")," / ",(0,p.ih)("Last Login")]}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(xr,{item:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,setAdmin:e.props.setAdmin,deleteUser:e.props.deleteUser},n)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:a,hasNextPage:o,curPerPage:s,resetPerPage:this.props.resetPerPage})]});return r.length?h:c}}]),n}(l.Component),xr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.toggleSetAdminDialog=function(e){e&&e.preventDefault(),i.setState({isSetAdminDialogOpen:!i.state.isSetAdminDialogOpen})},i.setAdmin=function(){i.props.setAdmin(i.props.item.email)},i.onMenuItemClick=function(e){switch(e){case"Delete":i.props.deleteUser(i.props.item.email);break;case"Set Admin":i.toggleSetAdminDialog()}},i.getOperations=function(){var e=[];return i.props.item.is_institution_admin||e.push("Set Admin"),e.push("Delete"),e},i.translateOperations=function(e){var t="";switch(e){case"Delete":t=(0,p.ih)("Delete");break;case"Set Admin":t=(0,p.ih)("Set Admin")}return t},i.state={isOpIconShown:!1,highlight:!1,isSetAdminDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isSetAdminDialogOpen,r=''+m.c.HTMLescape(e.name)+"",s=(0,p.ih)("Are you sure you want to set {placeholder} as Admin?").replace("{placeholder}",r);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:e.is_active?(0,p.ih)("Active"):(0,p.ih)("Inactive")}),(0,v.jsx)("td",{children:"".concat(m.c.bytesToSize(e.quota_usage)," / ").concat(e.quota_total>0?m.c.bytesToSize(e.quota_total):"--")}),(0,v.jsxs)("td",{children:[C()(e.create_time).format("YYYY-MM-DD HH:mm:ss")," / ",e.last_login?C()(e.last_login).fromNow():"--"]}),(0,v.jsx)("td",{children:n&&(0,v.jsx)(Je.Z,{operations:this.getOperations(),translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Set Admin"),message:s,executeOperation:this.setAdmin,toggleDialog:this.toggleSetAdminDialog,confirmBtnText:(0,p.ih)("Set Admin")})]})}}]),n}(l.Component),yr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getInstitutionUsersByPage=function(e){var t=i.state.perPage;D.I.sysAdminListInstitutionUsers(i.props.institutionID,e,t).then((function(n){i.setState({loading:!1,userList:n.data.user_list,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.total_count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.setAdmin=function(e){D.I.sysAdminUpdateInstitutionUser(i.props.institutionID,e,!0).then((function(t){var n=i.state.userList.map((function(t){return t.email==e&&(t.is_institution_admin=!0),t}));i.setState({userList:n}),w.Z.success((0,p.ih)("Success"))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.toggleAddUserDialog=function(){i.setState({isAddUserDialogOpen:!i.state.isAddUserDialogOpen})},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getInstitutionUsersByPage(i.initPage)}))},i.addUser=function(e){D.I.sysAdminAddInstitutionUserBatch(i.props.institutionID,e).then((function(e){i.toggleAddUserDialog();var t=e.data.success,n=e.data.failed;if(t.length){var r=i.state.userList.concat(t);i.setState({userList:r})}n.forEach((function(e){w.Z.danger(e.error_msg)}))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteUser=function(e){D.I.sysAdminDeleteInstitutionUser(i.props.institutionID,e).then((function(t){var n=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:n}),w.Z.success("success")})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",institutionName:"",userList:[],perPage:25,currentPage:1,hasNextPage:!1,isAddUserDialogOpen:!1},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetInstitution(this.props.institutionID).then((function(t){e.setState({institutionName:t.data.name})}));var t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getInstitutionUsersByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.isAddUserDialogOpen,n=e.institutionName,r=e.hasNextPage,s=e.currentPage,a=e.perPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddUserDialog,children:(0,p.ih)("Add Member")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(ur,{currentItem:"members",institutionID:this.props.institutionID,institutionName:n}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(vr,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,setAdmin:this.setAdmin,deleteUser:this.deleteUser,currentPage:s,perPage:a,hasNextPage:r,getInstitutionUsersByPage:this.getInstitutionUsersByPage,resetPerPage:this.resetPerPage})})]})}),t&&(0,v.jsx)(fr,{addUser:this.addUser,toggle:this.toggleAddUserDialog})]})}}]),n}(l.Component),br=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center mt-4",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No admins")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Status")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Space Used")}),(0,v.jsxs)("th",{width:"40%",children:[(0,p.ih)("Created At")," / ",(0,p.ih)("Last Login")]}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(jr,{item:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,revokeAdmin:e.props.revokeAdmin,deleteUser:e.props.deleteUser},n)}))})]})});return r.length?a:s}}]),n}(l.Component),jr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.toggleRevokeAdminDialog=function(e){e&&e.preventDefault(),i.setState({isRevokeAdminDialogOpen:!i.state.isRevokeAdminDialogOpen})},i.revokeAdmin=function(){i.props.revokeAdmin(i.props.item)},i.onMenuItemClick=function(e){if("Revoke Admin"===e)i.toggleRevokeAdminDialog()},i.translateOperations=function(e){var t="";if("Revoke Admin"===e)t=(0,p.ih)("Revoke Admin");return t},i.state={isOpIconShown:!1,highlight:!1,isRevokeAdminDialogOpen:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item,t=this.state,n=t.isOpIconShown,i=t.isRevokeAdminDialogOpen,r=''+m.c.HTMLescape(e.name)+"",s=(0,p.ih)("Are you sure you want to revoke the admin permission of {placeholder} ?").replace("{placeholder}",r);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:e.is_active?(0,p.ih)("Active"):(0,p.ih)("Inactive")}),(0,v.jsx)("td",{children:"".concat(m.c.bytesToSize(e.quota_usage)," / ").concat(e.quota_total>0?m.c.bytesToSize(e.quota_total):"--")}),(0,v.jsxs)("td",{children:[C()(e.create_time).format("YYYY-MM-DD HH:mm:ss")," / ",e.last_login?C()(e.last_login).fromNow():"--"]}),(0,v.jsx)("td",{children:n&&(0,v.jsx)(Je.Z,{operations:["Revoke Admin"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),i&&(0,v.jsx)(We.Z,{title:(0,p.ih)("Revoke Admin"),message:s,executeOperation:this.revokeAdmin,confirmBtnText:(0,p.ih)("Revoke"),toggleDialog:this.toggleRevokeAdminDialog})]})}}]),n}(l.Component),Sr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).revokeAdmin=function(e){var t=e.email,n=e.name;D.I.sysAdminUpdateInstitutionUser(i.props.institutionID,t,!1).then((function(e){var r=i.state.userList.filter((function(e){return e.email!=t}));i.setState({userList:r}),w.Z.success((0,p.ih)("Successfully revoked the admin permission of {placeholder}.").replace("{placeholder}",n))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteUser=function(e){D.I.sysAdminDeleteInstitutionUser(i.props.institutionID,e).then((function(t){var n=i.state.userList.filter((function(t){return t.email!=e}));i.setState({userList:n}),w.Z.success("success")})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",institutionName:"",userList:[],isAddUserDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminGetInstitution(this.props.institutionID).then((function(t){e.setState({institutionName:t.data.name})})),D.I.sysAdminListInstitutionAdmins(this.props.institutionID).then((function(t){e.setState({loading:!1,userList:t.data.user_list})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state.institutionName;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(ur,{currentItem:"admins",institutionID:this.props.institutionID,institutionName:e}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(br,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:this.state.userList,revokeAdmin:this.revokeAdmin,deleteUser:this.deleteUser})})]})})]})}}]),n}(l.Component),Dr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"loginLogs",urlPart:"logs/login",text:(0,p.ih)("Login")},{name:"fileAccessLogs",urlPart:"logs/file-access",text:(0,p.ih)("File Access")},{name:"fileUpdateLogs",urlPart:"logs/file-update",text:(0,p.ih)("File Update")},{name:"sharePermissionLogs",urlPart:"logs/share-permission",text:(0,p.ih)("Permission")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),wr=Dr,Ir=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).downloadExcel=function(){if(i.isValidDateStr()){var e=i.state,t=e.startDateStr,n=e.endDateStr,r=p.ze;switch(i.props.logType){case"login":r+="sys/loginadmin/export-excel/";break;case"fileAccess":r+="sys/log/fileaudit/export-excel/";break;case"fileUpdate":r+="sys/log/fileupdate/export-excel/";break;case"sharePermission":r+="sys/log/permaudit/export-excel/"}location.href=r+"?start="+t+"&end="+n,i.props.toggle()}},i.isValidDateStr=function(){var e=i.state,t=e.startDateStr,n=e.endDateStr;return!!(C()(t,"YYYY-MM-DD",!0).isValid()&&C()(n,"YYYY-MM-DD",!0).isValid()&&C()(t).isBefore(n))||(i.setState({errMsg:(0,p.ih)("Date Invalid.")}),!1)},i.handleStartChange=function(e){var t=e.target.value.trim();i.setState({startDateStr:t,errMsg:""})},i.handleEndChange=function(e){var t=e.target.value.trim();i.setState({endDateStr:t,errMsg:""})},i.state={loading:!0,startDateStr:"",endDateStr:"",errMsg:""},i}return(0,s.Z)(n,[{key:"render",value:function(){return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.props.toggle,autoFocus:!1,children:[(0,v.jsx)(Ze.Z,{toggle:this.props.toggle,children:(0,p.ih)("Choose date")}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{children:(0,p.ih)("Start date")}),(0,v.jsx)(J.Z,{value:this.state.startDateStr,onChange:this.handleStartChange,placeholder:"yyyy-mm-dd",autoFocus:!0})]}),(0,v.jsxs)(Me.Z,{children:[(0,v.jsx)(Re.Z,{children:(0,p.ih)("End date")}),(0,v.jsx)(J.Z,{value:this.state.endDateStr,onChange:this.handleEndChange,placeholder:"yyyy-mm-dd"})]}),this.state.errMsg&&(0,v.jsx)(Te.Z,{className:"mt-2",color:"danger",children:(0,p.ih)(this.state.errMsg)})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.props.toggle,children:(0,p.ih)("Cancel")}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.downloadExcel,children:(0,p.ih)("Submit")})]})]})}}]),n}(l.Component),Pr=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a0?t.avatar.substring(0,t.avatar.length-1)+"100":p.ze+"media/avatars/default.png",(0,v.jsxs)("tr",{children:[(0,v.jsx)("td",{children:!t.email&&(0,v.jsx)("input",{type:"checkbox",className:"vam",onChange:function(){return e.props.onUserChecked(t)},checked:t.userid in n?"checked":""})}),(0,v.jsx)("td",{children:(0,v.jsx)("img",{className:"avatar",src:s,alt:""})}),(0,v.jsx)("td",{children:t.name}),(0,v.jsx)("td",{children:t.mobile}),(0,v.jsx)("td",{children:t.contact_email}),(0,v.jsx)("td",{children:t.email&&(0,v.jsx)("i",{className:"sf2-icon-tick"})})]},i.toString()+t.userid)}));return(0,v.jsxs)("div",{className:"dir-content-main",children:[r&&(0,v.jsx)(I.Z,{}),!r&&this.props.membersList.length>0&&(0,v.jsxs)(os.Z,{hover:!0,children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%",children:s.length>0&&(0,v.jsx)("input",{type:"checkbox",className:"vam",checked:this.props.isCheckedAll,onChange:function(){return e.props.onAllUsersChecked()}})}),(0,v.jsx)("th",{width:"10%"}),(0,v.jsx)("th",{width:"20%",children:"\u540d\u79f0"}),(0,v.jsx)("th",{width:"20%",children:"\u624b\u673a\u53f7"}),(0,v.jsx)("th",{width:"30%",children:"\u90ae\u7bb1"}),(0,v.jsx)("th",{width:"15%",children:"\u5df2\u6dfb\u52a0"})]})}),(0,v.jsx)("tbody",{children:a})]}),!r&&0===this.props.membersList.length&&(0,v.jsxs)("div",{className:"message empty-tip text-center",children:[(0,v.jsx)("img",{src:"".concat(p.ze,"media/img/member-list-empty-2x.png"),alt:""}),(0,v.jsx)("h4",{children:"\u6210\u5458\u5217\u8868\u4e3a\u7a7a"})]})]})}}]),n}(l.Component),cs=n(81694),hs=n.n(cs),ds=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleChildren=function(e){e.preventDefault(),e.stopPropagation(),i.setState({isChildrenShow:!i.state.isChildrenShow})},i.dropdownToggle=function(e){e.stopPropagation(),i.setState({dropdownOpen:!i.state.dropdownOpen})},i.onMouseEnter=function(){i.setState({active:!0})},i.onMouseLeave=function(){i.state.dropdownOpen||i.setState({active:!1})},i.importDepartmentDialogToggle=function(e){i.setState({active:!1}),i.props.importDepartmentDialogToggle(e)},i.renderTreeNodes=function(e){if(e.length>0)return e.map((function(e){return(0,v.jsx)(n,{department:e,isChildrenShow:i.state.isChildrenShow,onChangeDepartment:i.props.onChangeDepartment,checkedDepartmentId:i.props.checkedDepartmentId,importDepartmentDialogToggle:i.importDepartmentDialogToggle},e.id)}))},i.changeDept=function(e){var t=i.props,n=t.department,r=t.checkedDepartmentId;i.props.onChangeDepartment(e),r!==n.id||i.state.isChildrenShow||i.setState({isChildrenShow:!0})},i.state={isChildrenShow:!1,dropdownOpen:!1,active:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){0===this.props.index&&(this.setState({isChildrenShow:!0}),this.props.onChangeDepartment(this.props.department.id))}},{key:"render",value:function(){var e=this,t=this.props,n=t.isChildrenShow,i=t.department,r=t.checkedDepartmentId,s=hs()({"folder-toggle-icon fa fa-caret-down":i.children&&this.state.isChildrenShow,"folder-toggle-icon fa fa-caret-right":i.children&&!this.state.isChildrenShow}),a=hs()({"tree-node-inner":!0,"tree-node-inner-hover":this.state.active,"tree-node-hight-light":r===i.id});return(0,v.jsxs)(l.Fragment,{children:[n&&(0,v.jsxs)("div",{className:a,onClick:function(){return e.changeDept(i.id)},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,v.jsx)("span",{className:"tree-node-icon",onClick:function(t){return e.toggleChildren(t)},children:(0,v.jsx)("i",{className:s})}),(0,v.jsx)("span",{className:"tree-node-text",children:i.name}),p._y&&(0,v.jsxs)(_r.Z,{isOpen:this.state.dropdownOpen,toggle:function(t){return e.dropdownToggle(t)},direction:"down",style:this.state.active?{}:{opacity:0},children:[(0,v.jsx)(Mr.Z,{tag:"i",className:"fa fa-ellipsis-v cursor-pointer attr-action-icon",title:(0,p.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.dropdownOpen}),(0,v.jsx)(Nr.Z,{className:"drop-list",right:!0,children:(0,v.jsx)(Cr.Z,{onClick:this.importDepartmentDialogToggle.bind(this,i),id:i.id,children:"\u5bfc\u5165\u90e8\u95e8"})})]})]}),this.state.isChildrenShow&&(0,v.jsx)("div",{className:"department-children",children:i.children&&this.renderTreeNodes(i.children)})]})}}]),n}(l.Component),us=ds,gs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.departmentsTree;return(0,v.jsx)("div",{className:"dir-content-nav",children:(0,v.jsx)("div",{className:"tree-view tree",children:this.props.isTreeLoading?(0,v.jsx)(I.Z,{}):(0,v.jsx)("div",{className:"tree-node",children:t.length>0&&t.map((function(t,n){return(0,v.jsx)(us,{index:n,department:t,isChildrenShow:!0,onChangeDepartment:e.props.onChangeDepartment,checkedDepartmentId:e.props.checkedDepartmentId,importDepartmentDialogToggle:e.props.importDepartmentDialogToggle},t.id)}))})})})}}]),n}(l.Component),ps=gs,ms=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.importDepartmentDialogToggle(null)},i.handleSubmit=function(){i.props.onImportDepartmentSubmit(),i.setState({isLoading:!0})},i.state={isLoading:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.departmentsCount,n=e.membersCount,i=e.departmentName;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsxs)(Ze.Z,{toggle:this.toggle,children:[(0,v.jsx)("span",{children:"\u5bfc\u5165\u90e8\u95e8 "}),(0,v.jsx)("span",{className:"op-target",title:i,children:i})]}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsxs)("p",{children:["\u5c06\u8981\u5bfc\u5165 ",(0,v.jsx)("strong",{children:t})," \u4e2a\u90e8\u95e8\uff0c\u5176\u4e2d\u5305\u62ec ",(0,v.jsx)("strong",{children:n})," \u4e2a\u6210\u5458"]}),this.state.isLoading&&(0,v.jsx)(I.Z,{})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:"\u53d6\u6d88"}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:"\u5bfc\u5165"})]})]})}}]),n}(l.Component),fs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getDepartmentsTree=function(e){for(var t=[],n=[],i=0;i0&&(e.children=t),-1!==s.indexOf(e.parentid)}))},i.getWorkWeixinDepartmentsList=function(e){D.I.adminListWorkWeixinDepartments(e).then((function(t){if(e)i.setState({importDepartmentChildrenCount:t.data.department.length,importDepartmentMembersCount:i.state.membersTempObj[e].length});else{var n=i.getDepartmentsTree(t.data.department);i.setState({isTreeLoading:!1,departmentsTree:n})}})).catch((function(e){i.handleError(e),i.setState({isTreeLoading:!1,isMembersListLoading:!1}),e.response&&403===e.response.status&&(window.location=p.ze+"sys/useradmin/")}))},i.getWorkWeixinDepartmentMembersList=function(e){i.setState({isMembersListLoading:!0}),D.I.adminListWorkWeixinDepartmentMembers(e,{fetch_child:!0}).then((function(t){var n=i.state.membersTempObj;n[e]=t.data.userlist;var r=i.getCanCheckUserIds(t.data.userlist);i.setState({membersTempObj:n,membersList:t.data.userlist,isMembersListLoading:!1,canCheckUserIds:r})})).catch((function(e){i.setState({isMembersListLoading:!1}),i.handleError(e)}))},i.getCanCheckUserIds=function(e){var t=[];return e.forEach((function(e){e.email||t.push(e.userid)})),t},i.onChangeDepartment=function(e){if(i.setState({newUsersTempObj:{},isCheckedAll:!1,checkedDepartmentId:e}),e in i.state.membersTempObj){var t=i.getCanCheckUserIds(i.state.membersTempObj[e]);i.setState({membersList:i.state.membersTempObj[e],canCheckUserIds:t})}else i.getWorkWeixinDepartmentMembersList(e)},i.onUserChecked=function(e){if(-1!==i.state.canCheckUserIds.indexOf(e.userid)){var t=i.state.newUsersTempObj;e.userid in t?(delete t[e.userid],i.state.isCheckedAll&&i.setState({isCheckedAll:!1})):(t[e.userid]=e,Object.keys(t).length===i.state.canCheckUserIds.length&&i.setState({isCheckedAll:!0})),i.setState({newUsersTempObj:t})}},i.onAllUsersChecked=function(){i.setState({isCheckedAll:!i.state.isCheckedAll},(function(){if(i.state.isCheckedAll){for(var e={},t=i.state.membersList.filter((function(e){return-1!==i.state.canCheckUserIds.indexOf(e.userid)})),n=0;n0?t.avatar:p.ze+"media/avatars/default.png",(0,v.jsxs)("tr",{children:[(0,v.jsx)("td",{children:!t.email&&(0,v.jsx)("input",{type:"checkbox",className:"vam",onChange:function(){return e.props.onUserChecked(t)},checked:t.userid in n?"checked":""})}),(0,v.jsx)("td",{children:(0,v.jsx)("img",{className:"avatar",src:s,alt:""})}),(0,v.jsx)("td",{children:t.name}),(0,v.jsx)("td",{children:t.mobile}),(0,v.jsx)("td",{children:t.contact_email}),(0,v.jsx)("td",{children:t.email&&(0,v.jsx)("i",{className:"sf2-icon-tick"})})]},i.toString()+t.userid)}));return(0,v.jsxs)("div",{className:"dir-content-main",children:[r&&(0,v.jsx)(I.Z,{}),!r&&this.props.membersList.length>0&&(0,v.jsxs)(os.Z,{hover:!0,children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"5%",children:s.length>0&&(0,v.jsx)("input",{type:"checkbox",className:"vam",checked:this.props.isCheckedAll,onChange:function(){return e.props.onAllUsersChecked()}})}),(0,v.jsx)("th",{width:"10%"}),(0,v.jsx)("th",{width:"20%",children:"\u540d\u79f0"}),(0,v.jsx)("th",{width:"20%",children:"\u624b\u673a\u53f7"}),(0,v.jsx)("th",{width:"30%",children:"\u90ae\u7bb1"}),(0,v.jsx)("th",{width:"15%",children:"\u5df2\u6dfb\u52a0"})]})}),(0,v.jsx)("tbody",{children:a})]}),!r&&0===this.props.membersList.length&&(0,v.jsxs)("div",{className:"message empty-tip text-center",children:[(0,v.jsx)("img",{src:"".concat(p.ze,"media/img/member-list-empty-2x.png"),alt:""}),(0,v.jsx)("h4",{children:"\u6210\u5458\u5217\u8868\u4e3a\u7a7a"})]})]})}}]),n}(l.Component),xs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleChildren=function(e){e.preventDefault(),e.stopPropagation(),i.setState({isChildrenShow:!i.state.isChildrenShow})},i.dropdownToggle=function(e){e.stopPropagation(),i.setState({dropdownOpen:!i.state.dropdownOpen})},i.onMouseEnter=function(){i.setState({active:!0})},i.onMouseLeave=function(){i.state.dropdownOpen||i.setState({active:!1})},i.importDepartmentDialogToggle=function(e){i.setState({active:!1}),i.props.importDepartmentDialogToggle(e)},i.renderTreeNodes=function(e){if(e.length>0)return e.map((function(e){return(0,v.jsx)(n,{department:e,isChildrenShow:i.state.isChildrenShow,onChangeDepartment:i.props.onChangeDepartment,checkedDepartmentId:i.props.checkedDepartmentId,importDepartmentDialogToggle:i.importDepartmentDialogToggle},e.id)}))},i.changeDept=function(e){var t=i.props,n=t.department,r=t.checkedDepartmentId;i.props.onChangeDepartment(e),r!==n.id||i.state.isChildrenShow||i.setState({isChildrenShow:!0})},i.state={isChildrenShow:!1,dropdownOpen:!1,active:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){0===this.props.index&&(this.setState({isChildrenShow:!0}),this.props.onChangeDepartment(this.props.department.id))}},{key:"render",value:function(){var e=this,t=this.props,n=t.isChildrenShow,i=t.department,r=t.checkedDepartmentId,s=hs()({"folder-toggle-icon fa fa-caret-down":i.children&&this.state.isChildrenShow,"folder-toggle-icon fa fa-caret-right":i.children&&!this.state.isChildrenShow}),a=hs()({"tree-node-inner":!0,"tree-node-inner-hover":this.state.active,"tree-node-hight-light":r===i.id});return(0,v.jsxs)(l.Fragment,{children:[n&&(0,v.jsxs)("div",{className:a,onClick:function(){return e.changeDept(i.id)},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,children:[(0,v.jsx)("span",{className:"tree-node-icon",onClick:function(t){return e.toggleChildren(t)},children:(0,v.jsx)("i",{className:s})}),(0,v.jsx)("span",{className:"tree-node-text",children:i.name}),p._y&&(0,v.jsxs)(_r.Z,{isOpen:this.state.dropdownOpen,toggle:function(t){return e.dropdownToggle(t)},direction:"down",style:this.state.active?{}:{opacity:0},children:[(0,v.jsx)(Mr.Z,{tag:"i",className:"fa fa-ellipsis-v cursor-pointer attr-action-icon",title:(0,p.ih)("More Operations"),"data-toggle":"dropdown","aria-expanded":this.state.dropdownOpen}),(0,v.jsx)(Nr.Z,{className:"drop-list",right:!0,children:(0,v.jsx)(Cr.Z,{onClick:this.importDepartmentDialogToggle.bind(this,i),id:i.id,children:"\u5bfc\u5165\u90e8\u95e8"})})]})]}),this.state.isChildrenShow&&(0,v.jsx)("div",{className:"department-children",children:i.children&&this.renderTreeNodes(i.children)})]})}}]),n}(l.Component),ys=xs,bs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.departmentsTree;return(0,v.jsx)("div",{className:"dir-content-nav",children:(0,v.jsx)("div",{className:"tree-view tree",children:this.props.isTreeLoading?(0,v.jsx)(I.Z,{}):(0,v.jsx)("div",{className:"tree-node",children:t.length>0&&t.map((function(t,n){return(0,v.jsx)(ys,{index:n,department:t,isChildrenShow:!0,onChangeDepartment:e.props.onChangeDepartment,checkedDepartmentId:e.props.checkedDepartmentId,importDepartmentDialogToggle:e.props.importDepartmentDialogToggle},t.id)}))})})})}}]),n}(l.Component),js=bs,Ss=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggle=function(){i.props.importDepartmentDialogToggle(null)},i.handleSubmit=function(){i.props.onImportDepartmentSubmit(),i.setState({isLoading:!0})},i.state={isLoading:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.departmentsCount,n=e.membersCount,i=e.departmentName;return(0,v.jsxs)(u.Z,{isOpen:!0,toggle:this.toggle,children:[(0,v.jsxs)(Ze.Z,{toggle:this.toggle,children:[(0,v.jsx)("span",{children:"\u5bfc\u5165\u90e8\u95e8 "}),(0,v.jsx)("span",{className:"op-target",title:i,children:i})]}),(0,v.jsxs)(ke.Z,{children:[(0,v.jsxs)("p",{children:["\u5c06\u8981\u5bfc\u5165 ",(0,v.jsx)("strong",{children:t})," \u4e2a\u90e8\u95e8\uff0c\u5176\u4e2d\u5305\u62ec ",(0,v.jsx)("strong",{children:n})," \u4e2a\u6210\u5458"]}),this.state.isLoading&&(0,v.jsx)(I.Z,{})]}),(0,v.jsxs)(Le.Z,{children:[(0,v.jsx)(S.Z,{color:"secondary",onClick:this.toggle,children:"\u53d6\u6d88"}),(0,v.jsx)(S.Z,{color:"primary",onClick:this.handleSubmit,children:"\u5bfc\u5165"})]})]})}}]),n}(l.Component),Ds=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getDepartmentsTree=function(e){for(var t=[],n=[],i=0;i0&&(e.children=t),-1!==s.indexOf(e.parentid)}))},i.getDingtalkDepartmentsList=function(e){D.I.adminListDingtalkDepartments(e).then((function(t){if(e)i.setState({importDepartmentChildrenCount:t.data.department.length,importDepartmentMembersCount:i.state.membersTempObj[e].length});else{var n=i.getDepartmentsTree(t.data.department);i.setState({isTreeLoading:!1,departmentsTree:n})}})).catch((function(e){i.handleError(e),i.setState({isTreeLoading:!1,isMembersListLoading:!1}),e.response&&403===e.response.status&&(window.location=p.ze+"sys/useradmin/")}))},i.getDingtalkDepartmentMembersList=function(e){i.setState({isMembersListLoading:!0}),D.I.adminListDingtalkDepartmentMembers(e).then((function(t){var n=i.state.membersTempObj;n[e]=t.data.userlist;var r=i.getCanCheckUserIds(t.data.userlist);i.setState({membersTempObj:n,membersList:t.data.userlist,isMembersListLoading:!1,canCheckUserIds:r})})).catch((function(e){i.setState({isMembersListLoading:!1}),i.handleError(e)}))},i.getCanCheckUserIds=function(e){var t=[];return e.forEach((function(e){e.email||t.push(e.userid)})),t},i.onChangeDepartment=function(e){if(i.setState({newUsersTempObj:{},isCheckedAll:!1,checkedDepartmentId:e}),e in i.state.membersTempObj){var t=i.getCanCheckUserIds(i.state.membersTempObj[e]);i.setState({membersList:i.state.membersTempObj[e],canCheckUserIds:t})}else i.getDingtalkDepartmentMembersList(e)},i.onUserChecked=function(e){if(-1!==i.state.canCheckUserIds.indexOf(e.userid)){var t=i.state.newUsersTempObj;e.userid in t?(delete t[e.userid],i.state.isCheckedAll&&i.setState({isCheckedAll:!1})):(t[e.userid]=e,Object.keys(t).length===i.state.canCheckUserIds.length&&i.setState({isCheckedAll:!0})),i.setState({newUsersTempObj:t})}},i.onAllUsersChecked=function(){i.setState({isCheckedAll:!i.state.isCheckedAll},(function(){if(i.state.isCheckedAll){for(var e={},t=i.state.membersList.filter((function(e){return-1!==i.state.canCheckUserIds.indexOf(e.userid)})),n=0;n|!\[\]\(\S+\)|<\S+>/g,Ls=/^/,Os=/^!\[\]\((\S+)\)/,Ts=/^\[.+\]\(\S+\)/,Fs=/^<\S+>$/,Rs=function(e){for(var t="",n=e.replace(As,""),i=0;i=0||e.search(Fs)>=0)t.links.push(e);else{var n=e.match(Ls),i=e.match(Os);n?t.images.push(n[1]):i&&t.images.push(i[1])}})),t}(r);return{previewText:t,images:s.images,links:s.links}}return{previewText:t,images:[],links:[]}},Es=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,r.Z)(this,n);for(var i=arguments.length,s=new Array(i),a=0;a'+m.c.HTMLescape(e.name)+"",o=(0,p.ih)("Are you sure you want to delete {placeholder} ?").replace("{placeholder}",a);return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("tr",{onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:e.name}),(0,v.jsx)("td",{children:e.version_number}),(0,v.jsx)("td",{className:"ellipsis",children:(0,v.jsx)("a",{href:"#",onClick:this.toggleTermsContentDialog,children:s.previewText})}),(0,v.jsx)("td",{children:C()(e.ctime).fromNow()}),(0,v.jsx)("td",{children:e.activate_time?C()(e.activate_time).fromNow():"--"}),(0,v.jsx)("td",{children:this.state.isOpIconShown&&(0,v.jsx)(Je.Z,{operations:["Update","Delete"],translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]}),n&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(We.Z,{title:(0,p.ih)("Delete T&C"),message:o,toggleDialog:this.toggleDeleteDialog,executeOperation:this.deleteTerm,confirmBtnText:(0,p.ih)("Delete")})}),i&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(Cs,{updateTerm:this.updateTerm,toggle:this.toggleUpdateDialog,isUpdate:!0,oldTermObj:e})}),r&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(Us,{content:e.text,onClosePreviewDialog:this.toggleTermsContentDialog})})]})}}]),n}(l.Component),Bs=zs,Vs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.items;if(n)return(0,v.jsx)(I.Z,{});if(i)return(0,v.jsx)("p",{className:"error text-center",children:i});var s=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No terms and conditions")})}),a=(0,v.jsx)(l.Fragment,{children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Version")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Text")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Created")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Activated")}),(0,v.jsx)("th",{width:"5%"})]})}),r&&(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Bs,{item:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,deleteTerm:e.props.deleteTerm,updateTerm:e.props.updateTerm},n)}))})]})});return r.length?a:s}}]),n}(l.Component),Hs=Vs,Ws=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).toggleAddTermDialog=function(){i.setState({isAddTermDialogOpen:!i.state.isAddTermDialogOpen})},i.addTerm=function(e,t,n,i){D.I.sysAdminAddTermAndCondition(e,t,n,i).then((function(e){location.reload()})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.updateTerm=function(e,t,n,r,s){D.I.sysAdminUpdateTermAndCondition(e,t,n,r,s).then((function(t){var n=i.state.termList.map((function(n){return n.id==e?t.data:n}));i.setState({termList:n}),w.Z.success((0,p.ih)("Update succeeded."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.deleteTerm=function(e){D.I.sysAdminDeleteTermAndCondition(e).then((function(t){var n=i.state.termList.filter((function(t){return t.id!=e}));i.setState({termList:n}),w.Z.success((0,p.ih)("Successfully deleted 1 item."))})).catch((function(e){var t=m.c.getErrorMsg(e);w.Z.danger(t)}))},i.state={loading:!0,errorMsg:"",termList:[],isAddTermDialogOpen:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this;D.I.sysAdminListTermsAndConditions().then((function(t){e.setState({termList:t.data.term_and_condition_list,loading:!1})})).catch((function(t){e.setState({loading:!1,errorMsg:m.c.getErrorMsg(t,!0)})}))}},{key:"render",value:function(){var e=this.state,t=e.termList,n=e.isAddTermDialogOpen;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsx)(S.Z,{className:"btn btn-secondary operation-item",onClick:this.toggleAddTermDialog,children:(0,p.ih)("Add")})})),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Terms and Conditions")})}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Hs,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:t,deleteTerm:this.deleteTerm,updateTerm:this.updateTerm})})]})}),n&&(0,v.jsx)(qt.Z,{children:(0,v.jsx)(Cs,{isUpdate:!1,addTerm:this.addTerm,toggle:this.toggleAddTermDialog})})]})}}]),n}(l.Component),Ys=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"all",urlPart:"all",text:(0,p.ih)("All")},{name:"unhandled",urlPart:"unhandled",text:(0,p.ih)("Unhandled")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/virus-files/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),Gs=Ys,qs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.onMenuItemClick=function(e){i.props.handleFile(i.props.virusFile.virus_id,e)},i.translateOperations=function(e){var t="";switch(e){case"delete":t=(0,p.ih)("Delete");break;case"ignore":t=(0,p.ih)("Ignore");break;case"do-not-ignore":t=(0,p.ih)("Don't ignore")}return t},i.state={highlight:!1,isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.virusFile,t="",n=[];return e.has_deleted?t=(0,v.jsx)("span",{className:"text-green",children:(0,p.ih)("Deleted")}):e.has_ignored?(t=(0,v.jsx)("span",{className:"text-orange",children:(0,p.ih)("Ignored")}),n=["do-not-ignore"]):(t=(0,v.jsx)("span",{className:"text-red",children:(0,p.ih)("Unhandled")}),n=["delete","ignore"]),(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{children:e.repo_name}),(0,v.jsx)("td",{children:e.repo_owner}),(0,v.jsx)("td",{children:e.file_path}),(0,v.jsx)("td",{children:t}),(0,v.jsx)("td",{children:n.length>0&&this.state.isOpIconShown&&(0,v.jsx)(Je.Z,{operations:n,translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]})}}]),n}(l.Component),Qs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPage=function(){i.props.getListByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getListByPage(i.props.currentPage+1)},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.virusFiles,s=t.curPerPage,a=t.hasNextPage,o=t.currentPage;return n?(0,v.jsx)(I.Z,{}):i?(0,v.jsx)("p",{className:"error text-center mt-4",children:i}):(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"27%",children:(0,p.ih)("Library")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"28%",children:(0,p.ih)("Virus File")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Status")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(qs,{virusFile:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,handleFile:e.props.handleFile},n)}))})]}),r.length>0&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:o,hasNextPage:a,curPerPage:s,resetPerPage:this.props.resetPerPage})]})}}]),n}(l.Component),Ks=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getListByPage=function(e){var t=i.state.perPage;D.I.listVirusFiles(e,t).then((function(e){var t=e.data;i.setState({loading:!1,virusFiles:t.virus_file_list,hasNextPage:t.has_next_page})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getListByPage(1)}))},i.handleFile=function(e,t){var n;switch(t){case"delete":n=D.I.deleteVirusFile(e);break;case"ignore":n=D.I.toggleIgnoreVirusFile(e,!0);break;case"do-not-ignore":n=D.I.toggleIgnoreVirusFile(e,!1)}n.then((function(n){i.setState({virusFiles:i.state.virusFiles.map((function(i){return i.virus_id==e&&("delete"==t?i.has_deleted=!0:i=n.data.virus_file),i}))})})).catch((function(e){w.Z.danger(m.c.getErrorMsg(e))}))},i.state={loading:!0,errorMsg:"",virusFiles:[],currentPage:1,perPage:25,hasNextPage:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getListByPage(e.state.currentPage)}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gs,{currentItem:"all"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(Qs,{loading:this.state.loading,errorMsg:this.state.errorMsg,virusFiles:this.state.virusFiles,currentPage:this.state.currentPage,hasNextPage:this.state.hasNextPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,getListByPage:this.getListByPage,handleFile:this.handleFile})})]})})]})}}]),n}(l.Component),Xs=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).handleMouseEnter=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!0,highlight:!0})},i.handleMouseLeave=function(){i.props.isItemFreezed||i.setState({isOpIconShown:!1,highlight:!1})},i.onUnfreezedItem=function(){i.setState({highlight:!1,isOpIconShow:!1}),i.props.onUnfreezedItem()},i.onMenuItemClick=function(e){i.props.handleFile(i.props.virusFile.virus_id,e)},i.translateOperations=function(e){var t="";switch(e){case"delete":t=(0,p.ih)("Delete");break;case"ignore":t=(0,p.ih)("Ignore");break;case"do-not-ignore":t=(0,p.ih)("Don't ignore")}return t},i.toggleItemSelected=function(e){i.props.toggleItemSelected(i.props.virusFile,e.target.checked)},i.state={highlight:!1,isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.virusFile,t="",n=[];return e.has_deleted?t=(0,v.jsx)("span",{className:"text-green",children:(0,p.ih)("Deleted")}):e.has_ignored?(t=(0,v.jsx)("span",{className:"text-orange",children:(0,p.ih)("Ignored")}),n=["do-not-ignore"]):(t=(0,v.jsx)("span",{className:"text-red",children:(0,p.ih)("Unhandled")}),n=["delete","ignore"]),(0,v.jsxs)("tr",{className:this.state.highlight?"tr-highlight":"",onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,children:[(0,v.jsx)("td",{className:"text-center",children:(0,v.jsx)("input",{type:"checkbox",checked:e.isSelected,onChange:this.toggleItemSelected})}),(0,v.jsx)("td",{children:e.repo_name}),(0,v.jsx)("td",{children:e.repo_owner}),(0,v.jsx)("td",{children:e.file_path}),(0,v.jsx)("td",{children:t}),(0,v.jsx)("td",{children:n.length>0&&this.state.isOpIconShown&&(0,v.jsx)(Je.Z,{operations:n,translateOperations:this.translateOperations,onMenuItemClick:this.onMenuItemClick,onFreezedItem:this.props.onFreezedItem,onUnfreezedItem:this.onUnfreezedItem})})]})}}]),n}(l.Component),$s=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).onFreezedItem=function(){i.setState({isItemFreezed:!0})},i.onUnfreezedItem=function(){i.setState({isItemFreezed:!1})},i.getPreviousPage=function(){i.props.getListByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getListByPage(i.props.currentPage+1)},i.state={isItemFreezed:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.loading,i=t.errorMsg,r=t.virusFiles,s=t.curPerPage,a=t.hasNextPage,o=t.currentPage,c=t.isAllItemsSelected;return n?(0,v.jsx)(I.Z,{}):i?(0,v.jsx)("p",{className:"error text-center mt-4",children:i}):(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"3%",className:"text-center",children:(0,v.jsx)("input",{type:"checkbox",checked:c,onChange:this.props.toggleAllSelected})}),(0,v.jsx)("th",{width:"24%",children:(0,p.ih)("Library")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Owner")}),(0,v.jsx)("th",{width:"28%",children:(0,p.ih)("Virus File")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Status")}),(0,v.jsx)("th",{width:"5%"})]})}),(0,v.jsx)("tbody",{children:r.map((function(t,n){return(0,v.jsx)(Xs,{virusFile:t,isItemFreezed:e.state.isItemFreezed,onFreezedItem:e.onFreezedItem,onUnfreezedItem:e.onUnfreezedItem,handleFile:e.props.handleFile,toggleItemSelected:e.props.toggleItemSelected},n)}))})]}),r.length>0&&(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:o,hasNextPage:a,curPerPage:s,resetPerPage:this.props.resetPerPage})]})}}]),n}(l.Component),Js=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getListByPage=function(e){var t=i.state.perPage;D.I.listVirusFiles(e,t,!1).then((function(e){var t=e.data,n=t.virus_file_list.map((function(e){return e.isSelected=!1,e}));i.setState({loading:!1,virusFiles:n,hasNextPage:t.has_next_page})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){i.getListByPage(1)}))},i.handleFile=function(e,t){var n;switch(t){case"delete":n=D.I.deleteVirusFile(e);break;case"ignore":n=D.I.toggleIgnoreVirusFile(e,!0);break;case"do-not-ignore":n=D.I.toggleIgnoreVirusFile(e,!1)}n.then((function(n){i.setState({virusFiles:i.state.virusFiles.map((function(i){return i.virus_id==e&&("delete"==t?i.has_deleted=!0:i=n.data.virus_file),i}))})})).catch((function(e){w.Z.danger(m.c.getErrorMsg(e))}))},i.toggleAllSelected=function(){i.setState((function(e){return{isAllItemsSelected:!e.isAllItemsSelected,virusFiles:i.state.virusFiles.map((function(t){return t.isSelected=!e.isAllItemsSelected,t}))}}))},i.toggleItemSelected=function(e,t){i.setState({virusFiles:i.state.virusFiles.map((function(n){return n===e&&(n.isSelected=t),n}))},(function(){i.setState({isAllItemsSelected:!i.state.virusFiles.some((function(e){return!e.isSelected}))})}))},i.handleSelectedItems=function(e){var t=i.state.virusFiles.filter((function(t){return"delete-virus"==e?t.isSelected&&!t.has_deleted:t.isSelected&&!t.has_ignored})).map((function(e){return e.virus_id}));D.I.batchProcessVirusFiles(t,e).then((function(t){var n=i.state.virusFiles;t.data.success.forEach((function(t){var i=n.find((function(e){return e.virus_id==t.virus_id}));"delete-virus"==e?i.has_deleted=!0:i.has_ignored=!0})),i.setState({virusFiles:n}),t.data.failed.forEach((function(t){var i=n.find((function(e){return e.virus_id==t.virus_id})),r="delete-virus"==e?(0,p.ih)("Failed to delete %(virus_file) from library %(library): %(error_msg)"):(0,p.ih)("Failed to ignore %(virus_file) from library %(library): %(error_msg)");r=r.replace("%(virus_file)",i.file_path).replace("%(library)",i.repo_name).replace("%(error_msg)",t.error_msg),w.Z.danger(r)}))})).catch((function(e){w.Z.danger(m.c.getErrorMsg(e))}))},i.deleteSelectedItems=function(){i.handleSelectedItems("delete-virus")},i.ignoreSelectedItems=function(){i.handleSelectedItems("ignore-virus")},i.state={loading:!0,errorMsg:"",virusFiles:[],isAllItemsSelected:!1,selectedItems:[],currentPage:1,perPage:25,hasNextPage:!1},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getListByPage(e.state.currentPage)}))}},{key:"render",value:function(){return(0,v.jsxs)(l.Fragment,{children:[this.state.virusFiles.some((function(e){return e.isSelected}))?(0,v.jsx)(k,(0,i.Z)((0,i.Z)({},this.props),{},{children:(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(S.Z,{onClick:this.deleteSelectedItems,className:"operation-item",children:(0,p.ih)("Delete")}),(0,v.jsx)(S.Z,{onClick:this.ignoreSelectedItems,className:"operation-item",children:(0,p.ih)("Ignore")})]})})):(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(Gs,{currentItem:"unhandled"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)($s,{loading:this.state.loading,errorMsg:this.state.errorMsg,virusFiles:this.state.virusFiles,currentPage:this.state.currentPage,hasNextPage:this.state.hasNextPage,curPerPage:this.state.perPage,resetPerPage:this.resetPerPage,getListByPage:this.getListByPage,handleFile:this.handleFile,isAllItemsSelected:this.state.isAllItemsSelected,toggleAllSelected:this.toggleAllSelected,toggleItemSelected:this.toggleItemSelected})})]})})]})}}]),n}(l.Component),ea=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).navItems=[{name:"adminOperationLogs",urlPart:"admin-logs/operation",text:(0,p.ih)("Admin Operation Logs")},{name:"adminLoginLogs",urlPart:"admin-logs/login",text:(0,p.ih)("Admin Login Logs")}],i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.currentItem;return(0,v.jsx)("div",{className:"cur-view-path tab-nav-container",children:(0,v.jsx)("ul",{className:"nav",children:this.navItems.map((function(t,n){return(0,v.jsx)("li",{className:"nav-item",children:(0,v.jsx)(g.rU,{to:"".concat(p.ze,"sys/").concat(t.urlPart,"/"),className:"nav-link".concat(e==t.name?" active":""),children:t.text})},n)}))})})}}]),n}(l.Component),ta=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getLogsByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getLogsByPage(i.props.currentPage+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items,r=e.perPage,s=e.currentPage,a=e.hasNextPage;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var o=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No Admin operation logs")})}),c=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Operation")}),(0,v.jsx)("th",{width:"50%",children:(0,p.ih)("Detail")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Time")})]})}),i&&(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(na,{item:e},t)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:s,hasNextPage:a,curPerPage:r,resetPerPage:this.props.resetPerPage})]});return i.length?c:o}}]),n}(l.Component),na=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getOperationText=function(e){switch(e){case"repo_create":return(0,p.ih)("Create Library");case"repo_delete":return(0,p.ih)("Delete Library");case"repo_transfer":return(0,p.ih)("Transfer Library");case"group_create":return(0,p.ih)("Create Group");case"group_transfer":return(0,p.ih)("Transfer Group");case"group_delete":return(0,p.ih)("Delete Group");case"user_add":return(0,p.ih)("Add User");case"user_delete":return(0,p.ih)("Delete User");default:return""}},i.getOperationDetail=function(e){var t=e.detail,n="";t.owner&&(n=p.ze+"sys/users/"+encodeURIComponent(t.owner)+"/");var i="";t.email&&(i=p.ze+"sys/users/"+encodeURIComponent(t.email)+"/");var r="",s="",a="";switch("repo_create"!=e.operation&&"repo_delete"!=e.operation&&"repo_transfer"!=e.operation||(s=p.ze+"sys/libraries/"+t.id+"/"+encodeURIComponent(t.name)+"/"),"group_create"!=e.operation&&"group_delete"!=e.operation&&"group_transfer"!=e.operation||(a=p.ze+"sys/groups/"+t.id+"/libraries/"),e.operation){case"repo_create":return r=(0,p.ih)("Created library {library_name} with {owner} as its owner").replace("{owner}",''+t.owner+""),r=p._y&&p.MW?r.replace("{library_name}",''+t.name+""):r.replace("{library_name}",''+t.name+"");case"repo_delete":return r=(0,p.ih)("Deleted library {library_name}").replace("{library_name}",''+t.name+"");case"repo_transfer":return r=(0,p.ih)("Transferred library {library_name} from {user_from} to {user_to}").replace("{user_from}",''+t.from+"").replace("{user_to}",''+t.to+""),r=p._y&&p.MW?r.replace("{library_name}",''+t.name+""):r.replace("{library_name}",''+t.name+"");case"group_create":return r=(0,p.ih)("Created group {group_name}").replace("{group_name}",''+t.name+"");case"group_transfer":return r=(0,p.ih)("Transferred group {group_name} from {user_from} to {user_to}").replace("{user_from}",''+t.from+"").replace("{user_to}",''+t.to+"").replace("{group_name}",''+t.name+"");case"group_delete":return r=(0,p.ih)("Deleted group {group_name}").replace("{group_name}",''+t.name+"");case"user_add":return r=(0,p.ih)("Added user {user}").replace("{user}",''+t.email+"");case"user_delete":return r=(0,p.ih)("Deleted user {user}").replace("{user}",''+t.email+"");default:return""}},i.state={isOpIconShown:!1},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,v.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:this.getOperationText(e.operation)}),(0,v.jsx)("td",{children:(0,v.jsx)("span",{dangerouslySetInnerHTML:{__html:this.getOperationDetail(e)}})}),(0,v.jsx)("td",{children:C()(e.datetime).fromNow()})]})}}]),n}(l.Component),ia=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getLogsByPage=function(e){var t=i.state.perPage;D.I.sysAdminListAdminLogs(e,t).then((function(n){i.setState({logList:n.data.data,loading:!1,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.total_count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getLogsByPage(i.initPage)}))},i.state={loading:!0,errorMsg:"",logList:[],perPage:25,currentPage:1,hasNextPage:!1},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getLogsByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.logList,n=e.currentPage,r=e.perPage,s=e.hasNextPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(ea,{currentItem:"adminOperationLogs"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(ta,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:t,currentPage:n,perPage:r,hasNextPage:s,getLogsByPage:this.getLogsByPage,resetPerPage:this.resetPerPage})})]})})]})}}]),n}(l.Component),ra=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getPreviousPage=function(){i.props.getLogsByPage(i.props.currentPage-1)},i.getNextPage=function(){i.props.getLogsByPage(i.props.currentPage+1)},i}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.loading,n=e.errorMsg,i=e.items,r=e.perPage,s=e.currentPage,a=e.hasNextPage;if(t)return(0,v.jsx)(I.Z,{});if(n)return(0,v.jsx)("p",{className:"error text-center",children:n});var o=(0,v.jsx)(me.Z,{children:(0,v.jsx)("h2",{children:(0,p.ih)("No Admin login logs")})}),c=(0,v.jsxs)(l.Fragment,{children:[(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Name")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("IP")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Status")}),(0,v.jsx)("th",{width:"25%",children:(0,p.ih)("Time")})]})}),i&&(0,v.jsx)("tbody",{children:i.map((function(e,t){return(0,v.jsx)(sa,{item:e},t)}))})]}),(0,v.jsx)(re.Z,{gotoPreviousPage:this.getPreviousPage,gotoNextPage:this.getNextPage,currentPage:s,hasNextPage:a,curPerPage:r,resetPerPage:this.props.resetPerPage})]});return i.length?c:o}}]),n}(l.Component),sa=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){return(0,r.Z)(this,n),t.call(this,e)}return(0,s.Z)(n,[{key:"render",value:function(){var e=this.props.item;return(0,v.jsxs)("tr",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,children:[(0,v.jsx)("td",{children:(0,v.jsx)(De,{email:e.email,name:e.name})}),(0,v.jsx)("td",{children:e.login_ip}),(0,v.jsx)("td",{children:e.login_success?(0,p.ih)("Success"):(0,p.ih)("Failed")}),(0,v.jsx)("td",{children:C()(e.login_time).fromNow()})]})}}]),n}(l.Component),aa=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getLogsByPage=function(e){var t=i.state.perPage;D.I.sysAdminListAdminLoginLogs(e,t).then((function(n){i.setState({logList:n.data.data,loading:!1,currentPage:e,hasNextPage:m.c.hasNextPage(e,t,n.data.total_count)})})).catch((function(e){i.setState({loading:!1,errorMsg:m.c.getErrorMsg(e,!0)})}))},i.resetPerPage=function(e){i.setState({perPage:e},(function(){return i.getLogsByPage(i.initPage)}))},i.state={loading:!0,errorMsg:"",logList:[],perPage:25,currentPage:1,hasNextPage:!1},i.initPage=1,i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=new URL(window.location).searchParams,n=this.state,i=n.currentPage,r=n.perPage;this.setState({perPage:parseInt(t.get("per_page")||r),currentPage:parseInt(t.get("page")||i)},(function(){e.getLogsByPage(e.state.currentPage)}))}},{key:"render",value:function(){var e=this.state,t=e.logList,n=e.currentPage,r=e.perPage,s=e.hasNextPage;return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center flex-row",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)(ea,{currentItem:"adminLoginLogs"}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsx)(ra,{loading:this.state.loading,errorMsg:this.state.errorMsg,items:t,currentPage:n,perPage:r,hasNextPage:s,getLogsByPage:this.getLogsByPage,resetPerPage:this.resetPerPage})})]})})]})}}]),n}(l.Component),oa=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).listAbuseReports=function(){D.I.sysAdminListAbuseReports().then((function(e){i.setState({abuseReportList:e.data.abuse_report_list})})).catch((function(e){i.handleError(e)}))},i.updateAbuseReport=function(e,t){D.I.sysAdminUpdateAbuseReport(e,t).then((function(e){var n=i.state.abuseReportList.map((function(n,i){return n.id===t&&(n.handled=e.data.handled),n}));i.setState({abuseReportList:n})})).catch((function(e){i.handleError(e)}))},i.handleError=function(e){e.response?w.Z.danger(e.response.data.error_msg||e.response.data.detail||(0,p.ih)("Error"),{duration:3}):w.Z.danger((0,p.ih)("Please check the network."),{duration:3})},i.state={abuseReportList:[]},i}return(0,s.Z)(n,[{key:"componentDidMount",value:function(){this.listAbuseReports()}},{key:"render",value:function(){var e=this,t=this.state.abuseReportList.map((function(t,n){var i=(!t.handled).toString(),r=t.id,s=p.ze+"lib/"+t.repo_id+"/file"+t.file_path;return(0,v.jsxs)("tr",{children:[(0,v.jsx)("td",{children:t.repo_name}),(0,v.jsx)("td",{children:(0,v.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",children:t.file_path})}),(0,v.jsx)("td",{children:t.reporter}),(0,v.jsx)("td",{children:t.abuse_type}),(0,v.jsx)("td",{children:t.description}),(0,v.jsx)("td",{children:C()(t.time).format("YYYY-MM-DD")}),(0,v.jsx)("td",{children:(0,v.jsx)("p",{onClick:e.updateAbuseReport.bind(e,i,r),className:"op-target ellipsis ellipsis-op-target cursor-pointer",children:(0,p.ih)(t.handled.toString())})})]},n)}));return(0,v.jsxs)(l.Fragment,{children:[(0,v.jsx)(k,(0,i.Z)({},this.props)),(0,v.jsx)("div",{className:"main-panel-center",children:(0,v.jsxs)("div",{className:"cur-view-container",children:[(0,v.jsx)("div",{className:"cur-view-path",children:(0,v.jsx)("h3",{className:"sf-heading",children:(0,p.ih)("Abuse Reports")})}),(0,v.jsx)("div",{className:"cur-view-content",children:(0,v.jsxs)("table",{className:"table-hover",children:[(0,v.jsx)("thead",{children:(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Library")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("File")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Reporter")}),(0,v.jsx)("th",{width:"15%",children:(0,p.ih)("Abuse Type")}),(0,v.jsx)("th",{width:"20%",children:(0,p.ih)("Description")}),(0,v.jsx)("th",{width:"10%",children:(0,p.ih)("Time")}),(0,v.jsx)("th",{width:"5%",children:(0,p.ih)("Handled")})]})}),(0,v.jsx)("tbody",{children:t})]})})]})})]})}}]),n}(l.Component),la=(n(28421),n(58108),function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).getCurrentTabForPageList=function(e){for(var t,n,i="".concat(p.ze,"sys/"),r=0,s=e.length;r1&&(r-=1)),[360*r,100*s,100*c]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[r.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,i))*100,100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,i=e[1]/255,r=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-i,1-r)))/(1-t)||0),100*((1-i-t)/(1-t)||0),100*((1-r-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,s=1/0;for(var a in i)if(i.hasOwnProperty(a)){var o=l(e,i[a]);o.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*t+.7152*n+.0722*i),100*(.0193*t+.1192*n+.9505*i)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],i=t[1],s=t[2];return i/=100,s/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(s=s>.008856?Math.pow(s,1/3):7.787*s+16/116))]},r.hsl.rgb=function(e){var t,n,i,r,s,a=e[0]/360,o=e[1]/100,l=e[2]/100;if(0===o)return[s=255*l,s,s];t=2*l-(n=l<.5?l*(1+o):l+o-l*o),r=[0,0,0];for(var c=0;c<3;c++)(i=a+1/3*-(c-1))<0&&i++,i>1&&i--,s=6*i<1?t+6*(n-t)*i:2*i<1?n:3*i<2?t+(n-t)*(2/3-i)*6:t,r[c]=255*s;return r},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,i=e[2]/100,r=n,s=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,r*=s<=1?s:2-s,[t,100*(0===i?2*r/(s+r):2*n/(i+n)),(i+n)/2*100]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,i=e[2]/100,r=Math.floor(t)%6,s=t-Math.floor(t),a=255*i*(1-n),o=255*i*(1-n*s),l=255*i*(1-n*(1-s));switch(i*=255,r){case 0:return[i,l,a];case 1:return[o,i,a];case 2:return[a,i,l];case 3:return[a,o,i];case 4:return[l,a,i];case 5:return[i,a,o]}},r.hsv.hsl=function(e){var t,n,i,r=e[0],s=e[1]/100,a=e[2]/100,o=Math.max(a,.01);return i=(2-s)*a,n=s*o,[r,100*(n=(n/=(t=(2-s)*o)<=1?t:2-t)||0),100*(i/=2)]},r.hwb.rgb=function(e){var t,n,i,r,s,a,o,l=e[0]/360,c=e[1]/100,h=e[2]/100,d=c+h;switch(d>1&&(c/=d,h/=d),i=6*l-(t=Math.floor(6*l)),0!==(1&t)&&(i=1-i),r=c+i*((n=1-h)-c),t){default:case 6:case 0:s=n,a=r,o=c;break;case 1:s=r,a=n,o=c;break;case 2:s=c,a=n,o=r;break;case 3:s=c,a=r,o=n;break;case 4:s=r,a=c,o=n;break;case 5:s=n,a=c,o=r}return[255*s,255*a,255*o]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,i=e[2]/100,r=e[3]/100;return[255*(1-Math.min(1,t*(1-r)+r)),255*(1-Math.min(1,n*(1-r)+r)),255*(1-Math.min(1,i*(1-r)+r))]},r.xyz.rgb=function(e){var t,n,i,r=e[0]/100,s=e[1]/100,a=e[2]/100;return n=-.9689*r+1.8758*s+.0415*a,i=.0557*r+-.204*s+1.057*a,t=(t=3.2406*r+-1.5372*s+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],i=e[2];return n/=100,i/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},r.lab.xyz=function(e){var t,n,i,r=e[0];t=e[1]/500+(n=(r+16)/116),i=n-e[2]/200;var s=Math.pow(n,3),a=Math.pow(t,3),o=Math.pow(i,3);return n=s>.008856?s:(n-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,i=o>.008856?o:(i-16/116)/7.787,[t*=95.047,n*=100,i*=108.883]},r.lab.lch=function(e){var t,n=e[0],i=e[1],r=e[2];return(t=360*Math.atan2(r,i)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(i*i+r*r),t]},r.lch.lab=function(e){var t,n=e[0],i=e[1];return t=e[2]/360*2*Math.PI,[n,i*Math.cos(t),i*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],s=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(s=Math.round(s/50)))return 30;var a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===s&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],i=e[2];return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},r.rgb.hcg=function(e){var t,n=e[0]/255,i=e[1]/255,r=e[2]/255,s=Math.max(Math.max(n,i),r),a=Math.min(Math.min(n,i),r),o=s-a;return t=o<=0?0:s===n?(i-r)/o%6:s===i?2+(r-n)/o:4+(n-i)/o+4,t/=6,[360*(t%=1),100*o,100*(o<1?a/(1-o):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,i=1,r=0;return(i=n<.5?2*t*n:2*t*(1-n))<1&&(r=(n-.5*i)/(1-i)),[e[0],100*i,100*r]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,i=t*n,r=0;return i<1&&(r=(n-i)/(1-i)),[e[0],100*i,100*r]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,i=e[2]/100;if(0===n)return[255*i,255*i,255*i];var r=[0,0,0],s=t%1*6,a=s%1,o=1-a,l=0;switch(Math.floor(s)){case 0:r[0]=1,r[1]=a,r[2]=0;break;case 1:r[0]=o,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=a;break;case 3:r[0]=0,r[1]=o,r[2]=1;break;case 4:r[0]=a,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=o}return l=(1-n)*i,[255*(n*r[0]+l),255*(n*r[1]+l),255*(n*r[2]+l)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),i=0;return n>0&&(i=t/n),[e[0],100*i,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,i=0;return n>0&&n<.5?i=t/(2*n):n>=.5&&n<1&&(i=t/(2*(1-n))),[e[0],100*i,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,i=n-t,r=0;return i<1&&(r=(n-i)/(1-i)),[e[0],100*i,100*r]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function s(){for(var e={},t=Object.keys(r),n=t.length,i=0;i1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function u(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"===typeof n)for(var i=n.length,r=0;r=0&&t<1?C(Math.round(255*t)):"")}function D(e,t){return t<1||e[3]&&e[3]<1?w(e,t):"rgb("+e[0]+", "+e[1]+", "+e[2]+")"}function w(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"}function I(e,t){return t<1||e[3]&&e[3]<1?P(e,t):"rgb("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%)"}function P(e,t){return"rgba("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%, "+(t||e[3]||1)+")"}function Z(e,t){return t<1||e[3]&&e[3]<1?k(e,t):"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)"}function k(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+t+")"}function _(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+(void 0!==t&&1!==t?", "+t:"")+")"}function M(e){return A[e.slice(0,3)]}function N(e,t,n){return Math.min(Math.max(t,e),n)}function C(e){var t=e.toString(16).toUpperCase();return t.length<2?"0"+t:t}var A={};for(var L in p)A[p[L]]=L;var O=function e(t){return t instanceof e?t:this instanceof e?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"===typeof t?(n=m.getRgba(t))?this.setValues("rgb",n):(n=m.getHsla(t))?this.setValues("hsl",n):(n=m.getHwb(t))&&this.setValues("hwb",n):"object"===typeof t&&(void 0!==(n=t).r||void 0!==n.red?this.setValues("rgb",n):void 0!==n.l||void 0!==n.lightness?this.setValues("hsl",n):void 0!==n.v||void 0!==n.value?this.setValues("hsv",n):void 0!==n.w||void 0!==n.whiteness?this.setValues("hwb",n):void 0===n.c&&void 0===n.cyan||this.setValues("cmyk",n)))):new e(t);var n};O.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues("alpha",e),this)},red:function(e){return this.setChannel("rgb",0,e)},green:function(e){return this.setChannel("rgb",1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e=(e%=360)<0?360+e:e),this.setChannel("hsl",0,e)},saturation:function(e){return this.setChannel("hsl",1,e)},lightness:function(e){return this.setChannel("hsl",2,e)},saturationv:function(e){return this.setChannel("hsv",1,e)},whiteness:function(e){return this.setChannel("hwb",1,e)},blackness:function(e){return this.setChannel("hwb",2,e)},value:function(e){return this.setChannel("hsv",2,e)},cyan:function(e){return this.setChannel("cmyk",0,e)},magenta:function(e){return this.setChannel("cmyk",1,e)},yellow:function(e){return this.setChannel("cmyk",2,e)},black:function(e){return this.setChannel("cmyk",3,e)},hexString:function(){return m.hexString(this.values.rgb)},rgbString:function(){return m.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return m.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return m.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return m.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return m.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return m.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return m.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,i=e,r=void 0===t?.5:t,s=2*r-1,a=n.alpha()-i.alpha(),o=((s*a===-1?s:(s+a)/(1+s*a))+1)/2,l=1-o;return this.rgb(o*n.red()+l*i.red(),o*n.green()+l*i.green(),o*n.blue()+l*i.blue()).alpha(n.alpha()*r+i.alpha()*(1-r))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new O,i=this.values,r=n.values;for(var s in i)i.hasOwnProperty(s)&&(e=i[s],"[object Array]"===(t={}.toString.call(e))?r[s]=e.slice(0):"[object Number]"===t?r[s]=e:console.error("unexpected color value:",e));return n}},O.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},O.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},O.prototype.getValues=function(e){for(var t=this.values,n={},i=0;i=0;r--)t.call(n,e[r],r);else for(r=0;r=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:1===e?1:(n||(n=.3),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:1===e?1:(n||(n=.3),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,i=1;return 0===e?0:2===(e/=.5)?1:(n||(n=.45),i<1?(i=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/i),e<1?i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-U.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*U.easeInBounce(2*e):.5*U.easeOutBounce(2*e-1)+.5}},z={effects:U};E.easingEffects=U;var B=Math.PI,V=B/180,H=2*B,W=B/2,Y=B/4,G=2*B/3,q={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,i,r,s){if(s){var a=Math.min(s,r/2,i/2),o=t+a,l=n+a,c=t+i-a,h=n+r-a;e.moveTo(t,l),ot.left-n&&e.xt.top-n&&e.y0&&e.requestAnimationFrame()},advance:function(){for(var e,t,n,i,r=this.animations,s=0;s=n?(se.callback(e.onAnimationComplete,[e],t),t.animating=!1,r.splice(s,1)):++s}},ve=se.options.resolve,xe=["push","pop","shift","splice","unshift"];function ye(e,t){e._chartjs?e._chartjs.listeners.push(t):(Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),xe.forEach((function(t){var n="onData"+t.charAt(0).toUpperCase()+t.slice(1),i=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:function(){var t=Array.prototype.slice.call(arguments),r=i.apply(this,t);return se.each(e._chartjs.listeners,(function(e){"function"===typeof e[n]&&e[n].apply(e,t)})),r}})})))}function be(e,t){var n=e._chartjs;if(n){var i=n.listeners,r=i.indexOf(t);-1!==r&&i.splice(r,1),i.length>0||(xe.forEach((function(t){delete e[t]})),delete e._chartjs)}}var je=function(e,t){this.initialize(e,t)};se.extend(je.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(e,t){var n=this;n.chart=e,n.index=t,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.chart,i=n.scales,r=e.getDataset(),s=n.options.scales;null!==t.xAxisID&&t.xAxisID in i&&!r.xAxisID||(t.xAxisID=r.xAxisID||s.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in i&&!r.yAxisID||(t.yAxisID=r.yAxisID||s.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&be(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,n=t.dataElementType;return n&&new n({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e,t,n=this,i=n.getMeta(),r=n.getDataset().data||[],s=i.data;for(e=0,t=r.length;ei&&e.insertElements(i,r-i)},insertElements:function(e,t){for(var n=0;nr?(s=r/t.innerRadius,e.arc(a,o,t.innerRadius-r,i+s,n-s,!0)):e.arc(a,o,r,i+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip()}function Ie(e,t,n,i){var r,s=n.endAngle;for(i&&(n.endAngle=n.startAngle+De,we(e,n),n.endAngle=s,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=De,n.fullCircles--)),e.beginPath(),e.arc(n.x,n.y,n.innerRadius,n.startAngle+De,n.startAngle,!0),r=0;ro;)r-=De;for(;r=a&&r<=o,c=s>=n.innerRadius&&s<=n.outerRadius;return l&&c}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e,t=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,r={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/De)};if(t.save(),t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor,r.fullCircles){for(r.endAngle=r.startAngle+De,t.beginPath(),t.arc(r.x,r.y,r.outerRadius,r.startAngle,r.endAngle),t.arc(r.x,r.y,r.innerRadius,r.endAngle,r.startAngle,!0),t.closePath(),e=0;ee.x&&(t=Ee(t,"left","right")):e.basen?n:i,r:l.right||r<0?0:r>t?t:r,b:l.bottom||s<0?0:s>n?n:s,l:l.left||a<0?0:a>t?t:a}}function Be(e){var t=Re(e),n=t.right-t.left,i=t.bottom-t.top,r=ze(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b}}}function Ve(e,t,n){var i=null===t,r=null===n,s=!(!e||i&&r)&&Re(e);return s&&(i||t>=s.left&&t<=s.right)&&(r||n>=s.top&&n<=s.bottom)}X._set("global",{elements:{rectangle:{backgroundColor:Te,borderColor:Te,borderSkipped:"bottom",borderWidth:0}}});var He=ge.extend({_type:"rectangle",draw:function(){var e=this._chart.ctx,t=this._view,n=Be(t),i=n.outer,r=n.inner;e.fillStyle=t.backgroundColor,e.fillRect(i.x,i.y,i.w,i.h),i.w===r.w&&i.h===r.h||(e.save(),e.beginPath(),e.rect(i.x,i.y,i.w,i.h),e.clip(),e.fillStyle=t.borderColor,e.rect(r.x,r.y,r.w,r.h),e.fill("evenodd"),e.restore())},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){return Ve(this._view,e,t)},inLabelRange:function(e,t){var n=this._view;return Fe(n)?Ve(n,e,null):Ve(n,null,t)},inXRange:function(e){return Ve(this._view,e,null)},inYRange:function(e){return Ve(this._view,null,e)},getCenterPoint:function(){var e,t,n=this._view;return Fe(n)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return Fe(e)?e.width*Math.abs(e.y-e.base):e.height*Math.abs(e.x-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}}),We={},Ye=Ze,Ge=Me,qe=Oe,Qe=He;We.Arc=Ye,We.Line=Ge,We.Point=qe,We.Rectangle=Qe;var Ke=se._deprecated,Xe=se.valueOrDefault;function $e(e,t){var n,i,r,s,a=e._length;for(r=1,s=t.length;r0?Math.min(a,Math.abs(i-n)):a,n=i;return a}function Je(e,t,n){var i,r,s=n.barThickness,a=t.stackCount,o=t.pixels[e],l=se.isNullOrUndef(s)?$e(t.scale,t.pixels):-1;return se.isNullOrUndef(s)?(i=l*n.categoryPercentage,r=n.barPercentage):(i=s*a,r=1),{chunk:i/a,ratio:r,start:o-i/2}}function et(e,t,n){var i,r=t.pixels,s=r[e],a=e>0?r[e-1]:null,o=e=0&&f.min>=0?f.min:f.max,j=void 0===f.start?f.end:f.max>=0&&f.min>=0?f.max-f.min:f.min-f.max,S=m.length;if(x||void 0===x&&void 0!==y)for(i=0;i=0&&c.max>=0?c.max:c.min,(f.min<0&&s<0||f.max>=0&&s>0)&&(b+=s));return a=u.getPixelForValue(b),l=(o=u.getPixelForValue(b+j))-a,void 0!==v&&Math.abs(l)=0&&!g||j<0&&g?a-v:a+v),{size:l,base:a,head:o,center:o+l/2}},calculateBarIndexPixels:function(e,t,n,i){var r=this,s="flex"===i.barThickness?et(t,n,i):Je(t,n,i),a=r.getStackIndex(e,r.getMeta().stack),o=s.start+s.chunk*a+s.chunk/2,l=Math.min(Xe(i.maxBarThickness,1/0),s.chunk*s.ratio);return{base:o-l/2,head:o+l/2,center:o,size:l}},draw:function(){var e=this,t=e.chart,n=e._getValueScale(),i=e.getMeta().data,r=e.getDataset(),s=i.length,a=0;for(se.canvas.clipArea(t.ctx,t.chartArea);a=at?-ot:x<-at?ot:0)+f,b=Math.cos(x),j=Math.sin(x),S=Math.cos(y),D=Math.sin(y),w=x<=0&&y>=0||y>=ot,I=x<=lt&&y>=lt||y>=ot+lt,P=x<=-lt&&y>=-lt||y>=at+lt,Z=x===-at||y>=at?-1:Math.min(b,b*m,S,S*m),k=P?-1:Math.min(j,j*m,D,D*m),_=w?1:Math.max(b,b*m,S,S*m),M=I?1:Math.max(j,j*m,D,D*m);c=(_-Z)/2,h=(M-k)/2,d=-(_+Z)/2,u=-(M+k)/2}for(i=0,r=p.length;i0&&!isNaN(e)?ot*(Math.abs(e)/t):0},getMaxBorderWidth:function(e){var t,n,i,r,s,a,o,l,c=this,h=0,d=c.chart;if(!e)for(t=0,n=d.data.datasets.length;t(h=o>h?o:h)?l:h);return h},setHoverStyle:function(e){var t=e._model,n=e._options,i=se.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth},t.backgroundColor=st(n.hoverBackgroundColor,i(n.backgroundColor)),t.borderColor=st(n.hoverBorderColor,i(n.borderColor)),t.borderWidth=st(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(e){for(var t=0,n=0;n0&>(c[e-1]._model,l)&&(n.controlPointPreviousX=h(n.controlPointPreviousX,l.left,l.right),n.controlPointPreviousY=h(n.controlPointPreviousY,l.top,l.bottom)),e0&&(s=e.getDatasetMeta(s[0]._datasetIndex).data),s},"x-axis":function(e,t){return _t(e,t,{intersect:!1})},point:function(e,t){return Pt(e,wt(t,e))},nearest:function(e,t,n){var i=wt(t,e);n.axis=n.axis||"xy";var r=kt(n.axis);return Zt(e,i,n.intersect,r)},x:function(e,t,n){var i=wt(t,e),r=[],s=!1;return It(e,(function(e){e.inXRange(i.x)&&r.push(e),e.inRange(i.x,i.y)&&(s=!0)})),n.intersect&&!s&&(r=[]),r},y:function(e,t,n){var i=wt(t,e),r=[],s=!1;return It(e,(function(e){e.inYRange(i.y)&&r.push(e),e.inRange(i.x,i.y)&&(s=!0)})),n.intersect&&!s&&(r=[]),r}}},Nt=se.extend;function Ct(e,t){return se.where(e,(function(e){return e.pos===t}))}function At(e,t){return e.sort((function(e,n){var i=t?n:e,r=t?e:n;return i.weight===r.weight?i.index-r.index:i.weight-r.weight}))}function Lt(e){var t,n,i,r=[];for(t=0,n=(e||[]).length;t div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n",Yt=n(Object.freeze({__proto__:null,default:Wt})),Gt="$chartjs",qt="chartjs-",Qt=qt+"size-monitor",Kt=qt+"render-monitor",Xt=qt+"render-animation",$t=["animationstart","webkitAnimationStart"],Jt={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function en(e,t){var n=se.getStyle(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}function tn(e,t){var n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[Gt]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===r||""===r){var s=en(e,"width");void 0!==s&&(e.width=s)}if(null===i||""===i)if(""===e.style.height)e.height=e.width/(t.options.aspectRatio||2);else{var a=en(e,"height");void 0!==s&&(e.height=a)}return e}var nn=!!function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("e",null,t)}catch(n){}return e}()&&{passive:!0};function rn(e,t,n){e.addEventListener(t,n,nn)}function sn(e,t,n){e.removeEventListener(t,n,nn)}function an(e,t,n,i,r){return{type:e,chart:t,native:r||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function on(e,t){var n=Jt[e.type]||e.type,i=se.getRelativePosition(e,t);return an(n,t,i.x,i.y,e)}function ln(e,t){var n=!1,i=[];return function(){i=Array.prototype.slice.call(arguments),t=t||this,n||(n=!0,se.requestAnimFrame.call(window,(function(){n=!1,e.apply(t,i)})))}}function cn(e){var t=document.createElement("div");return t.className=e||"",t}function hn(e){var t=1e6,n=cn(Qt),i=cn(Qt+"-expand"),r=cn(Qt+"-shrink");i.appendChild(cn()),r.appendChild(cn()),n.appendChild(i),n.appendChild(r),n._reset=function(){i.scrollLeft=t,i.scrollTop=t,r.scrollLeft=t,r.scrollTop=t};var s=function(){n._reset(),e()};return rn(i,"scroll",s.bind(i,"expand")),rn(r,"scroll",s.bind(r,"shrink")),n}function dn(e,t){var n=e[Gt]||(e[Gt]={}),i=n.renderProxy=function(e){e.animationName===Xt&&t()};se.each($t,(function(t){rn(e,t,i)})),n.reflow=!!e.offsetParent,e.classList.add(Kt)}function un(e){var t=e[Gt]||{},n=t.renderProxy;n&&(se.each($t,(function(t){sn(e,t,n)})),delete t.renderProxy),e.classList.remove(Kt)}function gn(e,t,n){var i=e[Gt]||(e[Gt]={}),r=i.resizer=hn(ln((function(){if(i.resizer){var r=n.options.maintainAspectRatio&&e.parentNode,s=r?r.clientWidth:0;t(an("resize",n)),r&&r.clientWidth0){var s=e[0];s.label?n=s.label:s.xLabel?n=s.xLabel:r>0&&s.index-1?e.split("\n"):e}function Pn(e){var t=e._xScale,n=e._yScale||e._scale,i=e._index,r=e._datasetIndex,s=e._chart.getDatasetMeta(r).controller,a=s._getIndexScale(),o=s._getValueScale();return{xLabel:t?t.getLabelForIndex(i,r):"",yLabel:n?n.getLabelForIndex(i,r):"",label:a?""+a.getLabelForIndex(i,r):"",value:o?""+o.getLabelForIndex(i,r):"",index:i,datasetIndex:r,x:e._model.x,y:e._model.y}}function Zn(e){var t=X.global;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,rtl:e.rtl,textDirection:e.textDirection,bodyFontColor:e.bodyFontColor,_bodyFontFamily:jn(e.bodyFontFamily,t.defaultFontFamily),_bodyFontStyle:jn(e.bodyFontStyle,t.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:jn(e.bodyFontSize,t.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:jn(e.titleFontFamily,t.defaultFontFamily),_titleFontStyle:jn(e.titleFontStyle,t.defaultFontStyle),titleFontSize:jn(e.titleFontSize,t.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:jn(e.footerFontFamily,t.defaultFontFamily),_footerFontStyle:jn(e.footerFontStyle,t.defaultFontStyle),footerFontSize:jn(e.footerFontSize,t.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors,borderColor:e.borderColor,borderWidth:e.borderWidth}}function kn(e,t){var n=e._chart.ctx,i=2*t.yPadding,r=0,s=t.body,a=s.reduce((function(e,t){return e+t.before.length+t.lines.length+t.after.length}),0);a+=t.beforeBody.length+t.afterBody.length;var o=t.title.length,l=t.footer.length,c=t.titleFontSize,h=t.bodyFontSize,d=t.footerFontSize;i+=o*c,i+=o?(o-1)*t.titleSpacing:0,i+=o?t.titleMarginBottom:0,i+=a*h,i+=a?(a-1)*t.bodySpacing:0,i+=l?t.footerMarginTop:0,i+=l*d,i+=l?(l-1)*t.footerSpacing:0;var u=0,g=function(e){r=Math.max(r,n.measureText(e).width+u)};return n.font=se.fontString(c,t._titleFontStyle,t._titleFontFamily),se.each(t.title,g),n.font=se.fontString(h,t._bodyFontStyle,t._bodyFontFamily),se.each(t.beforeBody.concat(t.afterBody),g),u=t.displayColors?h+2:0,se.each(s,(function(e){se.each(e.before,g),se.each(e.lines,g),se.each(e.after,g)})),u=0,n.font=se.fontString(d,t._footerFontStyle,t._footerFontFamily),se.each(t.footer,g),{width:r+=2*t.xPadding,height:i}}function _n(e,t){var n,i,r,s,a,o=e._model,l=e._chart,c=e._chart.chartArea,h="center",d="center";o.yl.height-t.height&&(d="bottom");var u=(c.left+c.right)/2,g=(c.top+c.bottom)/2;"center"===d?(n=function(e){return e<=u},i=function(e){return e>u}):(n=function(e){return e<=t.width/2},i=function(e){return e>=l.width-t.width/2}),r=function(e){return e+t.width+o.caretSize+o.caretPadding>l.width},s=function(e){return e-t.width-o.caretSize-o.caretPadding<0},a=function(e){return e<=g?"top":"bottom"},n(o.x)?(h="left",r(o.x)&&(h="center",d=a(o.y))):i(o.x)&&(h="right",s(o.x)&&(h="center",d=a(o.y)));var p=e._options;return{xAlign:p.xAlign?p.xAlign:h,yAlign:p.yAlign?p.yAlign:d}}function Mn(e,t,n,i){var r=e.x,s=e.y,a=e.caretSize,o=e.caretPadding,l=e.cornerRadius,c=n.xAlign,h=n.yAlign,d=a+o,u=l+o;return"right"===c?r-=t.width:"center"===c&&((r-=t.width/2)+t.width>i.width&&(r=i.width-t.width),r<0&&(r=0)),"top"===h?s+=d:s-="bottom"===h?t.height+d:t.height/2,"center"===h?"left"===c?r+=d:"right"===c&&(r-=d):"left"===c?r-=u:"right"===c&&(r+=u),{x:r,y:s}}function Nn(e,t){return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-e.xPadding:e.x+e.xPadding}function Cn(e){return wn([],In(e))}var An=ge.extend({initialize:function(){this._model=Zn(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options.callbacks,n=t.beforeTitle.apply(e,arguments),i=t.title.apply(e,arguments),r=t.afterTitle.apply(e,arguments),s=[];return s=wn(s,In(n)),s=wn(s,In(i)),s=wn(s,In(r))},getBeforeBody:function(){return Cn(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(e,t){var n=this,i=n._options.callbacks,r=[];return se.each(e,(function(e){var s={before:[],lines:[],after:[]};wn(s.before,In(i.beforeLabel.call(n,e,t))),wn(s.lines,i.label.call(n,e,t)),wn(s.after,In(i.afterLabel.call(n,e,t))),r.push(s)})),r},getAfterBody:function(){return Cn(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var e=this,t=e._options.callbacks,n=t.beforeFooter.apply(e,arguments),i=t.footer.apply(e,arguments),r=t.afterFooter.apply(e,arguments),s=[];return s=wn(s,In(n)),s=wn(s,In(i)),s=wn(s,In(r))},update:function(e){var t,n,i=this,r=i._options,s=i._model,a=i._model=Zn(r),o=i._active,l=i._data,c={xAlign:s.xAlign,yAlign:s.yAlign},h={x:s.x,y:s.y},d={width:s.width,height:s.height},u={x:s.caretX,y:s.caretY};if(o.length){a.opacity=1;var g=[],p=[];u=Dn[r.position].call(i,o,i._eventPosition);var m=[];for(t=0,n=o.length;t0&&n.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},i={x:t.x,y:t.y},r=Math.abs(t.opacity<.001)?0:t.opacity,s=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&s&&(e.save(),e.globalAlpha=r,this.drawBackground(i,t,e,n),i.y+=t.yPadding,se.rtl.overrideTextDirection(e,t.textDirection),this.drawTitle(i,t,e),this.drawBody(i,t,e),this.drawFooter(i,t,e),se.rtl.restoreTextDirection(e,t.textDirection),e.restore())}},handleEvent:function(e){var t=this,n=t._options,i=!1;return t._lastActive=t._lastActive||[],"mouseout"===e.type?t._active=[]:(t._active=t._chart.getElementsAtEventForMode(e,n.mode,n),n.reverse&&t._active.reverse()),(i=!se.arrayEquals(t._active,t._lastActive))&&(t._lastActive=t._active,(n.enabled||n.custom)&&(t._eventPosition={x:e.x,y:e.y},t.update(!0),t.pivot())),i}}),Ln=Dn,On=An;On.positioners=Ln;var Tn=se.valueOrDefault;function Fn(){return se.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,i){if("xAxes"===e||"yAxes"===e){var r,s,a,o=n[e].length;for(t[e]||(t[e]=[]),r=0;r=t[e].length&&t[e].push({}),!t[e][r].type||a.type&&a.type!==t[e][r].type?se.merge(t[e][r],[bn.getScaleDefaults(s),a]):se.merge(t[e][r],a)}else se._merger(e,t,n,i)}})}function Rn(){return se.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,i){var r=t[e]||Object.create(null),s=n[e];"scales"===e?t[e]=Fn(r,s):"scale"===e?t[e]=se.merge(r,[bn.getScaleDefaults(s.type),s]):se._merger(e,t,n,i)}})}function En(e){var t=(e=e||Object.create(null)).data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=Rn(X.global,X[e.type],e.options||{}),e}function Un(e){var t=e.options;se.each(e.scales,(function(t){Vt.removeBox(e,t)})),t=Rn(X.global,X[e.config.type],t),e.options=e.config.options=t,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=t.tooltips,e.tooltip.initialize()}function zn(e,t,n){var i,r=function(e){return e.id===i};do{i=t+n++}while(se.findIndex(e,r)>=0);return i}function Bn(e){return"top"===e||"bottom"===e}function Vn(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}X._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Hn=function(e,t){return this.construct(e,t),this};se.extend(Hn.prototype,{construct:function(e,t){var n=this;t=En(t);var i=xn.acquireContext(e,t),r=i&&i.canvas,s=r&&r.height,a=r&&r.width;n.id=se.uid(),n.ctx=i,n.canvas=r,n.config=t,n.width=a,n.height=s,n.aspectRatio=s?a/s:null,n.options=t.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,Hn.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(e){n.config.data=e}}),i&&r?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var e=this;return yn.notify(e,"beforeInit"),se.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.initToolTip(),yn.notify(e,"afterInit"),e},clear:function(){return se.canvas.clear(this),this},stop:function(){return fe.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,i=t.canvas,r=n.maintainAspectRatio&&t.aspectRatio||null,s=Math.max(0,Math.floor(se.getMaximumWidth(i))),a=Math.max(0,Math.floor(r?s/r:se.getMaximumHeight(i)));if((t.width!==s||t.height!==a)&&(i.width=t.width=s,i.height=t.height=a,i.style.width=s+"px",i.style.height=a+"px",se.retinaScale(t,n.devicePixelRatio),!e)){var o={width:s,height:a};yn.notify(t,"resize",[o]),n.onResize&&n.onResize(t,o),t.stop(),t.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;se.each(t.xAxes,(function(e,n){e.id||(e.id=zn(t.xAxes,"x-axis-",n))})),se.each(t.yAxes,(function(e,n){e.id||(e.id=zn(t.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var e=this,t=e.options,n=e.scales||{},i=[],r=Object.keys(n).reduce((function(e,t){return e[t]=!1,e}),{});t.scales&&(i=i.concat((t.scales.xAxes||[]).map((function(e){return{options:e,dtype:"category",dposition:"bottom"}})),(t.scales.yAxes||[]).map((function(e){return{options:e,dtype:"linear",dposition:"left"}})))),t.scale&&i.push({options:t.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),se.each(i,(function(t){var i=t.options,s=i.id,a=Tn(i.type,t.dtype);Bn(i.position)!==Bn(t.dposition)&&(i.position=t.dposition),r[s]=!0;var o=null;if(s in n&&n[s].type===a)(o=n[s]).options=i,o.ctx=e.ctx,o.chart=e;else{var l=bn.getScaleConstructor(a);if(!l)return;o=new l({id:s,type:a,options:i,ctx:e.ctx,chart:e}),n[o.id]=o}o.mergeTicksOptions(),t.isDefault&&(e.scale=o)})),se.each(r,(function(e,t){e||delete n[t]})),e.scales=n,bn.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e,t,n=this,i=[],r=n.data.datasets;for(e=0,t=r.length;e=0;--n)i.drawDataset(t[n],e);yn.notify(i,"afterDatasetsDraw",[e])}},drawDataset:function(e,t){var n=this,i={meta:e,index:e.index,easingValue:t};!1!==yn.notify(n,"beforeDatasetDraw",[i])&&(e.controller.draw(t),yn.notify(n,"afterDatasetDraw",[i]))},_drawTooltip:function(e){var t=this,n=t.tooltip,i={tooltip:n,easingValue:e};!1!==yn.notify(t,"beforeTooltipDraw",[i])&&(n.draw(),yn.notify(t,"afterTooltipDraw",[i]))},getElementAtEvent:function(e){return Mt.modes.single(this,e)},getElementsAtEvent:function(e){return Mt.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return Mt.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var i=Mt.modes[t];return"function"===typeof i?i(this,e,n):[]},getDatasetAtEvent:function(e){return Mt.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,n=t.data.datasets[e];n._meta||(n._meta={});var i=n._meta[t.id];return i||(i=n._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n.order||0,index:e}),i},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t=0;i--){var r=e[i];if(t(r))return r}},se.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},se.almostEquals=function(e,t,n){return Math.abs(e-t)=e},se.max=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.max(e,t)}),Number.NEGATIVE_INFINITY)},se.min=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.min(e,t)}),Number.POSITIVE_INFINITY)},se.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},se.toRadians=function(e){return e*(Math.PI/180)},se.toDegrees=function(e){return e*(180/Math.PI)},se._decimalPlaces=function(e){if(se.isFinite(e)){for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n++;return n}},se.getAngleFromPoint=function(e,t){var n=t.x-e.x,i=t.y-e.y,r=Math.sqrt(n*n+i*i),s=Math.atan2(i,n);return s<-.5*Math.PI&&(s+=2*Math.PI),{angle:s,distance:r}},se.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},se.aliasPixel=function(e){return e%2===0?0:.5},se._alignPixel=function(e,t,n){var i=e.currentDevicePixelRatio,r=n/2;return Math.round((t-r)*i)/i+r},se.splineCurve=function(e,t,n,i){var r=e.skip?t:e,s=t,a=n.skip?t:n,o=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),l=Math.sqrt(Math.pow(a.x-s.x,2)+Math.pow(a.y-s.y,2)),c=o/(o+l),h=l/(o+l),d=i*(c=isNaN(c)?0:c),u=i*(h=isNaN(h)?0:h);return{previous:{x:s.x-d*(a.x-r.x),y:s.y-d*(a.y-r.y)},next:{x:s.x+u*(a.x-r.x),y:s.y+u*(a.y-r.y)}}},se.EPSILON=Number.EPSILON||1e-14,se.splineCurveMonotone=function(e){var t,n,i,r,s,a,o,l,c,h=(e||[]).map((function(e){return{model:e._model,deltaK:0,mK:0}})),d=h.length;for(t=0;t0?h[t-1]:null,(r=t0?h[t-1]:null,r=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},se.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},se.niceNum=function(e,t){var n=Math.floor(se.log10(e)),i=e/Math.pow(10,n);return(t?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},se.requestAnimFrame="undefined"===typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},se.getRelativePosition=function(e,t){var n,i,r=e.originalEvent||e,s=e.target||e.srcElement,a=s.getBoundingClientRect(),o=r.touches;o&&o.length>0?(n=o[0].clientX,i=o[0].clientY):(n=r.clientX,i=r.clientY);var l=parseFloat(se.getStyle(s,"padding-left")),c=parseFloat(se.getStyle(s,"padding-top")),h=parseFloat(se.getStyle(s,"padding-right")),d=parseFloat(se.getStyle(s,"padding-bottom")),u=a.right-a.left-l-h,g=a.bottom-a.top-c-d;return{x:n=Math.round((n-a.left-l)/u*s.width/t.currentDevicePixelRatio),y:i=Math.round((i-a.top-c)/g*s.height/t.currentDevicePixelRatio)}},se.getConstraintWidth=function(e){return n(e,"max-width","clientWidth")},se.getConstraintHeight=function(e){return n(e,"max-height","clientHeight")},se._calculatePadding=function(e,t,n){return(t=se.getStyle(e,t)).indexOf("%")>-1?n*parseInt(t,10)/100:parseInt(t,10)},se._getParentNode=function(e){var t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t},se.getMaximumWidth=function(e){var t=se._getParentNode(e);if(!t)return e.clientWidth;var n=t.clientWidth,i=n-se._calculatePadding(t,"padding-left",n)-se._calculatePadding(t,"padding-right",n),r=se.getConstraintWidth(e);return isNaN(r)?i:Math.min(i,r)},se.getMaximumHeight=function(e){var t=se._getParentNode(e);if(!t)return e.clientHeight;var n=t.clientHeight,i=n-se._calculatePadding(t,"padding-top",n)-se._calculatePadding(t,"padding-bottom",n),r=se.getConstraintHeight(e);return isNaN(r)?i:Math.min(i,r)},se.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},se.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||"undefined"!==typeof window&&window.devicePixelRatio||1;if(1!==n){var i=e.canvas,r=e.height,s=e.width;i.height=r*n,i.width=s*n,e.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=r+"px",i.style.width=s+"px")}},se.fontString=function(e,t,n){return t+" "+e+"px "+n},se.longestText=function(e,t,n,i){var r=(i=i||{}).data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.font=t;var a,o,l,c,h,d=0,u=n.length;for(a=0;an.length){for(a=0;ai&&(i=s),i},se.numberOfLabelLines=function(e){var t=1;return se.each(e,(function(e){se.isArray(e)&&e.length>t&&(t=e.length)})),t},se.color=T?function(e){return e instanceof CanvasGradient&&(e=X.global.defaultColor),T(e)}:function(e){return console.error("Color.js not found!"),e},se.getHoverColor=function(e){return e instanceof CanvasPattern||e instanceof CanvasGradient?e:se.color(e).saturate(.5).darken(.1).rgbString()}};function Gn(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function qn(e){this.options=e||{}}se.extend(qn.prototype,{formats:Gn,parse:Gn,format:Gn,add:Gn,diff:Gn,startOf:Gn,endOf:Gn,_create:function(e){return e}}),qn.override=function(e){se.extend(qn.prototype,e)};var Qn={_date:qn},Kn={formatters:{values:function(e){return se.isArray(e)?e:""+e},linear:function(e,t,n){var i=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&e!==Math.floor(e)&&(i=e-Math.floor(e));var r=se.log10(Math.abs(i)),s="";if(0!==e)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var a=se.log10(Math.abs(e)),o=Math.floor(a)-Math.floor(r);o=Math.max(Math.min(o,20),0),s=e.toExponential(o)}else{var l=-1*Math.floor(r);l=Math.max(Math.min(l,20),0),s=e.toFixed(l)}else s="0";return s},logarithmic:function(e,t,n){var i=e/Math.pow(10,Math.floor(se.log10(e)));return 0===e?"0":1===i||2===i||5===i||0===t||t===n.length-1?e.toExponential():""}}},Xn=se.isArray,$n=se.isNullOrUndef,Jn=se.valueOrDefault,ei=se.valueAtIndexOrDefault;function ti(e,t){for(var n=[],i=e.length/t,r=0,s=e.length;rl+c)))return a}function ii(e,t){se.each(e,(function(e){var n,i=e.gc,r=i.length/2;if(r>t){for(n=0;nc)return s;return Math.max(c,1)}function ui(e){var t,n,i=[];for(t=0,n=e.length;t=u||h<=1||!o.isHorizontal()?o.labelRotation=d:(t=(e=o._getLabelSizes()).widest.width,n=e.highest.height-e.highest.offset,i=Math.min(o.maxWidth,o.chart.width-t),t+6>(r=l.offset?o.maxWidth/h:i/(h-1))&&(r=i/(h-(l.offset?.5:1)),s=o.maxHeight-si(l.gridLines)-c.padding-ai(l.scaleLabel),a=Math.sqrt(t*t+n*n),g=se.toDegrees(Math.min(Math.asin(Math.min((e.highest.height+6)/r,1)),Math.asin(Math.min(s/a,1))-Math.asin(n/a))),g=Math.max(d,Math.min(u,g))),o.labelRotation=g)},afterCalculateTickRotation:function(){se.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){se.callback(this.options.beforeFit,[this])},fit:function(){var e=this,t=e.minSize={width:0,height:0},n=e.chart,i=e.options,r=i.ticks,s=i.scaleLabel,a=i.gridLines,o=e._isVisible(),l="bottom"===i.position,c=e.isHorizontal();if(c?t.width=e.maxWidth:o&&(t.width=si(a)+ai(s)),c?o&&(t.height=si(a)+ai(s)):t.height=e.maxHeight,r.display&&o){var h=li(r),d=e._getLabelSizes(),u=d.first,g=d.last,p=d.widest,m=d.highest,f=.4*h.minor.lineHeight,v=r.padding;if(c){var x=0!==e.labelRotation,y=se.toRadians(e.labelRotation),b=Math.cos(y),j=Math.sin(y),S=j*p.width+b*(m.height-(x?m.offset:0))+(x?0:f);t.height=Math.min(e.maxHeight,t.height+S+v);var D,w,I=e.getPixelForTick(0)-e.left,P=e.right-e.getPixelForTick(e.getTicks().length-1);x?(D=l?b*u.width+j*u.offset:j*(u.height-u.offset),w=l?j*(g.height-g.offset):b*g.width+j*g.offset):(D=u.width/2,w=g.width/2),e.paddingLeft=Math.max((D-I)*e.width/(e.width-I),0)+3,e.paddingRight=Math.max((w-P)*e.width/(e.width-P),0)+3}else{var Z=r.mirror?0:p.width+v+f;t.width=Math.min(e.maxWidth,t.width+Z),e.paddingTop=u.height/2,e.paddingBottom=g.height/2}}e.handleMargins(),c?(e.width=e._length=n.width-e.margins.left-e.margins.right,e.height=t.height):(e.width=t.width,e.height=e._length=n.height-e.margins.top-e.margins.bottom)},handleMargins:function(){var e=this;e.margins&&(e.margins.left=Math.max(e.paddingLeft,e.margins.left),e.margins.top=Math.max(e.paddingTop,e.margins.top),e.margins.right=Math.max(e.paddingRight,e.margins.right),e.margins.bottom=Math.max(e.paddingBottom,e.margins.bottom))},afterFit:function(){se.callback(this.options.afterFit,[this])},isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if($n(e))return NaN;if(("number"===typeof e||e instanceof Number)&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},_convertTicksToLabels:function(e){var t,n,i,r=this;for(r.ticks=e.map((function(e){return e.value})),r.beforeTickToLabelConversion(),t=r.convertTicksToLabels(e)||r.ticks,r.afterTickToLabelConversion(),n=0,i=e.length;ni-1?null:t.getPixelForDecimal(e*r+(n?r/2:0))},getPixelForDecimal:function(e){var t=this;return t._reversePixels&&(e=1-e),t._startPixel+e*t._length},getDecimalForPixel:function(e){var t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,n=e.max;return e.beginAtZero?0:t<0&&n<0?n:t>0&&n>0?t:0},_autoSkip:function(e){var t,n,i,r,s=this,a=s.options.ticks,o=s._length,l=a.maxTicksLimit||o/s._tickSize()+1,c=a.major.enabled?ui(e):[],h=c.length,d=c[0],u=c[h-1];if(h>l)return gi(e,c,h/l),ci(e);if(i=di(c,e,o,l),h>0){for(t=0,n=h-1;t1?(u-d)/(h-1):null,pi(e,i,se.isNullOrUndef(r)?0:d-r,d),pi(e,i,u,se.isNullOrUndef(r)?e.length:u+r),ci(e)}return pi(e,i),ci(e)},_tickSize:function(){var e=this,t=e.options.ticks,n=se.toRadians(e.labelRotation),i=Math.abs(Math.cos(n)),r=Math.abs(Math.sin(n)),s=e._getLabelSizes(),a=t.autoSkipPadding||0,o=s?s.widest.width+a:0,l=s?s.highest.height+a:0;return e.isHorizontal()?l*i>o*r?o/i:l/r:l*r=0&&(a=e),void 0!==s&&(e=n.indexOf(s))>=0&&(o=e),t.minIndex=a,t.maxIndex=o,t.min=n[a],t.max=n[o]},buildTicks:function(){var e=this,t=e._getLabels(),n=e.minIndex,i=e.maxIndex;e.ticks=0===n&&i===t.length-1?t:t.slice(n,i+1)},getLabelForIndex:function(e,t){var n=this,i=n.chart;return i.getDatasetMeta(t).controller._getValueScaleId()===n.id?n.getRightValue(i.data.datasets[t].data[e]):n._getLabels()[e]},_configure:function(){var e=this,t=e.options.offset,n=e.ticks;fi.prototype._configure.call(e),e.isHorizontal()||(e._reversePixels=!e._reversePixels),n&&(e._startValue=e.minIndex-(t?.5:0),e._valueRange=Math.max(n.length-(t?0:1),1))},getPixelForValue:function(e,t,n){var i,r,s,a=this;return vi(t)||vi(n)||(e=a.chart.data.datasets[n].data[t]),vi(e)||(i=a.isHorizontal()?e.x:e.y),(void 0!==i||void 0!==e&&isNaN(t))&&(r=a._getLabels(),e=se.valueOrDefault(i,e),t=-1!==(s=r.indexOf(e))?s:t,isNaN(t)&&(t=e)),a.getPixelForDecimal((t-a._startValue)/a._valueRange)},getPixelForTick:function(e){var t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e],e+this.minIndex)},getValueForPixel:function(e){var t=this,n=Math.round(t._startValue+t.getDecimalForPixel(e)*t._valueRange);return Math.min(Math.max(n,0),t.ticks.length-1)},getBasePixel:function(){return this.bottom}}),bi=xi;yi._defaults=bi;var ji=se.noop,Si=se.isNullOrUndef;function Di(e,t){var n,i,r,s,a=[],o=1e-14,l=e.stepSize,c=l||1,h=e.maxTicks-1,d=e.min,u=e.max,g=e.precision,p=t.min,m=t.max,f=se.niceNum((m-p)/h/c)*c;if(fh&&(f=se.niceNum(s*f/h/c)*c),l||Si(g)?n=Math.pow(10,se._decimalPlaces(f)):(n=Math.pow(10,g),f=Math.ceil(f*n)/n),i=Math.floor(p/f)*f,r=Math.ceil(m/f)*f,l&&(!Si(d)&&se.almostWhole(d/f,f/1e3)&&(i=d),!Si(u)&&se.almostWhole(u/f,f/1e3)&&(r=u)),s=(r-i)/f,s=se.almostEquals(s,Math.round(s),f/1e3)?Math.round(s):Math.ceil(s),i=Math.round(i*n)/n,r=Math.round(r*n)/n,a.push(Si(d)?i:d);for(var v=1;v0&&i>0&&(e.min=0)}var r=void 0!==t.min||void 0!==t.suggestedMin,s=void 0!==t.max||void 0!==t.suggestedMax;void 0!==t.min?e.min=t.min:void 0!==t.suggestedMin&&(null===e.min?e.min=t.suggestedMin:e.min=Math.min(e.min,t.suggestedMin)),void 0!==t.max?e.max=t.max:void 0!==t.suggestedMax&&(null===e.max?e.max=t.suggestedMax:e.max=Math.max(e.max,t.suggestedMax)),r!==s&&e.min>=e.max&&(r?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,t.beginAtZero||e.min--)},getTickLimit:function(){var e,t=this,n=t.options.ticks,i=n.stepSize,r=n.maxTicksLimit;return i?e=Math.ceil(t.max/i)-Math.floor(t.min/i)+1:(e=t._computeTickLimit(),r=r||11),r&&(e=Math.min(r,e)),e},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:ji,buildTicks:function(){var e=this,t=e.options.ticks,n=e.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:t.min,max:t.max,precision:t.precision,stepSize:se.valueOrDefault(t.fixedStepSize,t.stepSize)},r=e.ticks=Di(i,e);e.handleDirectionalChanges(),e.max=se.max(r),e.min=se.min(r),t.reverse?(r.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),fi.prototype.convertTicksToLabels.call(e)},_configure:function(){var e,t=this,n=t.getTicks(),i=t.min,r=t.max;fi.prototype._configure.call(t),t.options.offset&&n.length&&(i-=e=(r-i)/Math.max(n.length-1,1)/2,r+=e),t._startValue=i,t._endValue=r,t._valueRange=r-i}}),Ii={position:"left",ticks:{callback:Kn.formatters.linear}},Pi=0,Zi=1;function ki(e,t,n){var i=[n.type,void 0===t&&void 0===n.stack?n.index:"",n.stack].join(".");return void 0===e[i]&&(e[i]={pos:[],neg:[]}),e[i]}function _i(e,t,n,i){var r,s,a=e.options,o=ki(t,a.stacked,n),l=o.pos,c=o.neg,h=i.length;for(r=0;rt.length-1?null:this.getPixelForValue(t[e])}}),Ci=Ii;Ni._defaults=Ci;var Ai=se.valueOrDefault,Li=se.math.log10;function Oi(e,t){var n,i,r=[],s=Ai(e.min,Math.pow(10,Math.floor(Li(t.min)))),a=Math.floor(Li(t.max)),o=Math.ceil(t.max/Math.pow(10,a));0===s?(n=Math.floor(Li(t.minNotZero)),i=Math.floor(t.minNotZero/Math.pow(10,n)),r.push(s),s=i*Math.pow(10,n)):(n=Math.floor(Li(s)),i=Math.floor(s/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{r.push(s),10===++i&&(i=1,l=++n>=0?1:l),s=Math.round(i*Math.pow(10,n)*l)/l}while(n=0?e:t}var Ri=fi.extend({determineDataLimits:function(){var e,t,n,i,r,s,a=this,o=a.options,l=a.chart,c=l.data.datasets,h=a.isHorizontal();function d(e){return h?e.xAxisID===a.id:e.yAxisID===a.id}a.min=Number.POSITIVE_INFINITY,a.max=Number.NEGATIVE_INFINITY,a.minNotZero=Number.POSITIVE_INFINITY;var u=o.stacked;if(void 0===u)for(e=0;e0){var t=se.min(e),n=se.max(e);a.min=Math.min(a.min,t),a.max=Math.max(a.max,n)}}))}else for(e=0;e0?e.minNotZero=e.min:e.max<1?e.minNotZero=Math.pow(10,Math.floor(Li(e.max))):e.minNotZero=n)},buildTicks:function(){var e=this,t=e.options.ticks,n=!e.isHorizontal(),i={min:Fi(t.min),max:Fi(t.max)},r=e.ticks=Oi(i,e);e.max=se.max(r),e.min=se.min(r),t.reverse?(n=!n,e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max),n&&r.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),fi.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(e,t){return this._getScaleLabel(this.chart.data.datasets[t].data[e])},getPixelForTick:function(e){var t=this.tickValues;return e<0||e>t.length-1?null:this.getPixelForValue(t[e])},_getFirstTickValue:function(e){var t=Math.floor(Li(e));return Math.floor(e/Math.pow(10,t))*Math.pow(10,t)},_configure:function(){var e=this,t=e.min,n=0;fi.prototype._configure.call(e),0===t&&(t=e._getFirstTickValue(e.minNotZero),n=Ai(e.options.ticks.fontSize,X.global.defaultFontSize)/e._length),e._startValue=Li(t),e._valueOffset=n,e._valueRange=(Li(e.max)-Li(t))/(1-n)},getPixelForValue:function(e){var t=this,n=0;return(e=+t.getRightValue(e))>t.min&&e>0&&(n=(Li(e)-t._startValue)/t._valueRange+t._valueOffset),t.getPixelForDecimal(n)},getValueForPixel:function(e){var t=this,n=t.getDecimalForPixel(e);return 0===n&&0===t.min?0:Math.pow(10,t._startValue+(n-t._valueOffset)*t._valueRange)}}),Ei=Ti;Ri._defaults=Ei;var Ui=se.valueOrDefault,zi=se.valueAtIndexOrDefault,Bi=se.options.resolve,Vi={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Kn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(e){return e}}};function Hi(e){var t=e.ticks;return t.display&&e.display?Ui(t.fontSize,X.global.defaultFontSize)+2*t.backdropPaddingY:0}function Wi(e,t,n){return se.isArray(n)?{w:se.longestText(e,e.font,n),h:n.length*t}:{w:e.measureText(n).width,h:t}}function Yi(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Gi(e){var t,n,i,r=se.options._parseFont(e.options.pointLabels),s={l:0,r:e.width,t:0,b:e.height-e.paddingTop},a={};e.ctx.font=r.string,e._pointLabelSizes=[];var o=e.chart.data.labels.length;for(t=0;ts.r&&(s.r=h.end,a.r=l),d.starts.b&&(s.b=d.end,a.b=l)}e.setReductions(e.drawingArea,s,a)}function qi(e){return 0===e||180===e?"center":e<180?"left":"right"}function Qi(e,t,n,i){var r,s,a=n.y+i/2;if(se.isArray(t))for(r=0,s=t.length;r270||e<90)&&(n.y-=t.h)}function Xi(e){var t=e.ctx,n=e.options,i=n.pointLabels,r=Hi(n),s=e.getDistanceFromCenterForValue(n.ticks.reverse?e.min:e.max),a=se.options._parseFont(i);t.save(),t.font=a.string,t.textBaseline="middle";for(var o=e.chart.data.labels.length-1;o>=0;o--){var l=0===o?r/2:0,c=e.getPointPosition(o,s+l+5),h=zi(i.fontColor,o,X.global.defaultFontColor);t.fillStyle=h;var d=e.getIndexAngle(o),u=se.toDegrees(d);t.textAlign=qi(u),Ki(u,e._pointLabelSizes[o],c),Qi(t,e.pointLabels[o],c,a.lineHeight)}t.restore()}function $i(e,t,n,i){var r,s=e.ctx,a=t.circular,o=e.chart.data.labels.length,l=zi(t.color,i-1),c=zi(t.lineWidth,i-1);if((a||o)&&l&&c){if(s.save(),s.strokeStyle=l,s.lineWidth=c,s.setLineDash&&(s.setLineDash(t.borderDash||[]),s.lineDashOffset=t.borderDashOffset||0),s.beginPath(),a)s.arc(e.xCenter,e.yCenter,n,0,2*Math.PI);else{r=e.getPointPosition(0,n),s.moveTo(r.x,r.y);for(var h=1;h0&&i>0?n:0)},_drawGrid:function(){var e,t,n,i=this,r=i.ctx,s=i.options,a=s.gridLines,o=s.angleLines,l=Ui(o.lineWidth,a.lineWidth),c=Ui(o.color,a.color);if(s.pointLabels.display&&Xi(i),a.display&&se.each(i.ticks,(function(e,n){0!==n&&(t=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),$i(i,a,t,n))})),o.display&&l&&c){for(r.save(),r.lineWidth=l,r.strokeStyle=c,r.setLineDash&&(r.setLineDash(Bi([o.borderDash,a.borderDash,[]])),r.lineDashOffset=Bi([o.borderDashOffset,a.borderDashOffset,0])),e=i.chart.data.labels.length-1;e>=0;e--)t=i.getDistanceFromCenterForValue(s.ticks.reverse?i.min:i.max),n=i.getPointPosition(e,t),r.beginPath(),r.moveTo(i.xCenter,i.yCenter),r.lineTo(n.x,n.y),r.stroke();r.restore()}},_drawLabels:function(){var e=this,t=e.ctx,n=e.options.ticks;if(n.display){var i,r,s=e.getIndexAngle(0),a=se.options._parseFont(n),o=Ui(n.fontColor,X.global.defaultFontColor);t.save(),t.font=a.string,t.translate(e.xCenter,e.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",se.each(e.ticks,(function(s,l){(0!==l||n.reverse)&&(i=e.getDistanceFromCenterForValue(e.ticksAsNumbers[l]),n.showLabelBackdrop&&(r=t.measureText(s).width,t.fillStyle=n.backdropColor,t.fillRect(-r/2-n.backdropPaddingX,-i-a.size/2-n.backdropPaddingY,r+2*n.backdropPaddingX,a.size+2*n.backdropPaddingY)),t.fillStyle=o,t.fillText(s,0,-i))})),t.restore()}},_drawTitle:se.noop}),tr=Vi;er._defaults=tr;var nr=se._deprecated,ir=se.options.resolve,rr=se.valueOrDefault,sr=Number.MIN_SAFE_INTEGER||-9007199254740991,ar=Number.MAX_SAFE_INTEGER||9007199254740991,or={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},lr=Object.keys(or);function cr(e,t){return e-t}function hr(e){var t,n,i,r={},s=[];for(t=0,n=e.length;tt&&o=0&&a<=o;){if(r=e[(i=a+o>>1)-1]||null,s=e[i],!r)return{lo:null,hi:s};if(s[t]n))return{lo:r,hi:s};o=i-1}}return{lo:s,hi:null}}function mr(e,t,n,i){var r=pr(e,t,n),s=r.lo?r.hi?r.lo:e[e.length-2]:e[0],a=r.lo?r.hi?r.hi:e[e.length-1]:e[1],o=a[t]-s[t],l=o?(n-s[t])/o:0,c=(a[i]-s[i])*l;return s[i]+c}function fr(e,t){var n=e._adapter,i=e.options.time,r=i.parser,s=r||i.format,a=t;return"function"===typeof r&&(a=r(a)),se.isFinite(a)||(a="string"===typeof s?n.parse(a,s):n.parse(a)),null!==a?+a:(r||"function"!==typeof s||(a=s(t),se.isFinite(a)||(a=n.parse(a))),a)}function vr(e,t){if(se.isNullOrUndef(t))return null;var n=e.options.time,i=fr(e,e.getRightValue(t));return null===i||n.round&&(i=+e._adapter.startOf(i,n.round)),i}function xr(e,t,n,i){var r,s,a,o=lr.length;for(r=lr.indexOf(e);r=lr.indexOf(n);s--)if(a=lr[s],or[a].common&&e._adapter.diff(r,i,a)>=t-1)return a;return lr[n?lr.indexOf(n):0]}function br(e){for(var t=lr.indexOf(e)+1,n=lr.length;t1e5*c)throw t+" and "+n+" are too far apart with stepSize of "+c+" "+l;for(r=d;r=0&&(t[s].major=!0);return t}function wr(e,t,n){var i,r,s=[],a={},o=t.length;for(i=0;i1?hr(p).sort(cr):p.sort(cr),u=Math.min(u,p[0]),g=Math.max(g,p[p.length-1])),u=vr(o,dr(h))||u,g=vr(o,ur(h))||g,u=u===ar?+c.startOf(Date.now(),d):u,g=g===sr?+c.endOf(Date.now(),d)+1:g,o.min=Math.min(u,g),o.max=Math.max(u+1,g),o._table=[],o._timestamps={data:p,datasets:m,labels:f}},buildTicks:function(){var e,t,n,i=this,r=i.min,s=i.max,a=i.options,o=a.ticks,l=a.time,c=i._timestamps,h=[],d=i.getLabelCapacity(r),u=o.source,g=a.distribution;for(c="data"===u||"auto"===u&&"series"===g?c.data:"labels"===u?c.labels:jr(i,r,s,d),"ticks"===a.bounds&&c.length&&(r=c[0],s=c[c.length-1]),r=vr(i,dr(a))||r,s=vr(i,ur(a))||s,e=0,t=c.length;e=r&&n<=s&&h.push(n);return i.min=r,i.max=s,i._unit=l.unit||(o.autoSkip?xr(l.minUnit,i.min,i.max,d):yr(i,h.length,l.minUnit,i.min,i.max)),i._majorUnit=o.major.enabled&&"year"!==i._unit?br(i._unit):void 0,i._table=gr(i._timestamps.data,r,s,g),i._offsets=Sr(i._table,h,r,s,a),o.reverse&&h.reverse(),wr(i,h,i._majorUnit)},getLabelForIndex:function(e,t){var n=this,i=n._adapter,r=n.chart.data,s=n.options.time,a=r.labels&&e=0&&e0?o:1}}),Zr=Ir;Pr._defaults=Zr;var kr={category:yi,linear:Ni,logarithmic:Ri,radialLinear:er,time:Pr},_r={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Qn._date.override("function"===typeof e?{_id:"moment",formats:function(){return _r},parse:function(t,n){return"string"===typeof t&&"string"===typeof n?t=e(t,n):t instanceof e||(t=e(t)),t.isValid()?t.valueOf():null},format:function(t,n){return e(t).format(n)},add:function(t,n,i){return e(t).add(n,i).valueOf()},diff:function(t,n,i){return e(t).diff(e(n),i)},startOf:function(t,n,i){return t=e(t),"isoWeek"===n?t.isoWeekday(i).valueOf():t.startOf(n).valueOf()},endOf:function(t,n){return e(t).endOf(n).valueOf()},_create:function(t){return e(t)}}:{}),X._set("global",{plugins:{filler:{propagate:!0}}});var Mr={dataset:function(e){var t=e.fill,n=e.chart,i=n.getDatasetMeta(t),r=i&&n.isDatasetVisible(t)&&i.dataset._children||[],s=r.length||0;return s?function(e,t){return t=n)&&i;switch(s){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return s;default:return!1}}function Cr(e){var t,n=e.el._model||{},i=e.el._scale||{},r=e.fill,s=null;if(isFinite(r))return null;if("start"===r?s=void 0===n.scaleBottom?i.bottom:n.scaleBottom:"end"===r?s=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?s=n.scaleZero:i.getBasePixel&&(s=i.getBasePixel()),void 0!==s&&null!==s){if(void 0!==s.x&&void 0!==s.y)return s;if(se.isFinite(s))return{x:(t=i.isHorizontal())?s:null,y:t?null:s}}return null}function Ar(e){var t,n,i,r,s,a=e.el._scale,o=a.options,l=a.chart.data.labels.length,c=e.fill,h=[];if(!l)return null;for(t=o.ticks.reverse?a.max:a.min,n=o.ticks.reverse?a.min:a.max,i=a.getPointPositionForValue(0,t),r=0;r0;--s)se.canvas.lineTo(e,n[s],n[s-1],!0);else for(a=n[0].cx,o=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-a,2)+Math.pow(n[0].y-o,2)),s=r-1;s>0;--s)e.arc(a,o,l,n[s].angle,n[s-1].angle,!0)}}function Er(e,t,n,i,r,s){var a,o,l,c,h,d,u,g,p=t.length,m=i.spanGaps,f=[],v=[],x=0,y=0;for(e.beginPath(),a=0,o=p;a=0;--n)(t=l[n].$filler)&&t.visible&&(r=(i=t.el)._view,s=i._children||[],a=t.mapper,o=r.backgroundColor||X.global.defaultColor,a&&o&&s.length&&(se.canvas.clipArea(c,e.chartArea),Er(c,s,a,r,o,i._loop),se.canvas.unclipArea(c)))}},zr=se.rtl.getRtlAdapter,Br=se.noop,Vr=se.valueOrDefault;function Hr(e,t){return e.usePointStyle&&e.boxWidth>t?t:e.boxWidth}X._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,t){var n=t.datasetIndex,i=this.chart,r=i.getDatasetMeta(n);r.hidden=null===r.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(e){var t=e.data.datasets,n=e.options.legend||{},i=n.labels&&n.labels.usePointStyle;return e._getSortedDatasetMetas().map((function(n){var r=n.controller.getStyle(i?0:void 0);return{text:t[n.index].label,fillStyle:r.backgroundColor,hidden:!e.isDatasetVisible(n.index),lineCap:r.borderCapStyle,lineDash:r.borderDash,lineDashOffset:r.borderDashOffset,lineJoin:r.borderJoinStyle,lineWidth:r.borderWidth,strokeStyle:r.borderColor,pointStyle:r.pointStyle,rotation:r.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(e){var t,n,i,r=document.createElement("ul"),s=e.data.datasets;for(r.setAttribute("class",e.id+"-legend"),t=0,n=s.length;tl.width)&&(d+=a+n.padding,h[h.length-(t>0?0:1)]=0),o[t]={left:0,top:0,width:i,height:a},h[h.length-1]+=i+n.padding})),l.height+=d}else{var u=n.padding,g=e.columnWidths=[],p=e.columnHeights=[],m=n.padding,f=0,v=0;se.each(e.legendItems,(function(e,t){var i=Hr(n,a)+a/2+r.measureText(e.text).width;t>0&&v+a+2*u>l.height&&(m+=f+n.padding,g.push(f),p.push(v),f=0,v=0),f=Math.max(f,i),v+=a+u,o[t]={left:0,top:0,width:i,height:a}})),m+=f,g.push(f),p.push(v),l.width+=m}e.width=l.width,e.height=l.height}else e.width=l.width=e.height=l.height=0},afterFit:Br,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var e=this,t=e.options,n=t.labels,i=X.global,r=i.defaultColor,s=i.elements.line,a=e.height,o=e.columnHeights,l=e.width,c=e.lineWidths;if(t.display){var h,d=zr(t.rtl,e.left,e.minSize.width),u=e.ctx,g=Vr(n.fontColor,i.defaultFontColor),p=se.options._parseFont(n),m=p.size;u.textAlign=d.textAlign("left"),u.textBaseline="middle",u.lineWidth=.5,u.strokeStyle=g,u.fillStyle=g,u.font=p.string;var f=Hr(n,m),v=e.legendHitBoxes,x=function(e,t,i){if(!(isNaN(f)||f<=0)){u.save();var a=Vr(i.lineWidth,s.borderWidth);if(u.fillStyle=Vr(i.fillStyle,r),u.lineCap=Vr(i.lineCap,s.borderCapStyle),u.lineDashOffset=Vr(i.lineDashOffset,s.borderDashOffset),u.lineJoin=Vr(i.lineJoin,s.borderJoinStyle),u.lineWidth=a,u.strokeStyle=Vr(i.strokeStyle,r),u.setLineDash&&u.setLineDash(Vr(i.lineDash,s.borderDash)),n&&n.usePointStyle){var o=f*Math.SQRT2/2,l=d.xPlus(e,f/2),c=t+m/2;se.canvas.drawPoint(u,i.pointStyle,o,l,c,i.rotation)}else u.fillRect(d.leftForLtr(e,f),t,f,m),0!==a&&u.strokeRect(d.leftForLtr(e,f),t,f,m);u.restore()}},y=function(e,t,n,i){var r=m/2,s=d.xPlus(e,f+r),a=t+r;u.fillText(n.text,s,a),n.hidden&&(u.beginPath(),u.lineWidth=2,u.moveTo(s,a),u.lineTo(d.xPlus(s,i),a),u.stroke())},b=function(e,i){switch(t.align){case"start":return n.padding;case"end":return e-i;default:return(e-i+n.padding)/2}},j=e.isHorizontal();h=j?{x:e.left+b(l,c[0]),y:e.top+n.padding,line:0}:{x:e.left+n.padding,y:e.top+b(a,o[0]),line:0},se.rtl.overrideTextDirection(e.ctx,t.textDirection);var S=m+n.padding;se.each(e.legendItems,(function(t,i){var r=u.measureText(t.text).width,s=f+m/2+r,g=h.x,p=h.y;d.setWidth(e.minSize.width),j?i>0&&g+s+n.padding>e.left+e.minSize.width&&(p=h.y+=S,h.line++,g=h.x=e.left+b(l,c[h.line])):i>0&&p+S>e.top+e.minSize.height&&(g=h.x=g+e.columnWidths[h.line]+n.padding,h.line++,p=h.y=e.top+b(a,o[h.line]));var D=d.x(g);x(D,p,t),v[i].left=d.leftForLtr(D,v[i].width),v[i].top=p,y(D,p,t,r),j?h.x+=s+n.padding:h.y+=S})),se.rtl.restoreTextDirection(e.ctx,t.textDirection)}},_getLegendItemAt:function(e,t){var n,i,r,s=this;if(e>=s.left&&e<=s.right&&t>=s.top&&t<=s.bottom)for(r=s.legendHitBoxes,n=0;n=(i=r[n]).left&&e<=i.left+i.width&&t>=i.top&&t<=i.top+i.height)return s.legendItems[n];return null},handleEvent:function(e){var t,n=this,i=n.options,r="mouseup"===e.type?"click":e.type;if("mousemove"===r){if(!i.onHover&&!i.onLeave)return}else{if("click"!==r)return;if(!i.onClick)return}t=n._getLegendItemAt(e.x,e.y),"click"===r?t&&i.onClick&&i.onClick.call(n,e.native,t):(i.onLeave&&t!==n._hoveredItem&&(n._hoveredItem&&i.onLeave.call(n,e.native,n._hoveredItem),n._hoveredItem=t),i.onHover&&t&&i.onHover.call(n,e.native,t))}});function Yr(e,t){var n=new Wr({ctx:e.ctx,options:t,chart:e});Vt.configure(e,n,t),Vt.addBox(e,n),e.legend=n}var Gr={id:"legend",_element:Wr,beforeInit:function(e){var t=e.options.legend;t&&Yr(e,t)},beforeUpdate:function(e){var t=e.options.legend,n=e.legend;t?(se.mergeIf(t,X.global.legend),n?(Vt.configure(e,n,t),n.options=t):Yr(e,t)):n&&(Vt.removeBox(e,n),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}},qr=se.noop;X._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Qr=ge.extend({initialize:function(e){var t=this;se.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:qr,update:function(e,t,n){var i=this;return i.beforeUpdate(),i.maxWidth=e,i.maxHeight=t,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:qr,beforeSetDimensions:qr,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:qr,beforeBuildLabels:qr,buildLabels:qr,afterBuildLabels:qr,beforeFit:qr,fit:function(){var e,t=this,n=t.options,i=t.minSize={},r=t.isHorizontal();n.display?(e=(se.isArray(n.text)?n.text.length:1)*se.options._parseFont(n).lineHeight+2*n.padding,t.width=i.width=r?t.maxWidth:e,t.height=i.height=r?e:t.maxHeight):t.width=i.width=t.height=i.height=0},afterFit:qr,isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},draw:function(){var e=this,t=e.ctx,n=e.options;if(n.display){var i,r,s,a=se.options._parseFont(n),o=a.lineHeight,l=o/2+n.padding,c=0,h=e.top,d=e.left,u=e.bottom,g=e.right;t.fillStyle=se.valueOrDefault(n.fontColor,X.global.defaultFontColor),t.font=a.string,e.isHorizontal()?(r=d+(g-d)/2,s=h+l,i=g-d):(r="left"===n.position?d+l:g-l,s=h+(u-h)/2,i=u-h,c=Math.PI*("left"===n.position?-.5:.5)),t.save(),t.translate(r,s),t.rotate(c),t.textAlign="center",t.textBaseline="middle";var p=n.text;if(se.isArray(p))for(var m=0,f=0;f=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function p(e){for(var t=1;t1;if(t&&r&&!i){var s=!1;e.forEach((function(e){e.label||(s=!0)})),s&&console.error('[react-chartjs-2] Warning: Each dataset needs a unique key. By default, the "label" property on each dataset is used. Alternatively, you may provide a "datasetKeyProvider" as a prop that returns a unique key.')}}},{key:"getCurrentDatasets",value:function(){return this.chartInstance&&this.chartInstance.config.data&&this.chartInstance.config.data.datasets||[]}},{key:"saveCurrentDatasets",value:function(){var e=this;this.datasets=this.datasets||{},this.getCurrentDatasets().forEach((function(t){e.datasets[e.props.datasetKeyProvider(t)]=t}))}},{key:"updateChart",value:function(){var e=this,t=this.props.options,n=this.memoizeDataProps(this.props);if(this.chartInstance){t&&(this.chartInstance.options=a.default.helpers.configMerge(this.chartInstance.options,t));var i=this.getCurrentDatasets(),r=n.datasets||[];this.checkDatasets(i);var s=(0,l.default)(i,this.props.datasetKeyProvider);this.chartInstance.config.data.datasets=r.map((function(t){var n=s[e.props.datasetKeyProvider(t)];if(n&&n.type===t.type&&t.data){n.data.splice(t.data.length),t.data.forEach((function(e,i){n.data[i]=t.data[i]}));t.data;var i=u(t,["data"]);return p(p({},n),i)}return t}));n.datasets;var o=u(n,["datasets"]);this.chartInstance.config.data=p(p({},this.chartInstance.config.data),o),this.chartInstance.update()}}},{key:"renderChart",value:function(){var e=this.props,t=e.options,i=e.legend,r=e.type,s=e.plugins,l=this.element,c=this.memoizeDataProps();"undefined"===typeof i||(0,o.default)(n.defaultProps.legend,i)||(t.legend=i),this.chartInstance=new a.default(l,{type:r,data:c,options:t,plugins:s})}},{key:"destroyChart",value:function(){if(this.chartInstance){this.saveCurrentDatasets();var e=Object.values(this.datasets);this.chartInstance.config.data.datasets=e,this.chartInstance.destroy()}}},{key:"render",value:function(){var e=this.props,t=e.height,n=e.width,i=e.id;return r.default.createElement("canvas",{ref:this.ref,height:t,width:n,id:i,onClick:this.handleOnClick})}}]),n}(r.default.Component);D(I,"getLabelAsKey",(function(e){return e.label})),D(I,"propTypes",{data:s.default.oneOfType([s.default.object,s.default.func]).isRequired,getDatasetAtEvent:s.default.func,getElementAtEvent:s.default.func,getElementsAtEvent:s.default.func,height:s.default.number,legend:s.default.object,onElementsClick:s.default.func,options:s.default.object,plugins:s.default.arrayOf(s.default.object),redraw:s.default.bool,type:function(e,t,n){if(!a.default.controllers[e[t]])return new Error("Invalid chart type `"+e[t]+"` supplied to `"+n+"`.")},width:s.default.number,datasetKeyProvider:s.default.func}),D(I,"defaultProps",{legend:{display:!0,position:"bottom"},type:"doughnut",height:150,width:300,redraw:!1,options:{},datasetKeyProvider:I.getLabelAsKey});var P=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"doughnut"}))}}]),n}(r.default.Component);var Z=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"pie"}))}}]),n}(r.default.Component);var k=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"line"}))}}]),n}(r.default.Component);t.x1=k;var _=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bar"}))}}]),n}(r.default.Component);var M=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"horizontalBar"}))}}]),n}(r.default.Component);var N=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"radar"}))}}]),n}(r.default.Component);var C=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"polarArea"}))}}]),n}(r.default.Component);var A=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bubble"}))}}]),n}(r.default.Component);var L=function(e){x(n,e);var t=b(n);function n(){return m(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(I,h({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"scatter"}))}}]),n}(r.default.Component);a.default.defaults},64668:function(e,t,n){"use strict";var i=n(87462),r=n(63366),s=n(72791),a=n(52007),o=n.n(a),l=n(81694),c=n.n(l),h=n(15489),d={className:o().string,cssModule:o().object,size:o().string,bordered:o().bool,borderless:o().bool,striped:o().bool,dark:o().bool,hover:o().bool,responsive:o().oneOfType([o().bool,o().string]),tag:h.iC,responsiveTag:h.iC,innerRef:o().oneOfType([o().func,o().string,o().object])},u=function(e){var t=e.className,n=e.cssModule,a=e.size,o=e.bordered,l=e.borderless,d=e.striped,u=e.dark,g=e.hover,p=e.responsive,m=e.tag,f=e.responsiveTag,v=e.innerRef,x=(0,r.Z)(e,["className","cssModule","size","bordered","borderless","striped","dark","hover","responsive","tag","responsiveTag","innerRef"]),y=(0,h.mx)(c()(t,"table",!!a&&"table-"+a,!!o&&"table-bordered",!!l&&"table-borderless",!!d&&"table-striped",!!u&&"table-dark",!!g&&"table-hover"),n),b=s.createElement(m,(0,i.Z)({},x,{ref:v,className:y}));if(p){var j=(0,h.mx)(!0===p?"table-responsive":"table-responsive-"+p,n);return s.createElement(f,{className:j},b)}return b};u.propTypes=d,u.defaultProps={tag:"table",responsiveTag:"div"},t.Z=u},74351:function(){},75299:function(){},64718:function(){}},function(e){e.O(0,[351],(function(){return t=12777,e(e.s=t);var t}));e.O()}]); +//# sourceMappingURL=sysAdmin.e682dbd6.js.map \ No newline at end of file diff --git a/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.LICENSE.txt b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.LICENSE.txt new file mode 100644 index 00000000000..fc3919d1e27 --- /dev/null +++ b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.LICENSE.txt @@ -0,0 +1,6 @@ +/*! + * Chart.js v2.9.4 + * https://www.chartjs.org + * (c) 2020 Chart.js Contributors + * Released under the MIT License + */ diff --git a/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.map b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.map new file mode 100644 index 00000000000..d17be6b599b --- /dev/null +++ b/media/assets/frontend/static/js/sysAdmin.e682dbd6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/sysAdmin.e682dbd6.js","mappings":"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","sources":["components/dialog/commit-details.js","components/dialog/create-folder-dialog.js","components/dialog/op-menu.js","components/dialog/share-admin-link.js","components/dialog/sysadmin-dialog/sysadmin-unlink-device-dialog.js","pages/sys-admin/side-panel.js","pages/sys-admin/main-panel.js","pages/sys-admin/main-panel-topbar.js","pages/sys-admin/info.js","pages/sys-admin/statistic/statistic-nav.js","pages/sys-admin/statistic/picker.js","pages/sys-admin/statistic/statistic-common-tool.js","pages/sys-admin/statistic/statistic-chart.js","pages/sys-admin/statistic/statistic-file.js","pages/sys-admin/statistic/statistic-storage.js","pages/sys-admin/statistic/traffic-table.js","pages/sys-admin/statistic/traffic-table-body.js","pages/sys-admin/statistic/statistic-traffic-orgs.js","pages/sys-admin/statistic/statistic-traffic-users.js","pages/sys-admin/statistic/statistic-traffic.js","pages/sys-admin/statistic/statistic-users.js","pages/sys-admin/statistic/statistic-reports.js","pages/sys-admin/devices/devices-nav.js","pages/sys-admin/devices/devices-by-platform.js","pages/sys-admin/devices/desktop-devices.js","pages/sys-admin/devices/mobile-devices.js","pages/sys-admin/user-link.js","pages/sys-admin/devices/devices-errors.js","components/dialog/sysadmin-dialog/set-quota.js","components/dialog/sysadmin-dialog/sysadmin-import-user-dialog.js","components/select-editor/sysadmin-user-role-editor.js","components/dialog/sysadmin-dialog/sysadmin-add-user-dialog.js","components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog.js","models/sysadmin-user.js","models/sysadmin-admin-user.js","pages/sys-admin/search.js","pages/sys-admin/users/users-nav.js","components/select-editor/sysadmin-user-status-editor.js","pages/sys-admin/users/users-content.js","pages/sys-admin/users/users.js","pages/sys-admin/users/admin-users.js","pages/sys-admin/users/ldap-imported-users.js","pages/sys-admin/users/ldap-users.js","pages/sys-admin/users/search-users.js","components/dialog/sysadmin-dialog/set-upload-download-rate-limit.js","components/dialog/sysadmin-dialog/update-user.js","pages/sys-admin/users/user-nav.js","pages/sys-admin/users/user-info.js","pages/sys-admin/users/user-repos.js","pages/sys-admin/users/user-shared-repos.js","pages/sys-admin/users/user-links.js","pages/sys-admin/users/user-groups.js","components/dialog/sysadmin-dialog/sysadmin-create-repo-dialog.js","pages/sys-admin/repos/repos-nav.js","components/dialog/sysadmin-dialog/sysadmin-share-to-user.js","components/dialog/sysadmin-dialog/sysadmin-share-to-group.js","components/dialog/sysadmin-dialog/sysadmin-share-dialog.js","components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog.js","pages/sys-admin/repos/repos.js","pages/sys-admin/repos/all-repos.js","pages/sys-admin/repos/system-repo.js","pages/sys-admin/repos/trash-repos.js","pages/sys-admin/repos/search-repos.js","models/system-admin/dirent.js","pages/sys-admin/repos/dir-path-bar.js","pages/sys-admin/repos/dir-content.js","pages/sys-admin/repos/dir-view.js","components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js","components/dialog/sysadmin-dialog/sysadmin-group-transfer-dialog.js","pages/sys-admin/groups/groups-content.js","pages/sys-admin/groups/groups.js","pages/sys-admin/groups/search-groups.js","pages/sys-admin/groups/group-nav.js","pages/sys-admin/groups/group-repos.js","components/dialog/sysadmin-dialog/sysadmin-group-add-member-dialog.js","components/select-editor/sysadmin-group-role-editor.js","pages/sys-admin/groups/group-members.js","pages/sys-admin/departments/departments.js","components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js","components/dialog/sysadmin-dialog/sysadmin-rename-department-dialog.js","components/dialog/sysadmin-dialog/sysadmin-delete-department-dialog.js","components/dialog/sysadmin-dialog/sysadmin-set-group-quota-dialog.js","pages/sys-admin/departments/group-item.js","pages/sys-admin/departments/department-list.js","components/dialog/sysadmin-dialog/sysadmin-add-member-dialog.js","components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js","pages/sys-admin/departments/department.js","pages/sys-admin/departments/sub-departments.js","components/dialog/sysadmin-dialog/sysadmin-delete-member-dialog.js","pages/sys-admin/departments/member-item.js","pages/sys-admin/departments/department-members.js","components/dialog/sysadmin-dialog/sysadmin-delete-repo-dialog.js","pages/sys-admin/departments/repo-item.js","pages/sys-admin/departments/department-libraries.js","pages/sys-admin/links/links-nav.js","pages/sys-admin/links/share-links.js","pages/sys-admin/links/upload-links.js","components/dialog/sysadmin-dialog/sysadmin-add-org-dialog.js","pages/sys-admin/orgs/orgs-content.js","pages/sys-admin/orgs/orgs.js","pages/sys-admin/orgs/search-orgs.js","components/dialog/sysadmin-dialog/sysadmin-set-org-name-dialog.js","components/dialog/sysadmin-dialog/sysadmin-set-org-max-user-number-dialog.js","pages/sys-admin/orgs/org-nav.js","pages/sys-admin/orgs/org-info.js","components/select-editor/sysadmin-user-membership-editor.js","pages/sys-admin/orgs/org-users.js","pages/sys-admin/orgs/org-groups.js","pages/sys-admin/orgs/org-repos.js","components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js","pages/sys-admin/institutions/institutions.js","pages/sys-admin/institutions/institution-nav.js","pages/sys-admin/institutions/institution-info.js","components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js","pages/sys-admin/institutions/institution-users.js","pages/sys-admin/institutions/institution-admins.js","pages/sys-admin/logs-page/logs-nav.js","components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog.js","pages/sys-admin/logs-page/login-logs.js","pages/sys-admin/logs-page/file-access-item-menu.js","pages/sys-admin/logs-page/file-access-toggle-filter.js","pages/sys-admin/logs-page/file-access-logs.js","pages/sys-admin/logs-page/file-update-logs.js","pages/sys-admin/logs-page/share-permission-logs.js","pages/sys-admin/web-settings/section.js","pages/sys-admin/web-settings/setting-item-base.js","pages/sys-admin/web-settings/input-item.js","pages/sys-admin/web-settings/file-item.js","pages/sys-admin/web-settings/checkbox-item.js","pages/sys-admin/web-settings/web-settings.js","components/dialog/sysadmin-dialog/sysadmin-add-sys-notification-dialog.js","pages/sys-admin/notifications/notifications.js","pages/sys-admin/file-scan-records.js","pages/sys-admin/work-weixin/work-weixin-department-members-list.js","pages/sys-admin/work-weixin/work-weixin-departments-tree-node.js","pages/sys-admin/work-weixin/work-weixin-departments-tree-panel.js","components/dialog/import-work-weixin-department-dialog.js","pages/sys-admin/work-weixin-departments.js","pages/sys-admin/dingtalk/dingtalk-department-members-list.js","pages/sys-admin/dingtalk/dingtalk-departments-tree-node.js","pages/sys-admin/dingtalk/dingtalk-departments-tree-panel.js","components/dialog/import-dingtalk-department-dialog.js","pages/sys-admin/dingtalk-departments.js","pages/sys-admin/invitations/invitations.js","components/dialog/terms-editor-dialog.js","components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog.js","utils/markdown-utils.js","components/dialog/terms-preview-dialog.js","pages/sys-admin/terms-and-conditions/item.js","pages/sys-admin/terms-and-conditions/content.js","pages/sys-admin/terms-and-conditions/terms-and-conditions.js","pages/sys-admin/virus-scan/nav.js","pages/sys-admin/virus-scan/all-virus-files.js","pages/sys-admin/virus-scan/unhandled-virus-files.js","pages/sys-admin/admin-logs/logs-nav.js","pages/sys-admin/admin-logs/operation-logs.js","pages/sys-admin/admin-logs/login-logs.js","pages/sys-admin/abuse-reports.js","pages/sys-admin/index.js","../node_modules/chart.js/dist/Chart.js","../node_modules/lodash/_arrayAggregator.js","../node_modules/lodash/_baseAggregator.js","../node_modules/lodash/_createAggregator.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/keyBy.js","../node_modules/react-chartjs-2/es/index.js","../node_modules/reactstrap/es/Table.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport moment from 'moment';\nimport { gettext } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../loading';\n\nimport '../../css/commit-details.css';\n\nconst propTypes = {\n repoID: PropTypes.string.isRequired,\n commitID: PropTypes.string.isRequired,\n commitTime: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass CommitDetails extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isLoading: true,\n errorMsg: '',\n };\n }\n\n componentDidMount() {\n const {repoID, commitID} = this.props;\n seafileAPI.getCommitDetails(repoID, commitID).then((res) => {\n this.setState({\n isLoading: false,\n errorMsg: '',\n commitDetails: res.data\n });\n }).catch((error) => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({\n isLoading: false,\n errorMsg: errorMsg\n });\n });\n }\n\n render() {\n const { toggleDialog, commitTime} = this.props;\n return (\n \n {gettext('Modification Details')}\n \n

    {moment(commitTime).format('YYYY-MM-DD HH:mm:ss')}

    \n \n
    \n
    \n );\n }\n}\n\nclass Content extends React.Component {\n\n renderDetails = (data) => {\n const detailsData = [\n {type: 'new', title: gettext('New files')},\n {type: 'removed', title: gettext('Deleted files')},\n {type: 'renamed', title: gettext('Renamed or Moved files')},\n {type: 'modified', title: gettext('Modified files')},\n {type: 'newdir', title: gettext('New directories')},\n {type: 'deldir', title: gettext('Deleted directories')}\n ];\n\n let showDesc = true;\n for (let i = 0, len = detailsData.length; i < len; i++) {\n if (data[detailsData[i].type].length) {\n showDesc = false;\n break;\n }\n }\n if (showDesc) {\n return

    {data.cmt_desc}

    ;\n }\n\n return (\n \n {detailsData.map((item, index) => {\n if (!data[item.type].length) {\n return null;\n }\n return (\n \n
    {item.title}
    \n
      \n {\n data[item.type].map((item, index) => {\n return
    • ;\n })\n }\n
    \n
    \n );\n })}\n
    \n );\n };\n\n render() {\n const {isLoading, errorMsg, commitDetails} = this.props.data;\n\n if (isLoading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n return this.renderDetails(commitDetails);\n }\n}\n\nContent.propTypes = {\n data: PropTypes.object.isRequired,\n};\n\nCommitDetails.propTypes = propTypes;\n\nexport default CommitDetails;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n fileType: PropTypes.string,\n parentPath: PropTypes.string.isRequired,\n onAddFolder: PropTypes.func.isRequired,\n checkDuplicatedName: PropTypes.func.isRequired,\n addFolderCancel: PropTypes.func.isRequired,\n};\n\nclass CreateForder extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n parentPath: '',\n childName: '',\n errMessage: '',\n isSubmitBtnActive: false,\n };\n }\n\n componentDidMount() {\n let parentPath = this.props.parentPath;\n if (parentPath[parentPath.length - 1] === '/') { // mainPanel\n this.setState({parentPath: parentPath});\n } else {\n this.setState({parentPath: parentPath + '/'}); // sidePanel\n }\n }\n\n handleChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({childName: e.target.value});\n };\n\n handleSubmit = () => {\n if (!this.state.isSubmitBtnActive) {\n return;\n }\n\n let newName = this.state.childName;\n let isDuplicated = this.checkDuplicatedName();\n\n if (isDuplicated) {\n let errMessage = gettext('The name \"{name}\" is already taken. Please choose a different name.');\n errMessage = errMessage.replace('{name}', Utils.HTMLescape(newName));\n this.setState({errMessage: errMessage});\n } else {\n let path = this.state.parentPath + newName;\n this.props.onAddFolder(path);\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n toggle = () => {\n this.props.addFolderCancel();\n };\n\n checkDuplicatedName = () => {\n let isDuplicated = this.props.checkDuplicatedName(this.state.childName);\n return isDuplicated;\n };\n\n render() {\n return (\n \n {gettext('New Folder')}\n \n
    \n \n \n \n \n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nCreateForder.propTypes = propTypes;\n\nexport default CreateForder;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nconst propTypes = {\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onMenuItemClick: PropTypes.func.isRequired,\n operations: PropTypes.array.isRequired,\n translateOperations: PropTypes.func.isRequired\n};\n\nclass OpMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemMenuShow: false\n };\n }\n\n onMenuItemClick = (e) => {\n let operation = Utils.getEventData(e, 'op');\n this.props.onMenuItemClick(operation);\n };\n\n onDropdownToggleClick = (e) => {\n this.toggleOperationMenu(e);\n };\n\n toggleOperationMenu = (e) => {\n this.setState(\n {isItemMenuShow: !this.state.isItemMenuShow},\n () => {\n if (this.state.isItemMenuShow) {\n this.props.onFreezedItem();\n } else {\n this.props.onUnfreezedItem();\n }\n }\n );\n };\n\n render() {\n const { operations, translateOperations } = this.props;\n return (\n \n \n \n {operations.map((item, index )=> {\n return ({translateOperations(item)});\n })}\n \n \n );\n }\n}\n\nOpMenu.propTypes = propTypes;\n\nexport default OpMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport copy from '../copy-to-clipboard';\nimport { gettext } from '../../utils/constants';\nimport toaster from '../../components/toast';\n\nconst propTypes = {\n link: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass ShareAdminLink extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n copyToClipboard = () => {\n copy(this.props.link);\n this.props.toggleDialog();\n toaster.success(gettext('The link is copied to the clipboard.'), {duration: 2});\n };\n\n render() {\n const { link, toggleDialog } = this.props;\n return (\n \n {gettext('Link')}\n \n {link}\n \n \n \n \n \n \n );\n }\n}\n\nShareAdminLink.propTypes = propTypes;\n\nexport default ShareAdminLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext, isPro } from '../../../utils/constants';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\n\nconst propTypes = {\n unlinkDevice: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass SysAdminUnlinkDevice extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n inputChecked: false\n };\n }\n\n handleInputChange = (e) => {\n this.setState({\n inputChecked: e.target.checked\n });\n };\n\n unlinkDevice = () => {\n this.props.toggleDialog();\n this.props.unlinkDevice(this.state.inputChecked);\n };\n\n render() {\n const { inputChecked } = this.state;\n const toggle = this.props.toggleDialog;\n return (\n \n {gettext('Unlink device')}\n \n

    {gettext('Are you sure you want to unlink this device?')}

    \n {isPro &&\n
    \n \n \n
    \n }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminUnlinkDevice.propTypes = propTypes;\n\nexport default SysAdminUnlinkDevice;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport Logo from '../../components/logo';\nimport { gettext, siteRoot, isPro, otherPermission, canViewSystemInfo, canViewStatistic,\n canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog,\n canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled,\n enableGuestInvitation, enableTermsAndConditions, enableFileScan, enableWorkWeixin, enableDingtalk,\n enableShareLinkReportAbuse, isDBSqlite3 } from '../../utils/constants';\n\nconst propTypes = {\n isSidePanelClosed: PropTypes.bool.isRequired,\n onCloseSidePanel: PropTypes.func.isRequired,\n currentTab: PropTypes.string.isRequired,\n tabItemClick: PropTypes.func.isRequired\n};\n\nclass SidePanel extends React.Component {\n\n getActiveClass = (tab) => {\n return this.props.currentTab == tab ? 'active' : '';\n };\n\n render() {\n return (\n
    \n
    \n \n
    \n
    \n
    \n
    \n

    {gettext('System Admin')}

    \n
      \n {canViewSystemInfo &&\n
    • \n this.props.tabItemClick('info')}\n >\n \n {gettext('Info')}\n \n
    • \n }\n {(isPro || !isDBSqlite3) && canViewStatistic &&\n
    • \n this.props.tabItemClick('statistic')}\n >\n \n {gettext('Statistic')}\n \n
    • \n }\n {otherPermission &&\n
    • \n this.props.tabItemClick('devices')}\n >\n \n {gettext('Devices')}\n \n
    • \n }\n {constanceEnabled && canConfigSystem &&\n
    • \n this.props.tabItemClick('web-settings')}\n >\n \n {gettext('Settings')}\n \n
    • \n }\n {canManageLibrary &&\n
    • \n this.props.tabItemClick('libraries')}\n >\n \n {gettext('Libraries')}\n \n
    • \n }\n {canManageUser &&\n
    • \n this.props.tabItemClick('users')}\n >\n \n {gettext('Users')}\n \n
    • \n }\n {canManageGroup &&\n
    • \n this.props.tabItemClick('groups')}\n >\n \n {gettext('Groups')}\n \n
    • \n }\n {isPro && canManageGroup &&\n
    • \n this.props.tabItemClick('departments')}\n >\n \n {gettext('Departments')}\n \n
    • \n }\n {multiTenancy && otherPermission &&\n
    • \n this.props.tabItemClick('organizations')}\n >\n \n {gettext('Organizations')}\n \n
    • \n }\n {multiInstitution && otherPermission &&\n
    • \n this.props.tabItemClick('institutions')}\n >\n \n {gettext('Institutions')}\n \n
    • \n }\n {otherPermission &&\n
    • \n this.props.tabItemClick('notifications')}\n >\n \n {gettext('Notifications')}\n \n
    • \n }\n {otherPermission &&\n
    • \n this.props.tabItemClick('links')}\n >\n \n {gettext('Links')}\n \n
    • \n }\n {sysadminExtraEnabled && canViewUserLog &&\n
    • \n this.props.tabItemClick('logs')}\n >\n \n {gettext('Logs')}\n \n
    • \n }\n {isPro && otherPermission && enableFileScan &&\n
    • \n this.props.tabItemClick('file-scan-records')}\n >\n \n {gettext('File Scan')}\n \n
    • \n }\n {isPro && otherPermission &&\n
    • \n this.props.tabItemClick('virus-files')}\n >\n \n {gettext('Virus Scan')}\n \n
    • \n }\n {isPro && enableGuestInvitation && otherPermission &&\n
    • \n this.props.tabItemClick('invitations')}\n >\n \n {gettext('Invitations')}\n \n
    • \n }\n {otherPermission && enableTermsAndConditions &&\n
    • \n this.props.tabItemClick('termsandconditions')}\n >\n \n {gettext('Terms and Conditions')}\n \n
    • \n }\n {isPro && canViewAdminLog &&\n
    • \n this.props.tabItemClick('adminLogs')}\n >\n \n {gettext('Admin Logs')}\n \n
    • \n }\n {otherPermission && enableWorkWeixin &&\n
    • \n this.props.tabItemClick('work-weixin')}\n >\n \n {'企业微信集成'}\n \n
    • \n }\n\n {otherPermission && enableDingtalk &&\n
    • \n this.props.tabItemClick('dingtalk')}\n >\n \n {'钉钉集成'}\n \n
    • \n }\n\n {otherPermission && enableShareLinkReportAbuse &&\n
    • \n this.props.tabItemClick('abuse-reports')}\n >\n \n {gettext('Abuse Reports')}\n \n
    • \n }\n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nSidePanel.propTypes = propTypes;\n\nexport default SidePanel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {\n children: PropTypes.object.isRequired,\n};\n\nclass MainPanel extends Component {\n\n render() {\n return (\n
    \n {this.props.children}\n
    \n );\n }\n}\n\nMainPanel.propTypes = propTypes;\n\nexport default MainPanel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Account from '../../components/common/account';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n children: PropTypes.object,\n search: PropTypes.any,\n toggleSidePanel: PropTypes.func\n};\n\nclass MainPanelTopbar extends Component {\n\n render() {\n return (\n
    \n
    \n \n
    \n {this.props.children}\n
    \n
    \n
    \n {this.props.search && this.props.search}\n \n
    \n
    \n );\n }\n}\n\nMainPanelTopbar.propTypes = propTypes;\n\nexport default MainPanelTopbar;\n","import React, { Component, Fragment } from 'react';\nimport { Button } from 'reactstrap';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext, isPro, isDefaultAdmin } from '../../utils/constants';\nimport toaster from '../../components/toast';\nimport { Utils } from '../../utils/utils';\nimport Loading from '../../components/loading';\nimport MainPanelTopbar from './main-panel-topbar';\n\nimport '../../css/system-info.css';\n\nclass Info extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n sysInfo: {}\n };\n this.fileInput = React.createRef();\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetSysInfo().then((res) => {\n this.setState({\n loading: false,\n sysInfo: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n uploadLicenseFile = (e) => {\n\n // no file selected\n if (!this.fileInput.current.files.length) {\n return;\n }\n const file = this.fileInput.current.files[0];\n seafileAPI.sysAdminUploadLicense(file).then((res) => {\n let info = this.state.sysInfo;\n Object.assign(info, res.data, {with_license: true});\n this.setState({\n sysInfo: info\n });\n }).catch((error) => {\n let errMsg = Utils.getErrorMsg(error);\n toaster.danger(errMsg);\n });\n };\n\n openFileInput = () => {\n this.fileInput.current.click();\n };\n\n renderLicenseDescString = (license_mode, license_to, license_expiration) => {\n if (license_mode == 'life-time') {\n if (window.app.config.lang == 'zh-cn') {\n return '永久授权给 ' + license_to + ',技术支持服务至 ' + license_expiration + ' 到期';\n } else {\n return gettext('licensed to {placeholder_license_to}, upgrade service expired in {placeholder_license_expiration}')\n .replace('{placeholder_license_to}', license_to).replace('{placeholder_license_expiration}', license_expiration);\n }\n } else {\n return gettext('licensed to {placeholder_license_to}, expires on {placeholder_license_expiration}')\n .replace('{placeholder_license_to}', license_to).replace('{placeholder_license_expiration}', license_expiration);\n }\n };\n\n render() {\n let { license_mode, license_to, license_expiration, org_count,\n repos_count, total_files_count, total_storage, total_devices_count,\n current_connected_devices_count, license_maxusers, multi_tenancy_enabled,\n active_users_count, users_count, groups_count, with_license } = this.state.sysInfo;\n let { loading, errorMsg } = this.state;\n\n return (\n \n \n
    \n
    \n

    {gettext('Info')}

    \n
    \n {loading && }\n {errorMsg &&

    {errorMsg}

    }\n {(!loading && !errorMsg) &&\n
    \n
    {gettext('System Info')}
    \n {isPro ?\n
    \n {gettext('Professional Edition')}\n {with_license &&\n ' ' + this.renderLicenseDescString(license_mode, license_to, license_expiration)\n }
    \n {isDefaultAdmin &&\n \n \n \n \n }\n
    :\n
    \n {gettext('Community Edition')}\n {gettext('Upgrade to Pro Edition')}\n
    \n }\n
    {gettext('Libraries')} / {gettext('Files')}
    \n
    {repos_count} / {total_files_count}
    \n\n
    {gettext('Storage Used')}
    \n
    {Utils.bytesToSize(total_storage)}
    \n\n
    {gettext('Total Devices')} / {gettext('Current Connected Devices')}
    \n
    {total_devices_count} / {current_connected_devices_count}
    \n\n {isPro ?\n \n
    {gettext('Activated Users')} / {gettext('Total Users')} / {gettext('Limits')}
    \n
    {active_users_count}{' / '}{users_count}{' / '}{with_license ? license_maxusers : '--'}
    \n
    :\n \n
    {gettext('Activated Users')} / {gettext('Total Users')}
    \n
    {active_users_count} / {users_count}
    \n
    \n }\n\n
    {gettext('Groups')}
    \n
    {groups_count}
    \n\n {multi_tenancy_enabled &&\n \n
    {gettext('Organizations')}
    \n
    {org_count}
    \n
    \n }\n
    \n }\n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default Info;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'fileStatistic', urlPart: 'statistics/file', text: gettext('File')},\n {name: 'storageStatistic', urlPart: 'statistics/storage', text: gettext('Storage')},\n {name: 'usersStatistic', urlPart: 'statistics/user', text: gettext('Users')},\n {name: 'trafficStatistic', urlPart: 'statistics/traffic', text: gettext('Traffic')},\n {name: 'reportsStatistic', urlPart: 'statistics/reports', text: gettext('Reports')},\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport Calendar from '@seafile/seafile-calendar';\nimport DatePicker from '@seafile/seafile-calendar/lib/Picker';\nimport { translateCalendar } from '../../../utils/date-format-utils';\n\nimport '@seafile/seafile-calendar/assets/index.css';\n\nconst FORMAT = 'YYYY-MM-DD';\n\nclass Picker extends React.Component {\n\n constructor(props) {\n super(props);\n this.defaultCalendarValue = null;\n }\n\n componentDidMount() {\n let lang = window.app.config.lang;\n this.defaultCalendarValue = moment().locale(lang).clone();\n }\n\n render() {\n const props = this.props;\n const calendar = ();\n return (\n \n {\n ({value}) => {\n return (\n \n \n \n );\n }\n }\n \n );\n }\n}\n\nPicker.propTypes = {\n disabledDate: PropTypes.func.isRequired,\n value: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default Picker;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { gettext } from '../../../utils/constants';\nimport Picker from './picker';\n\nconst propTypes = {\n getActiviesFiles: PropTypes.func.isRequired,\n children: PropTypes.object,\n};\n\nclass StatisticCommonTool extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n statisticType: 'oneWeek',\n startValue: null,\n endValue: null,\n };\n }\n\n componentDidMount() {\n let today = moment().format('YYYY-MM-DD 00:00:00');\n let endTime = today;\n let startTime = moment().subtract(6,'d').format('YYYY-MM-DD 00:00:00');\n let group_by = 'day';\n this.props.getActiviesFiles(startTime, endTime, group_by);\n }\n\n changeActive = (statisticTypeName) => {\n let { statisticType } = this.state;\n if (statisticType === statisticTypeName) {\n return;\n }\n let today = moment().format('YYYY-MM-DD 00:00:00');\n let endTime = today;\n let startTime;\n switch(statisticTypeName) {\n case 'oneWeek' :\n startTime = moment().subtract(6,'d').format('YYYY-MM-DD 00:00:00');\n break;\n case 'oneMonth' :\n startTime = moment().subtract(29,'d').format('YYYY-MM-DD 00:00:00');\n break;\n case 'oneYear' :\n startTime = moment().subtract(364,'d').format('YYYY-MM-DD 00:00:00');\n break;\n }\n this.setState({\n statisticType: statisticTypeName,\n });\n let group_by = 'day';\n this.props.getActiviesFiles(startTime, endTime, group_by);\n };\n\n disabledStartDate = (startValue) => {\n if (!startValue) {\n return false;\n }\n let today = moment().format();\n\n const endValue = this.state.endValue;\n if (!endValue) {\n let startTime = moment(startValue).format();\n return today < startTime;\n }\n return endValue.isBefore(startValue) || moment(startValue).format() > today;\n };\n\n disabledEndDate = (endValue) => {\n if (!endValue) {\n return false;\n }\n let today = moment().format();\n const startValue = this.state.startValue;\n if (!startValue) {\n let endTime = moment(endValue).format();\n return today < endTime;\n }\n return endValue.isBefore(startValue) || moment(endValue).format() > today;\n };\n\n onChange = (field, value) => {\n this.setState({\n [field]: value,\n });\n };\n\n onSubmit = () => {\n let { startValue, endValue } = this.state;\n if(!startValue || !endValue) {\n return;\n }\n this.setState({\n statisticType: 'itemButton',\n });\n let startTime = moment(startValue).format('YYYY-MM-DD 00:00:00');\n let endTime = moment(endValue).format('YYYY-MM-DD 00:00:00');\n let group_by = 'day';\n this.props.getActiviesFiles(startTime, endTime, group_by);\n };\n\n render() {\n let { statisticType, endValue, startValue } = this.state;\n return(\n \n {this.props.children}\n
    \n
    \n
    {gettext('7 Days')}
    \n
    {gettext('30 Days')}
    \n
    {gettext('1 Year')}
    \n
    \n
    \n \n -\n \n \n
    \n
    \n
    \n );\n }\n}\n\nStatisticCommonTool.propTypes = propTypes;\n\nexport default StatisticCommonTool;\n","import React from 'react';\nimport { Line } from 'react-chartjs-2';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\n\nconst propTypes = {\n labels: PropTypes.array.isRequired,\n filesData: PropTypes.array.isRequired,\n suggestedMaxNumbers: PropTypes.number.isRequired,\n isLegendStatus: PropTypes.bool.isRequired,\n chartTitle: PropTypes.string.isRequired,\n isTitleCallback: PropTypes.bool,\n isTicksCallback: PropTypes.bool,\n};\n\nclass StatisticChart extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n data: {},\n opations: {}\n };\n }\n\n componentDidMount() {\n let { labels, filesData, isTitleCallback, isTicksCallback, suggestedMaxNumbers, isLegendStatus, chartTitle } = this.props;\n let _this = this;\n let data = {\n labels: labels,\n datasets: filesData\n };\n let options = {\n title: {\n display: true,\n fontSize: 14,\n text: chartTitle,\n },\n elements: {\n line: {\n fill: false,\n tension: 0, // disable bezier curves, i.e, draw straight lines\n borderWidth: 2\n }\n },\n legend: {\n display: isLegendStatus,\n labels: {\n usePointStyle: true\n }\n },\n tooltips: {\n callbacks: {\n label: function(tooltipItem, data) {\n if (isTitleCallback) {\n return _this.titleCallback(tooltipItem, data);\n }\n return data.datasets[tooltipItem.datasetIndex].label + ': ' + tooltipItem.yLabel;\n }\n }\n },\n layout: {\n padding: {\n right: 100,\n }\n },\n scales: {\n yAxes: [{\n ticks: {\n beginAtZero: true,\n suggestedMax: suggestedMaxNumbers,\n callback: function(value, index, values) {\n if (isTicksCallback) {\n return _this.ticksCallback(value, index, values);\n }\n return value;\n }\n }\n }],\n xAxes: [{\n ticks: {\n maxTicksLimit: 20\n }\n }]\n }\n };\n this.setState({\n data: data,\n options: options\n });\n }\n\n componentWillReceiveProps(nextProps) {\n let data = {\n labels: nextProps.labels,\n datasets: nextProps.filesData\n };\n this.setState({data: data});\n }\n\n titleCallback = (tooltipItem, data) => {\n return data.datasets[tooltipItem.datasetIndex].label + ': ' + Utils.bytesToSize(tooltipItem.yLabel);\n };\n\n ticksCallback = (value, index, values) => {\n return Utils.bytesToSize(value);\n };\n\n render() {\n\n let { data, options } = this.state;\n return (\n \n );\n }\n}\n\nStatisticChart.propTypes = propTypes;\n\nexport default StatisticChart;\n","import React, { Fragment } from 'react';\nimport moment from 'moment';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport StatisticNav from './statistic-nav';\nimport StatisticCommonTool from './statistic-common-tool';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport StatisticChart from './statistic-chart';\nimport Loading from '../../../components/loading';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nimport '../../../css/system-stat.css';\n\nclass StatisticFile extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n filesData: [],\n labels: [],\n isLoading: true\n };\n }\n\n getActiviesFiles = (startTime, endTime, groupBy) => {\n let { filesData } = this.state;\n seafileAPI.sysAdminStatisticFiles(startTime, endTime, groupBy).then((res) => {\n let labels = [],\n added = [],\n deleted = [],\n visited = [],\n modified = [];\n let data = res.data;\n if (Array.isArray(data)) {\n data.forEach(item => {\n labels.push(moment(item.datetime).format('YYYY-MM-DD'));\n added.push(item.added);\n deleted.push(item.deleted);\n modified.push(item.modified);\n visited.push(item.visited);\n });\n let addedData = {\n label: gettext('Added'),\n data: added,\n borderColor: '#57cd6b',\n backgroundColor: '#57cd6b'};\n let visitedData = {\n label: gettext('Visited'),\n data: visited,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n let modifiedData = {\n label: gettext('Modified'),\n data: modified,\n borderColor: '#72c3fc',\n backgroundColor: '#72c3fc'};\n let deletedData = {\n label: gettext('Deleted'),\n data: deleted,\n borderColor: '#f75356',\n backgroundColor: '#f75356'};\n filesData = [visitedData, addedData, modifiedData, deletedData];\n }\n this.setState({\n filesData: filesData,\n labels: labels,\n isLoading: false\n });\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let { labels, filesData, isLoading } = this.state;\n\n return(\n \n \n
    \n \n
    \n \n {isLoading && }\n {!isLoading && labels.length > 0 &&\n \n }\n
    \n
    \n
    \n );\n }\n}\n\nexport default StatisticFile;\n","import React, { Fragment } from 'react';\nimport moment from 'moment';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport StatisticNav from './statistic-nav';\nimport StatisticCommonTool from './statistic-common-tool';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport StatisticChart from './statistic-chart';\nimport Loading from '../../../components/loading';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nclass StatisticStorage extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n filesData: [],\n labels: [],\n isLoading: true\n };\n }\n\n getActiviesFiles = (startTime, endTime, groupBy) => {\n let { filesData } = this.state;\n seafileAPI.sysAdminStatisticStorages(startTime, endTime, groupBy).then((res) => {\n let labels = [],\n totalStorage = [];\n let data = res.data;\n if (Array.isArray(data)) {\n data.forEach(item => {\n labels.push(moment(item.datetime).format('YYYY-MM-DD'));\n totalStorage.push(item.total_storage);\n });\n let total_storage = {\n label: gettext('Total Storage'),\n data: totalStorage,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n filesData = [total_storage];\n }\n this.setState({\n filesData: filesData,\n labels: labels,\n isLoading: false\n });\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let { labels, filesData, isLoading } = this.state;\n return(\n \n \n
    \n \n
    \n \n {isLoading && }\n {!isLoading && labels.length > 0 &&\n \n }\n
    \n
    \n
    \n );\n }\n}\n\nexport default StatisticStorage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n type: PropTypes.string.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n sortItems: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([PropTypes.bool, PropTypes.array]),\n};\n\nclass TrafficTable extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { type, sortBy, sortOrder } = this.props;\n const sortIcon = sortOrder == 'asc' ? : ;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.props.children}\n \n
    {type == 'user' ? gettext('User') : gettext('Organization')}
    {gettext('Sync Upload')} {sortBy === 'sync_file_upload' && sortIcon}
    {gettext('Sync Download')} {sortBy === 'sync_file_download' && sortIcon}
    {gettext('Web Upload')} {sortBy === 'web_file_upload' && sortIcon}
    {gettext('Web Download')} {sortBy === 'web_file_download' && sortIcon}
    {gettext('Share link upload')} {sortBy === 'link_file_upload' && sortIcon}
    {gettext('Share link download')} {sortBy === 'link_file_download' && sortIcon}
    \n );\n }\n}\n\nTrafficTable.propTypes = propTypes;\n\nexport default TrafficTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { siteRoot } from '../../../utils/constants';\n\nconst propTypes = {\n type: PropTypes.string.isRequired,\n userTrafficItem: PropTypes.object.isRequired,\n};\n\nclass TrafficTableBody extends React.Component {\n\n trafficName = () => {\n let { userTrafficItem, type } = this.props;\n switch(type) {\n case 'user':\n if (userTrafficItem.name) {\n return (\n {userTrafficItem.name}\n );\n }\n return({'--'});\n case 'org':\n return({userTrafficItem.org_name});\n }\n };\n\n render() {\n let { userTrafficItem } = this.props;\n\n let syncUploadSize = Utils.bytesToSize(userTrafficItem.sync_file_upload);\n let syncDownloadSize = Utils.bytesToSize(userTrafficItem.sync_file_download);\n let webUploadSize = Utils.bytesToSize(userTrafficItem.web_file_upload);\n let webDownloadSize = Utils.bytesToSize(userTrafficItem.web_file_download);\n let linkUploadSize = Utils.bytesToSize(userTrafficItem.link_file_upload);\n let linkDownloadSize = Utils.bytesToSize(userTrafficItem.link_file_download);\n\n return(\n \n {this.trafficName()}\n {syncUploadSize}\n {syncDownloadSize}\n {webUploadSize}\n {webDownloadSize}\n {linkUploadSize}\n {linkDownloadSize}\n \n );\n }\n}\n\nTrafficTableBody.propTypes = propTypes;\n\nexport default TrafficTableBody;\n","import React, { Fragment } from 'react';\nimport { Input } from 'reactstrap';\nimport moment from 'moment';\nimport { gettext } from '../../../utils/constants';\nimport TrafficTable from './traffic-table';\nimport TrafficTableBody from './traffic-table-body';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport Paginator from '../../../components/paginator';\nimport Loading from '../../../components/loading';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nclass OrgsTraffic extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n orgTrafficList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n month: moment().format('YYYYMM'),\n isLoading: false,\n errorMessage: '',\n sortBy: 'link_file_download',\n sortOrder: 'desc'\n };\n this.initPage = 1;\n this.initMonth = moment().format('YYYYMM');\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getTrafficList(this.initMonth, this.state.currentPage);\n });\n }\n\n getPreviousPage = () => {\n this.getTrafficList(this.state.month, this.state.currentPage - 1);\n };\n\n getNextPage = () => {\n this.getTrafficList(this.state.month, this.state.currentPage + 1);\n };\n\n handleChange = (e) => {\n let month = e.target.value;\n this.setState({\n month: month\n });\n };\n\n handleKeyPress = (e) => {\n let { month } = this.state;\n if (e.key === 'Enter') {\n let pattern = /^([012]\\d{3})(0[1-9]|1[012])$/;\n if (!pattern.test(month)) {\n let errorMessage = gettext('Invalid month, should be yyyymm.');\n this.setState({\n errorMessage: errorMessage\n });\n return;\n }\n this.getTrafficList(month, this.initPage);\n e.target.blur();\n e.preventDefault();\n }\n };\n\n getTrafficList = (month, page) => {\n const { perPage, sortBy, sortOrder } = this.state;\n const orderBy = sortOrder == 'asc' ? sortBy : `${sortBy}_${sortOrder}`;\n this.setState({isLoading: true, errorMessage: ''});\n seafileAPI.sysAdminListOrgTraffic(month, page, perPage, orderBy).then(res => {\n let orgTrafficList = res.data.org_monthly_traffic_list.slice(0);\n this.setState({\n month: month,\n currentPage: page,\n orgTrafficList: orgTrafficList,\n hasNextPage: res.data.has_next_page,\n isLoading: false\n });\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n sortItems = (sortBy) => {\n this.setState({\n sortBy: sortBy,\n sortOrder: this.state.sortOrder == 'asc' ? 'desc' : 'asc'\n }, () => {\n const { month, currentPage } = this.state;\n this.getTrafficList(month, currentPage);\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getTrafficList(this.initPage, this.initMonth));\n };\n\n render() {\n const {\n isLoading, errorMessage, orgTrafficList,\n currentPage, hasNextPage, perPage,\n sortBy, sortOrder\n } = this.state;\n return (\n \n
    \n {gettext('Month:')}\n \n {errorMessage &&
    {errorMessage}
    }\n
    \n {isLoading && }\n {!isLoading &&\n \n {orgTrafficList.length > 0 && orgTrafficList.map((item, index) => {\n return(\n \n );\n })}\n \n }\n \n
    \n );\n }\n}\n\nexport default OrgsTraffic;\n","import React, { Fragment } from 'react';\nimport { Input } from 'reactstrap';\nimport TrafficTable from './traffic-table';\nimport TrafficTableBody from './traffic-table-body';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport Paginator from '../../../components/paginator';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nclass UsersTraffic extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n userTrafficList: [],\n hasNextPage: false,\n perPage: 25,\n currentPage: 1,\n month: moment().format('YYYYMM'),\n isLoading: false,\n errorMessage: '',\n sortBy: 'link_file_download',\n sortOrder: 'desc'\n };\n this.initPage = 1;\n this.initMonth = moment().format('YYYYMM');\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getTrafficList(this.initMonth, this.state.currentPage);\n });\n }\n\n getPreviousPage = () => {\n this.getTrafficList(this.state.month, this.state.currentPage - 1);\n };\n\n getNextPage = () => {\n this.getTrafficList(this.state.month, this.state.currentPage + 1);\n };\n\n handleChange = (e) => {\n let month = e.target.value;\n this.setState({\n month: month\n });\n };\n\n handleKeyPress = (e) => {\n let { month } = this.state;\n if (e.key === 'Enter') {\n let pattern = /^([012]\\d{3})(0[1-9]|1[012])$/;\n if (!pattern.test(month)) {\n let errorMessage = gettext('Invalid month, should be yyyymm.');\n this.setState({\n errorMessage: errorMessage\n });\n return;\n }\n this.getTrafficList(month, this.initPage);\n e.target.blur();\n e.preventDefault();\n }\n };\n\n getTrafficList = (month, page) => {\n const { perPage, sortBy, sortOrder } = this.state;\n const orderBy = sortOrder == 'asc' ? sortBy : `${sortBy}_${sortOrder}`;\n this.setState({\n isLoading: true,\n errorMessage: ''\n });\n seafileAPI.sysAdminListUserTraffic(month, page, perPage, orderBy).then(res => {\n let userTrafficList = res.data.user_monthly_traffic_list.slice(0);\n this.setState({\n month: month,\n currentPage: page,\n userTrafficList: userTrafficList,\n hasNextPage: res.data.has_next_page,\n isLoading: false\n });\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n sortItems = (sortBy) => {\n this.setState({\n sortBy: sortBy,\n sortOrder: this.state.sortOrder == 'asc' ? 'desc' : 'asc'\n }, () => {\n const { month, currentPage } = this.state;\n this.getTrafficList(month, currentPage);\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getTrafficList(this.initMonth, this.initPage));\n };\n\n render() {\n const {\n isLoading, errorMessage, userTrafficList,\n currentPage, hasNextPage, perPage,\n sortBy, sortOrder\n } = this.state;\n return (\n \n
    \n {gettext('Month:')}\n \n {errorMessage &&
    {errorMessage}
    }\n
    \n {isLoading && }\n {!isLoading &&\n \n {userTrafficList.length > 0 && userTrafficList.map((item, index) => {\n return(\n \n );\n })}\n \n }\n \n
    \n );\n }\n}\n\nexport default UsersTraffic;\n","import React, { Fragment } from 'react';\nimport moment from 'moment';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport StatisticNav from './statistic-nav';\nimport StatisticCommonTool from './statistic-common-tool';\nimport Loading from '../../../components/loading';\nimport OrgsTraffic from './statistic-traffic-orgs';\nimport UsersTraffic from './statistic-traffic-users';\nimport StatisticChart from './statistic-chart';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nclass StatisticTraffic extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n filesData: [],\n linkData: [],\n syncData: [],\n webData: [],\n labels: [],\n isLoading: true,\n tabActive: 'system'\n };\n }\n\n changeTabActive = activeName => {\n this.setState({tabActive: activeName});\n };\n\n getActiviesFiles = (startTime, endTime, groupBy) => {\n seafileAPI.sysAdminStatisticTraffic(startTime, endTime, groupBy).then((res) => {\n let labels = [];\n let total_upload = [],\n total_download = [],\n link_upload = [],\n link_download = [],\n sync_upload = [],\n sync_download = [],\n web_upload = [],\n web_download = [];\n let data = res.data;\n if (Array.isArray(data)) {\n data.forEach(item => {\n labels.push(moment(item.datetime).format('YYYY-MM-DD'));\n link_upload.push(item['link-file-upload']);\n link_download.push(item['link-file-download']);\n sync_upload.push(item['sync-file-upload']);\n sync_download.push(item['sync-file-download']);\n web_upload.push(item['web-file-upload']);\n web_download.push(item['web-file-download']);\n total_upload.push(item['link-file-upload'] + item['sync-file-upload'] + item['web-file-upload']);\n total_download.push(item['link-file-download'] + item['sync-file-download'] + item['web-file-download']);\n });\n let linkUpload = {\n label: gettext('Upload'),\n data: link_upload,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n let linkDownload = {\n label: gettext('Download'),\n data: link_download,\n borderColor: '#57cd6b',\n backgroundColor: '#57cd6b'};\n let syncUpload = {\n label: gettext('Upload'),\n data: sync_upload,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n let syncDownload = {\n label: gettext('Download'),\n data: sync_download,\n borderColor: '#57cd6b',\n backgroundColor: '#57cd6b'};\n let webUpload = {\n label: gettext('Upload'),\n data: web_upload,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n let webDownload = {\n label: gettext('Download'),\n data: web_download,\n borderColor: '#57cd6b',\n backgroundColor: '#57cd6b'};\n let totalUpload = {\n label: gettext('Upload'),\n data: total_upload,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n let totalDownload = {\n label: gettext('Download'),\n data: total_download,\n borderColor: '#57cd6b',\n backgroundColor: '#57cd6b'};\n let linkData = [linkUpload, linkDownload];\n let syncData = [syncUpload, syncDownload];\n let webData = [webUpload, webDownload];\n let filesData = [totalUpload, totalDownload];\n this.setState({\n linkData: linkData,\n syncData: syncData,\n webData: webData,\n filesData: filesData,\n labels: labels,\n isLoading: false\n });\n }\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n renderCommonTool = () => {\n let { tabActive } = this.state;\n if (tabActive === 'system') {\n return (\n \n
    \n
    {gettext('System')}
    \n
    {gettext('Users')}
    \n
    {gettext('Organizations')}
    \n
    \n
    \n );\n }\n return (\n
    \n
    {gettext('System')}
    \n
    {gettext('Users')}
    \n
    {gettext('Organizations')}
    \n
    \n );\n };\n\n render() {\n let { labels, filesData, linkData, syncData, webData, isLoading, tabActive } = this.state;\n\n return (\n \n \n
    \n \n
    \n {this.renderCommonTool()}\n {isLoading && }\n {!isLoading && tabActive === 'system' &&\n
    \n
    \n {labels.length > 0 &&\n \n }\n
    \n
    \n {labels.length > 0 &&\n \n }\n
    \n
    \n {labels.length > 0 &&\n \n }\n
    \n
    \n {labels.length > 0 &&\n \n }\n
    \n
    \n }\n {!isLoading && tabActive === 'user' &&\n \n }\n {!isLoading && tabActive === 'organizations' &&\n \n }\n
    \n
    \n
    \n );\n }\n}\n\nexport default StatisticTraffic;\n","import React, { Fragment } from 'react';\nimport moment from 'moment';\nimport { gettext } from '../../../utils/constants';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport StatisticNav from './statistic-nav';\nimport StatisticCommonTool from './statistic-common-tool';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport StatisticChart from './statistic-chart';\nimport Loading from '../../../components/loading';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nclass StatisticUsers extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n filesData: [],\n labels: [],\n isLoading: true,\n };\n }\n\n getActiviesFiles = (startTime, endTime, groupBy) => {\n let { filesData } = this.state;\n seafileAPI.sysAdminStatisticActiveUsers(startTime, endTime, groupBy).then((res) => {\n let labels = [],\n count = [];\n let data = res.data;\n if (Array.isArray(data)) {\n data.forEach(item => {\n labels.push(moment(item.datetime).format('YYYY-MM-DD'));\n count.push(item.count);\n });\n let userCount = {\n label: gettext('Active Users'),\n data: count,\n borderColor: '#fd913a',\n backgroundColor: '#fd913a'};\n filesData = [userCount];\n }\n this.setState({\n filesData: filesData,\n labels: labels,\n isLoading: false\n });\n }).catch(err => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let { labels, filesData, isLoading } = this.state;\n return (\n \n \n
    \n \n
    \n \n {isLoading && }\n {!isLoading && labels.length > 0 &&\n \n }\n
    \n
    \n
    \n );\n }\n}\n\nexport default StatisticUsers;\n","import React, { Fragment } from 'react';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport moment from 'moment';\nimport StatisticNav from './statistic-nav';\nimport { Button, Input } from 'reactstrap';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nclass StatisticReports extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n month: moment().format('YYYYMM'),\n errorMessage: ''\n };\n }\n\n handleChange = (e) => {\n let month = e.target.value;\n this.setState({\n month: month\n });\n };\n\n onGenerateReports = (type) => {\n let url = siteRoot + 'api/v2.1/admin/statistics/';\n let { month } = this.state;\n if (!month) {\n let errorMessage = gettext('It is required.');\n this.setState({\n errorMessage: errorMessage\n });\n return;\n }\n if (type === 'month') {\n let pattern = /^([012]\\d{3})(0[1-9]|1[012])$/;\n if (!pattern.test(month)) {\n let errorMessage = gettext('Invalid month, should be yyyymm.');\n this.setState({\n errorMessage: errorMessage\n });\n return;\n }\n }\n switch(type) {\n case 'month':\n url += 'system-user-traffic/excel/?month=' + month;\n break;\n case 'storage':\n url += 'system-user-storage/excel/?';\n break;\n }\n this.setState({\n errorMessage: ''\n });\n window.location.href = url;\n };\n\n render() {\n\n let { errorMessage } = this.state;\n return(\n \n \n
    \n \n
    \n
    \n
    {gettext('Monthly User Traffic')}
    \n
    \n {gettext('Month:')}\n \n \n
    \n {errorMessage &&
    {errorMessage}
    }\n
    \n
    \n
    {gettext('User Storage')}
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default StatisticReports;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext, isPro } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'desktop', urlPart:'desktop-devices', text: gettext('Desktop')},\n {name: 'mobile', urlPart:'mobile-devices', text: gettext('Mobile')}\n ];\n if (isPro) {\n this.navItems.push({name: 'errors', urlPart:'device-errors', text: gettext('Errors')});\n }\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport SysAdminUnlinkDevice from '../../../components/dialog/sysadmin-dialog/sysadmin-unlink-device-dialog';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPageDevicesList = () => {\n this.props.getDevicesListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPageDevicesList = () => {\n this.props.getDevicesListByPage(this.props.pageInfo.current_page + 1);\n };\n\n render() {\n const { loading, errorMsg, items, pageInfo, curPerPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No connected devices')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('User')}{gettext('Platform')}{' / '}{gettext('Version')}{gettext('Device Name')}{gettext('IP')}{gettext('Last Access')}{/*Operations*/}
    \n \n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getDevicesListByPage: PropTypes.func.isRequired,\n curPerPage: PropTypes.number,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n unlinked: false,\n isOpIconShown: false,\n isUnlinkDeviceDialogOpen: false\n };\n }\n\n handleMouseOver = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseOut = () => {\n this.setState({isOpIconShown: false});\n };\n\n handleUnlink = (e) => {\n e.preventDefault();\n if (this.props.item.is_desktop_client) {\n this.toggleUnlinkDeviceDialog();\n } else {\n this.unlinkDevice(true);\n }\n };\n\n toggleUnlinkDeviceDialog = () => {\n this.setState({isUnlinkDeviceDialogOpen: !this.state.isUnlinkDeviceDialogOpen});\n };\n\n unlinkDevice = (deleteFiles) => {\n const { platform, device_id, user } = this.props.item;\n seafileAPI.sysAdminUnlinkDevice(platform, device_id, user, deleteFiles).then((res) => {\n this.setState({unlinked: true});\n let message = gettext('Successfully unlinked the device.');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const item = this.props.item;\n const { unlinked, isUnlinkDeviceDialogOpen, isOpIconShown } = this.state;\n\n if (unlinked) {\n return null;\n }\n\n return (\n \n \n {item.user_name}\n {item.platform}{' / '}{item.client_version}\n {item.device_name}\n {item.last_login_ip}\n \n {moment(item.last_accessed).fromNow()}\n \n \n \n \n \n {isUnlinkDeviceDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass DevicesByPlatform extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n devicesData: {},\n pageInfo: {},\n perPage: 25\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage = 1, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getDevicesListByPage(this.state.currentPage);\n });\n }\n\n getDevicesListByPage = (page) => {\n let platform = this.props.devicesPlatform;\n let per_page = this.state.perPage;\n seafileAPI.sysAdminListDevices(platform, page, per_page).then((res) => {\n this.setState({\n devicesData: res.data.devices,\n pageInfo: res.data.page_info,\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getDevicesListByPage(1);\n });\n };\n\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\nDevicesByPlatform.propTypes = {\n devicesPlatform: PropTypes.string.isRequired,\n};\n\nexport default DevicesByPlatform;\n","import React, { Component, Fragment } from 'react';\nimport DevicesNav from './devices-nav';\nimport DevicesByPlatform from './devices-by-platform';\nimport MainPanelTopbar from '../main-panel-topbar';\n\nclass DesktopDevices extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n \n \n
    \n
    \n \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default DesktopDevices;\n","import React, { Component, Fragment } from 'react';\nimport DevicesNav from './devices-nav';\nimport DevicesByPlatform from './devices-by-platform';\nimport MainPanelTopbar from '../main-panel-topbar';\n\nclass MobileDevices extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n \n \n
    \n
    \n \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default MobileDevices;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot } from '../../utils/constants';\n\nconst propTypes = {\n email: PropTypes.string,\n name: PropTypes.string.isRequired\n};\n\nclass UserLink extends Component {\n\n render() {\n return {this.props.name};\n }\n}\n\nUserLink.propTypes = propTypes;\n\nexport default UserLink;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport { Link } from '@gatsbyjs/reach-router';\nimport DevicesNav from './devices-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport Paginator from '../../../components/paginator';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPageDeviceErrorsList = () => {\n this.props.getDeviceErrorsListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPageDeviceErrorsList = () => {\n this.props.getDeviceErrorsListByPage(this.props.pageInfo.current_page + 1);\n };\n\n render() {\n const { loading, errorMsg, items, pageInfo, curPerPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No sync errors')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('User')}{gettext('Device')}{' / '}{gettext('Version')}{gettext('IP')}{gettext('Library')}{gettext('Error')}{gettext('Time')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getDeviceErrorsListByPage: PropTypes.func,\n curPerPage: PropTypes.number,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseOut = () => {\n this.setState({isOpIconShown: false});\n };\n\n render() {\n let item = this.props.item;\n return (\n \n \n {item.device_name}{' / '}{item.client_version}\n {item.device_ip}\n {item.repo_name}\n {item.error_msg}\n \n {moment(item.error_time).fromNow()}\n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass DeviceErrors extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n devicesErrors: [],\n isCleanBtnShown: false,\n pageInfo: {},\n perPage: 25\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage = 1, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getDeviceErrorsListByPage(this.state.currentPage);\n });\n }\n\n getDeviceErrorsListByPage = (page) => {\n let per_page = this.state.perPage;\n seafileAPI.sysAdminListDeviceErrors(page, per_page).then((res) => {\n this.setState({\n loading: false,\n devicesErrors: res.data.device_errors,\n pageInfo: res.data.page_info,\n isCleanBtnShown: res.data.length > 0\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n clean = () => {\n seafileAPI.sysAdminClearDeviceErrors().then((res) => {\n this.setState({\n devicesErrors: [],\n isCleanBtnShown: false\n });\n let message = gettext('Successfully cleaned all errors.');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getDeviceErrorsListByPage(1);\n });\n };\n render() {\n return (\n \n {this.state.isCleanBtnShown ? (\n \n \n \n ) : (\n \n )}\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default DeviceErrors;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n updateQuota: PropTypes.func.isRequired\n};\n\nclass SetQuotaDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n quota: '',\n isSubmitBtnActive: false\n };\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n handleQuotaChange = (e) => {\n const value = e.target.value;\n this.setState({\n quota: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleSubmit = () => {\n this.props.updateQuota(this.state.quota.trim());\n this.toggle();\n };\n\n render() {\n const { quota, isSubmitBtnActive } = this.state;\n return (\n \n {gettext('Set Quota')}\n \n
    \n \n \n \n \n MB\n \n \n

    \n {gettext('An integer that is greater than or equal to 0.')}\n
    \n {gettext('Tip: 0 means default limit')}\n

    \n
    \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSetQuotaDialog.propTypes = propTypes;\n\nexport default SetQuotaDialog;\n","\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert, Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport { gettext, siteRoot } from '../../../utils/constants';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n importUserInBatch: PropTypes.func.isRequired,\n};\n\nclass SysAdminImportUserDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n errorMsg: ''\n };\n this.fileInputRef = React.createRef();\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n openFileInput = () => {\n this.fileInputRef.current.click();\n };\n\n uploadFile = (e) => {\n // no file selected\n if (!this.fileInputRef.current.files.length) {\n return;\n }\n // check file extension\n let fileName = this.fileInputRef.current.files[0].name;\n if(fileName.substr(fileName.lastIndexOf('.') + 1) != 'xlsx') {\n this.setState({\n errorMsg: gettext('Please choose a .xlsx file.')\n });\n return;\n }\n const file = this.fileInputRef.current.files[0];\n this.props.importUserInBatch(file);\n this.toggle();\n };\n\n render() {\n let { errorMsg } = this.state;\n return (\n \n {gettext('Import users from a .xlsx file')}\n \n

    {gettext('Download an example file')}

    \n \n \n {errorMsg && {errorMsg}}\n
    \n \n \n \n
    \n );\n }\n}\n\nSysAdminImportUserDialog.propTypes = propTypes;\n\nexport default SysAdminImportUserDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport SelectEditor from './select-editor';\n\nconst propTypes = {\n isTextMode: PropTypes.bool.isRequired,\n isEditIconShow: PropTypes.bool.isRequired,\n roleOptions: PropTypes.array.isRequired,\n currentRole: PropTypes.string.isRequired,\n onRoleChanged: PropTypes.func.isRequired\n};\n\nclass SysAdminUserRoleEditor extends React.Component {\n\n translateRoles = (role) => {\n switch (role) {\n case 'default':\n return gettext('Default');\n case 'guest':\n return gettext('Guest');\n default:\n return role;\n }\n };\n\n render() {\n return (\n \n );\n }\n}\n\nSysAdminUserRoleEditor.propTypes = propTypes;\n\nexport default SysAdminUserRoleEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert, Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, Input, InputGroup, InputGroupAddon } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport SysAdminUserRoleEditor from '../../../components/select-editor/sysadmin-user-role-editor';\n\nconst propTypes = {\n availableRoles: PropTypes.array.isRequired,\n dialogTitle: PropTypes.string.isRequired,\n showRole: PropTypes.bool.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n addUser: PropTypes.func.isRequired\n};\n\nclass SysAdminAddUserDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n errorMsg: '',\n isPasswordVisible: false,\n password: '',\n passwordAgain: '',\n email: '',\n name: '',\n role: 'default',\n isSubmitBtnActive: false\n };\n }\n\n checkSubmitBtnActive = () => {\n const { email, password, passwordAgain } = this.state;\n let btnActive = true;\n if (email.trim() &&\n password.trim() &&\n passwordAgain.trim()) {\n btnActive = true;\n } else {\n btnActive = false;\n }\n this.setState({\n isSubmitBtnActive: btnActive\n });\n };\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n togglePasswordVisible = () => {\n this.setState({isPasswordVisible: !this.state.isPasswordVisible});\n };\n\n inputPassword = (e) => {\n let passwd = e.target.value;\n this.setState({\n password: passwd,\n errorMsg: ''\n }, this.checkSubmitBtnActive);\n };\n\n inputPasswordAgain = (e) => {\n let passwd = e.target.value;\n this.setState({\n passwordAgain: passwd,\n errorMsg: ''\n }, this.checkSubmitBtnActive);\n };\n\n generatePassword = () => {\n let val = Utils.generatePassword(8);\n this.setState({\n password: val,\n passwordAgain: val\n }, this.checkSubmitBtnActive);\n };\n\n inputEmail = (e) => {\n let email = e.target.value;\n this.setState({\n email: email\n }, this.checkSubmitBtnActive);\n };\n\n inputName = (e) => {\n let name = e.target.value;\n this.setState({\n name: name\n });\n };\n\n updateRole = (role) => {\n this.setState({\n role: role\n });\n };\n\n handleSubmit = () => {\n const { email, password, passwordAgain, name, role } = this.state;\n if (password != passwordAgain) {\n this.setState({errorMsg: gettext('Passwords do not match.')});\n return;\n }\n let data = {\n email: email.trim(),\n name: name.trim(),\n password: password.trim()\n };\n if (this.props.showRole) {\n data.role = role;\n }\n this.props.addUser(data);\n this.toggle();\n };\n\n render() {\n const { dialogTitle, showRole } = this.props;\n const {\n errorMsg, isPasswordVisible,\n email, name, role, password, passwordAgain,\n isSubmitBtnActive\n } = this.state;\n return (\n \n {dialogTitle || gettext('Add Member')}\n \n
    \n \n \n \n \n \n \n \n \n {showRole &&\n \n \n \n \n }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {errorMsg && {errorMsg}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminAddUserDialog.propTypes = propTypes;\n\nexport default SysAdminAddUserDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport UserSelect from '../../user-select';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n addAdminInBatch: PropTypes.func.isRequired,\n};\n\nclass SysAdminBatchAddAdminDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n options: null,\n isSubmitBtnActive: false\n };\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n handleSelectChange = (options) => {\n this.setState({\n options: options,\n isSubmitBtnActive: options.length > 0\n });\n };\n\n handleSubmit = () => {\n this.props.addAdminInBatch(this.state.options.map(item => item.email));\n this.toggle();\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n render() {\n return (\n \n {gettext('Add Admin')}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nSysAdminBatchAddAdminDialog.propTypes = propTypes;\n\nexport default SysAdminBatchAddAdminDialog;\n","class SysAdminUser {\n constructor(object) {\n this.email = object.email;\n this.name = object.name;\n this.contact_email = object.contact_email;\n this.login_id = object.login_id;\n this.last_login = object.last_login;\n this.last_access_time = object.last_access_time;\n this.create_time = object.create_time;\n this.is_active = object.is_active;\n this.is_staff = object.is_staff;\n this.reference_id = object.reference_id;\n this.department = object.department;\n this.quota_total = object.quota_total;\n this.quota_usage = object.quota_usage;\n this.role = object.role;\n this.institution = object.institution;\n if (object.org_id) {\n this.org_id = object.org_id;\n }\n if (object.org_name) {\n this.org_name = object.org_name;\n }\n this.isSelected = false;\n }\n}\n\nexport default SysAdminUser;\n","\nclass SysAdminAdminUser {\n constructor(object) {\n this.email = object.email;\n this.name = object.name;\n this.contact_email = object.contact_email;\n this.login_id = object.login_id;\n this.last_login = object.last_login;\n this.last_access_time = object.last_access_time;\n this.create_time = object.create_time;\n this.is_active = object.is_active;\n this.is_staff = object.is_staff;\n this.quota_total = object.quota_total;\n this.quota_usage = object.quota_usage;\n this.admin_role = object.admin_role;\n this.isSelected = false;\n }\n}\n\nexport default SysAdminAdminUser;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {\n placeholder: PropTypes.string.isRequired,\n submit: PropTypes.func.isRequired\n};\n\nclass Search extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: ''\n };\n }\n\n handleInputChange = (e) => {\n this.setState({\n value: e.target.value\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n e.preventDefault();\n this.handleSubmit();\n }\n };\n\n handleSubmit = () => {\n const value = this.state.value.trim();\n if (!value) {\n return false;\n }\n this.props.submit(value);\n };\n\n render() {\n return (\n
    \n \n \n
    \n );\n }\n}\n\nSearch.propTypes = propTypes;\n\nexport default Search;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext, haveLDAP, isDefaultAdmin } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'database', urlPart: 'users', text: gettext('Database')}\n ];\n if (haveLDAP) {\n this.navItems.push(\n {name: 'ldap', urlPart: 'users/ldap', text: gettext('LDAP')},\n {name: 'ldap-imported', urlPart: 'users/ldap-imported', text: gettext('LDAP(imported)')}\n );\n }\n if (isDefaultAdmin) {\n this.navItems.push(\n {name: 'admin', urlPart: 'users/admins', text: gettext('Admin')}\n );\n }\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport SelectEditor from './select-editor';\n\nconst propTypes = {\n isTextMode: PropTypes.bool.isRequired,\n isEditIconShow: PropTypes.bool.isRequired,\n statusOptions: PropTypes.array.isRequired,\n currentStatus: PropTypes.string.isRequired,\n onStatusChanged: PropTypes.func.isRequired\n};\n\nclass SysAdminUserStatusEditor extends React.Component {\n\n translateStatus = (status) => {\n switch (status) {\n case 'active':\n return gettext('Active');\n case 'inactive':\n return gettext('Inactive');\n }\n };\n\n render() {\n return (\n \n );\n }\n}\n\nSysAdminUserStatusEditor.propTypes = propTypes;\n\nexport default SysAdminUserStatusEditor;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { isPro, username, gettext, multiInstitution, siteRoot } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport SysAdminUserStatusEditor from '../../../components/select-editor/sysadmin-user-status-editor';\nimport SysAdminUserRoleEditor from '../../../components/select-editor/sysadmin-user-role-editor';\nimport SelectEditor from '../../../components/select-editor/select-editor';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport SysAdminUserSetQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport UserLink from '../user-link';\n\nconst { availableRoles, availableAdminRoles, institutions } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.currentPage + 1);\n };\n\n sortByQuotaUsage = (e) => {\n e.preventDefault();\n this.props.sortByQuotaUsage();\n };\n\n render() {\n const {\n isAdmin, loading, errorMsg, items, isAllUsersSelected,\n curPerPage, hasNextPage, currentPage,\n sortBy, sortOrder\n } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No users')}

    \n
    \n );\n\n\n let columns = [];\n\n let sortIcon;\n if (sortBy == '') {\n // initial sort icon\n sortIcon = ;\n } else {\n sortIcon = ;\n }\n const spaceText = gettext('Space Used');\n const spaceEl =\n sortBy != undefined ? // only offer 'sort' for 'DB' & 'LDAPImported' users\n {spaceText} {sortIcon} :\n spaceText;\n const colSpaceText = {spaceEl}{` / ${gettext('Quota')}`};\n\n const colNameText = `${gettext('Name')} / ${gettext('Contact Email')}`;\n const colCreatedText = `${gettext('Created At')} / ${gettext('Last Login')} / ${gettext('Last Access')}`;\n if (isPro) {\n columns.push(\n {width: '20%', text: colNameText},\n {width: '15%', text: gettext('Status')},\n {width: '15%', text: gettext('Role')}\n );\n } else {\n columns.push(\n {width: '30%', text: colNameText},\n {width: '20%', text: gettext('Status')}\n );\n }\n if (multiInstitution && !isAdmin) {\n columns.push(\n {width: '14%', text: colSpaceText},\n {width: '14%', text: gettext('Institution')},\n {width: '14%', text: colCreatedText},\n {width: '5%', text: ''}\n );\n } else {\n columns.push(\n {width: '20%', text: colSpaceText},\n {width: '22%', text: colCreatedText},\n {width: '5%', text: ''}\n );\n }\n\n const table = (\n \n \n \n \n \n {columns.map((item, index) => {\n return ;\n })}\n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    \n \n {item.text}
    \n {(!this.props.isAdmin && !this.props.isSearchResult) &&\n \n }\n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool,\n errorMsg: PropTypes.string,\n items: PropTypes.array,\n deleteItem: PropTypes.func,\n isAdmin: PropTypes.bool,\n isLDAPImported: PropTypes.bool,\n isSearchResult: PropTypes.bool,\n sortBy: PropTypes.string,\n sortByQuotaUsage: PropTypes.func,\n getListByPage: PropTypes.func,\n currentPage: PropTypes.number,\n toggleSelectAllUsers: PropTypes.func,\n isAllUsersSelected: PropTypes.bool,\n resetPerPage: PropTypes.func,\n updateUser: PropTypes.func,\n deleteUser: PropTypes.func,\n updateAdminRole: PropTypes.func,\n revokeAdmin: PropTypes.func,\n onUserSelected: PropTypes.func,\n curPerPage: PropTypes.number,\n hasNextPage: PropTypes.bool,\n sortOrder: PropTypes.string,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isSetQuotaDialogOpen: false,\n isDeleteUserDialogOpen: false,\n isResetUserPasswordDialogOpen: false,\n isRevokeAdminDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleSetQuotaDialog = () => {\n this.setState({isSetQuotaDialogOpen: !this.state.isSetQuotaDialogOpen});\n };\n\n toggleDeleteUserDialog = () => {\n this.setState({isDeleteUserDialogOpen: !this.state.isDeleteUserDialogOpen});\n };\n\n toggleResetUserPasswordDialog = () => {\n this.setState({isResetUserPasswordDialogOpen: !this.state.isResetUserPasswordDialogOpen});\n };\n\n toggleRevokeAdminDialog = () => {\n this.setState({isRevokeAdminDialogOpen: !this.state.isRevokeAdminDialogOpen});\n };\n\n onUserSelected = () => {\n this.props.onUserSelected(this.props.item);\n };\n\n updateStatus= (value) => {\n const isActive = value == 'active';\n if (isActive) {\n toaster.notify(gettext('It may take some time, please wait.'));\n }\n this.props.updateUser(this.props.item.email, 'is_active', isActive);\n };\n\n updateRole = (value) => {\n this.props.updateUser(this.props.item.email, 'role', value);\n };\n\n updateAdminRole = (value) => {\n this.props.updateAdminRole(this.props.item.email, value);\n };\n\n translateAdminRole = (role) => {\n switch (role) {\n case 'default_admin':\n return gettext('Default Admin');\n case 'system_admin':\n return gettext('System Admin');\n case 'daily_admin':\n return gettext('Daily Admin');\n case 'audit_admin':\n return gettext('Audit Admin');\n default:\n return role;\n }\n };\n\n updateInstitution = (value) => {\n this.props.updateUser(this.props.item.email, 'institution', value);\n };\n\n translateInstitution = (inst) => {\n return inst;\n };\n\n updateQuota = (value) => {\n this.props.updateUser(this.props.item.email, 'quota_total', value);\n };\n\n deleteUser = () => {\n toaster.notify(gettext('It may take some time, please wait.'));\n this.props.deleteUser(this.props.item.email, this.props.item.name);\n };\n\n resetPassword = () => {\n toaster.notify(gettext('It may take some time, please wait.'));\n seafileAPI.sysAdminResetUserPassword(this.props.item.email).then(res => {\n toaster.success(res.data.reset_tip);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n revokeAdmin = () => {\n const { item } = this.props;\n this.props.revokeAdmin(item.email, item.name);\n };\n\n getMenuOperations = () => {\n const {\n isAdmin, isLDAPImported,\n isSearchResult, item\n } = this.props;\n let list = ['Delete'];\n if (!isLDAPImported ||\n (isSearchResult && item.source == 'db')) {\n list.push('Reset Password');\n }\n if (isAdmin) {\n list = ['Revoke Admin'];\n }\n return list;\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch (item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Reset Password':\n translateResult = gettext('Reset Password');\n break;\n case 'Revoke Admin':\n translateResult = gettext('Revoke Admin');\n break;\n }\n\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Delete':\n this.toggleDeleteUserDialog();\n break;\n case 'Reset Password':\n this.toggleResetUserPasswordDialog();\n break;\n case 'Revoke Admin':\n this.toggleRevokeAdminDialog();\n break;\n default:\n break;\n }\n };\n\n render() {\n const { item, isAdmin } = this.props;\n const {\n isOpIconShown,\n isSetQuotaDialogOpen,\n isDeleteUserDialogOpen,\n isResetUserPasswordDialogOpen,\n isRevokeAdminDialogOpen\n } = this.state;\n\n const itemName = '' + Utils.HTMLescape(item.name) + '';\n const deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n const resetPasswordDialogMsg = gettext('Are you sure you want to reset the password of {placeholder} ?').replace('{placeholder}', itemName);\n const revokeAdminDialogMsg = gettext('Are you sure you want to revoke the admin permission of {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n \n \n \n \n \n {item.contact_email &&\n \n
    \n {item.contact_email}\n
    }\n {item.org_id &&\n \n
    \n ({item.org_name})\n
    \n }\n \n \n \n \n {isPro &&\n \n {isAdmin ?\n :\n \n }\n \n }\n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}\n \n \n \n {(multiInstitution && !isAdmin) &&\n \n 0}\n options={institutions}\n currentOption={item.institution}\n onOptionChanged={this.updateInstitution}\n translateOption={this.translateInstitution}\n />\n \n }\n \n {`${item.create_time ? moment(item.create_time).format('YYYY-MM-DD HH:mm') : '--'} /`}\n
    \n {`${item.last_login ? moment(item.last_login).fromNow() : '--'}`}\n
    \n {`${item.last_access_time ? moment(item.last_access_time).fromNow() : '--'}`}\n \n \n {(item.email != username && isOpIconShown) &&\n \n }\n \n \n {isSetQuotaDialogOpen &&\n \n }\n {isDeleteUserDialogOpen &&\n \n }\n {isResetUserPasswordDialogOpen &&\n \n }\n {isRevokeAdminDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object,\n isItemFreezed: PropTypes.bool,\n isAdmin: PropTypes.bool,\n isLDAPImported: PropTypes.bool,\n onFreezedItem: PropTypes.func,\n onUnfreezedItem: PropTypes.func,\n updateUser: PropTypes.func,\n deleteUser: PropTypes.func,\n updateAdminRole: PropTypes.func,\n revokeAdmin: PropTypes.func,\n onUserSelected: PropTypes.func,\n isSearchResult: PropTypes.bool,\n};\n\nexport default Content;\n","import React, { Component, Fragment } from 'react';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { Button } from 'reactstrap';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { isPro, gettext, siteRoot } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport SysAdminUserSetQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport SysAdminImportUserDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-import-user-dialog';\nimport SysAdminAddUserDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-user-dialog';\nimport SysAdminBatchAddAdminDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-batch-add-admin-dialog';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport SysAdminUser from '../../../models/sysadmin-user';\nimport SysAdminAdminUser from '../../../models/sysadmin-admin-user';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Search from '../search';\nimport UsersNav from './users-nav';\nimport Content from './users-content';\n\nconst { availableRoles } = window.sysadmin.pageOptions;\n\nconst propTypes = {\n isAdmin: PropTypes.bool,\n isLDAPImported: PropTypes.bool\n};\n\nclass Users extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userList: [],\n hasNextPage: false,\n currentPage: 1,\n perPage: 25,\n hasUserSelected: false,\n selectedUserList: [],\n isAllUsersSelected: false,\n isImportUserDialogOpen: false,\n isAddUserDialogOpen: false,\n isBatchSetQuotaDialogOpen: false,\n isBatchDeleteUserDialogOpen: false,\n isBatchAddAdminDialogOpen: false\n };\n }\n\n componentDidMount () {\n if (this.props.isAdmin) { // 'Admin' page\n this.getUserList(); // no pagination\n } else {\n let urlParams = (new URL(window.location)).searchParams;\n const {\n currentPage, perPage,\n sortBy = '',\n sortOrder = 'asc'\n } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage),\n sortBy: urlParams.get('order_by') || sortBy,\n sortOrder: urlParams.get('direction') || sortOrder\n }, () => {\n this.getUsersListByPage(this.state.currentPage);\n });\n }\n }\n\n toggleImportUserDialog = () => {\n this.setState({isImportUserDialogOpen: !this.state.isImportUserDialogOpen});\n };\n\n toggleAddUserDialog = () => {\n this.setState({isAddUserDialogOpen: !this.state.isAddUserDialogOpen});\n };\n\n toggleBatchSetQuotaDialog = () => {\n this.setState({isBatchSetQuotaDialogOpen: !this.state.isBatchSetQuotaDialogOpen});\n };\n\n toggleBatchDeleteUserDialog = () => {\n this.setState({isBatchDeleteUserDialogOpen: !this.state.isBatchDeleteUserDialogOpen});\n };\n\n onUserSelected = (item) => {\n let hasUserSelected = false;\n let selectedUserList = [];\n // traverse all users, toggle its selected status\n let users = this.state.userList.map(user => {\n // toggle status\n if (user.email === item.email) {\n user.isSelected = !user.isSelected;\n }\n // update selectedUserList\n // if current user is now selected, push it to selectedUserList\n // if current user is now not selected, drop it from selectedUserList\n if (user.isSelected == true) {\n hasUserSelected = true;\n selectedUserList.push(user);\n } else {\n selectedUserList = selectedUserList.filter(thisuser => {\n return thisuser.email != user.email;\n });\n }\n return user;\n });\n // finally update state\n this.setState({\n userList: users,\n hasUserSelected: hasUserSelected,\n selectedUserList: selectedUserList,\n });\n };\n\n toggleSelectAllUsers = () => {\n if (this.state.isAllUsersSelected) {\n // if previous state is allSelected, toggle to not select\n let users = this.state.userList.map(user => {\n user.isSelected = false;\n return user;\n });\n this.setState({\n userList: users,\n hasUserSelected: false,\n isAllUsersSelected: false,\n selectedUserList: [],\n });\n } else {\n // if previous state is not allSelected, toggle to selectAll\n let users = this.state.userList.map(user => {\n user.isSelected = true;\n return user;\n });\n this.setState({\n userList: users,\n hasUserSelected: true,\n isAllUsersSelected: true,\n selectedUserList: users\n });\n }\n };\n\n getUserList = () => {\n // get admins\n seafileAPI.sysAdminListAdmins().then(res => {\n let users = res.data.admin_user_list.map(user => {\n return new SysAdminAdminUser(user);\n });\n this.setState({\n userList: users,\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n getUsersListByPage = (page) => {\n const { perPage, sortBy, sortOrder } = this.state;\n const { isLDAPImported } = this.props;\n seafileAPI.sysAdminListUsers(page, perPage, isLDAPImported, sortBy, sortOrder).then(res => {\n let users = res.data.data.map(user => {return new SysAdminUser(user);});\n this.setState({\n userList: users,\n loading: false,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n currentPage: page\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n sortByQuotaUsage = () => {\n this.setState({\n sortBy: 'quota_usage',\n sortOrder: this.state.sortOrder == 'asc' ? 'desc' : 'asc',\n currentPage: 1\n }, () => {\n let url = new URL(location.href);\n let searchParams = new URLSearchParams(url.search);\n const { currentPage, sortBy, sortOrder } = this.state;\n searchParams.set('page', currentPage);\n searchParams.set('order_by', sortBy);\n searchParams.set('direction', sortOrder);\n url.search = searchParams.toString();\n navigate(url.toString());\n this.getUsersListByPage(currentPage);\n });\n };\n\n deleteUser = (email, username) => {\n seafileAPI.sysAdminDeleteUser(email).then(res => {\n let newUserList = this.state.userList.filter(item => {\n return item.email != email;\n });\n this.setState({userList: newUserList});\n let msg = gettext('Deleted user %s');\n msg = msg.replace('%s', username);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n setUserQuotaInBatch = (quotaTotal) => {\n let emails = this.state.selectedUserList.map(user => {\n return user.email;\n });\n seafileAPI.sysAdminSetUserQuotaInBatch(emails, quotaTotal).then(res => {\n let userList = this.state.userList.map(item => {\n res.data.success.forEach(resultUser => {\n if (item.email == resultUser.email) {\n item.quota_total = resultUser.quota_total;\n }\n });\n return item;\n });\n this.setState({userList: userList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteUserInBatch = () => {\n let emails = this.state.selectedUserList.map(user => {\n return user.email;\n });\n seafileAPI.sysAdminDeleteUserInBatch(emails).then(res => {\n if (res.data.success.length) {\n let oldUserList = this.state.userList;\n let newUserList = oldUserList.filter(oldUser => {\n return !res.data.success.some(deletedUser =>{\n return deletedUser.email == oldUser.email;\n });\n });\n this.setState({\n userList: newUserList,\n hasUserSelected: emails.length != res.data.success.length\n });\n const length = res.data.success.length;\n const msg = length == 1 ?\n gettext('Successfully deleted 1 user.') :\n gettext('Successfully deleted {user_number_placeholder} users.')\n .replace('{user_number_placeholder}', length);\n toaster.success(msg);\n }\n res.data.failed.forEach(item => {\n const msg = `${item.email}: ${item.error_msg}`;\n toaster.danger(msg);\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n importUserInBatch = (file) => {\n toaster.notify(gettext('It may take some time, please wait.'));\n seafileAPI.sysAdminImportUserViaFile(file).then((res) => {\n if (res.data.success.length) {\n const users = res.data.success.map(item => {\n if (item.institution == undefined) {\n item.institution = '';\n }\n return new SysAdminUser(item);\n });\n this.setState({\n userList: users.concat(this.state.userList)\n });\n }\n res.data.failed.forEach(item => {\n const msg = `${item.email}: ${item.error_msg}`;\n toaster.danger(msg);\n });\n }).catch((error) => {\n let errMsg = Utils.getErrorMsg(error);\n toaster.danger(errMsg);\n });\n };\n\n addUser = (data) => {\n toaster.notify(gettext('It may take some time, please wait.'));\n const { email, name, role, password } = data;\n seafileAPI.sysAdminAddUser(email, name, role, password).then((res) => {\n let userList = this.state.userList;\n userList.unshift(res.data);\n this.setState({\n userList: userList\n });\n toaster.success(res.data.add_user_tip);\n }).catch((error) => {\n let errMsg = Utils.getErrorMsg(error);\n toaster.danger(errMsg);\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getUsersListByPage(1);\n });\n };\n\n updateUser = (email, key, value) => {\n seafileAPI.sysAdminUpdateUser(email, key, value).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item[key]= res.data[key];\n }\n return item;\n });\n this.setState({userList: newUserList});\n const msg = (key == 'is_active' && value) ?\n res.data.update_status_tip : gettext('Edit succeeded');\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateAdminRole = (email, role) => {\n seafileAPI.sysAdminUpdateAdminRole(email, role).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item.admin_role = res.data.role;\n }\n return item;\n });\n this.setState({userList: newUserList});\n toaster.success(gettext('Edit succeeded'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n revokeAdmin = (email, name) => {\n seafileAPI.sysAdminUpdateUser(email, 'is_staff', false).then(res => {\n let userList = this.state.userList.filter(item => {\n return item.email != email;\n });\n this.setState({\n userList: userList\n });\n toaster.success(gettext('Successfully revoked the admin permission of {placeholder}.').replace('{placeholder}', name));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getOperationsForAll = () => {\n const { isAdmin, isLDAPImported } = this.props;\n\n if (isAdmin) {\n return ;\n }\n\n if (isLDAPImported) {\n return {gettext('Export Excel')};\n }\n\n // 'database'\n return (\n \n \n \n {gettext('Export Excel')}\n \n );\n };\n\n getCurrentNavItem = () => {\n const { isAdmin, isLDAPImported } = this.props;\n let item = 'database';\n if (isAdmin) {\n item = 'admin';\n } else if (isLDAPImported) {\n item = 'ldap-imported';\n }\n return item;\n };\n\n toggleBatchAddAdminDialog = () => {\n this.setState({isBatchAddAdminDialogOpen: !this.state.isBatchAddAdminDialogOpen});\n };\n\n addAdminInBatch = (emails) => {\n seafileAPI.sysAdminAddAdminInBatch(emails).then(res => {\n let users = res.data.success.map(user => {\n return new SysAdminAdminUser(user);\n });\n this.setState({\n userList: users.concat(this.state.userList)\n });\n res.data.failed.forEach(item => {\n const msg = `${item.email}: ${item.error_msg}`;\n toaster.danger(msg);\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getSearch = () => {\n if (this.props.isAdmin) {\n return null;\n }\n // offer 'Search' for 'DB' & 'LDAPImported' users\n return ;\n };\n\n searchItems = (keyword) => {\n navigate(`${siteRoot}sys/search-users/?query=${encodeURIComponent(keyword)}`);\n };\n\n render() {\n const { isAdmin, isLDAPImported } = this.props;\n const {\n hasUserSelected,\n isImportUserDialogOpen,\n isAddUserDialogOpen,\n isBatchDeleteUserDialogOpen,\n isBatchSetQuotaDialogOpen,\n isBatchAddAdminDialogOpen\n } = this.state;\n return (\n \n \n {hasUserSelected ?\n \n \n \n \n : this.getOperationsForAll()\n }\n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isImportUserDialogOpen &&\n \n }\n {isAddUserDialogOpen &&\n \n }\n {isBatchSetQuotaDialogOpen &&\n \n }\n {isBatchDeleteUserDialogOpen &&\n \n }\n {isBatchAddAdminDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nUsers.propTypes = propTypes;\n\nexport default Users;\n","import React, { Component } from 'react';\nimport Users from './users';\n\nclass AdminUsers extends Component {\n\n render() {\n return ;\n }\n}\n\nexport default AdminUsers;\n","import React, { Component } from 'react';\nimport Users from './users';\n\nclass LDAPImportedUsers extends Component {\n\n render() {\n return ;\n }\n}\n\nexport default LDAPImportedUsers;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport UsersNav from './users-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, curPerPage, hasNextPage, currentPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No users')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Email')}{gettext('Space Used')}{' / '}{gettext('Quota')}{gettext('Last Login')}
    \n \n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n resetPerPage: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n currentPage: PropTypes.number,\n curPerPage: PropTypes.number,\n hasNextPage: PropTypes.bool,\n};\n\nclass Item extends Component {\n render() {\n const { item } = this.props;\n return (\n \n \n \n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}\n \n \n {item.last_login ? moment(item.last_login).fromNow() : '--'}\n \n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass Users extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userList: {},\n hasNextPage: false,\n currentPage: 1,\n perPage: 25\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getUsersListByPage(this.state.currentPage);\n });\n }\n\n getUsersListByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListLDAPUsers(page, perPage).then(res => {\n this.setState({\n loading: false,\n userList: res.data.ldap_user_list,\n hasNextPage: res.data.has_next_page,\n currentPage: page\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getUsersListByPage(1);\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nUsers.propTypes = {\n email: PropTypes.string,\n};\n\nexport default Users;\n","import React, { Component, Fragment } from 'react';\nimport { Button, Form, FormGroup, Input, Col } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport Paginator from '../../../components/paginator';\nimport toaster from '../../../components/toast';\nimport SysAdminUserSetQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Content from './users-content';\n\n\nclass SearchUsers extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n query: '',\n isSubmitBtnActive: false,\n loading: true,\n errorMsg: '',\n userList: [],\n pageInfo: {\n has_next_page: false,\n current_page: 1,\n },\n currentPage: 1,\n perPage: 25,\n hasUserSelected: false,\n selectedUserList: [],\n isAllUsersSelected: false,\n isBatchSetQuotaDialogOpen: false,\n isBatchDeleteUserDialogOpen: false\n };\n }\n\n componentDidMount () {\n let params = (new URL(document.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n query: params.get('query') || '',\n currentPage: parseInt(params.get('page') || currentPage),\n perPage: parseInt(params.get('per_page') || perPage)\n }, () => {this.getItems(this.state.currentPage);});\n }\n\n toggleBatchSetQuotaDialog = () => {\n this.setState({isBatchSetQuotaDialogOpen: !this.state.isBatchSetQuotaDialogOpen});\n };\n\n toggleBatchDeleteUserDialog = () => {\n this.setState({isBatchDeleteUserDialogOpen: !this.state.isBatchDeleteUserDialogOpen});\n };\n\n onUserSelected = (item) => {\n let hasUserSelected = false;\n let selectedUserList = [];\n // traverse all users, toggle its selected status\n let users = this.state.userList.map(user => {\n // toggle status\n if (user.email === item.email) {\n user.isSelected = !user.isSelected;\n }\n // update selectedUserList\n // if current user is now selected, push it to selectedUserList\n // if current user is now not selected, drop it from selectedUserList\n if (user.isSelected == true) {\n hasUserSelected = true;\n selectedUserList.push(user);\n } else {\n selectedUserList = selectedUserList.filter(thisuser => {\n return thisuser.email != user.email;\n });\n }\n return user;\n });\n // finally update state\n this.setState({\n userList: users,\n hasUserSelected: hasUserSelected,\n selectedUserList: selectedUserList,\n });\n };\n\n toggleSelectAllUsers = () => {\n if (this.state.isAllUsersSelected) {\n // if previous state is allSelected, toggle to not select\n let users = this.state.userList.map(user => {\n user.isSelected = false;\n return user;\n });\n this.setState({\n userList: users,\n hasUserSelected: false,\n isAllUsersSelected: false,\n selectedUserList: [],\n });\n } else {\n // if previous state is not allSelected, toggle to selectAll\n let users = this.state.userList.map(user => {\n user.isSelected = true;\n return user;\n });\n this.setState({\n userList: users,\n hasUserSelected: true,\n isAllUsersSelected: true,\n selectedUserList: users\n });\n }\n };\n\n getItems = (page) => {\n seafileAPI.sysAdminSearchUsers(this.state.query.trim(), page, this.state.perPage).then(res => {\n this.setState({\n userList: res.data.user_list,\n loading: false,\n pageInfo: res.data.page_info\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getItems(1);\n });\n };\n\n deleteUser = (email, username) => {\n seafileAPI.sysAdminDeleteUser(email).then(res => {\n let newUserList = this.state.userList.filter(item => {\n return item.email != email;\n });\n this.setState({userList: newUserList});\n let msg = gettext('Deleted user %s');\n msg = msg.replace('%s', username);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n setUserQuotaInBatch = (quotaTotal) => {\n let emails = this.state.selectedUserList.map(user => {\n return user.email;\n });\n seafileAPI.sysAdminSetUserQuotaInBatch(emails, quotaTotal).then(res => {\n let userList = this.state.userList.map(item => {\n res.data.success.forEach(resultUser => {\n if (item.email == resultUser.email) {\n item.quota_total = resultUser.quota_total;\n }\n });\n return item;\n });\n this.setState({userList: userList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteUserInBatch = () => {\n let emails = this.state.selectedUserList.map(user => {\n return user.email;\n });\n seafileAPI.sysAdminDeleteUserInBatch(emails).then(res => {\n if (res.data.success.length) {\n let oldUserList = this.state.userList;\n let newUserList = oldUserList.filter(oldUser => {\n return !res.data.success.some(deletedUser =>{\n return deletedUser.email == oldUser.email;\n });\n });\n this.setState({\n userList: newUserList,\n hasUserSelected: emails.length != res.data.success.length\n });\n const length = res.data.success.length;\n const msg = length == 1 ?\n gettext('Successfully deleted 1 user.') :\n gettext('Successfully deleted {user_number_placeholder} users.')\n .replace('{user_number_placeholder}', length);\n toaster.success(msg);\n }\n res.data.failed.forEach(item => {\n const msg = `${item.email}: ${item.error_msg}`;\n toaster.danger(msg);\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateUser = (email, key, value) => {\n seafileAPI.sysAdminUpdateUser(email, key, value).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item[key]= res.data[key];\n }\n return item;\n });\n this.setState({userList: newUserList});\n const msg = (key == 'is_active' && value) ?\n res.data.update_status_tip : gettext('Edit succeeded');\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateAdminRole = (email, role) => {\n seafileAPI.sysAdminUpdateAdminRole(email, role).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item.admin_role = res.data.role;\n }\n return item;\n });\n this.setState({userList: newUserList});\n toaster.success(gettext('Edit succeeded'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n revokeAdmin = (email, name) => {\n seafileAPI.sysAdminUpdateUser(email, 'is_staff', false).then(res => {\n let userList = this.state.userList.filter(item => {\n return item.email != email;\n });\n this.setState({\n userList: userList\n });\n toaster.success(gettext('Successfully revoked the admin permission of {placeholder}.').replace('{placeholder}', name));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n handleInputChange = (e) => {\n this.setState({\n query: e.target.value\n }, this.checkSubmitBtnActive);\n };\n\n checkSubmitBtnActive = () => {\n const { query } = this.state;\n this.setState({\n isSubmitBtnActive: query.trim()\n });\n };\n\n getPreviousPageList = () => {\n this.getItems(this.state.pageInfo.current_page - 1);\n };\n\n getNextPageList = () => {\n this.getItems(this.state.pageInfo.current_page + 1);\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n const { isSubmitBtnActive } = this.state;\n if (isSubmitBtnActive) {\n this.getItems();\n }\n }\n }\n\n render() {\n const { query, isSubmitBtnActive } = this.state;\n const {\n hasUserSelected,\n isBatchDeleteUserDialogOpen,\n isBatchSetQuotaDialogOpen\n } = this.state;\n return (\n \n {hasUserSelected ?\n \n \n \n \n \n :\n \n }\n
    \n
    \n
    \n

    {gettext('Users')}

    \n
    \n
    \n
    \n

    {gettext('Search Users')}

    \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n

    {gettext('Result')}

    \n \n
    \n
    \n
    \n
    \n {isBatchSetQuotaDialogOpen &&\n \n }\n {isBatchDeleteUserDialogOpen &&\n \n }\n {this.state.pageInfo &&\n \n }\n
    \n );\n }\n}\n\nexport default SearchUsers;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n uploadOrDownload: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n updateUploadDownloadRateLimit: PropTypes.func.isRequired\n};\n\nclass SysAdminSetUploadDownloadRateLimitDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n rateLimit: '',\n isSubmitBtnActive: false\n };\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n handleRateLimitChange = (e) => {\n const value = e.target.value;\n this.setState({\n rateLimit: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleSubmit = () => {\n this.props.updateUploadDownloadRateLimit(this.props.uploadOrDownload, this.state.rateLimit.trim());\n this.toggle();\n };\n\n render() {\n const { rateLimit, isSubmitBtnActive } = this.state;\n return (\n \n {this.props.uploadOrDownload == 'upload' ? gettext('Set Upload Rate Limit') : gettext('Set Download Rate Limit')}\n \n
    \n \n \n \n \n kB/s\n \n \n

    \n {gettext('An integer that is greater than or equal to 0.')}\n
    \n {gettext('Tip: 0 means default limit')}\n

    \n
    \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminSetUploadDownloadRateLimitDialog.propTypes = propTypes;\n\nexport default SysAdminSetUploadDownloadRateLimitDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n value: PropTypes.string.isRequired,\n dialogTitle: PropTypes.string.isRequired,\n updateValue: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass UpdateUser extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: this.props.value,\n isSubmitBtnActive: false\n };\n }\n\n handleInputChange = (e) => {\n const value = e.target.value;\n this.setState({\n value: value\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleSubmit = () => {\n this.props.updateValue(this.state.value.trim());\n this.props.toggleDialog();\n };\n\n render() {\n const { toggleDialog } = this.props;\n return (\n \n {this.props.dialogTitle}\n \n
    \n \n \n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nUpdateUser.propTypes = propTypes;\n\nexport default UpdateUser;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n email: PropTypes.string,\n userName: PropTypes.string.isRequired,\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'info', urlPart: '', text: gettext('Info')},\n {name: 'owned-repos', urlPart: 'owned-libraries', text: gettext('Owned Libraries')},\n {name: 'shared-repos', urlPart: 'shared-libraries', text: gettext('Shared Libraries')},\n {name: 'links', urlPart: 'shared-links', text: gettext('Shared Links')},\n {name: 'groups', urlPart: 'groups', text: gettext('Groups')}\n ];\n }\n\n render() {\n const { currentItem, email, userName } = this.props;\n return (\n
    \n
    \n

    {gettext('Users')} / {userName}

    \n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { FormGroup, Label, Input, Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, isPro } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport Loading from '../../../components/loading';\nimport SysAdminSetQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport SysAdminSetUploadDownloadRateLimitDialog from '../../../components/dialog/sysadmin-dialog/set-upload-download-rate-limit';\nimport SysAdminUpdateUserDialog from '../../../components/dialog/sysadmin-dialog/update-user';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './user-nav';\n\nconst { twoFactorAuthEnabled } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n currentKey: '',\n dialogTitle: '',\n isSetQuotaDialogOpen: false,\n isSetUserUploadRateLimitDialogOpen: false,\n isSetUserDownloadRateLimitDialogOpen: false,\n isUpdateUserDialogOpen: false\n };\n }\n\n toggleSetQuotaDialog = () => {\n this.setState({isSetQuotaDialogOpen: !this.state.isSetQuotaDialogOpen});\n };\n\n toggleSetUserUploadRateLimitDialog = () => {\n this.setState({isSetUserUploadRateLimitDialogOpen: !this.state.isSetUserUploadRateLimitDialogOpen});\n };\n\n toggleSetUserDownloadRateLimitDialog = () => {\n this.setState({isSetUserDownloadRateLimitDialogOpen: !this.state.isSetUserDownloadRateLimitDialogOpen});\n };\n\n updateQuota = (value) => {\n this.props.updateUser('quota_total', value);\n };\n\n updateUploadDownloadRateLimit = (uploadOrDownload, value) => {\n if (uploadOrDownload == 'upload'){\n this.props.updateUser('upload_rate_limit', value);\n }\n if (uploadOrDownload == 'download'){\n this.props.updateUser('download_rate_limit', value);\n }\n };\n\n toggleDialog = (key, dialogTitle) => {\n this.setState({\n currentKey: key,\n dialogTitle: dialogTitle,\n isUpdateUserDialogOpen: !this.state.isUpdateUserDialogOpen\n });\n };\n\n toggleSetNameDialog = () => {\n this.toggleDialog('name', gettext('Set Name'));\n };\n\n toggleSetUserLoginIDDialog = () => {\n this.toggleDialog('login_id', gettext('Set Login ID'));\n };\n\n toggleSetUserComtactEmailDialog = () => {\n this.toggleDialog('contact_email', gettext('Set Contact Email'));\n };\n\n toggleSetUserReferenceIDDialog = () => {\n this.toggleDialog('reference_id', gettext('Set Reference ID'));\n };\n\n updateValue = (value) => {\n this.props.updateUser(this.state.currentKey, value);\n };\n\n toggleUpdateUserDialog = () => {\n this.toggleDialog('', '');\n };\n\n showEditIcon = (action) => {\n return (\n \n \n );\n };\n\n render() {\n const { loading, errorMsg } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const user = this.props.userInfo;\n const {\n currentKey, dialogTitle,\n isSetQuotaDialogOpen, isUpdateUserDialogOpen,\n isSetUserUploadRateLimitDialogOpen, isSetUserDownloadRateLimitDialogOpen\n } = this.state;\n return (\n \n
    \n
    {gettext('Avatar')}
    \n
    \n {user.name}\n
    \n\n
    {gettext('Email')}
    \n
    {user.email}
    \n\n {user.org_name &&\n \n
    {gettext('Organization')}
    \n
    {user.org_name}
    \n
    \n }\n\n
    {gettext('Name')}
    \n
    \n {user.name || '--'}\n {this.showEditIcon(this.toggleSetNameDialog)}\n
    \n\n
    {gettext('Login ID')}
    \n
    \n {user.login_id || '--'}\n {this.showEditIcon(this.toggleSetUserLoginIDDialog)}\n
    \n\n
    {gettext('Contact Email')}
    \n
    \n {user.contact_email || '--'}\n {this.showEditIcon(this.toggleSetUserComtactEmailDialog)}\n
    \n\n
    {gettext('Reference ID')}
    \n
    \n {user.reference_id|| '--'}\n {this.showEditIcon(this.toggleSetUserReferenceIDDialog)}\n
    \n\n
    {gettext('Space Used / Quota')}
    \n
    \n {`${Utils.bytesToSize(user.quota_usage)} / ${user.quota_total > 0 ? Utils.bytesToSize(user.quota_total) : '--'}`}\n {this.showEditIcon(this.toggleSetQuotaDialog)}\n
    \n {isPro &&\n \n
    {gettext('Upload Rate Limit')}
    \n
    \n {user.upload_rate_limit > 0 ? user.upload_rate_limit + ' kB/s' : '--'}\n {this.showEditIcon(this.toggleSetUserUploadRateLimitDialog)}\n
    \n
    {gettext('Download Rate Limit')}
    \n
    \n {user.download_rate_limit > 0 ? user.download_rate_limit + ' kB/s' : '--'}\n {this.showEditIcon(this.toggleSetUserDownloadRateLimitDialog)}\n
    \n
    \n }\n {twoFactorAuthEnabled &&\n \n
    {gettext('Two-Factor Authentication')}
    \n
    \n {user.has_default_device ?\n \n

    {gettext('Status: enabled')}

    \n \n
    :\n \n \n \n }\n \n \n \n
    \n
    \n }\n
    \n {isSetQuotaDialogOpen &&\n \n }\n {(isPro && isSetUserUploadRateLimitDialogOpen) &&\n \n }\n {(isPro && isSetUserDownloadRateLimitDialogOpen) &&\n \n }\n {isUpdateUserDialogOpen &&\n \n }\n
    \n );\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteItem: PropTypes.func,\n updateUser: PropTypes.func.isRequired,\n userInfo: PropTypes.object.isRequired,\n disable2FA: PropTypes.func.isRequired,\n toggleForce2fa: PropTypes.func.isRequired,\n email: PropTypes.string,\n};\n\nclass User extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userInfo: {}\n };\n }\n\n componentDidMount () {\n // avatar size: 160\n const email = decodeURIComponent(this.props.email);\n seafileAPI.sysAdminGetUser(email, 160).then((res) => {\n this.setState({\n loading: false,\n userInfo: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n updateUser = (key, value) => {\n const email = this.state.userInfo.email;\n seafileAPI.sysAdminUpdateUser(email, key, value).then(res => {\n let userInfo = this.state.userInfo;\n userInfo[key]= res.data[key];\n this.setState({\n userInfo: userInfo\n });\n toaster.success(gettext('Edit succeeded'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n disable2FA = () => {\n const email = this.state.userInfo.email;\n seafileAPI.sysAdminDeleteTwoFactorAuth(email).then(res => {\n let userInfo = this.state.userInfo;\n userInfo.has_default_device = false;\n this.setState({\n userInfo: userInfo\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleForce2fa = (e) => {\n const email = this.state.userInfo.email;\n const checked = e.target.checked;\n seafileAPI.sysAdminSetForceTwoFactorAuth(email, checked).then(res => {\n let userInfo = this.state.userInfo;\n userInfo.is_force_2fa = checked;\n this.setState({\n userInfo: userInfo\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { userInfo } = this.state;\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nUser.propTypes = {\n email: PropTypes.string,\n};\n\nexport default User;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { isPro, siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport TransferDialog from '../../../components/dialog/transfer-dialog';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './user-nav';\n\nconst { enableSysAdminViewRepo } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Size')}{gettext('Last Update')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n items: PropTypes.array.isRequired,\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n deleteRepo: PropTypes.func.isRequired,\n transferRepo: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isDeleteDialogOpen: false,\n isTransferDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleDeleteDialog = () => {\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n deleteRepo = () => {\n this.props.deleteRepo(this.props.item.id);\n };\n\n toggleTransferDialog = () => {\n this.setState({isTransferDialogOpen: !this.state.isTransferDialogOpen});\n };\n\n transferRepo = (owner) => {\n this.props.transferRepo(this.props.item.id, owner.email);\n this.toggleTransferDialog();\n };\n\n renderRepoName = () => {\n const { item } = this.props;\n const repo = item;\n if (repo.name) {\n if (isPro && enableSysAdminViewRepo && !repo.encrypted) {\n return {repo.name};\n } else {\n return repo.name;\n }\n } else {\n return gettext('Broken ({repo_id_placeholder})')\n .replace('{repo_id_placeholder}', repo.id);\n }\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch (item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Transfer':\n translateResult = gettext('Transfer');\n break;\n }\n\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n case 'Transfer':\n this.toggleTransferDialog();\n break;\n }\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen, isTransferDialogOpen } = this.state;\n\n const iconUrl = Utils.getLibIconUrl(item);\n const iconTitle = Utils.getLibIconTitle(item);\n\n const itemName = '' + Utils.HTMLescape(item.name) + '';\n const deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n {iconTitle}\n {this.renderRepoName()}\n {Utils.bytesToSize(item.size)}\n {moment(item.last_modified).fromNow()}\n \n {isOpIconShown &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n }\n {isTransferDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteRepo: PropTypes.func.isRequired,\n transferRepo: PropTypes.func.isRequired,\n};\n\nclass Repos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userInfo: {},\n repoList: []\n };\n }\n\n componentDidMount () {\n const email = decodeURIComponent(this.props.email);\n seafileAPI.sysAdminGetUser(email).then((res) => {\n this.setState({\n userInfo: res.data\n });\n });\n seafileAPI.sysAdminListReposByOwner(email).then(res => {\n this.setState({\n loading: false,\n repoList: res.data.repos\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteRepo = (repoID) => {\n seafileAPI.sysAdminDeleteRepo(repoID).then(res => {\n let newRepoList = this.state.repoList.filter(item => {\n return item.id != repoID;\n });\n this.setState({repoList: newRepoList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n transferRepo = (repoID, email) => {\n seafileAPI.sysAdminTransferRepo(repoID, email).then((res) => {\n let newRepoList = this.state.repoList.filter(item => {\n return item.id != repoID;\n });\n this.setState({repoList: newRepoList});\n let message = gettext('Successfully transferred the library.');\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nRepos.propTypes = {\n email: PropTypes.string,\n};\n\nexport default Repos;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { isPro, siteRoot, gettext } from '../../../utils/constants';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport Nav from './user-nav';\n\nconst { enableSysAdminViewRepo } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Share From')}{gettext('Size')}{gettext('Last Update')}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n};\n\nclass Item extends Component {\n\n renderRepoName = () => {\n const { item } = this.props;\n const repo = item;\n if (repo.name) {\n if (isPro && enableSysAdminViewRepo && !repo.encrypted) {\n return {repo.name};\n } else {\n return repo.name;\n }\n } else {\n return gettext('Broken ({repo_id_placeholder})')\n .replace('{repo_id_placeholder}', repo.id);\n }\n };\n\n getOwnerLink = () => {\n let link;\n const { item } = this.props;\n const index = item.owner_email.indexOf('@seafile_group');\n if (index == -1) {\n link = ;\n } else {\n const groupID = item.owner_email.substring(0, index);\n link = {item.owner_name};\n }\n return link;\n };\n\n render() {\n const { item } = this.props;\n const iconUrl = Utils.getLibIconUrl(item);\n const iconTitle = Utils.getLibIconTitle(item);\n return (\n \n \n {iconTitle}\n {this.renderRepoName()}\n {this.getOwnerLink()}\n {Utils.bytesToSize(item.size)}\n {moment(item.last_modify).fromNow()}\n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass Repos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userInfo: {},\n repoList: []\n };\n }\n\n componentDidMount () {\n const email = decodeURIComponent(this.props.email);\n seafileAPI.sysAdminGetUser(email).then((res) => {\n this.setState({\n userInfo: res.data\n });\n });\n seafileAPI.sysAdminListShareInRepos(email).then(res => {\n this.setState({\n loading: false,\n repoList: res.data.repo_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nRepos.propTypes = {\n email: PropTypes.string,\n};\n\nexport default Repos;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport LinkDialog from '../../../components/dialog/share-admin-link';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './user-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No shared links')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/* icon */}{gettext('Name')}{gettext('Size')}{gettext('Type')}{gettext('Visits')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteItem: PropTypes.func,\n email: PropTypes.string,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isLinkDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleLinkDialog = () => {\n this.setState({isLinkDialogOpen: !this.state.isLinkDialogOpen});\n };\n\n deleteItem = () => {\n this.props.deleteItem(this.props.item);\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch (item) {\n case 'View':\n translateResult = gettext('View');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n }\n\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'View':\n this.toggleLinkDialog();\n break;\n case 'Delete':\n this.deleteItem();\n break;\n }\n };\n\n getRoleText = () => {\n let roleText;\n const { item } = this.props;\n switch(item.role) {\n case 'Owner':\n roleText = gettext('Owner');\n break;\n case 'Admin':\n roleText = gettext('Admin');\n break;\n case 'Member':\n roleText = gettext('Member');\n break;\n }\n return roleText;\n };\n\n getIconUrl = () => {\n const { item } = this.props;\n let url;\n if (item.type == 'upload') {\n url = Utils.getFolderIconUrl();\n } else { // share link\n if (item.is_dir) {\n url = Utils.getFolderIconUrl();\n } else {\n url = Utils.getFileIconUrl(item.obj_name);\n }\n }\n return url;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isLinkDialogOpen } = this.state;\n\n return (\n \n \n \"\"\n {item.obj_name == '/' ? item.repo_name : item.obj_name}\n {item.type == 'upload' ?\n \n \n {gettext('Upload')}\n :\n \n {item.is_dir ? null : Utils.bytesToSize(item.size)}\n {gettext('Download')}\n \n }\n {item.view_cnt}\n \n {isOpIconShown &&\n \n }\n \n \n {isLinkDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteItem: PropTypes.func,\n email: PropTypes.string,\n};\n\nclass Links extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userInfo: {},\n uploadLinkItems: [],\n shareLinkItems: []\n };\n }\n\n componentDidMount () {\n const email = decodeURIComponent(this.props.email);\n seafileAPI.sysAdminGetUser(email).then((res) => {\n this.setState({\n userInfo: res.data\n });\n });\n\n seafileAPI.sysAdminListShareLinksByUser(email).then(res => {\n const items = res.data.share_link_list.map(item => {\n item.type = 'download';\n return item;\n });\n items.sort((a, b) => {\n return a.is_dir ? -1 : 1;\n });\n this.setState({\n loading: false,\n shareLinkItems: items\n });\n });\n seafileAPI.sysAdminListUploadLinksByUser(email).then(res => {\n const items = res.data.upload_link_list.map(item => {\n item.type = 'upload';\n return item;\n });\n this.setState({\n loading: false,\n uploadLinkItems: items\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteItem = (item) => {\n const type = item.type;\n const token = item.token;\n if (type == 'download') {\n seafileAPI.sysAdminDeleteShareLink(token).then(res => {\n let items = this.state.shareLinkItems.filter(item=> {\n return item.token != token;\n });\n this.setState({\n shareLinkItems: items\n });\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n seafileAPI.sysAdminDeleteUploadLink(token).then(res => {\n let items = this.state.uploadLinkItems.filter(item=> {\n return item.token != token;\n });\n this.setState({\n uploadLinkItems: items\n });\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n };\n\n render() {\n const { shareLinkItems, uploadLinkItems } = this.state;\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nLinks.propTypes = {\n email: PropTypes.string,\n};\n\nexport default Links;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './user-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No groups')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Role')}{gettext('Created At')}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteItem: PropTypes.func,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n getRoleText = () => {\n let roleText;\n const { item } = this.props;\n switch(item.role) {\n case 'Owner':\n roleText = gettext('Owner');\n break;\n case 'Admin':\n roleText = gettext('Admin');\n break;\n case 'Member':\n roleText = gettext('Member');\n break;\n }\n return roleText;\n };\n\n render() {\n const { item } = this.props;\n const url = item.parent_group_id == 0 ?\n `${siteRoot}sys/groups/${item.id}/libraries/` :\n `${siteRoot}sys/departments/${item.id}/`;\n return (\n \n \n {item.name}\n {this.getRoleText()}\n {moment(item.created_at).format('YYYY-MM-DD HH:mm')}\n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteItem: PropTypes.func,\n};\n\nclass Groups extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n userInfo: {},\n items: []\n };\n }\n\n componentDidMount () {\n const email = decodeURIComponent(this.props.email);\n seafileAPI.sysAdminGetUser(email).then((res) => {\n this.setState({\n userInfo: res.data\n });\n });\n seafileAPI.sysAdminListGroupsJoinedByUser(email).then(res => {\n this.setState({\n loading: false,\n items: res.data.group_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nGroups.propTypes = {\n email: PropTypes.string,\n};\n\nexport default Groups;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport UserSelect from '../../user-select';\n\n\nconst propTypes = {\n createRepo: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n};\n\nclass SysAdminCreateRepoDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n repoName: '',\n ownerEmail: '',\n errMessage: '',\n isSubmitBtnActive: false\n };\n }\n\n handleRepoNameChange = (e) => {\n const value = e.target.value;\n this.setState({\n repoName: value,\n isSubmitBtnActive: value.trim()\n });\n };\n\n handleSubmit = () => {\n const { repoName, ownerEmail } = this.state;\n this.props.createRepo(repoName.trim(), ownerEmail);\n this.toggle();\n };\n\n handleSelectChange = (option) => {\n // option can be null\n this.setState({\n ownerEmail: option ? option.email : ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n render() {\n return (\n \n {gettext('New Library')}\n \n
    \n \n \n \n \n \n \n \n \n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminCreateRepoDialog.propTypes = propTypes;\n\nexport default SysAdminCreateRepoDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'all', urlPart: 'all-libraries', text: gettext('All')},\n {name: 'system', urlPart: 'system-library', text: gettext('System')},\n {name: 'trash', urlPart: 'trash-libraries', text: gettext('Trash')}\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { isPro, gettext } from '../../../utils/constants';\nimport { Button } from 'reactstrap';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\nimport UserSelect from '../../user-select';\nimport SharePermissionEditor from '../../select-editor/share-permission-editor';\n\nclass UserItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n deleteShareItem = () => {\n let item = this.props.item;\n this.props.deleteShareItem(item.user_email);\n };\n\n onChangeUserPermission = (permission) => {\n let item = this.props.item;\n this.props.onChangeUserPermission(item, permission);\n };\n\n render() {\n let item = this.props.item;\n let currentPermission = Utils.getSharedPermission(item);\n return (\n \n {item.user_name}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nUserItem.propTypes = {\n item: PropTypes.object.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteShareItem: PropTypes.func.isRequired,\n onChangeUserPermission: PropTypes.func.isRequired,\n};\n\nclass UserList extends React.Component {\n\n render() {\n let items = this.props.items;\n return (\n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n );\n }\n}\n\nUserList.propTypes = {\n items: PropTypes.array.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteShareItem: PropTypes.func.isRequired,\n onChangeUserPermission: PropTypes.func.isRequired,\n};\n\nconst propTypes = {\n isGroupOwnedRepo: PropTypes.bool,\n itemPath: PropTypes.string.isRequired,\n itemType: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired\n};\n\nclass SysAdminShareToUser extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n errorMsg: [],\n permission: 'rw',\n sharedItems: []\n };\n this.options = [];\n this.permissions = ['rw', 'r'];\n if (isPro) {\n this.permissions.push('admin', 'cloud-edit', 'preview');\n }\n }\n\n handleSelectChange = (option) => {\n this.setState({selectedOption: option});\n this.options = [];\n };\n\n componentDidMount() {\n let repoID = this.props.repoID;\n seafileAPI.sysAdminListRepoSharedItems(repoID, 'user').then((res) => {\n if(res.data.length !== 0) {\n this.setState({sharedItems: res.data});\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n setPermission = (permission) => {\n this.setState({permission: permission});\n };\n\n shareToUser = () => {\n let users = [];\n let repoID = this.props.repoID;\n if (this.state.selectedOption && this.state.selectedOption.length > 0 ) {\n for (let i = 0; i < this.state.selectedOption.length; i ++) {\n users[i] = this.state.selectedOption[i].email;\n }\n }\n seafileAPI.sysAdminAddRepoSharedItem(repoID, 'user' , users, this.state.permission).then(res => {\n let errorMsg = [];\n if (res.data.failed.length > 0) {\n for (let i = 0 ; i < res.data.failed.length ; i++) {\n errorMsg[i] = res.data.failed[i];\n }\n }\n let newItems = res.data.success;\n this.setState({\n errorMsg: errorMsg,\n sharedItems: this.state.sharedItems.concat(newItems),\n selectedOption: null,\n permission: 'rw',\n });\n this.refs.userSelect.clearSelect();\n }).catch(error => {\n if (error.response) {\n let message = gettext('Library can not be shared to owner.');\n let errMessage = [];\n errMessage.push(message);\n this.setState({\n errorMsg: errMessage,\n selectedOption: null,\n });\n }\n });\n };\n\n deleteShareItem = (useremail) => {\n let repoID = this.props.repoID;\n seafileAPI.sysAdminDeleteRepoSharedItem(repoID, 'user', useremail).then(res => {\n this.setState({\n sharedItems: this.state.sharedItems.filter( item => { return item.user_email !== useremail; })\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onChangeUserPermission = (item, permission) => {\n let repoID = this.props.repoID;\n let userEmail = item.user_email;\n seafileAPI.sysAdminUpdateRepoSharedItemPermission(repoID, 'user', userEmail, permission).then(() => {\n this.updateSharedItems(item, permission);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateSharedItems = (item, permission) => {\n let username = item.user_name;\n let sharedItems = this.state.sharedItems.map(sharedItem => {\n let sharedItemUsername = sharedItem.user_name;\n if (username === sharedItemUsername) {\n sharedItem.permission = permission;\n sharedItem.is_admin = permission === 'admin' ? true : false;\n }\n return sharedItem;\n });\n this.setState({sharedItems: sharedItems});\n };\n\n render() {\n let { sharedItems } = this.state;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.state.errorMsg.length > 0 &&\n this.state.errorMsg.map((item, index) => {\n let errMessage = '';\n if (item.email) {\n errMessage = item.email + ': ' + item.error_msg;\n } else {\n errMessage = item;\n }\n return (\n \n \n \n );\n })\n }\n \n
    {gettext('User')}{gettext('Permission')}
    \n \n \n \n \n \n

    {errMessage}

    \n
    \n \n \n \n \n \n \n \n \n \n
    {gettext('User')}{gettext('Permission')}
    \n
    \n
    \n );\n }\n}\n\nSysAdminShareToUser.propTypes = propTypes;\n\nexport default SysAdminShareToUser;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { isPro, gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\nimport SharePermissionEditor from '../../select-editor/share-permission-editor';\nimport { SeahubSelect, NoGroupMessage } from '../../common/select';\n\nclass GroupItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOperationShow: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({isOperationShow: true});\n };\n\n onMouseLeave = () => {\n this.setState({isOperationShow: false});\n };\n\n deleteShareItem = () => {\n let item = this.props.item;\n this.props.deleteShareItem(item.group_id);\n };\n\n onChangeUserPermission = (permission) => {\n let item = this.props.item;\n this.props.onChangeUserPermission(item, permission);\n };\n\n render() {\n let item = this.props.item;\n let currentPermission = Utils.getSharedPermission(item);\n return (\n \n {item.group_name}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nGroupItem.propTypes = {\n item: PropTypes.object.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteShareItem: PropTypes.func.isRequired,\n onChangeUserPermission: PropTypes.func.isRequired,\n};\n\nclass GroupList extends React.Component {\n\n render() {\n let items = this.props.items;\n return (\n \n {items.map((item, index) => {\n return (\n \n );\n })}\n \n );\n }\n}\n\nGroupList.propTypes = {\n items: PropTypes.array.isRequired,\n permissions: PropTypes.array.isRequired,\n deleteShareItem: PropTypes.func.isRequired,\n onChangeUserPermission: PropTypes.func.isRequired,\n};\n\nconst propTypes = {\n isGroupOwnedRepo: PropTypes.bool,\n itemPath: PropTypes.string.isRequired,\n itemType: PropTypes.string.isRequired,\n repoID: PropTypes.string.isRequired,\n isRepoOwner: PropTypes.bool.isRequired,\n};\n\nclass SysAdminShareToGroup extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n errorMsg: [],\n permission: 'rw',\n sharedItems: []\n };\n this.options = [];\n this.permissions = ['rw', 'r'];\n if (isPro) {\n this.permissions.push('admin', 'cloud-edit', 'preview');\n }\n }\n\n handleSelectChange = (option) => {\n this.setState({selectedOption: option});\n };\n\n componentDidMount() {\n this.loadOptions();\n this.listSharedGroups();\n }\n\n loadOptions = () => {\n seafileAPI.shareableGroups().then((res) => {\n this.options = [];\n for (let i = 0 ; i < res.data.length; i++) {\n let obj = {};\n obj.value = res.data[i].name;\n obj.id = res.data[i].id;\n obj.label = res.data[i].name;\n this.options.push(obj);\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n listSharedGroups = () => {\n let repoID = this.props.repoID;\n seafileAPI.sysAdminListRepoSharedItems(repoID, 'group').then((res) => {\n if(res.data.length !== 0) {\n this.setState({\n sharedItems: res.data\n });\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n setPermission = (permission) => {\n this.setState({permission: permission});\n };\n\n shareToGroup = () => {\n let groups = [];\n let repoID = this.props.repoID;\n if (this.state.selectedOption && this.state.selectedOption.length > 0 ) {\n for (let i = 0; i < this.state.selectedOption.length; i ++) {\n groups[i] = this.state.selectedOption[i].id;\n }\n }\n seafileAPI.sysAdminAddRepoSharedItem(repoID, 'group', groups, this.state.permission).then(res => {\n let errorMsg = [];\n if (res.data.failed.length > 0) {\n for (let i = 0 ; i < res.data.failed.length ; i++) {\n errorMsg[i] = res.data.failed[i];\n }\n }\n let items = res.data.success;\n this.setState({\n errorMsg: errorMsg,\n sharedItems: this.state.sharedItems.concat(items),\n selectedOption: null,\n permission: 'rw',\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteShareItem = (groupID) => {\n let repoID = this.props.repoID;\n seafileAPI.sysAdminDeleteRepoSharedItem(repoID, 'group', groupID).then(() => {\n this.setState({\n sharedItems: this.state.sharedItems.filter(item => { return item.group_id !== groupID; })\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onChangeUserPermission = (item, permission) => {\n let repoID = this.props.repoID;\n let groupID = item.group_id;\n seafileAPI.sysAdminUpdateRepoSharedItemPermission(repoID, 'group', groupID, permission).then(() => {\n this.updateSharedItems(item, permission);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateSharedItems = (item, permission) => {\n let groupID = item.group_id;\n let sharedItems = this.state.sharedItems.map(sharedItem => {\n let sharedItemGroupID = sharedItem.group_id;\n if (groupID === sharedItemGroupID) {\n sharedItem.permission = permission;\n sharedItem.is_admin = permission === 'admin' ? true : false;\n }\n return sharedItem;\n });\n this.setState({sharedItems: sharedItems});\n };\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.state.errorMsg.length > 0 &&\n this.state.errorMsg.map((item, index) => {\n let errMessage = item.group_name + ': ' + item.error_msg;\n return (\n \n \n \n );\n })\n }\n \n
    {gettext('Group')}{gettext('Permission')}
    \n \n \n \n \n \n

    {errMessage}

    \n
    \n \n \n \n \n \n \n \n \n \n
    {gettext('Group')}{gettext('Permission')}
    \n
    \n
    \n );\n }\n}\n\nSysAdminShareToGroup.propTypes = propTypes;\n\nexport default SysAdminShareToGroup;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport SysAdminShareToUser from './sysadmin-share-to-user';\nimport SysAdminShareToGroup from './sysadmin-share-to-group';\nimport '../../../css/share-link-dialog.css';\n\nconst propTypes = {\n itemName: PropTypes.string.isRequired,\n itemPath: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n isGroupOwnedRepo: PropTypes.bool.isRequired,\n repoEncrypted: PropTypes.bool,\n userPerm: PropTypes.string,\n enableDirPrivateShare: PropTypes.bool\n};\n\nclass SysAdminShareDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n activeTab: this.getInitialActiveTab(),\n isRepoOwner: false\n };\n }\n\n getInitialActiveTab = () => {\n return 'shareToUser';\n };\n\n toggle = (tab) => {\n if (this.state.activeTab !== tab) {\n this.setState({activeTab: tab});\n }\n };\n\n renderDirContent = () => {\n let activeTab = this.state.activeTab;\n const { enableDirPrivateShare, isGroupOwnedRepo } = this.props;\n return (\n \n
    \n \n
    \n
    \n \n {enableDirPrivateShare &&\n \n \n \n \n \n \n \n \n }\n \n
    \n
    \n );\n };\n\n render() {\n return (\n
    \n \n {gettext('Share')} {this.props.itemName}\n \n {this.renderDirContent()}\n \n \n
    \n );\n }\n}\n\nSysAdminShareDialog.propTypes = propTypes;\n\nexport default SysAdminShareDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Label, Input, Alert } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\n\nconst propTypes = {\n itemName: PropTypes.string.isRequired,\n toggleDialog: PropTypes.func.isRequired,\n repoID: PropTypes.string.isRequired,\n};\n\nclass SysAdminLibHistorySettingDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n keepDays: -1,\n expireDays: 30,\n disabled: true,\n allHistory: true,\n noHistory: false,\n autoHistory: false,\n errorInfo: ''\n };\n }\n\n componentDidMount() {\n seafileAPI.sysAdminGetRepoHistorySetting(this.props.repoID).then(res => {\n this.setState({\n keepDays: res.data.keep_days,\n allHistory: res.data.keep_days < 0 ? true : false,\n noHistory: res.data.keep_days === 0 ? true : false,\n autoHistory: res.data.keep_days > 0 ? true : false,\n disabled: res.data.keep_days > 0 ? false : true,\n expireDays: res.data.keep_days > 0 ? res.data.keep_days : 30,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n }\n\n submit = () => {\n let days = this.state.keepDays;\n if (this.state.autoHistory) {\n days = this.state.expireDays;\n }\n let repoID = this.props.repoID;\n let reg = /^-?\\d+$/;\n let flag = reg.test(days);\n if (flag) {\n let message = gettext('Successfully set library history.');\n seafileAPI.sysAdminUpdateRepoHistorySetting(repoID, days).then(res => {\n toaster.success(message);\n this.setState({keepDays: res.data.keep_days});\n this.props.toggleDialog();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n this.setState({\n errorInfo: gettext('Please enter a non-negative integer'),\n });\n }\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.submit();\n e.preventDefault();\n }\n };\n\n onChange = (e) => {\n let num = e.target.value;\n this.setState({\n keepDays: num,\n expireDays: num,\n });\n };\n\n setLimitDays = (type) => {\n if (type === 'allHistory') {\n this.setState({\n keepDays: -1,\n });\n } else if (type === 'noHistory') {\n this.setState({\n keepDays: 0,\n });\n } else {\n this.setState({\n disabled: false\n });\n }\n\n this.setState({\n allHistory: type === 'allHistory' ? true : false,\n noHistory: type === 'noHistory' ? true : false,\n autoHistory: type === 'autoHistory' ? true : false,\n });\n };\n\n render() {\n const itemName = this.props.itemName;\n return (\n \n \n {itemName}{' '}\n {gettext('History Setting')}\n \n \n
    \n \n {this.setLimitDays('allHistory');}}/>{' '}\n \n \n \n {this.setLimitDays('noHistory');}}/>{' '}\n \n \n \n {this.setLimitDays('autoHistory');}}/>{' '}\n \n {' '}\n \n \n {this.state.errorInfo && {this.state.errorInfo}}\n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminLibHistorySettingDialog.propTypes = propTypes;\n\nexport default SysAdminLibHistorySettingDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot, isPro } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport ModalPortal from '../../../components/modal-portal';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport TransferDialog from '../../../components/dialog/transfer-dialog';\nimport DeleteRepoDialog from '../../../components/dialog/delete-repo-dialog';\nimport SysAdminShareDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-share-dialog';\nimport SysAdminLibHistorySettingDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-lib-history-setting-dialog';\nimport UserLink from '../user-link';\n\nconst { enableSysAdminViewRepo } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page + 1);\n };\n\n sortByFileCount = (e) => {\n e.preventDefault();\n this.props.sortItems('file_count');\n };\n\n sortBySize = (e) => {\n e.preventDefault();\n this.props.sortItems('size');\n };\n\n render() {\n // offer 'sort' only for 'all repos'\n const { loading, errorMsg, items, pageInfo, curPerPage, sortBy } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n const initialSortIcon = ;\n const sortIcon = ;\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')}\n {sortBy != undefined ?\n \n {gettext('Files')} {sortBy == 'file_count' ? sortIcon : initialSortIcon}{' / '}\n {gettext('Size')} {sortBy == 'size' ? sortIcon : initialSortIcon}\n :\n gettext('Files') / gettext('Size')\n }\n ID{gettext('Owner')}{/*Operations*/}
    \n {pageInfo &&\n \n }\n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteItem: PropTypes.func,\n onDeleteRepo: PropTypes.func.isRequired,\n onRestoreRepo: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n resetPerPage: PropTypes.func,\n pageInfo: PropTypes.object,\n curPerPage: PropTypes.number,\n sortItems: PropTypes.func.isRequired,\n sortBy: PropTypes.string.isRequired,\n onTransferRepo: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isShareDialogOpen: false,\n isDeleteDialogOpen: false,\n isTransferDialogOpen: false,\n isHistorySettingDialogOpen: false,\n isRepoDeleted: false,\n };\n }\n\n onDeleteRepo = (repo) => {\n seafileAPI.sysAdminDeleteRepo(repo.id).then((res) => {\n this.props.onDeleteRepo(repo);\n this.setState({\n isDeleteDialogOpen: false,\n isRepoDeleted: true,\n });\n const msg = gettext('Successfully deleted {name}.').replace('{name}', repo.name);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n\n this.setState({isRepoDeleted: false});\n });\n };\n\n onTransferRepo = (owner) => {\n seafileAPI.sysAdminTransferRepo(this.props.repo.id, owner.email).then((res) => {\n this.props.onTransferRepo(res.data);\n let message = gettext('Successfully transferred the library.');\n toaster.success(message);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n this.toggleTransferDialog();\n };\n\n handleMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseOut = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Share':\n this.toggleShareDialog();\n break;\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n case 'Transfer':\n this.toggleTransferDialog();\n break;\n case 'History Setting':\n this.toggleHistorySettingDialog();\n break;\n default:\n break;\n }\n };\n\n toggleShareDialog = () => {\n this.setState({isShareDialogOpen: !this.state.isShareDialogOpen});\n };\n\n toggleDeleteDialog = () => {\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n toggleTransferDialog = () => {\n this.setState({isTransferDialogOpen: !this.state.isTransferDialogOpen});\n };\n\n toggleHistorySettingDialog = () => {\n this.setState({isHistorySettingDialogOpen: !this.state.isHistorySettingDialogOpen});\n };\n\n renderRepoName = () => {\n const { repo } = this.props;\n if (repo.name) {\n if (isPro && enableSysAdminViewRepo && !repo.encrypted) {\n return {repo.name};\n } else {\n return repo.name;\n }\n } else {\n return '--';\n }\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Share':\n translateResult = gettext('Share');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Transfer':\n translateResult = gettext('Transfer');\n break;\n case 'History Setting':\n translateResult = gettext('History Setting');\n break;\n default:\n break;\n }\n\n return translateResult;\n };\n\n getOperations = () => {\n const { repo } = this.props;\n let operations = ['Delete', 'Transfer'];\n if (!repo.encrypted) {\n operations.push('Share');\n }\n operations.push('History Setting');\n return operations;\n };\n\n render () {\n const { repo } = this.props;\n const {\n isOpIconShown,\n isShareDialogOpen,\n isDeleteDialogOpen,\n isTransferDialogOpen,\n isHistorySettingDialogOpen\n } = this.state;\n let iconUrl = Utils.getLibIconUrl(repo);\n let iconTitle = Utils.getLibIconTitle(repo);\n const index = repo.owner_email.indexOf('@seafile_group');\n let isGroupOwnedRepo = index != -1;\n let departmentID;\n if (isGroupOwnedRepo) {\n departmentID = repo.owner_email.substring(0, index);\n }\n\n return (\n \n \n {iconTitle}\n {this.renderRepoName()}\n {`${repo.file_count} / ${Utils.bytesToSize(repo.size)}`}\n {repo.id}\n \n {isGroupOwnedRepo ?\n {repo.owner_name} :\n \n }\n \n \n {(!isGroupOwnedRepo && isOpIconShown) &&\n \n }\n \n \n {isShareDialogOpen &&\n \n \n \n }\n {isDeleteDialogOpen &&\n \n \n \n }\n {isTransferDialogOpen &&\n \n \n \n }\n {isHistorySettingDialogOpen &&\n \n \n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n repo: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onDeleteRepo: PropTypes.func.isRequired,\n onTransferRepo: PropTypes.func.isRequired,\n};\n\nexport default Content;\n","import React, { Component, Fragment } from 'react';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport SysAdminCreateRepoDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-create-repo-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Search from '../search';\nimport ReposNav from './repos-nav';\nimport Content from './repos';\n\nclass AllRepos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n repos: [],\n pageInfo: {},\n perPage: 25,\n sortBy: '',\n isCreateRepoDialogOpen: false\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage = 1, perPage, sortBy } = this.state;\n this.setState({\n sortBy: urlParams.get('order_by') || sortBy,\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getReposByPage(this.state.currentPage);\n });\n }\n\n toggleCreateRepoDialog = () => {\n this.setState({isCreateRepoDialogOpen: !this.state.isCreateRepoDialogOpen});\n };\n\n getReposByPage = (page) => {\n const { perPage, sortBy } = this.state;\n seafileAPI.sysAdminListAllRepos(page, perPage, sortBy).then((res) => {\n this.setState({\n loading: false,\n repos: res.data.repos,\n pageInfo: res.data.page_info\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n sortItems = (sortBy) => {\n this.setState({\n currentPage: 1,\n sortBy: sortBy\n }, () => {\n let url = new URL(location.href);\n let searchParams = new URLSearchParams(url.search);\n const { currentPage, sortBy } = this.state;\n searchParams.set('page', currentPage);\n searchParams.set('order_by', sortBy);\n url.search = searchParams.toString();\n navigate(url.toString());\n this.getReposByPage(currentPage);\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getReposByPage(1);\n });\n };\n\n createRepo = (repoName, Owner) => {\n seafileAPI.sysAdminCreateRepo(repoName, Owner).then(res => {\n this.state.repos.unshift(res.data);\n this.setState({\n repos: this.state.repos\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onDeleteRepo = (targetRepo) => {\n let repos = this.state.repos.filter(repo => {\n return repo.id != targetRepo.id;\n });\n this.setState({\n repos: repos\n });\n };\n\n onTransferRepo = (targetRepo) => {\n let repos = this.state.repos.map((item) => {\n return item.id == targetRepo.id ? targetRepo : item;\n });\n this.setState({\n repos: repos\n });\n };\n\n getSearch = () => {\n return ;\n };\n\n searchRepos = (repoNameOrID) => {\n navigate(`${siteRoot}sys/search-libraries/?name_or_id=${encodeURIComponent(repoNameOrID)}`);\n };\n\n render() {\n let { isCreateRepoDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isCreateRepoDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default AllRepos;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport ReposNav from './repos-nav';\n\nclass Content extends Component {\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}ID{gettext('Description')}
    \n
    \n );\n return table;\n }\n }\n}\n\n\nContent.propTypes = {\n resetPerPage: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n currentPage: PropTypes.number,\n curPerPage: PropTypes.number,\n hasNextPage: PropTypes.bool,\n};\n\nclass Item extends Component {\n render() {\n const item = this.props.item;\n return (\n \n {item.name}\n {item.id}\n {item.description}\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass SystemRepo extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: []\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetSystemRepoInfo().then((res) => {\n let items = [];\n items.push(res.data);\n this.setState({\n items: items,\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default SystemRepo;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport ModalPortal from '../../../components/modal-portal';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Search from '../search';\nimport UserLink from '../user-link';\nimport ReposNav from './repos-nav';\n\nconst { trashReposExpireDays } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page + 1);\n };\n\n render() {\n const { loading, errorMsg, items, pageInfo, curPerPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No deleted libraries')}

    \n
    \n );\n const table = (\n \n

    {gettext('Tip: libraries deleted {trashReposExpireDays} days ago will be cleaned automatically.').replace('{trashReposExpireDays}', trashReposExpireDays)}

    \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/*icon*/}{gettext('Name')}{gettext('Owner')}{gettext('Deleted Time')}{/*Operations*/}
    \n {pageInfo &&\n \n }\n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteItem: PropTypes.func,\n onDeleteRepo: PropTypes.func.isRequired,\n onRestoreRepo: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n resetPerPage: PropTypes.func,\n pageInfo: PropTypes.object,\n curPerPage: PropTypes.number,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n isOpIconShown: false,\n isDeleteRepoDialogOpen: false,\n isRestoreRepoDialogOpen: false\n };\n }\n\n handleMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseOut = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onDeleteRepo = () => {\n const repo = this.props.repo;\n seafileAPI.sysAdminDeleteTrashRepo(repo.id).then((res) => {\n this.props.onDeleteRepo(repo);\n const msg = gettext('Successfully deleted {name}.').replace('{name}', repo.name);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onRestoreRepo = () => {\n const repo = this.props.repo;\n seafileAPI.sysAdminRestoreTrashRepo(repo.id).then((res) => {\n this.props.onRestoreRepo(repo);\n let message = gettext('Successfully restored the library.');\n toaster.success(message);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleDeleteRepoDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteRepoDialogOpen: !this.state.isDeleteRepoDialogOpen});\n };\n\n toggleRestoreRepoDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isRestoreRepoDialogOpen: !this.state.isRestoreRepoDialogOpen});\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Restore':\n translateResult = gettext('Restore');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n default:\n break;\n }\n\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Restore':\n this.toggleRestoreRepoDialog();\n break;\n case 'Delete':\n this.toggleDeleteRepoDialog();\n break;\n default:\n break;\n }\n };\n\n render () {\n const { repo } = this.props;\n const { isOpIconShown, isDeleteRepoDialogOpen, isRestoreRepoDialogOpen } = this.state;\n const iconUrl = Utils.getLibIconUrl(repo);\n const iconTitle = Utils.getLibIconTitle(repo);\n const repoName = '' + Utils.HTMLescape(repo.name) + '';\n\n return (\n \n \n {iconTitle}\n {repo.name}\n \n {repo.owner.indexOf('@seafile_group') == -1 ?\n :\n repo.group_name}\n \n {moment(repo.delete_time).fromNow()}\n \n {isOpIconShown && (\n \n )}\n \n \n {isDeleteRepoDialogOpen &&\n \n \n \n }\n {isRestoreRepoDialogOpen &&\n \n \n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n repo: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onDeleteRepo: PropTypes.func.isRequired,\n onRestoreRepo: PropTypes.func,\n};\n\nclass TrashRepos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n repos: [],\n pageInfo: {},\n perPage: 25,\n isCleanTrashDialogOpen: false\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage = 1, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getReposByPage(this.state.currentPage);\n });\n }\n\n toggleCleanTrashDialog = () => {\n this.setState({isCleanTrashDialogOpen: !this.state.isCleanTrashDialogOpen});\n };\n\n getReposByPage = (page) => {\n let perPage = this.state.perPage;\n seafileAPI.sysAdminListTrashRepos(page, perPage).then((res) => {\n this.setState({\n repos: res.data.repos,\n pageInfo: res.data.page_info,\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getReposByPage(1);\n });\n };\n\n onDeleteRepo = (targetRepo) => {\n let repos = this.state.repos.filter(repo => {\n return repo.id != targetRepo.id;\n });\n this.setState({\n repos: repos\n });\n };\n\n onRestoreRepo = (targetRepo) => {\n let repos = this.state.repos.filter(repo => {\n return repo.id != targetRepo.id;\n });\n this.setState({\n repos: repos\n });\n };\n\n cleanTrash = () => {\n seafileAPI.sysAdminCleanTrashRepos().then(res => {\n this.setState({repos: []});\n toaster.success(gettext('Successfully cleared trash.'));\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getSearch = () => {\n return ;\n };\n\n searchRepos = (owner) => {\n seafileAPI.sysAdminSearchTrashRepos(owner).then((res) => {\n this.setState({\n repos: res.data.repos,\n pageInfo: null,\n errorMsg: '', // necessary!\n loading: false\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n render() {\n const { isCleanTrashDialogOpen } = this.state;\n\n // enable 'search': \n return (\n \n {this.state.repos.length ? (\n \n \n \n ) : \n }\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isCleanTrashDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default TrashRepos;\n","import React, { Component, Fragment } from 'react';\nimport { Form, FormGroup, Input, Label, Col } from 'reactstrap';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Content from './repos';\n\n\nclass SearchRepos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n name: '',\n isSubmitBtnActive: false,\n loading: true,\n errorMsg: '',\n repos: []\n };\n }\n\n componentDidMount() {\n let params = (new URL(document.location)).searchParams;\n this.setState({\n name: params.get('name_or_id') || ''\n }, this.getRepos);\n }\n\n getRepos = () => {\n const { name } = this.state;\n seafileAPI.sysAdminSearchRepos(name).then((res) => {\n this.setState({\n loading: false,\n errorMsg: '',\n repos: res.data.repo_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n searchRepos = () => {\n this.getRepos();\n };\n\n onDeleteRepo = (targetRepo) => {\n let repos = this.state.repos.filter(repo => {\n return repo.id != targetRepo.id;\n });\n this.setState({\n repos: repos\n });\n };\n\n onTransferRepo = (targetRepo) => {\n let repos = this.state.repos.map((item) => {\n return item.id == targetRepo.id ? targetRepo : item;\n });\n this.setState({\n repos: repos\n });\n };\n\n handleNameInputChange = (e) => {\n this.setState({\n name: e.target.value\n }, this.checkSubmitBtnActive);\n };\n\n checkSubmitBtnActive = () => {\n const { name } = this.state;\n this.setState({\n isSubmitBtnActive: name.trim()\n });\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n const { isSubmitBtnActive } = this.state;\n if (isSubmitBtnActive) {\n this.searchRepos();\n }\n }\n }\n\n render() {\n const { name, isSubmitBtnActive } = this.state;\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Libraries')}

    \n
    \n
    \n
    \n

    {gettext('Search Libraries')}

    \n

    {gettext('Tip: you can search by keyword in name or ID.')}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n

    {gettext('Result')}

    \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default SearchRepos;\n","class Dirent {\n constructor(obj) {\n this.name = obj.obj_name;\n this.mtime = obj.last_update;\n this.size = obj.file_size;\n this.is_file = obj.is_file;\n }\n\n isDir() {\n return !this.is_file;\n }\n}\n\nexport default Dirent;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\n\nconst propTypes = {\n repoName: PropTypes.string.isRequired,\n currentPath: PropTypes.string.isRequired,\n onPathClick: PropTypes.func.isRequired,\n isSystemRepo: PropTypes.bool.isRequired,\n repoID: PropTypes.string.isRequired,\n};\n\nclass DirPath extends React.Component {\n\n onPathClick = (e) => {\n let path = Utils.getEventData(e, 'path');\n this.props.onPathClick(path);\n };\n\n turnPathToLink = (path) => {\n path = path[path.length - 1] === '/' ? path.slice(0, path.length - 1) : path;\n let pathList = path.split('/');\n let nodePath = '';\n let pathElem = pathList.map((item, index) => {\n if (item === '') {\n return null;\n }\n if (index === (pathList.length - 1)) {\n return (\n \n /\n {item}\n \n );\n } else {\n nodePath += '/' + item;\n return (\n \n /\n {item}\n \n );\n }\n });\n return pathElem;\n };\n\n render() {\n let { isSystemRepo, currentPath, repoName } = this.props;\n let pathElem = this.turnPathToLink(currentPath);\n\n return (\n
    \n {isSystemRepo ?\n {gettext('System')} :\n {gettext('All')}\n }\n /\n {(currentPath === '/' || currentPath === '') ?\n {repoName}:\n {repoName}\n }\n {pathElem}\n
    \n );\n }\n}\n\nDirPath.propTypes = propTypes;\n\nexport default DirPath;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport Loading from '../../../components/loading';\n\nclass DirentItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n openFolder = () => {\n this.props.openFolder(this.props.dirent);\n };\n\n deleteDirent = (e) => {\n e.preventDefault();\n this.props.deleteDirent(this.props.dirent);\n };\n\n downloadDirent = (e) => {\n e.preventDefault();\n this.props.downloadDirent(this.props.dirent);\n };\n\n render () {\n let { isOpIconShown } = this.state;\n let { dirent, fromSystemRepo } = this.props;\n let iconUrl = Utils.getDirentIcon(dirent);\n\n return (\n \n \n \n \n {dirent.is_file ?\n dirent.name :\n {dirent.name}\n }\n \n \n {isOpIconShown && fromSystemRepo &&\n \n }\n {isOpIconShown && dirent.is_file &&\n \n }\n \n {dirent.size}\n {moment(dirent.mtime).fromNow()}\n \n \n );\n }\n}\n\nDirentItem.propTypes = {\n dirent: PropTypes.object.isRequired,\n fromSystemRepo: PropTypes.bool.isRequired,\n deleteDirent: PropTypes.func.isRequired,\n openFolder: PropTypes.func.isRequired,\n downloadDirent: PropTypes.func.isRequired,\n};\n\nclass DirContent extends React.Component {\n\n render() {\n let { loading, errorMsg, direntList } = this.props;\n\n if (loading) {\n return ;\n }\n\n if (errorMsg) {\n return

    {errorMsg}

    ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {direntList.map((dirent, index) => {\n return ;\n })}\n \n
    {/*icon*/}{gettext('Name')}{/*operation*/}{gettext('Size')}{gettext('Last Update')}
    \n
    \n );\n }\n}\n\nDirContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n openFolder: PropTypes.func.isRequired,\n direntList: PropTypes.array.isRequired,\n fromSystemRepo: PropTypes.bool.isRequired,\n deleteDirent: PropTypes.func.isRequired,\n downloadDirent: PropTypes.func.isRequired,\n};\n\nexport default DirContent;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport axios from 'axios';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport CreateFolderDialog from '../../../components/dialog/create-folder-dialog';\nimport Dirent from '../../../models/system-admin/dirent';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport DirPathBar from './dir-path-bar';\nimport DirContent from './dir-content';\n\nclass DirView extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n isSystemRepo: false,\n repoName: '',\n path: '',\n direntList: [],\n isNewFolderDialogOpen: false\n };\n this.fileInput = React.createRef();\n }\n\n componentDidMount () {\n this.loadDirentList('/');\n }\n\n onPathClick = (path) => {\n this.loadDirentList(path);\n };\n\n toggleNewFolderDialog = () => {\n this.setState({isNewFolderDialogOpen: !this.state.isNewFolderDialogOpen});\n };\n\n createNewFolder = (path) => {\n let folderName = Utils.getFileName(path);\n seafileAPI.sysAdminCreateSysRepoFolder(this.props.repoID, this.state.path, folderName).then(res => {\n let new_dirent = new Dirent(res.data);\n let direntList = this.state.direntList;\n direntList.unshift(new_dirent);\n this.setState({\n direntList: direntList\n });\n this.toggleNewFolderDialog();\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n openFolder = (dirent) => {\n let direntPath = Utils.joinPath(this.state.path, dirent.name);\n if (!dirent.is_file) {\n this.loadDirentList(direntPath);\n }\n };\n\n loadDirentList = (path) => {\n const repoID = this.props.repoID;\n seafileAPI.sysAdminListRepoDirents(repoID, path).then(res => {\n const { is_system_library: isSystemRepo, repo_name: repoName, dirent_list } = res.data;\n let direntList = [];\n dirent_list.forEach(item => {\n let dirent = new Dirent(item);\n direntList.push(dirent);\n });\n this.setState({\n loading: false,\n repoName: repoName,\n isSystemRepo: isSystemRepo,\n direntList: direntList,\n path: path,\n }, () => {\n let url = siteRoot + 'sys/libraries/' + repoID + '/' + encodeURIComponent(this.state.repoName) + Utils.encodePath(path);\n window.history.replaceState({url: url, path: path}, path, url);\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n deleteDirent = (dirent) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n seafileAPI.sysAdminDeleteRepoDirent(this.props.repoID, path).then(res => {\n toaster.success(gettext('Successfully deleted 1 item.'));\n let direntList = this.state.direntList.filter(item => {\n return item.name != dirent.name;\n });\n this.setState({\n direntList: direntList\n });\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n downloadDirent = (dirent) => {\n let path = Utils.joinPath(this.state.path, dirent.name);\n seafileAPI.sysAdminGetRepoFileDownloadURL(this.props.repoID, path).then(res => {\n location.href = res.data.download_url;\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n openFileInput = () => {\n this.fileInput.current.click();\n };\n\n onFileInputChange = () => {\n if (!this.fileInput.current.files.length) {\n return;\n }\n const file = this.fileInput.current.files[0];\n\n let { path } = this.state;\n seafileAPI.sydAdminGetSysRepoItemUploadURL(path).then(res => {\n let formData = new FormData();\n formData.append('parent_dir', path);\n formData.append('file', file);\n axios.post(res.data.upload_link, formData).then(res => {\n const fileObj = res.data[0];\n let newDirent = new Dirent({\n 'is_file': true,\n 'obj_name': fileObj.name,\n 'file_size': Utils.bytesToSize(fileObj.size),\n 'last_update': (new Date()).getTime()\n });\n let direntList = this.state.direntList;\n const dirs = direntList.filter(item => { return !item.is_file; });\n direntList.splice(dirs.length, 0, newDirent);\n this.setState({\n direntList: direntList\n });\n });\n }).catch((err) => {\n let errMessage = Utils.getErrorMsg(err);\n toaster.danger(errMessage);\n });\n };\n\n checkDuplicatedName = (newName) => {\n let direntList = this.state.direntList;\n let isDuplicated = direntList.some(object => {\n return object.name === newName;\n });\n return isDuplicated;\n };\n\n render() {\n const { loading, errorMsg,\n repoName, direntList, isSystemRepo, path,\n isNewFolderDialogOpen } = this.state;\n const { repoID } = this.props;\n\n return (\n \n {isSystemRepo ?\n \n \n \n \n \n \n : \n }\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n {isNewFolderDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nDirView.propTypes = {\n repoID: PropTypes.string,\n};\n\nexport default DirView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, Alert } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport UserSelect from '../../user-select';\n\n\nconst propTypes = {\n createGroup: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass SysAdminCreateGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n groupName: '',\n ownerEmail: '',\n errMessage: '',\n isSubmitBtnActive: false\n };\n }\n\n handleRepoNameChange = (e) => {\n if (!e.target.value.trim()) {\n this.setState({isSubmitBtnActive: false});\n } else {\n this.setState({isSubmitBtnActive: true});\n }\n\n this.setState({groupName: e.target.value});\n };\n\n handleSubmit = () => {\n let groupName = this.state.groupName.trim();\n this.props.createGroup(groupName, this.state.ownerEmail);\n };\n\n handleSelectChange = (option) => {\n // option can be null\n this.setState({\n ownerEmail: option ? option.email : ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n render() {\n return (\n \n {gettext('New Group')}\n \n
    \n \n \n \n \n \n \n
    \n {this.state.errMessage && {this.state.errMessage}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminCreateGroupDialog.propTypes = propTypes;\n\nexport default SysAdminCreateGroupDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { gettext } from '../../../utils/constants';\nimport UserSelect from '../../user-select';\n\nconst propTypes = {\n groupName: PropTypes.string.isRequired,\n transferGroup: PropTypes.func.isRequired,\n toggleDialog: PropTypes.func.isRequired\n};\n\nclass SysAdminTransferGroupDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n submitBtnDisabled: true\n };\n }\n\n handleSelectChange = (option) => {\n this.setState({\n selectedOption: option,\n submitBtnDisabled: option == null\n });\n };\n\n submit = () => {\n const receiver = this.state.selectedOption.email;\n this.props.transferGroup(receiver);\n this.props.toggleDialog();\n };\n\n render() {\n const { submitBtnDisabled } = this.state;\n const groupName = '' + Utils.HTMLescape(this.props.groupName) +'';\n const msg = gettext('Transfer Group {placeholder} to').replace('{placeholder}', groupName);\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nSysAdminTransferGroupDialog.propTypes = propTypes;\n\nexport default SysAdminTransferGroupDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport EmptyTip from '../../../components/empty-tip';\nimport Paginator from '../../../components/paginator';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport SysAdminTransferGroupDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-group-transfer-dialog';\nimport UserLink from '../user-link';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.pageInfo.current_page + 1);\n };\n\n render() {\n const { loading, errorMsg, items, pageInfo, curPerPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No groups')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Owner')}{gettext('Created At')}{/* operation */}
    \n {pageInfo &&\n \n }\n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getDeviceErrorsListByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n curPerPage: PropTypes.number,\n pageInfo: PropTypes.object,\n getListByPage: PropTypes.func.isRequired,\n deleteGroup: PropTypes.func.isRequired,\n transferGroup: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isDeleteDialogOpen: false,\n isTransferDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n case 'Transfer':\n this.toggleTransferDialog();\n break;\n default:\n break;\n }\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n toggleTransferDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isTransferDialogOpen: !this.state.isTransferDialogOpen});\n };\n\n deleteGroup = () => {\n this.props.deleteGroup(this.props.item.id);\n };\n\n transferGroup = (receiver) => {\n this.props.transferGroup(this.props.item.id, receiver);\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Transfer':\n translateResult = gettext('Transfer');\n break;\n }\n\n return translateResult;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen, isTransferDialogOpen } = this.state;\n\n let groupName = '' + Utils.HTMLescape(item.name) + '';\n let deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', groupName);\n\n const groupUrl = item.parent_group_id == 0 ?\n `${siteRoot}sys/groups/${item.id}/libraries/` :\n `${siteRoot}sys/departments/${item.id}/`;\n\n return (\n \n \n {item.name}\n \n {item.owner == 'system admin' ?\n '--' :\n \n }\n \n \n {moment(item.created_at).fromNow()}\n \n \n {(isOpIconShown && item.owner != 'system admin') &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n }\n {isTransferDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteGroup: PropTypes.func.isRequired,\n transferGroup: PropTypes.func.isRequired,\n};\n\nexport default Content;\n","import React, { Component, Fragment } from 'react';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport SysAdminCreateGroupDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-create-group-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Search from '../search';\nimport Content from './groups-content';\n\nclass Groups extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n groupList: [],\n pageInfo: {},\n perPage: 25,\n isCreateGroupDialogOpen: false\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage = 1, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getGroupListByPage(this.state.currentPage);\n });\n }\n\n toggleCreateGroupDialog = () => {\n this.setState({isCreateGroupDialogOpen: !this.state.isCreateGroupDialogOpen});\n };\n\n getGroupListByPage = (page) => {\n seafileAPI.sysAdminListAllGroups(page, this.state.perPage).then((res) => {\n this.setState({\n loading: false,\n groupList: res.data.groups,\n pageInfo: res.data.page_info\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getGroupListByPage(1);\n });\n };\n\n createGroup = (groupName, OnwerEmail) => {\n seafileAPI.sysAdminCreateNewGroup(groupName, OnwerEmail).then(res => {\n let newGroupList = this.state.groupList;\n newGroupList.unshift(res.data);\n this.setState({\n groupList: newGroupList\n });\n this.toggleCreateGroupDialog();\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteGroup = (groupID) => {\n seafileAPI.sysAdminDismissGroupByID(groupID).then(res => {\n let newGroupList = this.state.groupList.filter(item => {\n return item.id != groupID;\n });\n this.setState({\n groupList: newGroupList\n });\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n transferGroup = (groupID, receiverEmail) => {\n seafileAPI.sysAdminTransferGroup(receiverEmail, groupID).then(res => {\n let newGroupList = this.state.groupList.map(item => {\n if (item.id == groupID) {\n item = res.data;\n }\n return item;\n });\n this.setState({\n groupList: newGroupList\n });\n toaster.success(gettext('Successfully transferred the group.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getSearch = () => {\n return ;\n };\n\n searchGroups = (name) => {\n navigate(`${siteRoot}sys/search-groups/?name=${encodeURIComponent(name)}`);\n };\n\n render() {\n let { isCreateGroupDialogOpen } = this.state;\n\n return (\n \n \n \n \n {gettext('Export Excel')}\n \n \n
    \n
    \n
    \n

    {gettext('Groups')}

    \n
    \n
    \n \n
    \n
    \n
    \n {isCreateGroupDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default Groups;\n","import React, { Component, Fragment } from 'react';\nimport { Form, FormGroup, Input, Label, Col } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Content from './groups-content';\n\nclass SearchGroups extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n name: '',\n isSubmitBtnActive: false,\n loading: true,\n errorMsg: '',\n groupList: [],\n pageInfo: null\n };\n }\n\n componentDidMount () {\n let params = (new URL(document.location)).searchParams;\n this.setState({\n name: params.get('name') || ''\n }, this.getGroups);\n }\n\n getGroups = () => {\n const { name } = this.state;\n seafileAPI.sysAdminSearchGroups(name).then((res) => {\n this.setState({\n loading: false,\n groupList: res.data.group_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n deleteGroup = (groupID) => {\n seafileAPI.sysAdminDismissGroupByID(groupID).then(res => {\n let newGroupList = this.state.groupList.filter(item => {\n return item.id != groupID;\n });\n this.setState({\n groupList: newGroupList\n });\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n transferGroup = (groupID, receiverEmail) => {\n seafileAPI.sysAdminTransferGroup(receiverEmail, groupID).then(res => {\n let newGroupList = this.state.groupList.map(item => {\n if (item.id == groupID) {\n item = res.data;\n }\n return item;\n });\n this.setState({\n groupList: newGroupList\n });\n toaster.success(gettext('Successfully transferred the group.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n handleNameInputChange = (e) => {\n this.setState({\n name: e.target.value\n }, this.checkSubmitBtnActive);\n };\n\n checkSubmitBtnActive = () => {\n const { name } = this.state;\n this.setState({\n isSubmitBtnActive: name.trim()\n });\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n const { isSubmitBtnActive } = this.state;\n if (isSubmitBtnActive) {\n this.getGroups();\n }\n }\n }\n\n render() {\n const { name, isSubmitBtnActive } = this.state;\n\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Groups')}

    \n
    \n
    \n
    \n

    {gettext('Search Groups')}

    \n

    {gettext('Tip: you can search by keyword in name.')}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n

    {gettext('Result')}

    \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default SearchGroups;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired,\n groupName: PropTypes.string.isRequired,\n groupID: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'repos', urlPart: 'groups/' + this.props.groupID + '/libraries', text: gettext('Libraries')},\n {name: 'members', urlPart: 'groups/' + this.props.groupID + '/members', text: gettext('Members')}\n ];\n }\n\n render() {\n const { groupName, currentItem } = this.props;\n return (\n
    \n
    \n

    {gettext('Groups')} / {groupName}

    \n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext, isPro } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport GroupNav from './group-nav';\n\nconst { enableSysAdminViewRepo } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/* icon */}{gettext('Name')}{gettext('Size')}{gettext('Shared By')}{/*Operations*/}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getDeviceErrorsListByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n curPerPage: PropTypes.number,\n pageInfo: PropTypes.object,\n unshareRepo: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isUnshareRepoDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleUnshareRepoDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isUnshareRepoDialogOpen: !this.state.isUnshareRepoDialogOpen});\n };\n\n unshareRepo = () => {\n const { item } = this.props;\n this.props.unshareRepo(item.repo_id, item.name);\n this.toggleUnshareRepoDialog();\n };\n\n renderRepoName = () => {\n const { item } = this.props;\n const repo = item;\n repo.id = item.repo_id;\n if (repo.name) {\n if (isPro && enableSysAdminViewRepo && !repo.encrypted) {\n return {repo.name};\n } else {\n return repo.name;\n }\n } else {\n return '--';\n }\n };\n\n render() {\n let { isOpIconShown, isUnshareRepoDialogOpen } = this.state;\n let { item } = this.props;\n\n let iconUrl = Utils.getLibIconUrl(item);\n let iconTitle = Utils.getLibIconTitle(item);\n\n let repoName = '' + Utils.HTMLescape(item.name) + '';\n let dialogMsg = gettext('Are you sure you want to unshare {placeholder} ?').replace('{placeholder}', repoName);\n\n return (\n \n \n {iconTitle}\n {this.renderRepoName()}\n {Utils.bytesToSize(item.size)}\n \n \n \n \n \n \n \n {isUnshareRepoDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n unshareRepo: PropTypes.func.isRequired,\n};\n\nclass GroupRepos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n groupName: '',\n repoList: []\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminListGroupRepos(this.props.groupID).then((res) => {\n this.setState({\n loading: false,\n repoList: res.data.libraries,\n groupName: res.data.group_name\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n unshareRepo = (repoID, repoName) => {\n seafileAPI.sysAdminUnshareRepoFromGroup(this.props.groupID, repoID).then(res => {\n let newRepoList = this.state.repoList.filter(item => {\n return item.repo_id != repoID;\n });\n this.setState({\n repoList: newRepoList\n });\n const msg = gettext('Successfully unshared library {placeholder}')\n .replace('{placeholder}', repoName);\n toaster.success(msg);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nGroupRepos.propTypes = {\n groupID: PropTypes.string,\n};\n\nexport default GroupRepos;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport UserSelect from '../../user-select';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n addMembers: PropTypes.func.isRequired\n};\n\nclass SysAdminGroupAddMemberDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOptions: null,\n isSubmitBtnDisabled: true\n };\n }\n\n handleSelectChange = (options) => {\n this.setState({\n selectedOptions: options,\n isSubmitBtnDisabled: !options.length\n });\n };\n\n addMembers = () => {\n let emails = this.state.selectedOptions.map(item => item.email);\n this.props.addMembers(emails);\n this.props.toggle();\n };\n\n render() {\n const { isSubmitBtnDisabled } = this.state;\n return (\n \n {gettext('Add Member')}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nSysAdminGroupAddMemberDialog.propTypes = propTypes;\n\nexport default SysAdminGroupAddMemberDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport SelectEditor from './select-editor';\n\nconst propTypes = {\n isTextMode: PropTypes.bool.isRequired,\n isEditIconShow: PropTypes.bool.isRequired,\n roleOptions: PropTypes.array.isRequired,\n currentRole: PropTypes.string.isRequired,\n onRoleChanged: PropTypes.func.isRequired\n};\n\nclass SysAdminGroupRoleEditor extends React.Component {\n\n translateRoles = (role) => {\n switch (role) {\n case 'Member':\n return gettext('Member');\n case 'Admin':\n return gettext('Admin');\n default:\n return role;\n }\n };\n\n render() {\n return (\n \n );\n }\n}\n\nSysAdminGroupRoleEditor.propTypes = propTypes;\n\nexport default SysAdminGroupRoleEditor;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport SysAdminGroupAddMemberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-group-add-member-dialog';\nimport SysAdminGroupRoleEditor from '../../../components/select-editor/sysadmin-group-role-editor';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport GroupNav from './group-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page - 1);\n };\n\n getNextPageList = () => {\n this.props.getListByPage(this.props.pageInfo.current_page + 1);\n };\n\n render() {\n const { loading, errorMsg, items, pageInfo, curPerPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No members')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {/* icon */}{gettext('Name')}{gettext('Role')}{/*Operations*/}
    \n {pageInfo &&\n \n }\n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n removeMember: PropTypes.func.isRequired,\n resetPerPage: PropTypes.func,\n updateMemberRole: PropTypes.func.isRequired,\n curPerPage: PropTypes.number,\n pageInfo: PropTypes.object,\n getListByPage: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isDeleteDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n removeMember = () => {\n const { item } = this.props;\n this.props.removeMember(item.email, item.name);\n this.toggleDeleteDialog();\n };\n\n updateMemberRole = (role) => {\n this.props.updateMemberRole(this.props.item.email, role);\n };\n\n render() {\n let { isOpIconShown, isDeleteDialogOpen } = this.state;\n let { item } = this.props;\n\n let itemName = '' + Utils.HTMLescape(item.name) + '';\n let dialogMsg = gettext('Are you sure you want to remove {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n \"\"\n \n \n {item.role == 'Owner' ?\n gettext('Owner') :\n \n }\n \n \n {item.role != 'Owner' &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n removeMember: PropTypes.func.isRequired,\n updateMemberRole: PropTypes.func.isRequired,\n};\n\nclass GroupMembers extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n groupName: '',\n memberList: [],\n pageInfo: {},\n currentPage: 1,\n perPage: 25,\n isAddMemberDialogOpen: false\n };\n }\n\n componentDidMount () {\n\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n currentPage: parseInt(urlParams.get('page') || currentPage),\n perPage: parseInt(urlParams.get('per_page') || perPage)\n }, () => {\n this.getListByPage(this.state.currentPage);\n });\n }\n\n getListByPage = (page) => {\n const { perPage } = this.state;\n seafileAPI.sysAdminListGroupMembers(this.props.groupID, page, perPage).then((res) => {\n this.setState({\n loading: false,\n memberList: res.data.members,\n groupName: res.data.group_name,\n pageInfo: res.data.page_info\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getListByPage(1);\n });\n };\n\n toggleAddMemgerDialog = () => {\n this.setState({isAddMemberDialogOpen: !this.state.isAddMemberDialogOpen});\n };\n\n addMembers = (emails) => {\n seafileAPI.sysAdminAddGroupMember(this.props.groupID, emails).then(res => {\n let newMemberList = res.data.success;\n if (newMemberList.length) {\n this.setState({\n memberList: newMemberList.concat(this.state.memberList)\n });\n newMemberList.forEach(item => {\n const msg = gettext('Successfully added {email_placeholder}')\n .replace('{email_placeholder}', item.email);\n toaster.success(msg);\n });\n }\n res.data.failed.forEach(item => {\n const msg = gettext('Failed to add {email_placeholder}: {error_msg_placeholder}')\n .replace('{email_placeholder}', item.email)\n .replace('{error_msg_placeholder}', item.error_msg);\n toaster.danger(msg, {duration: 3});\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n removeMember = (email, name) => {\n seafileAPI.sysAdminDeleteGroupMember(this.props.groupID, email).then(res => {\n let newRepoList = this.state.memberList.filter(item => {\n return item.email != email;\n });\n this.setState({\n memberList: newRepoList\n });\n toaster.success(gettext('Successfully removed {placeholder}.').replace('{placeholder}', name));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateMemberRole = (email, role) => {\n let isAdmin = role == 'Admin';\n seafileAPI.sysAdminUpdateGroupMemberRole(this.props.groupID, email, isAdmin).then(res => {\n let newRepoList = this.state.memberList.map(item => {\n if (item.email == email) {\n item.role = role;\n }\n return item;\n });\n this.setState({\n memberList: newRepoList\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let { isAddMemberDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isAddMemberDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nGroupMembers.propTypes = {\n groupID: PropTypes.string,\n};\n\nexport default GroupMembers;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport '../../../css/org-department-item.css';\n\nclass Departments extends React.Component {\n render() {\n return (\n
    \n {this.props.children}\n
    \n );\n }\n}\n\nDepartments.propTypes = {\n children: PropTypes.any.isRequired,\n};\n\nexport default Departments;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\n\nconst propTypes = {\n groupID: PropTypes.string,\n parentGroupID: PropTypes.string,\n toggle: PropTypes.func.isRequired,\n onAddNewDepartment: PropTypes.func.isRequired\n};\n\nclass AddDepartDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n departName: '',\n errMessage: '',\n };\n }\n\n handleSubmit = () => {\n let isValid = this.validateName();\n if (isValid) {\n let parentGroup = -1;\n if (this.props.parentGroupID) {\n parentGroup = this.props.parentGroupID;\n }\n seafileAPI.sysAdminAddNewDepartment(parentGroup, this.state.departName.trim()).then((res) => {\n this.props.toggle();\n this.props.onAddNewDepartment(res.data);\n }).catch(error => {\n let errorMsg = gettext(error.response.data.error_msg);\n this.setState({ errMessage: errorMsg });\n });\n }\n };\n\n validateName = () => {\n let errMessage = '';\n const name = this.state.departName.trim();\n if (!name.length) {\n errMessage = gettext('Name is required');\n this.setState({ errMessage: errMessage });\n return false;\n }\n return true;\n };\n\n handleChange = (e) => {\n this.setState({\n departName: e.target.value,\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n render() {\n let header = this.props.parentGroupID ? gettext('New Sub-department') : gettext('New Department');\n return (\n \n {header}\n \n
    \n \n \n \n \n
    \n {this.state.errMessage &&

    {this.state.errMessage}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nAddDepartDialog.propTypes = propTypes;\n\nexport default AddDepartDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nconst propTypes = {\n groupID: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]).isRequired,\n name: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n onDepartmentNameChanged: PropTypes.func.isRequired\n};\n\nclass RenameDepartmentDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n departmentName: this.props.name,\n errMessage: ''\n };\n this.newInput = React.createRef();\n }\n\n handleSubmit = () => {\n let isValid = this.validateName();\n if (isValid) {\n seafileAPI.sysAdminRenameDepartment(this.props.groupID, this.state.departmentName.trim()).then((res) => {\n this.props.toggle();\n this.props.onDepartmentNameChanged(res.data);\n toaster.success(gettext('Success'));\n }).catch(error => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({ errMessage: errorMsg });\n });\n }\n };\n\n validateName = () => {\n let errMessage = '';\n const name = this.state.departmentName.trim();\n if (!name.length) {\n errMessage = gettext('Name is required');\n this.setState({ errMessage: errMessage });\n return false;\n }\n return true;\n };\n\n handleChange = (e) => {\n this.setState({\n departmentName: e.target.value\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n onAfterModelOpened = () => {\n if (!this.newInput.current) return;\n this.newInput.current.focus();\n this.newInput.current.select();\n };\n\n render() {\n let header = gettext('Rename Department');\n return (\n \n {header}\n \n
    \n \n \n \n \n
    \n {this.state.errMessage &&

    {this.state.errMessage}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nRenameDepartmentDialog.propTypes = propTypes;\n\nexport default RenameDepartmentDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\n\nconst propTypes = {\n group: PropTypes.object.isRequired,\n toggle: PropTypes.func.isRequired,\n onDeleteDepartment: PropTypes.func.isRequired\n};\n\nclass DeleteDepartmentDialog extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n deleteDepart = () => {\n this.props.toggle();\n const { group } = this.props;\n seafileAPI.sysAdminDeleteDepartment(group.id).then((res) => {\n this.props.onDeleteDepartment(group.id);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { group } = this.props;\n\n let tipMessage = gettext('Are you sure you want to delete {placeholder} ?');\n tipMessage = tipMessage.replace('{placeholder}', '' + Utils.HTMLescape(group.name) + '');\n return (\n \n {gettext('Delete Department')}\n \n

    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nDeleteDepartmentDialog.propTypes = propTypes;\n\nexport default DeleteDepartmentDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, InputGroupAddon, InputGroup } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n groupID: PropTypes.number.isRequired,\n onSetQuota: PropTypes.func.isRequired,\n};\n\nclass SetGroupQuotaDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n quota: '',\n errMessage: '',\n };\n }\n\n setGroupQuota = () => {\n const numberReg = /^[1-9]\\d*$/im;\n let quota = this.state.quota;\n if ((quota.length && numberReg.test(quota)) || quota == -2) {\n this.setState({ errMessage: '' });\n let newQuota = this.state.quota == -2 ? this.state.quota : this.state.quota * 1000000;\n seafileAPI.sysAdminUpdateDepartmentQuota(this.props.groupID, newQuota).then((res) => {\n this.props.toggle();\n this.props.onSetQuota(res.data);\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n } else {\n const err = gettext('Quota is invalid.');\n this.setState({ errMessage: err });\n }\n };\n\n handleChange = (e) => {\n const quota = e.target.value.trim();\n this.setState({ quota: quota });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.setGroupQuota();\n e.preventDefault();\n }\n };\n\n render() {\n return (\n \n {gettext('Set Quota')}\n \n \n \n {'MB'}\n \n

    \n
    {gettext('An integer that is greater than 0 or equal to -2.')}
    \n {gettext('Tip: -2 means no limit.')}\n

    \n {this.state.errMessage &&

    {this.state.errMessage}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSetGroupQuotaDialog.propTypes = propTypes;\n\nexport default SetGroupQuotaDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Utils } from '../../../utils/utils';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport ModalPortal from '../../../components/modal-portal';\nimport RenameDepartmentDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-rename-department-dialog';\nimport DeleteDepartmentDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-delete-department-dialog';\nimport SetGroupQuotaDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-set-group-quota-dialog';\n\nconst GroupItemPropTypes = {\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n group: PropTypes.object.isRequired,\n onDepartmentNameChanged: PropTypes.func.isRequired,\n onDeleteDepartment: PropTypes.func.isRequired,\n onSetDepartmentQuota: PropTypes.func.isRequired\n};\n\nclass GroupItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isSetQuotaDialogOpen: false,\n isDeleteDialogOpen: false,\n isRenameDialogOpen: false\n };\n }\n\n handleMouseOver = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseOut = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Rename':\n translateResult = gettext('Rename');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n default:\n break;\n }\n\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Rename':\n this.toggleRenameDialog();\n break;\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n default:\n break;\n }\n };\n\n toggleRenameDialog = () => {\n this.setState({\n isRenameDialogOpen: !this.state.isRenameDialogOpen\n });\n };\n\n toggleDeleteDialog = () => {\n this.setState({\n isDeleteDialogOpen: !this.state.isDeleteDialogOpen\n });\n };\n\n toggleSetQuotaDialog = () => {\n this.setState({\n isSetQuotaDialogOpen: !this.state.isSetQuotaDialogOpen\n });\n };\n\n render() {\n const { group } = this.props;\n const { highlight, isOpIconShown, isRenameDialogOpen, isDeleteDialogOpen, isSetQuotaDialogOpen } = this.state;\n const newHref = siteRoot+ 'sys/departments/' + group.id + '/';\n return (\n \n \n {group.name}\n {moment(group.created_at).fromNow()}\n \n {Utils.bytesToSize(group.quota)}{' '}\n \n \n \n {isOpIconShown &&\n \n }\n \n \n {isDeleteDialogOpen && (\n \n \n \n )}\n {isSetQuotaDialogOpen && (\n \n \n \n )}\n {isRenameDialogOpen && (\n \n )}\n \n );\n }\n}\n\nGroupItem.propTypes = GroupItemPropTypes;\n\nexport default GroupItem;\n","import React, { Fragment } from 'react';\nimport moment from 'moment';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport ModalPortal from '../../../components/modal-portal';\nimport AddDepartDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-department-dialog';\nimport { gettext, lang } from '../../../utils/constants';\nimport GroupItem from './group-item';\nimport '../../../css/org-department-item.css';\n\nmoment.locale(lang);\n\nclass DepartmentList extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n groups: null,\n groupID: '',\n isShowAddDepartDialog: false,\n isItemFreezed: false\n };\n }\n\n componentDidMount() {\n this.listDepartments();\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n listDepartments = () => {\n seafileAPI.sysAdminListAllDepartments().then(res => {\n this.setState({ groups: res.data.data });\n });\n };\n\n toggleAddDepartDialog = () => {\n this.setState({ isShowAddDepartDialog: !this.state.isShowAddDepartDialog });\n };\n\n onDepartmentNameChanged = (dept) => {\n this.setState({\n groups: this.state.groups.map(item => {\n if (item.id == dept.id) {\n item.name = dept.name;\n }\n return item;\n })\n });\n };\n\n onAddNewDepartment = (newDepartment) => {\n const { groups } = this.state;\n groups.unshift(newDepartment);\n this.setState({\n groups: groups\n });\n };\n\n onDeleteDepartment = (id) => {\n const { groups } = this.state;\n this.setState({\n groups: groups.filter((item) => item.id != id)\n });\n };\n\n onSetDepartmentQuota = (target) => {\n const { groups } = this.state;\n this.setState({\n groups: groups.map((item) => {\n if (item.id == target.id) {\n item.quota = target.quota;\n }\n return item;\n })\n });\n };\n\n render() {\n const groups = this.state.groups;\n const topbarChildren = (\n \n \n {this.state.isShowAddDepartDialog && (\n \n \n \n )}\n \n );\n return (\n \n \n {topbarChildren}\n \n
    \n
    \n
    \n
    \n

    {gettext('Departments')}

    \n
    \n
    \n
    \n {groups && groups.length > 0 ?\n \n \n \n \n \n \n \n \n \n \n {groups.map((group, index) => {\n return(\n \n \n \n );\n })}\n \n
    {gettext('Name')}{gettext('Created At')}{gettext('Quota')}
    \n :\n

    {gettext('No departments')}

    \n }\n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default DepartmentList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\nimport UserSelect from '../../user-select';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n groupID: PropTypes.string.isRequired,\n onAddNewMembers: PropTypes.func.isRequired\n};\n\nclass AddMemberDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: null,\n errMessage: '',\n };\n }\n\n handleSelectChange = (option) => {\n this.setState({ selectedOption: option });\n };\n\n handleSubmit = () => {\n if (!this.state.selectedOption) return;\n const emails = this.state.selectedOption.map(item => item.email);\n this.refs.orgSelect.clearSelect();\n this.setState({ errMessage: [] });\n seafileAPI.sysAdminAddGroupMember(this.props.groupID, emails).then((res) => {\n this.setState({ selectedOption: null });\n if (res.data.failed.length > 0) {\n this.setState({ errMessage: res.data.failed[0].error_msg });\n }\n if (res.data.success.length > 0) {\n this.props.onAddNewMembers(res.data.success);\n this.props.toggle();\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n {gettext('Add Member')}\n \n \n { this.state.errMessage &&

    {this.state.errMessage}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nAddMemberDialog.propTypes = propTypes;\n\nexport default AddMemberDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Form, FormGroup, Label } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n onAddNewRepo: PropTypes.func.isRequired\n};\n\nclass AddRepoDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repoName: '',\n errMessage: '',\n };\n }\n\n handleSubmit = () => {\n let isValid = this.validateName();\n if (isValid) {\n seafileAPI.sysAdminAddRepoInDepartment(this.props.groupID, this.state.repoName.trim()).then((res) => {\n this.props.toggle();\n this.props.onAddNewRepo(res.data);\n }).catch(error => {\n let errorMsg = Utils.getErrorMsg(error);\n this.setState({ errMessage: errorMsg });\n });\n }\n };\n\n validateName = () => {\n let errMessage = '';\n const name = this.state.repoName.trim();\n if (!name.length) {\n errMessage = gettext('Name is required');\n this.setState({ errMessage: errMessage });\n return false;\n }\n return true;\n };\n\n handleChange = (e) => {\n this.setState({\n repoName: e.target.value,\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n render() {\n return (\n \n {gettext('New Library')}\n \n
    \n \n \n \n \n
    \n {this.state.errMessage &&

    {this.state.errMessage}

    }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nAddRepoDialog.propTypes = propTypes;\n\nexport default AddRepoDialog;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport ModalPortal from '../../../components/modal-portal';\nimport AddDepartmentDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-department-dialog';\nimport RenameDepartmentDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-rename-department-dialog';\nimport AddMemberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-member-dialog';\nimport AddRepoDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog';\nimport { siteRoot, gettext, lang } from '../../../utils/constants';\n\nimport '../../../css/org-department-item.css';\n\nmoment.locale(lang);\n\nconst DepartmentDetailPropTypes = {\n groupID: PropTypes.string,\n currentItem: PropTypes.string.isRequired,\n onAddNewDepartment: PropTypes.func,\n onAddNewMembers: PropTypes.func,\n onAddNewRepo: PropTypes.func,\n children: PropTypes.object\n};\n\nclass Department extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n groupName: '',\n ancestorGroups: [],\n isShowAddDepartmentDialog: false,\n isShowAddMemberDialog: false,\n isShowRenameDepartmentDialog: false,\n isShowAddRepoDialog: false\n };\n\n this.navItems = [\n {name: 'subDepartments', urlPart: '/', text: gettext('Sub-departments')},\n {name: 'members', urlPart: '/members/', text: gettext('Members')},\n {name: 'repos', urlPart: '/libraries/', text: gettext('Libraries')}\n ];\n }\n\n componentDidMount() {\n const groupID = this.props.groupID;\n this.getDepartmentInfo(groupID);\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.groupID !== nextProps.groupID) {\n this.getDepartmentInfo(nextProps.groupID);\n }\n }\n\n getDepartmentInfo = (groupID) => {\n seafileAPI.sysAdminGetDepartmentInfo(groupID, true).then(res => {\n this.setState({\n ancestorGroups: res.data.ancestor_groups,\n groupName: res.data.name,\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onDepartmentNameChanged = (dept) => {\n this.setState({\n groupName: dept.name\n });\n };\n\n toggleRenameDepartmentDialog = () => {\n this.setState({ isShowRenameDepartmentDialog: !this.state.isShowRenameDepartmentDialog });\n };\n\n toggleAddRepoDialog = () => {\n this.setState({ isShowAddRepoDialog: !this.state.isShowAddRepoDialog });\n };\n\n toggleAddMemberDialog = () => {\n this.setState({ isShowAddMemberDialog: !this.state.isShowAddMemberDialog });\n };\n\n toggleAddDepartmentDialog = () => {\n this.setState({ isShowAddDepartmentDialog: !this.state.isShowAddDepartmentDialog});\n };\n\n render() {\n const { groupID, currentItem } = this.props;\n const { groupName } = this.state;\n\n const topBtn = 'btn btn-secondary operation-item';\n const topbarChildren = (\n \n {groupID &&\n \n \n {currentItem == 'subDepartments' && }\n {currentItem == 'members' && }\n {currentItem == 'repos' && }\n \n }\n {this.state.isShowRenameDepartmentDialog && (\n \n \n \n )}\n {this.state.isShowAddMemberDialog && (\n \n \n \n )}\n {this.state.isShowAddRepoDialog && (\n \n \n \n )}\n {this.state.isShowAddDepartmentDialog && (\n \n \n \n )}\n \n );\n\n return (\n \n \n {topbarChildren}\n \n
    \n
    \n
    \n
    \n

    \n {groupID ?\n {gettext('Departments')}\n : {gettext('Departments')}\n }\n {this.state.ancestorGroups.map(ancestor => {\n let newHref = siteRoot + 'sys/departments/' + ancestor.id + '/';\n return {' / '}{ancestor.name};\n })}\n {groupID && {' / '}{groupName}}\n

    \n
    \n
    \n\n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n {this.props.children}\n
    \n
    \n
    \n );\n }\n}\n\nDepartment.propTypes = DepartmentDetailPropTypes;\n\nexport default Department;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport { gettext, lang } from '../../../utils/constants';\nimport GroupItem from './group-item';\nimport Department from './department';\n\nimport '../../../css/org-department-item.css';\n\nmoment.locale(lang);\n\nconst SubDepartmentsPropTypes = {\n groupID: PropTypes.string\n};\n\nclass SubDepartments extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n groups: []\n };\n }\n\n componentDidMount() {\n this.listSubDepartments(this.props.groupID);\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.groupID !== nextProps.groupID) {\n this.listSubDepartments(nextProps.groupID);\n }\n }\n\n listSubDepartments = (groupID) => {\n seafileAPI.sysAdminGetDepartmentInfo(groupID, true).then(res => {\n this.setState({groups: res.data.groups});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n onSubDepartmentNameChanged = (dept) => {\n this.setState({\n groups: this.state.groups.map(item => {\n if (item.id == dept.id) {\n item.name = dept.name;\n }\n return item;\n })\n });\n };\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n onAddNewDepartment = (newDepartment) => {\n const { groups } = this.state;\n groups.unshift(newDepartment);\n this.setState({\n groups: groups\n });\n };\n\n onDeleteDepartment = (id) => {\n const { groups } = this.state;\n this.setState({\n groups: groups.filter(item => item.id != id)\n });\n };\n\n onSetDepartmentQuota = (target) => {\n const { groups } = this.state;\n this.setState({\n groups: groups.map((item) => {\n if (item.id == target.id) {\n item.quota = target.quota;\n }\n return item;\n })\n });\n };\n\n render() {\n const { groups } = this.state;\n const { groupID } = this.props;\n\n return (\n \n
    \n {groups && groups.length > 0 ?\n \n \n \n \n \n \n \n \n \n \n {groups.map((group, index) => {\n return(\n \n );\n })}\n \n
    {gettext('Name')}{gettext('Created At')}{gettext('Quota')}
    \n :

    {gettext('No sub-departments')}

    \n }\n
    \n \n );\n }\n}\n\nSubDepartments.propTypes = SubDepartmentsPropTypes;\n\nexport default SubDepartments;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\n\nconst propTypes = {\n member: PropTypes.object.isRequired,\n groupID: PropTypes.string,\n toggle: PropTypes.func.isRequired,\n onMemberChanged: PropTypes.func.isRequired\n};\n\nclass DeleteMemberDialog extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n deleteMember = () => {\n const userEmail = this.props.member.email;\n seafileAPI.sysAdminDeleteGroupMember(this.props.groupID, userEmail).then((res) => {\n if (res.data.success) {\n this.props.onMemberChanged();\n this.props.toggle();\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let tipMessage = gettext('Are you sure you want to delete {placeholder} ?');\n tipMessage = tipMessage.replace('{placeholder}', '' + Utils.HTMLescape(this.props.member.name) + '');\n return (\n \n {gettext('Delete Member')}\n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nDeleteMemberDialog.propTypes = propTypes;\n\nexport default DeleteMemberDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport RoleEditor from '../../../components/select-editor/role-editor';\nimport UserLink from '../user-link';\n\nconst MemberItemPropTypes = {\n groupID: PropTypes.string,\n member: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onMemberChanged: PropTypes.func.isRequired,\n showDeleteMemberDialog: PropTypes.func.isRequired,\n toggleItemFreezed: PropTypes.func.isRequired,\n};\n\nclass MemberItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n showRoleMenu: false,\n };\n this.roles = ['Admin', 'Member'];\n }\n\n onMouseEnter = () => {\n if (this.props.isItemFreezed) return;\n this.setState({ highlight: true });\n };\n\n onMouseLeave = () => {\n if (this.props.isItemFreezed) return;\n this.setState({ highlight: false });\n };\n\n toggleMemberRoleMenu = () => {\n this.setState({ showRoleMenu: !this.state.showRoleMenu });\n };\n\n onChangeUserRole = (role) => {\n let isAdmin = role === 'Admin' ? true : false;\n seafileAPI.sysAdminUpdateGroupMemberRole(this.props.groupID, this.props.member.email, isAdmin).then((res) => {\n this.props.onMemberChanged();\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n this.setState({\n highlight: false\n });\n };\n\n render() {\n const member = this.props.member;\n const highlight = this.state.highlight;\n if (member.role === 'Owner') return null;\n return (\n \n \"member-header\"\n \n \n \n \n {!this.props.isItemFreezed ?\n \n \n : \n }\n \n );\n }\n}\n\nMemberItem.propTypes = MemberItemPropTypes;\n\nexport default MemberItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport Paginator from '../../../components/paginator';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport ModalPortal from '../../../components/modal-portal';\nimport DeleteMemberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-delete-member-dialog';\nimport { gettext, lang } from '../../../utils/constants';\nimport MemberItem from './member-item';\nimport Department from './department';\nimport '../../../css/org-department-item.css';\n\nmoment.locale(lang);\n\nconst DepartmentMembersPropTypes = {\n groupID: PropTypes.string,\n};\n\nclass DepartmentMembers extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false,\n members: [],\n membersErrorMsg: '',\n currentPageInfo: {\n },\n currentPage: 1,\n perPage: 25,\n deletedMember: {},\n showDeleteMemberDialog: false\n };\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n const { groupID } = this.props;\n this.listMembers(groupID, this.state.currentPage, this.state.perPage);\n });\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.groupID !== nextProps.groupID) {\n this.listMembers(nextProps.groupID, this.state.currentPage, this.state.perPage);\n }\n }\n\n listMembers = (groupID, page, perPage) => {\n seafileAPI.sysAdminListGroupMembers(groupID, page, perPage).then((res) => {\n this.setState({\n members: res.data.members,\n currentPageInfo: res.data.page_info\n });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n this.setState({membersErrorMsg: errMessage});\n });\n };\n\n getPreviousPageList = () => {\n this.listMembers(this.props.groupID, this.state.currentPageInfo.current_page - 1, this.state.perPage);\n };\n\n getNextPageList = () => {\n this.listMembers(this.props.groupID, this.state.currentPageInfo.current_page + 1, this.state.perPage);\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.listMembers(this.props.groupID, 1, perPage);\n });\n };\n\n toggleCancel = () => {\n this.setState({\n showDeleteMemberDialog: false,\n });\n };\n\n onMemberChanged = () => {\n this.listMembers(this.props.groupID, this.state.currentPageInfo.current_page, this.state.perPage);\n };\n\n toggleItemFreezed = (isFreezed) => {\n this.setState({ isItemFreezed: isFreezed });\n };\n\n showDeleteMemberDialog = (member) => {\n this.setState({ showDeleteMemberDialog: true, deletedMember: member });\n };\n\n onAddNewMembers = (newMembers) => {\n const { members } = this.state;\n members.unshift(...newMembers);\n this.setState({ members });\n };\n\n render() {\n const { members, membersErrorMsg } = this.state;\n const { groupID } = this.props;\n\n return (\n \n \n
    \n {membersErrorMsg ?

    {membersErrorMsg}

    :\n members.length == 0 ?\n

    {gettext('No members')}

    :\n \n \n \n \n \n \n \n \n \n \n \n {members.map((member, index) => {\n return (\n \n \n \n );\n })}\n \n
    {gettext('Name')}{gettext('Role')}
    \n {this.state.currentPageInfo &&\n \n }\n
    \n }\n
    \n \n {this.state.showDeleteMemberDialog && (\n \n \n \n )}\n
    \n );\n }\n}\n\nDepartmentMembers.propTypes = DepartmentMembersPropTypes;\n\nexport default DepartmentMembers;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../toast';\n\nclass DeleteRepoDialog extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n deleteRepo = () => {\n seafileAPI.sysAdminDeleteRepoInDepartment(this.props.groupID, this.props.repo.repo_id).then((res) => {\n if (res.data.success) {\n this.props.onRepoChanged();\n this.props.toggle();\n }\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { repo } = this.props;\n let tipMessage = gettext('Are you sure you want to delete {placeholder} ?');\n tipMessage = tipMessage.replace('{placeholder}', '' + Utils.HTMLescape(repo.name || repo.repo_name) + '');\n return (\n \n {gettext('Delete Library')}\n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nconst propTypes = {\n repo: PropTypes.object.isRequired,\n toggle: PropTypes.func.isRequired,\n groupID: PropTypes.string,\n onRepoChanged: PropTypes.func.isRequired\n};\n\nDeleteRepoDialog.propTypes = propTypes;\n\nexport default DeleteRepoDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst { enableSysAdminViewRepo } = window.sysadmin.pageOptions;\n\nconst RepoItemPropTypes = {\n repo: PropTypes.object.isRequired,\n showDeleteRepoDialog: PropTypes.func.isRequired\n};\n\nclass RepoItem extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false\n };\n }\n\n onMouseEnter = () => {\n this.setState({ highlight: true });\n };\n\n onMouseLeave = () => {\n this.setState({ highlight: false });\n };\n\n render() {\n const { repo } = this.props;\n const repoName = repo.name || repo.repo_name;\n const highlight = this.state.highlight;\n let iconUrl = Utils.getLibIconUrl(repo);\n return (\n \n {gettext('icon')}/\n { enableSysAdminViewRepo ?\n {repoName}\n :\n {repoName}\n }\n {Utils.bytesToSize(repo.size)}\n \n \n \n \n );\n }\n}\n\nRepoItem.propTypes = RepoItemPropTypes;\n\nexport default RepoItem;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport ModalPortal from '../../../components/modal-portal';\nimport DeleteRepoDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-delete-repo-dialog';\nimport { gettext, lang } from '../../../utils/constants';\nimport RepoItem from './repo-item';\nimport Department from './department';\nimport '../../../css/org-department-item.css';\n\nmoment.locale(lang);\n\nconst DepartmentDetailPropTypes = {\n groupID: PropTypes.string,\n};\n\nclass DepartmentDetail extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n repos: [],\n deletedRepo: {},\n showDeleteRepoDialog: false\n };\n }\n\n componentDidMount() {\n const { groupID } = this.props;\n this.listGroupRepo(groupID);\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.groupID !== nextProps.groupID) {\n this.listGroupRepo(nextProps.groupID);\n }\n }\n\n listGroupRepo = (groupID) => {\n seafileAPI.sysAdminListGroupRepos(groupID).then(res => {\n this.setState({ repos: res.data.libraries });\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleCancel = () => {\n this.setState({\n showDeleteRepoDialog: false\n });\n };\n\n onRepoChanged = () => {\n this.listGroupRepo(this.props.groupID);\n };\n\n showDeleteRepoDialog = (repo) => {\n this.setState({ showDeleteRepoDialog: true, deletedRepo: repo });\n };\n\n onAddNewRepo = (newRepo) => {\n const { repos } = this.state;\n repos.unshift(newRepo);\n this.setState({ repos });\n };\n\n render() {\n const { repos } = this.state;\n const { groupID } = this.props;\n\n return (\n \n \n {repos.length > 0 ?\n
    \n \n \n \n \n \n \n \n \n \n \n {repos.map((repo, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Name')}{gettext('Size')}
    \n
    \n :

    {gettext('No libraries')}

    \n }\n
    \n {this.state.showDeleteRepoDialog && (\n \n \n \n )}\n
    \n );\n }\n}\n\nDepartmentDetail.propTypes = DepartmentDetailPropTypes;\n\nexport default DepartmentDetail;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'shareLinks', urlPart:'share-links', text: gettext('Share Links')},\n {name: 'uploadLinks', urlPart:'upload-links', text: gettext('Upload Links')},\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LinksNav from './links-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getShareLinksByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getShareLinksByPage(this.props.currentPage + 1);\n };\n\n sortByTime = (e) => {\n e.preventDefault();\n this.props.sortItems('ctime');\n };\n\n sortByCount = (e) => {\n e.preventDefault();\n this.props.sortItems('view_cnt');\n };\n\n render() {\n const {\n loading, errorMsg, items,\n perPage, currentPage, hasNextPage,\n sortBy, sortOrder\n } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No share links')}

    \n
    \n );\n\n const initialSortIcon = ;\n const sortIcon = ;\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Token')}{gettext('Owner')}\n {gettext('Created At')} {sortBy == 'ctime' ? sortIcon : initialSortIcon}\n \n {gettext('Count')} {sortBy == 'view_cnt' ? sortIcon : initialSortIcon}\n {gettext('Expiration')}{/*Operations*/}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getShareLinksByPage: PropTypes.func.isRequired,\n sortItems: PropTypes.func.isRequired,\n sortBy: PropTypes.string.isRequired,\n sortOrder: PropTypes.string.isRequired,\n deleteShareLink: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n deleteShareLink = () => {\n this.props.deleteShareLink(this.props.item.token);\n };\n\n renderExpiration = () => {\n const item = this.props.item;\n if (!item.expire_date) {\n return '--';\n }\n const expire_date = moment(item.expire_date).format('YYYY-MM-DD');\n const expire_time = moment(item.expire_date).format('YYYY-MM-DD HH:mm:ss');\n return ({expire_date});\n };\n\n render() {\n let { isOpIconShown } = this.state;\n let { item } = this.props;\n let deleteIcon = `action-icon sf2-icon-delete ${isOpIconShown ? '' : 'invisible'}`;\n return (\n \n {item.obj_name}\n {item.token}\n \n {moment(item.ctime).fromNow()}\n {item.view_cnt}\n {this.renderExpiration()}\n \n \n \n \n );\n }\n}\n\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n deleteShareLink: PropTypes.func.isRequired,\n};\n\nclass ShareLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n shareLinkList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n sortBy: '',\n sortOrder: 'asc'\n };\n this.initPage = 1;\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage, sortBy, sortOrder } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage),\n sortBy: urlParams.get('order_by') || sortBy,\n sortOrder: urlParams.get('direction') || sortOrder\n }, () => {\n this.getShareLinksByPage(this.state.currentPage);\n });\n }\n\n getShareLinksByPage = (page) => {\n const { perPage, sortBy, sortOrder } = this.state;\n seafileAPI.sysAdminListShareLinks(page, perPage, sortBy, sortOrder).then((res) => {\n this.setState({\n shareLinkList: res.data.share_link_list,\n loading: false,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n sortItems = (sortBy) => {\n this.setState({\n currentPage: 1,\n sortBy: sortBy,\n sortOrder: this.state.sortOrder == 'asc' ? 'desc' : 'asc'\n }, () => {\n let url = new URL(location.href);\n let searchParams = new URLSearchParams(url.search);\n const { currentPage, sortBy, sortOrder } = this.state;\n searchParams.set('page', currentPage);\n searchParams.set('order_by', sortBy);\n searchParams.set('direction', sortOrder);\n url.search = searchParams.toString();\n navigate(url.toString());\n this.getShareLinksByPage(currentPage);\n });\n };\n\n deleteShareLink = (linkToken) => {\n seafileAPI.sysAdminDeleteShareLink(linkToken).then(res => {\n let newShareLinkList = this.state.shareLinkList.filter(item =>\n item.token != linkToken\n );\n this.setState({shareLinkList: newShareLinkList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getShareLinksByPage(this.initPage));\n };\n\n render() {\n let { shareLinkList, currentPage, perPage, hasNextPage } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default ShareLinks;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LinksNav from './links-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getUploadLinksByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getUploadLinksByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No upload links')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Token')}{gettext('Owner')}{gettext('Created At')}{gettext('Count')}{gettext('Expiration')}{/*Operations*/}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getUploadLinksByPage: PropTypes.func.isRequired,\n deleteUploadLink: PropTypes.func.isRequired,\n};\n\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n deleteUploadLink = () => {\n this.props.deleteUploadLink(this.props.item.token);\n };\n\n renderExpiration = () => {\n let item = this.props.item;\n if (!item.expire_date) {\n return '--';\n }\n const expire_date = moment(item.expire_date).format('YYYY-MM-DD');\n const expire_time = moment(item.expire_date).format('YYYY-MM-DD HH:mm:ss');\n return ({expire_date});\n };\n\n render() {\n let { isOpIconShown } = this.state;\n let { item } = this.props;\n let deleteIcon = `action-icon sf2-icon-delete ${isOpIconShown ? '' : 'invisible'}`;\n return (\n \n \n {item.path}\n {item.token}\n \n {moment(item.ctime).fromNow()}\n {item.view_cnt}\n {this.renderExpiration()}\n \n \n \n \n \n );\n }\n}\n\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n deleteUploadLink: PropTypes.func.isRequired,\n};\n\n\nclass UploadLinks extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n uploadLinkList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n };\n this.initPage = 1;\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getUploadLinksByPage(this.state.currentPage);\n });\n }\n\n getUploadLinksByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListAllUploadLinks(page, perPage).then((res) => {\n this.setState({\n uploadLinkList: res.data.upload_link_list,\n loading: false,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n deleteUploadLink = (linkToken) => {\n seafileAPI.sysAdminDeleteUploadLink(linkToken).then(res => {\n let newUploadLinkList = this.state.uploadLinkList.filter(item =>\n item.token != linkToken\n );\n this.setState({uploadLinkList: newUploadLinkList});\n }).catch(error => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getUploadLinksByPage(this.initPage));\n };\n\n render() {\n let { uploadLinkList, currentPage, perPage, hasNextPage } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default UploadLinks;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Alert, Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n toggleDialog: PropTypes.func.isRequired,\n addOrg: PropTypes.func.isRequired\n};\n\nclass SysAdminAddOrgDialog extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: '',\n email: '',\n password: '',\n passwordAgain: '',\n errorMsg: '',\n isSubmitBtnActive: false\n };\n }\n\n checkSubmitBtnActive = () => {\n const { name, email, password, passwordAgain } = this.state;\n let btnActive = true;\n if (name.trim() !='' &&\n email.trim() != '' &&\n password.trim() != '' &&\n passwordAgain.trim() != '') {\n btnActive = true;\n } else {\n btnActive = false;\n }\n this.setState({\n isSubmitBtnActive: btnActive\n });\n };\n\n toggle = () => {\n this.props.toggleDialog();\n };\n\n inputPassword = (e) => {\n let passwd = e.target.value;\n this.setState({\n password: passwd\n }, this.checkSubmitBtnActive);\n };\n\n inputPasswordAgain = (e) => {\n let passwd = e.target.value;\n this.setState({\n passwordAgain: passwd\n }, this.checkSubmitBtnActive);\n };\n\n inputEmail = (e) => {\n let email = e.target.value;\n this.setState({\n email: email\n }, this.checkSubmitBtnActive);\n };\n\n inputName = (e) => {\n let name = e.target.value;\n this.setState({\n name: name\n }, this.checkSubmitBtnActive);\n };\n\n handleSubmit = () => {\n let { name, email, password, passwordAgain } = this.state;\n if (password != passwordAgain) {\n this.setState({errorMsg: gettext('Passwords do not match.')});\n return;\n }\n const data = {\n orgName: name.trim(),\n ownerEmail: email.trim(),\n password: password.trim()\n };\n this.props.addOrg(data);\n this.toggle();\n };\n\n render() {\n const { errorMsg, password, passwordAgain, email, name, isSubmitBtnActive } = this.state;\n return (\n \n {gettext('Add Organization')}\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {errorMsg && {errorMsg}}\n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminAddOrgDialog.propTypes = propTypes;\n\nexport default SysAdminAddOrgDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport SysAdminUserRoleEditor from '../../../components/select-editor/sysadmin-user-role-editor';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport UserLink from '../user-link';\nimport toaster from '../../../components/toast';\n\nconst { availableRoles } = window.sysadmin.pageOptions;\n\nclass Content extends Component {\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No organizations')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Creator')}{gettext('Role')}{gettext('Space Used')}{gettext('Created At')}{/* Operations */}
    \n {this.props.currentPage &&\n \n }\n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n item: PropTypes.object.isRequired,\n getListByPage: PropTypes.func.isRequired,\n currentPage: PropTypes.number,\n items: PropTypes.array.isRequired,\n updateRole: PropTypes.func.isRequired,\n deleteOrg: PropTypes.func.isRequired,\n hasNextPage: PropTypes.bool,\n resetPerPage: PropTypes.func,\n curPerPage: PropTypes.number,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isDeleteDialogOpen: false,\n deleteDialogMsg: '',\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen}, () => {\n if (this.state.isDeleteDialogOpen) {\n seafileAPI.sysAdminGetOrg(this.props.item.org_id).then((res) => {\n let orgName = '' + Utils.HTMLescape(res.data.org_name) + '';\n let userCount = '' + Utils.HTMLescape(res.data.users_count) + '';\n let repoCount = '' + Utils.HTMLescape(res.data.repos_count) + '';\n let deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?')\n .replace('{placeholder}', orgName) + '
    ' +\n gettext('{userCount} user(s) and {repoCount} libraries of this organization will also be deleted.')\n .replace('{userCount}', userCount)\n .replace('{repoCount}', repoCount);\n this.setState({deleteDialogMsg: deleteDialogMsg});\n }).catch(error => {\n let errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n });\n }\n });\n };\n\n updateRole = (role) => {\n this.props.updateRole(this.props.item.org_id, role);\n };\n\n deleteOrg = () => {\n toaster.notify(gettext('It may take some time, please wait.'));\n this.props.deleteOrg(this.props.item.org_id);\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen, deleteDialogMsg } = this.state;\n\n return (\n \n \n {item.org_name}\n \n \n \n \n \n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota > 0 ? Utils.bytesToSize(item.quota) : '--'}`}\n {moment(item.ctime).format('YYYY-MM-DD HH:mm:ss')}\n \n \n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n updateRole: PropTypes.func.isRequired,\n deleteOrg: PropTypes.func.isRequired,\n};\n\nexport default Content;\n","import React, { Component, Fragment } from 'react';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport SysAdminAddOrgDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-org-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Search from '../search';\nimport Content from './orgs-content';\n\n\nclass Orgs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n orgList: [],\n currentPage: 1,\n perPage: 25,\n hasNextPage: false,\n isAddOrgDialogOpen: false\n };\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getItemsByPage(this.state.currentPage);\n });\n }\n\n getItemsByPage = (page) => {\n const { perPage } = this.state;\n seafileAPI.sysAdminListOrgs(page, perPage).then((res) => {\n this.setState({\n loading: false,\n orgList: res.data.organizations,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count)\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getItemsByPage(1);\n });\n };\n\n toggleAddOrgDialog = () => {\n this.setState({isAddOrgDialogOpen: !this.state.isAddOrgDialogOpen});\n };\n\n updateRole = (orgID, role) => {\n let orgInfo = {};\n orgInfo.role = role;\n seafileAPI.sysAdminUpdateOrg(orgID, orgInfo).then(res => {\n let newOrgList = this.state.orgList.map(org => {\n if (org.org_id == orgID) {\n org.role = role;\n }\n return org;\n });\n this.setState({orgList: newOrgList});\n toaster.success(gettext('Edit succeeded'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n addOrg = (data) => {\n const { orgName, ownerEmail, password } = data;\n seafileAPI.sysAdminAddOrg(orgName, ownerEmail, password).then(res => {\n let orgList = this.state.orgList;\n orgList.unshift(res.data);\n this.setState({orgList: orgList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteOrg = (orgID) => {\n seafileAPI.sysAdminDeleteOrg(orgID).then(res => {\n let orgList = this.state.orgList.filter(org => {\n return org.org_id != orgID;\n });\n this.setState({orgList: orgList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n getSearch = () => {\n return ;\n };\n\n searchItems = (keyword) => {\n navigate(`${siteRoot}sys/search-organizations/?query=${encodeURIComponent(keyword)}`);\n };\n\n render() {\n const { isAddOrgDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n
    \n

    {gettext('Organizations')}

    \n
    \n
    \n \n
    \n
    \n
    \n {isAddOrgDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default Orgs;\n","import React, { Component, Fragment } from 'react';\nimport { Form, FormGroup, Input, Label, Col } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Content from './orgs-content';\n\n\nclass SearchOrgs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n query: '',\n isSubmitBtnActive: false,\n loading: true,\n errorMsg: '',\n orgList: []\n };\n }\n\n componentDidMount () {\n let params = (new URL(document.location)).searchParams;\n this.setState({\n query: params.get('query') || ''\n }, this.getItems);\n }\n\n getItems = () => {\n seafileAPI.sysAdminSearchOrgs(this.state.query.trim()).then(res => {\n this.setState({\n loading: false,\n orgList: res.data.organization_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n updateRole = (orgID, role) => {\n let orgInfo = {};\n orgInfo.role = role;\n seafileAPI.sysAdminUpdateOrg(orgID, orgInfo).then(res => {\n let newOrgList = this.state.orgList.map(org => {\n if (org.org_id == orgID) {\n org.role = role;\n }\n return org;\n });\n this.setState({orgList: newOrgList});\n toaster.success(gettext('Edit succeeded'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteOrg = (orgID) => {\n seafileAPI.sysAdminDeleteOrg(orgID).then(res => {\n let orgList = this.state.orgList.filter(org => {\n return org.org_id != orgID;\n });\n this.setState({orgList: orgList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n handleInputChange = (e) => {\n this.setState({\n query: e.target.value\n }, this.checkSubmitBtnActive);\n };\n\n checkSubmitBtnActive = () => {\n const { query } = this.state;\n this.setState({\n isSubmitBtnActive: query.trim()\n });\n };\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13) {\n const { isSubmitBtnActive } = this.state;\n if (isSubmitBtnActive) {\n this.getItems();\n }\n }\n }\n\n render() {\n const { query, isSubmitBtnActive } = this.state;\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Organizations')}

    \n
    \n
    \n
    \n

    {gettext('Search Organizations')}

    \n

    {gettext('Tip: you can search by keyword in name.')}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n

    {gettext('Result')}

    \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default SearchOrgs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n name: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n updateName: PropTypes.func.isRequired\n};\n\nclass SysAdminSetOrgNameDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n name: this.props.name,\n isSubmitBtnActive: false\n };\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n handleInputChange = (e) => {\n const value = e.target.value;\n this.setState({\n name: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleSubmit = () => {\n this.props.updateName(this.state.name.trim());\n this.toggle();\n };\n\n render() {\n const { name, isSubmitBtnActive } = this.state;\n return (\n \n {gettext('Set Name')}\n \n
    \n \n \n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminSetOrgNameDialog.propTypes = propTypes;\n\nexport default SysAdminSetOrgNameDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n value: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n updateValue: PropTypes.func.isRequired\n};\n\nclass SysAdminSetOrgMaxUserNumberDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: this.props.value,\n isSubmitBtnActive: false\n };\n }\n\n toggle = () => {\n this.props.toggle();\n };\n\n handleInputChange = (e) => {\n const value = e.target.value;\n this.setState({\n value: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleKeyPress = (e) => {\n if (e.key == 'Enter') {\n this.handleSubmit();\n e.preventDefault();\n }\n };\n\n handleSubmit = () => {\n this.props.updateValue(this.state.value.trim());\n this.toggle();\n };\n\n render() {\n const { value, isSubmitBtnActive } = this.state;\n return (\n \n {gettext('Set max number of members')}\n \n
    \n \n \n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminSetOrgMaxUserNumberDialog.propTypes = propTypes;\n\nexport default SysAdminSetOrgMaxUserNumberDialog;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n orgID: PropTypes.string,\n orgName: PropTypes.string.isRequired,\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'info', urlPart: 'info', text: gettext('Info')},\n {name: 'users', urlPart: 'users', text: gettext('Members')},\n {name: 'groups', urlPart: 'groups', text: gettext('Groups')},\n {name: 'repos', urlPart: 'libraries', text: gettext('Libraries')},\n //{name: 'traffic', urlPart: 'traffic', text: gettext('traffic')},\n //{name: 'settings', urlPart: 'settings', text: gettext('Settings')}\n ];\n }\n\n render() {\n const { currentItem, orgID, orgName } = this.props;\n return (\n
    \n
    \n

    {gettext('Organizations')} / {orgName}

    \n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Row, Col } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, serviceURL } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport Loading from '../../../components/loading';\nimport SysAdminSetOrgQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport SysAdminSetOrgNameDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-set-org-name-dialog';\nimport SysAdminSetOrgMaxUserNumberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-set-org-max-user-number-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport OrgNav from './org-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isSetQuotaDialogOpen: false,\n isSetNameDialogOpen: false,\n isSetMaxUserNumberDialogOpen: false\n };\n }\n\n toggleSetQuotaDialog = () => {\n this.setState({isSetQuotaDialogOpen: !this.state.isSetQuotaDialogOpen});\n };\n\n toggleSetNameDialog = () => {\n this.setState({isSetNameDialogOpen: !this.state.isSetNameDialogOpen});\n };\n\n toggleSetMaxUserNumberDialog = () => {\n this.setState({isSetMaxUserNumberDialogOpen: !this.state.isSetMaxUserNumberDialogOpen});\n };\n\n showEditIcon = (action) => {\n return (\n \n \n );\n };\n\n render() {\n const { loading, errorMsg } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const { org_name, users_count, max_user_number, groups_count, quota, quota_usage, enable_saml_login, url_prefix, metadata_url, domain } = this.props.orgInfo;\n const { isSetQuotaDialogOpen, isSetNameDialogOpen, isSetMaxUserNumberDialogOpen } = this.state;\n return (\n \n
    \n
    {gettext('Name')}
    \n
    \n {org_name}\n {this.showEditIcon(this.toggleSetNameDialog)}\n
    \n\n
    {gettext('Number of members')}
    \n
    {users_count}
    \n\n {max_user_number &&\n \n
    {gettext('Max number of members')}
    \n
    \n {max_user_number}\n {this.showEditIcon(this.toggleSetMaxUserNumberDialog)}\n
    \n
    \n }\n\n
    {gettext('Number of groups')}
    \n
    {groups_count}
    \n\n
    {gettext('Space Used')}
    \n
    \n {`${Utils.bytesToSize(quota_usage)} / ${quota > 0 ? Utils.bytesToSize(quota) : '--'}`}\n {this.showEditIcon(this.toggleSetQuotaDialog)}\n
    \n {enable_saml_login &&\n \n
    {gettext('SAML Config')}
    \n
    \n \n {gettext('Custom SAML Login URL')}\n {`${serviceURL}/org/custom/${url_prefix}`}\n \n
    \n
    \n \n {gettext('App Federation Metadata URL')}\n {metadata_url}\n \n
    \n
    \n \n {gettext('Email Domain')}\n {domain}\n \n
    \n
    \n }\n
    \n {isSetQuotaDialogOpen &&\n \n }\n {isSetNameDialogOpen &&\n \n }\n {isSetMaxUserNumberDialogOpen &&\n \n }\n
    \n );\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getDeviceErrorsListByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n curPerPage: PropTypes.number,\n orgInfo: PropTypes.object,\n updateQuota: PropTypes.func.isRequired,\n updateName: PropTypes.func.isRequired,\n updateMaxUserNumber: PropTypes.func.isRequired,\n};\n\nclass OrgInfo extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n orgInfo: {}\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetOrg(this.props.orgID).then((res) => {\n this.setState({\n loading: false,\n orgInfo: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n updateQuota = (quota) => {\n const data = {quota: quota};\n seafileAPI.sysAdminUpdateOrg(this.props.orgID, data).then(res => {\n const newOrgInfo = Object.assign(this.state.orgInfo, {\n quota: res.data.quota\n });\n this.setState({orgInfo: newOrgInfo});\n toaster.success(gettext('Successfully set quota.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateName = (orgName) => {\n const data = {orgName: orgName};\n seafileAPI.sysAdminUpdateOrg(this.props.orgID, data).then(res => {\n const newOrgInfo = Object.assign(this.state.orgInfo, {\n org_name: res.data.org_name\n });\n this.setState({orgInfo: newOrgInfo});\n toaster.success(gettext('Successfully set name.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateMaxUserNumber = (newValue) => {\n const data = {maxUserNumber: newValue};\n seafileAPI.sysAdminUpdateOrg(this.props.orgID, data).then(res => {\n const newOrgInfo = Object.assign(this.state.orgInfo, {\n max_user_number: res.data.max_user_number\n });\n this.setState({orgInfo: newOrgInfo});\n toaster.success(gettext('Successfully set max number of members.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { orgInfo } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nOrgInfo.propTypes = {\n orgID: PropTypes.string,\n orgInfo: PropTypes.object,\n};\n\nexport default OrgInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../utils/constants';\nimport SelectEditor from './select-editor';\n\nconst propTypes = {\n isTextMode: PropTypes.bool.isRequired,\n isEditIconShow: PropTypes.bool.isRequired,\n statusOptions: PropTypes.array.isRequired,\n currentStatus: PropTypes.string.isRequired,\n onStatusChanged: PropTypes.func.isRequired\n};\n\nclass SysAdminUserMembershipEditor extends React.Component {\n\n translateStatus = (status) => {\n switch (status) {\n case 'is_org_staff':\n return gettext('Admin');\n case 'not_is_org_staff':\n return gettext('Member');\n }\n };\n\n render() {\n return (\n \n );\n }\n}\n\nSysAdminUserMembershipEditor.propTypes = propTypes;\n\nexport default SysAdminUserMembershipEditor;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, username } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport SysAdminUserStatusEditor from '../../../components/select-editor/sysadmin-user-status-editor';\nimport SysAdminUserMembershipEditor from '../../../components/select-editor/sysadmin-user-membership-editor';\nimport SysAdminAddUserDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-user-dialog';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport OrgNav from './org-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No members')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Status')}{gettext('Membership')}{gettext('Space Used')}{gettext('Created At')}{' / '}{gettext('Last Login')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n updateStatus: PropTypes.func.isRequired,\n updateMembership: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n};\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isDeleteDialogOpen: false,\n isResetPasswordDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n case 'Reset Password':\n this.toggleResetPasswordDialog();\n break;\n default:\n break;\n }\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n toggleResetPasswordDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isResetPasswordDialogOpen: !this.state.isResetPasswordDialogOpen});\n };\n\n updateStatus= (statusValue) => {\n this.props.updateStatus(this.props.item.email, statusValue);\n };\n\n updateMembership= (membershipValue) => {\n this.props.updateMembership(this.props.item.email, membershipValue);\n };\n\n deleteUser = () => {\n const { item } = this.props;\n this.props.deleteUser(item.org_id, item.email);\n };\n\n resetPassword = () => {\n seafileAPI.sysAdminResetUserPassword(this.props.item.email).then(res => {\n toaster.success(res.data.reset_tip);\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Reset Password':\n translateResult = gettext('Reset Password');\n break;\n }\n\n return translateResult;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen, isResetPasswordDialogOpen } = this.state;\n\n const itemName = '' + Utils.HTMLescape(item.name) + '';\n let deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n let resetPasswordDialogMsg = gettext('Are you sure you want to reset the password of {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n \n \n \n \n \n \n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}\n \n {moment(item.create_time).format('YYYY-MM-DD HH:mm:ss')}{' / '}{item.last_login ? moment(item.last_login).fromNow() : '--'}\n \n \n {(isOpIconShown && item.email != username) &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n }\n {isResetPasswordDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n updateStatus: PropTypes.func.isRequired,\n updateMembership: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n};\n\nclass OrgUsers extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n orgName: '',\n userList: [],\n isAddUserDialogOpen: false\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetOrg(this.props.orgID).then((res) => {\n this.setState({\n orgName: res.data.org_name\n });\n });\n seafileAPI.sysAdminListOrgUsers(this.props.orgID).then((res) => {\n this.setState({\n loading: false,\n userList: res.data.users\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n toggleAddUserDialog = () => {\n this.setState({isAddUserDialogOpen: !this.state.isAddUserDialogOpen});\n };\n\n addUser = (newUserInfo) => {\n const { email, name, password } = newUserInfo;\n seafileAPI.sysAdminAddOrgUser(this.props.orgID, email, name, password).then(res => {\n let userList = this.state.userList;\n userList.unshift(res.data);\n this.setState({userList: userList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteUser = (orgID, email) => {\n seafileAPI.sysAdminDeleteOrgUser(orgID, email).then(res => {\n let newUserList = this.state.userList.filter(item => {\n return item.email != email;\n });\n this.setState({userList: newUserList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateStatus = (email, statusValue) => {\n const isActive = statusValue == 'active';\n seafileAPI.sysAdminUpdateOrgUser(this.props.orgID, email, 'active', isActive).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item.active = res.data.active;\n }\n return item;\n });\n this.setState({userList: newUserList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateMembership = (email, membershipValue) => {\n const isOrgStaff = membershipValue == 'is_org_staff';\n seafileAPI.sysAdminUpdateOrgUser(this.props.orgID, email, 'is_org_staff', isOrgStaff).then(res => {\n let newUserList = this.state.userList.map(item => {\n if (item.email == email) {\n item.is_org_staff = res.data.is_org_staff;\n }\n return item;\n });\n this.setState({userList: newUserList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { isAddUserDialogOpen, orgName } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isAddUserDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nOrgUsers.propTypes = {\n orgID: PropTypes.string,\n};\n\nexport default OrgUsers;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport OrgNav from './org-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No groups')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Creator')}{gettext('Created At')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getDeviceErrorsListByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n curPerPage: PropTypes.number,\n pageInfo: PropTypes.object,\n deleteGroup: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isDeleteDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n deleteGroup = () => {\n this.toggleDeleteDialog();\n this.props.deleteGroup(this.props.item.group_id);\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen } = this.state;\n\n const itemName = '' + Utils.HTMLescape(item.group_name) + '';\n const deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n\n const groupUrl = item.parent_group_id == 0 ?\n `${siteRoot}sys/groups/${item.group_id}/libraries/` :\n `${siteRoot}sys/departments/${item.group_id}/`;\n\n return (\n \n \n {item.group_name}\n \n {moment(item.created_at).format('YYYY-MM-DD HH:mm:ss')}\n \n \n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteGroup: PropTypes.func.isRequired,\n transferGroup: PropTypes.func.isRequired,\n};\n\nclass OrgGroups extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n orgName: '',\n groupList: []\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetOrg(this.props.orgID).then((res) => {\n this.setState({\n orgName: res.data.org_name\n });\n });\n seafileAPI.sysAdminListOrgGroups(this.props.orgID).then((res) => {\n this.setState({\n loading: false,\n groupList: res.data.group_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteGroup = (groupID) => {\n seafileAPI.sysAdminDismissGroupByID(groupID).then(res => {\n let newGroupList = this.state.groupList.filter(item => {\n return item.group_id != groupID;\n });\n this.setState({groupList: newGroupList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nOrgGroups.propTypes = {\n orgID: PropTypes.string,\n};\n\n\n\nexport default OrgGroups;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport OrgNav from './org-nav';\n\nclass Content extends Component {\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No libraries')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('ID')}{gettext('Owner')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n deleteRepo: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isDeleteDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n deleteRepo = () => {\n this.props.deleteRepo(this.props.item.repo_id);\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen } = this.state;\n\n const iconUrl = Utils.getLibIconUrl(item);\n const iconTitle = Utils.getLibIconTitle(item);\n\n const itemName = '' + Utils.HTMLescape(item.repo_name) + '';\n const deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n {iconTitle}\n {item.repo_name}\n {item.repo_id}\n \n {!item.owner_email ?\n '--' :\n item.owner_email.indexOf('@seafile_group') == -1 ?\n :\n item.owner_name\n }\n \n \n \n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n deleteRepo: PropTypes.func.isRequired,\n};\n\nclass OrgRepos extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n orgName: '',\n repoList: []\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetOrg(this.props.orgID).then((res) => {\n this.setState({\n orgName: res.data.org_name\n });\n });\n seafileAPI.sysAdminListOrgRepos(this.props.orgID).then((res) => {\n this.setState({\n loading: false,\n repoList: res.data.repo_list\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n deleteRepo = (repoID) => {\n seafileAPI.sysAdminDeleteRepo(repoID).then(res => {\n let newRepoList = this.state.repoList.filter(item => {\n return item.repo_id != repoID;\n });\n this.setState({repoList: newRepoList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nOrgRepos.propTypes = {\n orgID: PropTypes.string,\n};\n\nexport default OrgRepos;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n addInstitution: PropTypes.func.isRequired\n};\n\nclass SysAdminAddInstitutionDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n isSubmitBtnActive: false\n };\n }\n\n handleChange = (e) => {\n const value = e.target.value;\n this.setState({\n value: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleSubmit = () => {\n this.toggle();\n this.props.addInstitution(this.state.value.trim());\n };\n\n toggle = () => {\n this.props.toggle();\n };\n\n render() {\n return (\n \n {gettext('Add institution')}\n \n
    \n

    {gettext('Name')}

    \n \n \n \n
    \n
    \n \n \n \n
    \n );\n }\n}\n\nSysAdminAddInstitutionDialog.propTypes = propTypes;\n\nexport default SysAdminAddInstitutionDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { siteRoot, gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport SysAdminAddInstitutionDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog';\nimport Paginator from '../../../components/paginator';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getInstitutionsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getInstitutionsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No institutions')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Created At')}{/* Operations */}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getInstitutionsByPage: PropTypes.func.isRequired,\n deleteInstitution: PropTypes.func.isRequired,\n};\n\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isDeleteDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n this.setState({isOpIconShown: true});\n };\n\n handleMouseLeave = () => {\n this.setState({isOpIconShown: false});\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n deleteInstitution = () => {\n this.props.deleteInstitution(this.props.item.id);\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen } = this.state;\n\n const institutionName = '' + Utils.HTMLescape(item.name) + '';\n const deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', institutionName);\n\n return (\n \n \n {item.name}\n {moment(item.ctime).fromNow()}\n \n \n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n deleteInstitution: PropTypes.func.isRequired,\n};\n\nclass Institutions extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n institutionList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isAddInstitutionDialogOpen: false,\n };\n this.initPage = 1;\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getInstitutionsByPage(this.state.currentPage);\n });\n }\n\n getInstitutionsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListInstitutions(page, perPage).then((res) => {\n this.setState({\n loading: false,\n institutionList: res.data.institution_list,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getInstitutionsByPage(this.initPage));\n };\n\n toggleAddInstitutionDialog = () => {\n this.setState({isAddInstitutionDialogOpen: !this.state.isAddInstitutionDialogOpen});\n };\n\n addInstitution = (name) => {\n seafileAPI.sysAdminAddInstitution(name).then(res => {\n let institutionList = this.state.institutionList;\n institutionList.push(res.data);\n this.setState({institutionList: institutionList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteInstitution = (institutionID) => {\n seafileAPI.sysAdminDeleteInstitution(institutionID).then(res => {\n let institutionList = this.state.institutionList.filter(inst => {\n return inst.id != institutionID;\n });\n this.setState({institutionList: institutionList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { isAddInstitutionDialogOpen, hasNextPage, currentPage, perPage } = this.state;\n return (\n \n \n \n \n
    \n
    \n
    \n

    {gettext('Institutions')}

    \n
    \n
    \n \n
    \n
    \n
    \n {isAddInstitutionDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default Institutions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n institutionID: PropTypes.string,\n institutionName: PropTypes.string.isRequired,\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'info', urlPart: 'info', text: gettext('Info')},\n {name: 'members', urlPart: 'members', text: gettext('Members')},\n {name: 'admins', urlPart: 'admins', text: gettext('Admins')},\n ];\n }\n\n render() {\n const { currentItem, institutionID, institutionName } = this.props;\n return (\n
    \n
    \n

    {gettext('Institutions')} / {institutionName}

    \n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport Loading from '../../../components/loading';\nimport SysAdminSetInstitutionQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport InstitutionNav from './institution-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isSetQuotaDialogOpen: false,\n };\n }\n\n toggleSetQuotaDialog = () => {\n this.setState({isSetQuotaDialogOpen: !this.state.isSetQuotaDialogOpen});\n };\n\n showEditIcon = (action) => {\n return (\n \n \n );\n };\n\n render() {\n const { loading, errorMsg, institutionInfo } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const { name, user_count, quota_total, quota_used } = institutionInfo;\n const { isSetQuotaDialogOpen } = this.state;\n return (\n \n
    \n
    {gettext('Name')}
    \n
    \n {name}\n
    \n\n
    {gettext('Number of members')}
    \n
    {user_count}
    \n\n
    {gettext('Space Used')}
    \n
    \n {`${Utils.bytesToSize(quota_used)} / ${quota_total > 0 ? Utils.bytesToSize(quota_total) : '--'}`}\n {this.showEditIcon(this.toggleSetQuotaDialog)}\n
    \n
    \n {isSetQuotaDialogOpen &&\n \n }\n
    \n );\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n institutionInfo: PropTypes.object.isRequired,\n updateQuota: PropTypes.func.isRequired,\n};\n\n\nclass InstitutionInfo extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n institutionInfo: {}\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetInstitution(this.props.institutionID).then((res) => {\n this.setState({\n loading: false,\n institutionInfo: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n updateQuota = (quota) => {\n seafileAPI.sysAdminUpdateInstitution(this.props.institutionID, quota).then(res => {\n const newInstitutionInfo = Object.assign(this.state.institutionInfo, {\n quota_total: res.data.quota_total,\n });\n this.setState({institutionInfo: newInstitutionInfo});\n toaster.success(gettext('Successfully set quota.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n\n render() {\n const { institutionInfo } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nInstitutionInfo.propTypes = {\n institutionID: PropTypes.string,\n};\n\nexport default InstitutionInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport UserSelect from '../../user-select';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n addUser: PropTypes.func.isRequired\n};\n\nclass AddMemberDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: [],\n };\n }\n\n handleSelectChange = (option) => {\n this.setState({ selectedOption: option });\n };\n\n handleSubmit = () => {\n if (!this.state.selectedOption) return;\n const emails = this.state.selectedOption.map(item => item.email);\n this.props.addUser(emails);\n };\n\n render() {\n return (\n \n {gettext('Add Member')}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nAddMemberDialog.propTypes = propTypes;\n\nexport default AddMemberDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport AddMemberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport UserLink from '../user-link';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport InstitutionNav from './institution-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getInstitutionUsersByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getInstitutionUsersByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No members')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Status')}{gettext('Space Used')}{gettext('Created At')}{' / '}{gettext('Last Login')}{/* Operations */}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getInstitutionUsersByPage: PropTypes.func.isRequired,\n setAdmin: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isSetAdminDialogOpen: false,\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleSetAdminDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isSetAdminDialogOpen: !this.state.isSetAdminDialogOpen});\n };\n\n setAdmin = () => {\n this.props.setAdmin(this.props.item.email);\n };\n\n onMenuItemClick = (operation) => {\n switch (operation) {\n case 'Delete':\n this.props.deleteUser(this.props.item.email);\n break;\n case 'Set Admin':\n this.toggleSetAdminDialog();\n break;\n }\n };\n\n getOperations = () => {\n let operations = [];\n if (!this.props.item.is_institution_admin) {\n operations.push('Set Admin');\n }\n operations.push('Delete');\n return operations;\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n case 'Set Admin':\n translateResult = gettext('Set Admin');\n break;\n }\n\n return translateResult;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isSetAdminDialogOpen } = this.state;\n\n const itemName = '' + Utils.HTMLescape(item.name) + '';\n const dialogMsg = gettext('Are you sure you want to set {placeholder} as Admin?').replace('{placeholder}', itemName);\n\n return (\n \n \n \n \n \n \n {item.is_active ? gettext('Active') : gettext('Inactive')}\n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}\n \n {moment(item.create_time).format('YYYY-MM-DD HH:mm:ss')}{' / '}{item.last_login ? moment(item.last_login).fromNow() : '--'}\n \n \n {isOpIconShown &&\n \n }\n \n \n {isSetAdminDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.string.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n setAdmin: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n};\n\nclass InstitutionUsers extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n institutionName: '',\n userList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isAddUserDialogOpen: false\n };\n this.initPage = 1;\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetInstitution(this.props.institutionID).then((res) => {\n this.setState({\n institutionName: res.data.name\n });\n });\n\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getInstitutionUsersByPage(this.state.currentPage);\n });\n }\n\n getInstitutionUsersByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListInstitutionUsers(this.props.institutionID, page, perPage).then((res) => {\n this.setState({\n loading: false,\n userList: res.data.user_list,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n setAdmin = (email) => {\n seafileAPI.sysAdminUpdateInstitutionUser(this.props.institutionID, email, true).then(res => {\n let userList = this.state.userList.map(user => {\n if (user.email == email) {\n user.is_institution_admin = true;\n }\n return user;\n });\n this.setState({userList: userList});\n toaster.success(gettext('Success'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n toggleAddUserDialog = () => {\n this.setState({isAddUserDialogOpen: !this.state.isAddUserDialogOpen});\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getInstitutionUsersByPage(this.initPage));\n };\n\n addUser = (emails) => {\n seafileAPI.sysAdminAddInstitutionUserBatch(this.props.institutionID, emails).then(res => {\n this.toggleAddUserDialog();\n let successArray = res.data.success;\n let failedArray = res.data.failed;\n if (successArray.length) {\n let newUserList = this.state.userList.concat(successArray);\n this.setState({userList: newUserList});\n }\n failedArray.forEach((item) => {\n toaster.danger(item.error_msg);\n });\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteUser = (email) => {\n seafileAPI.sysAdminDeleteInstitutionUser(this.props.institutionID, email).then(res => {\n let newUserList = this.state.userList.filter(user => {\n return user.email != email;\n });\n this.setState({userList: newUserList});\n toaster.success('success');\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { isAddUserDialogOpen, institutionName, hasNextPage, currentPage, perPage } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isAddUserDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nInstitutionUsers.propTypes = {\n institutionID: PropTypes.string,\n};\n\nexport default InstitutionUsers;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport UserLink from '../user-link';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport InstitutionNav from './institution-nav';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No admins')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Name')}{gettext('Status')}{gettext('Space Used')}{gettext('Created At')}{' / '}{gettext('Last Login')}{/* Operations */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n revokeAdmin: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isRevokeAdminDialogOpen: false,\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleRevokeAdminDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isRevokeAdminDialogOpen: !this.state.isRevokeAdminDialogOpen});\n };\n\n revokeAdmin = () => {\n this.props.revokeAdmin(this.props.item);\n };\n\n onMenuItemClick = (operation) => {\n switch (operation) {\n case 'Revoke Admin':\n this.toggleRevokeAdminDialog();\n break;\n }\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Revoke Admin':\n translateResult = gettext('Revoke Admin');\n break;\n }\n return translateResult;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isRevokeAdminDialogOpen } = this.state;\n\n const itemName = '' + Utils.HTMLescape(item.name) + '';\n const revokeAdminDialogMsg = gettext('Are you sure you want to revoke the admin permission of {placeholder} ?').replace('{placeholder}', itemName);\n\n return (\n \n \n \n \n \n \n {item.is_active ? gettext('Active') : gettext('Inactive')}\n \n {`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}\n \n {moment(item.create_time).format('YYYY-MM-DD HH:mm:ss')}{' / '}{item.last_login ? moment(item.last_login).fromNow() : '--'}\n \n \n {isOpIconShown &&\n \n }\n \n \n {isRevokeAdminDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n revokeAdmin: PropTypes.func.isRequired,\n deleteUser: PropTypes.func.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n};\n\nclass InstitutionAdmins extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n institutionName: '',\n userList: [],\n isAddUserDialogOpen: false\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetInstitution(this.props.institutionID).then((res) => {\n this.setState({\n institutionName: res.data.name\n });\n });\n seafileAPI.sysAdminListInstitutionAdmins(this.props.institutionID).then((res) => {\n this.setState({\n loading: false,\n userList: res.data.user_list,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n revokeAdmin = (item) => {\n const email = item.email;\n const name = item.name;\n seafileAPI.sysAdminUpdateInstitutionUser(this.props.institutionID, email, false).then(res => {\n let userList = this.state.userList.filter(user => {\n return user.email != email;\n });\n this.setState({userList: userList});\n toaster.success(gettext('Successfully revoked the admin permission of {placeholder}.').replace('{placeholder}', name));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteUser = (email) => {\n seafileAPI.sysAdminDeleteInstitutionUser(this.props.institutionID, email).then(res => {\n let newUserList = this.state.userList.filter(user => {\n return user.email != email;\n });\n this.setState({userList: newUserList});\n toaster.success('success');\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { institutionName } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nInstitutionAdmins.propTypes = {\n institutionID: PropTypes.string,\n};\n\nexport default InstitutionAdmins;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'loginLogs', urlPart:'logs/login', text: gettext('Login')},\n {name: 'fileAccessLogs', urlPart:'logs/file-access', text: gettext('File Access')},\n {name: 'fileUpdateLogs', urlPart:'logs/file-update', text: gettext('File Update')},\n {name: 'sharePermissionLogs', urlPart:'logs/share-permission', text: gettext('Permission')},\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, FormGroup, Label, Input, Alert } from 'reactstrap';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport moment from 'moment';\n\nclass LogsExportExcelDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n startDateStr: '',\n endDateStr: '',\n errMsg: '',\n };\n }\n\n downloadExcel = () => {\n if (!this.isValidDateStr()) {\n return;\n }\n let { startDateStr, endDateStr } = this.state;\n let url = siteRoot;\n\n switch (this.props.logType) {\n case 'login':\n url += 'sys/loginadmin/export-excel/';\n break;\n case 'fileAccess':\n url += 'sys/log/fileaudit/export-excel/';\n break;\n case 'fileUpdate':\n url += 'sys/log/fileupdate/export-excel/';\n break;\n case 'sharePermission':\n url += 'sys/log/permaudit/export-excel/';\n break;\n }\n location.href = url + '?start=' + startDateStr + '&end=' + endDateStr;\n this.props.toggle();\n };\n\n isValidDateStr = () => {\n let { startDateStr, endDateStr } = this.state;\n if (moment(startDateStr, 'YYYY-MM-DD', true).isValid() &&\n moment(endDateStr, 'YYYY-MM-DD', true).isValid() &&\n moment(startDateStr).isBefore(endDateStr)\n ) {\n return true;\n } else {\n this.setState({\n errMsg: gettext('Date Invalid.')\n });\n return false;\n }\n };\n\n handleStartChange = (e) => {\n const startDateStr = e.target.value.trim();\n this.setState({\n startDateStr: startDateStr,\n errMsg: ''\n });\n };\n\n handleEndChange = (e) => {\n const endDateStr = e.target.value.trim();\n this.setState({\n endDateStr: endDateStr,\n errMsg: '',\n });\n };\n\n render() {\n return (\n \n {gettext('Choose date')}\n \n \n \n \n \n \n \n \n \n {this.state.errMsg &&\n \n {gettext(this.state.errMsg)}\n \n }\n \n \n \n \n \n \n );\n }\n}\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n logType: PropTypes.string.isRequired,\n};\n\nLogsExportExcelDialog.propTypes = propTypes;\n\nexport default LogsExportExcelDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport { Button } from 'reactstrap';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LogsNav from './logs-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';\nimport ModalPortal from '../../../components/modal-portal';\n\n\nclass Content extends Component {\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No login logs')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('IP')}{gettext('Status')}{gettext('Time')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n};\n\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n render() {\n let { item } = this.props;\n return (\n \n \n {item.login_ip}\n {item.log_success ? gettext('Success') : gettext('Failed')}\n {moment(item.login_time).fromNow()}\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass LoginLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isExportExcelDialogOpen: false,\n };\n this.initPage = 1;\n }\n\n toggleExportExcelDialog = () => {\n this.setState({isExportExcelDialogOpen: !this.state.isExportExcelDialogOpen});\n };\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListLoginLogs(page, perPage).then((res) => {\n this.setState({\n logList: res.data.login_log_list,\n loading: false,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n render() {\n let { logList, currentPage, perPage, hasNextPage, isExportExcelDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isExportExcelDialogOpen &&\n \n \n \n }\n
    \n );\n }\n}\n\nexport default LoginLogs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../../utils/constants';\nimport { Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap';\n\nclass FilterMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isMenuShown: false\n };\n }\n\n toggleMenu = () => {\n this.setState({\n isMenuShown: !this.state.isMenuShown\n }, () => {\n this.props.toggleFreezeItem(this.state.isMenuShown);\n });\n };\n\n onItemClick = () => {\n this.props.filterItems();\n this.props.toggleFreezeItem(false);\n };\n\n render() {\n const { filterBy } = this.props;\n return (\n \n \n \n {gettext('only show {placeholder}').replace('{placeholder}', filterBy)}\n \n \n );\n }\n}\n\nFilterMenu.propTypes = {\n toggleFreezeItem: PropTypes.func.isRequired,\n filterItems: PropTypes.array.isRequired,\n filterBy: PropTypes.string.isRequired,\n};\n\nexport default FilterMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\n\nclass ToggleFilter extends React.Component {\n render() {\n const { filterBy } = this.props;\n return (\n \n {filterBy}\n x\n \n );\n }\n}\n\nToggleFilter.propTypes = {\n filterBy: PropTypes.string.isRequired,\n toggleFilter: PropTypes.func.isRequired,\n};\n\nexport default ToggleFilter;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport { Button } from 'reactstrap';\nimport { navigate } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';\nimport ModalPortal from '../../../components/modal-portal';\nimport LogsNav from './logs-nav';\nimport FilterMenu from './file-access-item-menu';\nimport ToggleFilter from './file-access-toggle-filter';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n toggleFilterByUser = () => {\n this.props.filterByUser(null);\n };\n\n toggleFilterByRepo = () => {\n this.props.filterByRepo(null);\n };\n\n toggleFreezeItem = (freezed) => {\n this.setState({\n isItemFreezed: freezed\n });\n };\n\n render() {\n const {\n loading, errorMsg, items,\n userFilteredBy, repoFilteredBy,\n perPage, currentPage, hasNextPage\n } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No file access logs')}

    \n
    \n );\n const table = (\n \n
    \n {userFilteredBy && (\n \n )}\n {repoFilteredBy && (\n \n )}\n
    \n \n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Type')}{gettext('IP')}{' / '}{gettext('Device')}{gettext('Date')}{gettext('Library')}{gettext('File')}{' / '}{gettext('Folder')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n toggleFreezeItem: PropTypes.func.isRequired,\n userFilteredBy: PropTypes.string.isRequired,\n repoFilteredBy: PropTypes.string.isRequired,\n filterByUser: PropTypes.func.isRequired,\n filterByRepo: PropTypes.func.isRequired,\n};\n\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isHighlighted: false,\n isOpIconShown: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isFreezed) {\n this.setState({\n isHighlighted: true,\n isOpIconShown: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isFreezed) {\n this.setState({\n isHighlighted: false,\n isOpIconShown: false\n });\n }\n };\n\n filterByUser = () => {\n const { item } = this.props;\n this.props.filterByUser(item.email);\n };\n\n filterByRepo = () => {\n const { item } = this.props;\n this.props.filterByRepo(item.repo_id);\n };\n\n toggleFreezeItem = (freezed) => {\n this.props.toggleFreezeItem(freezed);\n if (!freezed) {\n this.setState({\n isHighlighted: false,\n isOpIconShown: false\n });\n }\n };\n\n render() {\n const { isHighlighted, isOpIconShown } = this.state;\n const { item, userFilteredBy, repoFilteredBy } = this.props;\n return (\n \n \n \n {isOpIconShown && !userFilteredBy && (\n \n )}\n \n {item.event_type}\n {item.ip}{' / '}{item.device || '--'}\n {moment(item.time).fromNow()}\n \n {item.repo_name ? item.repo_name : gettext('Deleted')}\n {isOpIconShown && item.repo_name && !repoFilteredBy && (\n \n )}\n \n {item.file_or_dir_name}\n \n );\n }\n}\n\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isFreezed: PropTypes.bool.isRequired,\n toggleFreezeItem: PropTypes.func.isRequired,\n userFilteredBy: PropTypes.string.isRequired,\n repoFilteredBy: PropTypes.string.isRequired,\n filterByUser: PropTypes.func.isRequired,\n filterByRepo: PropTypes.func.isRequired,\n};\n\nclass FileAccessLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isExportExcelDialogOpen: false,\n };\n this.initPage = 1;\n }\n\n toggleExportExcelDialog = () => {\n this.setState({isExportExcelDialogOpen: !this.state.isExportExcelDialogOpen});\n };\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage),\n userFilteredBy: urlParams.get('email'),\n repoFilteredBy: urlParams.get('repo_id')\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n const { perPage, userFilteredBy, repoFilteredBy } = this.state;\n seafileAPI.sysAdminListFileAccessLogs(page, perPage, userFilteredBy, repoFilteredBy).then((res) => {\n this.setState({\n logList: res.data.file_access_log_list,\n loading: false,\n currentPage: page,\n hasNextPage: res.data.has_next_page,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n updateURL = (obj) => {\n let url = new URL(location.href);\n let searchParams = new URLSearchParams(url.search);\n for (let key in obj) {\n obj[key] == null ?\n searchParams.delete(key) :\n searchParams.set(key, obj[key]);\n }\n url.search = searchParams.toString();\n navigate(url.toString());\n };\n\n filterByUser = (email) => {\n this.setState({\n userFilteredBy: email\n }, () => {\n this.getLogsByPage(this.initPage);\n this.updateURL({'email': email});\n });\n };\n\n filterByRepo = (repoID) => {\n this.setState({\n repoFilteredBy: repoID\n }, () => {\n this.getLogsByPage(this.initPage);\n this.updateURL({'repo_id': repoID});\n });\n };\n\n render() {\n const {\n logList,\n userFilteredBy, repoFilteredBy,\n currentPage, perPage, hasNextPage,\n isExportExcelDialogOpen\n } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isExportExcelDialogOpen &&\n \n \n \n }\n
    \n );\n }\n}\n\nexport default FileAccessLogs;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LogsNav from './logs-nav';\nimport { Button } from 'reactstrap';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport ModalPortal from '../../../components/modal-portal';\nimport CommitDetails from '../../../components/dialog/commit-details';\nimport LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';\n\nclass Content extends Component {\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No file update logs')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Date')}{gettext('Library')}{gettext('Action')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n};\n\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n isCommitDetailsDialogOpen: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n\n toggleCommitDetailsDialog = () => {\n this.setState({\n isCommitDetailsDialogOpen: !this.state.isCommitDetailsDialogOpen\n });\n };\n\n showCommitDetails = (e) => {\n e.preventDefault();\n this.setState({\n isCommitDetailsDialogOpen: !this.state.isCommitDetailsDialogOpen\n });\n };\n\n render() {\n let { item } = this.props;\n return (\n \n \n \n {moment(item.time).fromNow()}\n {item.repo_name ? item.repo_name : gettext('Deleted')}\n \n {item.file_operation}\n {item.repo_name && !item.repo_encrypted &&\n {gettext('Details')}\n }\n \n \n {this.state.isCommitDetailsDialogOpen &&\n \n \n \n }\n \n );\n }\n}\n\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\n\nclass FileUpdateLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isExportExcelDialogOpen: false,\n };\n this.initPage = 1;\n }\n\n toggleExportExcelDialog = () => {\n this.setState({isExportExcelDialogOpen: !this.state.isExportExcelDialogOpen});\n };\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListFileUpdateLogs(page, perPage).then((res) => {\n this.setState({\n logList: res.data.file_update_log_list,\n loading: false,\n currentPage: page,\n hasNextPage: res.data.has_next_page,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n render() {\n let { logList, currentPage, perPage, hasNextPage, isExportExcelDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isExportExcelDialogOpen &&\n \n \n \n }\n
    \n );\n }\n}\n\nexport default FileUpdateLogs;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport moment from 'moment';\nimport { Button } from 'reactstrap';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';\nimport ModalPortal from '../../../components/modal-portal';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\nimport LogsNav from './logs-nav';\n\nclass Content extends Component {\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No permission logs')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Share From')}{gettext('Share To')}{gettext('Actions')}{gettext('Permission')}{gettext('Library')}{gettext('Folder')}{gettext('Date')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n handleMouseOver = () => {\n this.setState({\n isOpIconShown: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n isOpIconShown: false\n });\n };\n\n getActionTextByEType = (etype) => {\n if (etype.indexOf('add') != -1) {\n return gettext('Add');\n } else if (etype.indexOf('modify') != -1) {\n return gettext('Modify');\n } else if (etype.indexOf('delete') != -1) {\n return gettext('Delete');\n } else {\n return '';\n }\n };\n\n getShareTo = (item) => {\n switch(item.share_type) {\n case 'user':\n return ;\n case 'group':\n return {item.to_group_name};\n case 'department':\n return {item.to_group_name};\n case 'all':\n return {gettext('All')};\n default:\n return gettext('Deleted');\n }\n };\n\n render() {\n let { item } = this.props;\n return (\n \n \n {this.getShareTo(item)}\n {this.getActionTextByEType(item.etype)}\n {Utils.sharePerms(item.permission)}\n {item.repo_name ? item.repo_name : gettext('Deleted')}\n {item.folder}\n {moment(item.date).fromNow()}\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass SharePermissionLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n isExportExcelDialogOpen: false,\n };\n this.initPage = 1;\n }\n\n toggleExportExcelDialog = () => {\n this.setState({isExportExcelDialogOpen: !this.state.isExportExcelDialogOpen});\n };\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListSharePermissionLogs(page, perPage).then((res) => {\n this.setState({\n logList: res.data.share_permission_log_list,\n loading: false,\n currentPage: page,\n hasNextPage: res.data.has_next_page,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n render() {\n let { logList, currentPage, perPage, hasNextPage, isExportExcelDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {isExportExcelDialogOpen &&\n \n \n \n }\n
    \n );\n }\n}\n\nexport default SharePermissionLogs;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {\n headingText: PropTypes.string.isRequired,\n children: PropTypes.object.isRequired\n};\n\nclass Section extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { headingText, children} = this.props;\n return (\n
    \n

    {headingText}

    \n {children}\n
    \n );\n }\n}\n\nSection.propTypes = propTypes;\n\nexport default Section;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Row, Col, Label } from 'reactstrap';\n\nconst propTypes = {\n displayName: PropTypes.string.isRequired,\n helpTip: PropTypes.string,\n mainContent: PropTypes.object.isRequired,\n extraContent: PropTypes.object\n};\n\nclass SettingItemBase extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { helpTip, displayName, mainContent, extraContent } = this.props;\n return (\n \n \n \n \n \n \n {mainContent}\n {helpTip &&

    {helpTip}

    }\n \n \n {extraContent}\n \n
    \n
    \n );\n }\n}\n\nSettingItemBase.propTypes = propTypes;\n\nexport default SettingItemBase;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Input, Button } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport SettingItemBase from './setting-item-base';\n\nconst propTypes = {\n inputType: PropTypes.string,\n saveSetting: PropTypes.func.isRequired,\n keyText: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string,PropTypes.number]),\n helpTip: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired\n};\n\nclass WebSettingInput extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isBtnsShown: false,\n value: this.props.value\n };\n }\n\n toggleBtns = () => {\n this.setState({isBtnsShown: !this.state.isBtnsShown});\n };\n\n hideBtns = (e) => {\n if (!this.state.isBtnsShown) {\n return;\n }\n if (this.props.value != this.state.value) {\n this.setState({value: this.props.value});\n }\n this.toggleBtns();\n };\n\n onInputChange = (e) => {\n this.setState({ value: e.target.value });\n };\n\n onSubmit = (e) => {\n const value = this.state.value.trim();\n if (value != this.props.value) {\n this.props.saveSetting(this.props.keyText, value);\n }\n this.toggleBtns();\n };\n\n render() {\n const { isBtnsShown, value } = this.state;\n const { helpTip, displayName, inputType } = this.props;\n return (\n \n }\n extraContent={\n isBtnsShown ?\n \n \n \n : null\n }\n />\n );\n }\n}\n\nWebSettingInput.propTypes = propTypes;\n\nexport default WebSettingInput;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport SettingItemBase from './setting-item-base';\n\nconst propTypes = {\n postFile: PropTypes.func.isRequired,\n keyText: PropTypes.string.isRequired,\n filePath: PropTypes.string.isRequired,\n helpTip: PropTypes.string.isRequired,\n fileWidth: PropTypes.number.isRequired,\n fileHeight: PropTypes.number.isRequired,\n displayName: PropTypes.string.isRequired\n};\n\nclass WebSettingFile extends Component {\n\n constructor(props) {\n super(props);\n this.fileInput = React.createRef();\n }\n\n uploadFile = () => {\n if (!this.fileInput.current.files.length) {\n return;\n }\n const file = this.fileInput.current.files[0];\n this.props.postFile(file, this.props.keyText);\n };\n\n openFileInput = () => {\n this.fileInput.current.click();\n };\n\n render() {\n const { helpTip, filePath, fileWidth, fileHeight, displayName } = this.props;\n return (\n \n \n \n }\n />\n );\n }\n}\n\nWebSettingFile.propTypes = propTypes;\n\nexport default WebSettingFile;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Input } from 'reactstrap';\nimport SettingItemBase from './setting-item-base';\n\nconst propTypes = {\n saveSetting: PropTypes.func.isRequired,\n keyText: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n helpTip: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired\n};\n\nclass WebSettingCheckbox extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n inputChecked: this.props.value\n };\n }\n\n onInputChange = (e) => {\n const checked = e.target.checked;\n const valueToNum = checked ? 1 : 0;\n this.setState({\n inputChecked: checked\n });\n this.props.saveSetting(this.props.keyText, valueToNum);\n };\n\n render() {\n const { inputChecked } = this.state;\n const { helpTip, displayName } = this.props;\n return (\n \n \n

    {helpTip}

    \n \n }\n />\n );\n }\n}\n\nWebSettingCheckbox.propTypes = propTypes;\n\nexport default WebSettingCheckbox;\n","import React, { Component, Fragment } from 'react';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, isPro, mediaUrl, logoPath, faviconPath, loginBGPath } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\nimport toaster from '../../../components/toast';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Section from './section';\nimport InputItem from './input-item';\nimport FileItem from './file-item';\nimport CheckboxItem from './checkbox-item';\n\nimport '../../../css/system-admin-web-settings.css';\n\nclass WebSettings extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n config_dict: null,\n logoPath: mediaUrl + logoPath,\n faviconPath: mediaUrl + faviconPath,\n loginBGPath: mediaUrl + loginBGPath\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminGetSysSettingInfo().then((res) => {\n this.setState({\n loading: false,\n config_dict: res.data\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n saveSetting = (key, value) => {\n seafileAPI.sysAdminSetSysSettingInfo(key, value).then((res) => {\n this.setState({\n config_dict: res.data\n });\n toaster.success(gettext('Success'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n postFile = (file, fileType) => {\n let postFile;\n if (fileType == 'Logo') {\n postFile = seafileAPI.sysAdminUpdateLogo(file);\n } else if (fileType == 'Favicon') {\n postFile = seafileAPI.sysAdminUpdateFavicon(file);\n } else if (fileType == 'loginBGImage') {\n postFile = seafileAPI.sysAdminUpdateLoginBG(file);\n }\n postFile.then((res) => {\n if (fileType == 'Logo') {\n this.setState({\n logoPath: res.data.logo_path\n });\n } else if (fileType == 'Favicon') {\n this.setState({\n faviconPath: res.data.favicon_path\n });\n } else if (fileType == 'loginBGImage') {\n this.setState({\n loginBGPath: res.data.login_bg_image_path\n });\n }\n toaster.success(gettext('Success'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { loading, errorMsg, config_dict, logoPath, faviconPath, loginBGPath } = this.state;\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Settings')}

    \n
    \n
    \n {loading && }\n {errorMsg &&

    {errorMsg}

    }\n {(!loading && !errorMsg) && config_dict &&\n \n

    {gettext('Note: Settings via web interface are saved in database table (seahub-db/constance_config). They have a higher priority over the settings in config files.')}

    \n\n
    \n \n \n \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n \n \n \n \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n {isPro &&
    \n \n
    }\n
    \n }\n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default WebSettings;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, FormGroup, Input } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\n\nconst propTypes = {\n toggle: PropTypes.func.isRequired,\n addNotification: PropTypes.func.isRequired\n};\n\nclass SysAdminAddSysNotificationDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n isSubmitBtnActive: false\n };\n }\n\n handleChange = (e) => {\n const value = e.target.value;\n this.setState({\n value: value,\n isSubmitBtnActive: value.trim() != ''\n });\n };\n\n handleSubmit = () => {\n this.toggle();\n this.props.addNotification(this.state.value.trim());\n };\n\n toggle = () => {\n this.props.toggle();\n };\n\n render() {\n return (\n \n {gettext('Add new notification')}\n \n
    \n \n \n \n
    \n
    \n \n \n \n \n
    \n );\n }\n}\n\nSysAdminAddSysNotificationDialog.propTypes = propTypes;\n\nexport default SysAdminAddSysNotificationDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport SysAdminAddSysNotificationDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-sys-notification-dialog';\nimport MainPanelTopbar from '../main-panel-topbar';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No notifications')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Notification Detail')}{/*Operations*/}
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getItemsByPage: PropTypes.func,\n curPerPage: PropTypes.number,\n deleteItem: PropTypes.func,\n setToCurrent: PropTypes.func.isRequired,\n deleteNotification: PropTypes.func.isRequired,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false,\n isDeleteDialogOpen: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n toggleDeleteDialog = (e) => {\n if (e) {\n e.preventDefault();\n }\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n deleteNotification = () => {\n this.props.deleteNotification(this.props.item.id);\n this.toggleDeleteDialog();\n };\n\n setToCurrent = () => {\n this.props.setToCurrent(this.props.item.id);\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Set to current':\n this.setToCurrent();\n break;\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n }\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch (item) {\n case 'Set to current':\n translateResult = gettext('Set to current');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n default:\n break;\n }\n return translateResult;\n };\n\n getOperations = () => {\n const { item } = this.props;\n let operations = [];\n if (!item.is_current) {\n operations.push('Set to current');\n }\n operations.push('Delete');\n return operations;\n };\n\n render() {\n const { item } = this.props;\n const { isOpIconShown, isDeleteDialogOpen } = this.state;\n\n return (\n \n \n \n {item.msg}\n {item.is_current &&\n {gettext('(current notification)')}\n }\n \n \n {isOpIconShown &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteItem: PropTypes.func,\n onFreezedItem: PropTypes.func.isRequired,\n setToCurrent: PropTypes.func.isRequired,\n deleteNotification: PropTypes.func.isRequired,\n};\n\nclass Notifications extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n notificationList: [],\n isAddNotificationDialogOpen: false\n };\n }\n\n componentDidMount () {\n seafileAPI.sysAdminListAllSysNotifications().then((res) => {\n this.setState({\n loading: false,\n notificationList: res.data.notifications\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n toggleAddNotificationDialog = () => {\n this.setState({isAddNotificationDialogOpen: !this.state.isAddNotificationDialogOpen});\n };\n\n addNotification = (msg) => {\n seafileAPI.sysAdminAddSysNotification(msg).then(res => {\n let notificationList = this.state.notificationList;\n notificationList.unshift(res.data.notification);\n this.setState({notificationList: notificationList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteNotification = (id) => {\n seafileAPI.sysAdminDeleteSysNotification(id).then(res => {\n let notificationList = this.state.notificationList.filter(item => {\n return item.id != id;\n });\n this.setState({notificationList: notificationList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n setToCurrent = (id) => {\n seafileAPI.sysAdminSetSysNotificationToCurrent(id).then(res => {\n let notificationList = this.state.notificationList.map(item => {\n if (item.id == id) {\n item.is_current = true;\n } else {\n item.is_current = false;\n }\n return item;\n });\n this.setState({notificationList: notificationList});\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n const { isAddNotificationDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n
    \n

    {gettext('All Notifications')}

    \n
    \n
    \n \n
    \n
    \n
    \n {isAddNotificationDialogOpen &&\n \n }\n
    \n );\n }\n}\n\nexport default Notifications;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { gettext } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport MainPanelTopbar from './main-panel-topbar';\n\n\nconst tablePropTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n records: PropTypes.array.isRequired,\n};\n\nclass Table extends Component {\n\n render() {\n let { loading, errorMsg, records } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n return (\n \n \n \n \n \n \n \n \n \n \n \n {records.map((record, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Library')}ID{gettext('Path')}{gettext('Label')}{gettext('Suggestion')}
    \n );\n }\n }\n}\n\nTable.propTypes = tablePropTypes;\n\n\nconst itemPropTypes = {\n record: PropTypes.object.isRequired,\n};\n\nclass Item extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n render() {\n let record = this.props.record;\n\n return (\n \n {record.repo_name}\n {record.repo_id}\n {record.path}\n {record.detail.label}\n {record.detail.suggestion}\n \n );\n }\n}\n\nItem.propTypes = itemPropTypes;\n\n\nclass FileScanRecords extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n records: [],\n };\n }\n\n componentDidMount() {\n seafileAPI.listFileScanRecords().then((res) => {\n this.setState({\n loading: false,\n records: res.data.record_list,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n render() {\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Content Scan Records')}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default FileScanRecords;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Table } from 'reactstrap';\nimport { siteRoot } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\n\nconst WorkWeixinDepartmentMembersListPropTypes = {\n isMembersListLoading: PropTypes.bool.isRequired,\n membersList: PropTypes.array.isRequired,\n newUsersTempObj: PropTypes.object.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n onUserChecked: PropTypes.func.isRequired,\n onAllUsersChecked: PropTypes.func.isRequired,\n isCheckedAll: PropTypes.bool.isRequired,\n canCheckUserIds: PropTypes.array.isRequired,\n};\n\nclass WorkWeixinDepartmentMembersList extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { newUsersTempObj, checkedDepartmentId, isMembersListLoading, canCheckUserIds } = this.props;\n const membersList = this.props.membersList.map((member, index) => {\n let avatar = member.avatar;\n if (member.avatar && member.avatar.length > 0) {\n avatar = member.avatar.substring(0, member.avatar.length - 1) + '100';// get smaller avatar\n } else {\n avatar = siteRoot + 'media/avatars/default.png';\n }\n return (\n \n \n {!member.email &&\n this.props.onUserChecked(member)}\n checked={(member.userid in newUsersTempObj) ? 'checked' : ''}>}\n \n \"\"\n {member.name}\n {member.mobile}\n {member.contact_email}\n {member.email && }\n \n );\n });\n\n return (\n
    \n {isMembersListLoading && }\n {!isMembersListLoading && this.props.membersList.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n \n {membersList}\n
    \n {canCheckUserIds.length > 0 &&\n this.props.onAllUsersChecked()}>}\n {'名称'}{'手机号'}{'邮箱'}{'已添加'}
    \n }\n {!isMembersListLoading && this.props.membersList.length === 0 &&\n
    \n \"\"/\n

    {'成员列表为空'}

    \n
    \n }\n
    \n );\n }\n}\n\nWorkWeixinDepartmentMembersList.propTypes = WorkWeixinDepartmentMembersListPropTypes;\n\nexport default WorkWeixinDepartmentMembersList;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Dropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport { gettext, isPro } from '../../../utils/constants';\n\nconst WorkWeixinDepartmentsTreeNodePropTypes = {\n index: PropTypes.number,\n department: PropTypes.object.isRequired,\n isChildrenShow: PropTypes.bool.isRequired,\n onChangeDepartment: PropTypes.func.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n};\n\nclass WorkWeixinDepartmentsTreeNode extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isChildrenShow: false,\n dropdownOpen: false,\n active: false,\n };\n }\n\n toggleChildren = (e) => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n isChildrenShow: !this.state.isChildrenShow,\n });\n };\n\n dropdownToggle = (e) => {\n e.stopPropagation();\n this.setState({ dropdownOpen: !this.state.dropdownOpen });\n };\n\n onMouseEnter = () => {\n this.setState({ active: true });\n };\n\n onMouseLeave = () => {\n if (this.state.dropdownOpen) return;\n this.setState({ active: false });\n };\n\n importDepartmentDialogToggle = (depart) => {\n this.setState({ active: false });\n this.props.importDepartmentDialogToggle(depart);\n };\n\n componentDidMount() {\n if (this.props.index === 0) {\n this.setState({ isChildrenShow: true });\n this.props.onChangeDepartment(this.props.department.id);\n }\n }\n\n renderTreeNodes = (departmentsTree) => {\n if (departmentsTree.length > 0) {\n return departmentsTree.map((department) => {\n return (\n \n );\n });\n }\n };\n\n changeDept = (departmentID) => {\n const { department, checkedDepartmentId } = this.props;\n this.props.onChangeDepartment(departmentID);\n if (checkedDepartmentId === department.id && !this.state.isChildrenShow) {\n this.setState({ isChildrenShow: true });\n }\n };\n\n render() {\n const { isChildrenShow, department, checkedDepartmentId } = this.props;\n let toggleClass = classNames({\n 'folder-toggle-icon fa fa-caret-down': department.children && this.state.isChildrenShow,\n 'folder-toggle-icon fa fa-caret-right': department.children && !this.state.isChildrenShow,\n });\n let nodeInnerClass = classNames({\n 'tree-node-inner': true,\n 'tree-node-inner-hover': this.state.active,\n 'tree-node-hight-light': checkedDepartmentId === department.id\n });\n return (\n \n {isChildrenShow &&\n this.changeDept(department.id)}\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n >\n this.toggleChildren(e)}>\n \n \n {department.name}\n {isPro &&\n this.dropdownToggle(e)}\n direction=\"down\"\n style={this.state.active ? {} : { opacity: 0 }}\n >\n \n \n \n {'导入部门'}\n \n \n }\n \n }\n {this.state.isChildrenShow &&\n
    \n {department.children && this.renderTreeNodes(department.children)}\n
    \n }\n
    \n );\n }\n}\n\nWorkWeixinDepartmentsTreeNode.propTypes = WorkWeixinDepartmentsTreeNodePropTypes;\n\nexport default WorkWeixinDepartmentsTreeNode;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Loading from '../../../components/loading';\nimport WorkWeixinDepartmentsTreeNode from './work-weixin-departments-tree-node';\n\nconst WorkWeixinDepartmentsTreePanelPropTypes = {\n isTreeLoading: PropTypes.bool.isRequired,\n departmentsTree: PropTypes.array.isRequired,\n onChangeDepartment: PropTypes.func.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n};\n\nclass WorkWeixinDepartmentsTreePanel extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { departmentsTree } = this.props;\n return (\n
    \n
    \n {this.props.isTreeLoading ?\n :\n
    \n {departmentsTree.length > 0 && departmentsTree.map((department, index) => {\n return (\n \n );\n })}\n
    \n }\n
    \n
    \n );\n }\n}\n\nWorkWeixinDepartmentsTreePanel.propTypes = WorkWeixinDepartmentsTreePanelPropTypes;\n\nexport default WorkWeixinDepartmentsTreePanel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport Loading from '../loading';\n\nconst propTypes = {\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n onImportDepartmentSubmit: PropTypes.func.isRequired,\n departmentsCount: PropTypes.number.isRequired,\n membersCount: PropTypes.number.isRequired,\n departmentName: PropTypes.string.isRequired,\n};\n\nclass ImportWorkWeixinDepartmentDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading : false,\n };\n }\n\n toggle = () => {\n this.props.importDepartmentDialogToggle(null);\n };\n\n handleSubmit = () => {\n this.props.onImportDepartmentSubmit();\n this.setState({ isLoading : true });\n };\n\n render() {\n const { departmentsCount, membersCount, departmentName } = this.props;\n return (\n \n \n {'导入部门 '}{departmentName}\n \n \n

    {'将要导入 '}{departmentsCount}{' 个部门,其中包括 '}{membersCount}{' 个成员'}

    \n {this.state.isLoading && }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nImportWorkWeixinDepartmentDialog.propTypes = propTypes;\n\nexport default ImportWorkWeixinDepartmentDialog;\n","import React, { Component, Fragment } from 'react';\nimport { Button } from 'reactstrap';\nimport deepCopy from 'deep-copy';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { siteRoot, isPro } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport toaster from '../../components/toast';\nimport MainPanelTopbar from './main-panel-topbar';\nimport { WorkWeixinDepartmentMembersList, WorkWeixinDepartmentsTreePanel } from './work-weixin';\nimport ImportWorkWeixinDepartmentDialog from '../../components/dialog/import-work-weixin-department-dialog';\n\nimport '../../css/work-weixin-departments.css';\n\nclass WorkWeixinDepartments extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isTreeLoading: true,\n isMembersListLoading: true,\n departmentsTree: [],\n checkedDepartmentId: 0,\n membersTempObj: {},\n membersList: [],\n newUsersTempObj: {},\n isCheckedAll: false,\n canCheckUserIds: [],\n isImportDepartmentDialogShow: false,\n importDepartment: null,\n importDepartmentChildrenCount: 0,\n importDepartmentMembersCount: 0,\n };\n }\n\n getDepartmentsTree = (list) => {\n let childIds = [];\n let parentIds = [];\n for (let i = 0; i < list.length; i++) {\n if (childIds.indexOf(list[i].id) === -1) {\n childIds.push(list[i].id);\n }\n if (parentIds.indexOf(list[i].parentid) === -1) {\n parentIds.push(list[i].parentid);\n }\n }\n let intersection = parentIds.filter((v) => {\n return childIds.indexOf(v) !== -1;\n });\n let rootIds = parentIds.concat(intersection).filter((v) => {\n return parentIds.indexOf(v) === -1 || intersection.indexOf(v) === -1;\n });\n let cloneData = deepCopy(list);\n return cloneData.filter(father => {\n let branchArr = cloneData.filter(child => father.id === child.parentid);\n branchArr.length > 0 ? father.children = branchArr : '';\n return rootIds.indexOf(father.parentid) !== -1;\n });\n };\n\n getWorkWeixinDepartmentsList = (departmentID) => {\n seafileAPI.adminListWorkWeixinDepartments(departmentID).then((res) => {\n if (!departmentID) {\n let departmentsTree = this.getDepartmentsTree(res.data.department);\n this.setState({\n isTreeLoading: false,\n departmentsTree: departmentsTree,\n });\n } else {\n this.setState({\n importDepartmentChildrenCount: res.data.department.length,\n importDepartmentMembersCount: this.state.membersTempObj[departmentID].length,\n });\n }\n }).catch((error) => {\n this.handleError(error);\n this.setState({\n isTreeLoading: false,\n isMembersListLoading: false,\n });\n if (error.response && error.response.status === 403) {\n window.location = siteRoot + 'sys/useradmin/';\n }\n });\n };\n\n getWorkWeixinDepartmentMembersList = (department_id) => {\n this.setState({\n isMembersListLoading: true,\n });\n seafileAPI.adminListWorkWeixinDepartmentMembers(department_id, {fetch_child: true}).then((res) => {\n let membersTempObj = this.state.membersTempObj;\n membersTempObj[department_id] = res.data.userlist;\n let canCheckUserIds = this.getCanCheckUserIds(res.data.userlist);\n this.setState({\n membersTempObj: membersTempObj,\n membersList: res.data.userlist,\n isMembersListLoading: false,\n canCheckUserIds: canCheckUserIds,\n });\n }).catch((error) => {\n this.setState({isMembersListLoading: false});\n this.handleError(error);\n });\n };\n\n getCanCheckUserIds = (membersList) => {\n let userIds = [];\n membersList.forEach((member) => {\n if (!member.email) userIds.push(member.userid);\n });\n return userIds;\n };\n\n onChangeDepartment = (department_id) => {\n this.setState({\n newUsersTempObj: {},\n isCheckedAll: false,\n checkedDepartmentId: department_id,\n });\n if (!(department_id in this.state.membersTempObj)) {\n this.getWorkWeixinDepartmentMembersList(department_id);\n } else {\n let canCheckUserIds = this.getCanCheckUserIds(this.state.membersTempObj[department_id]);\n this.setState({\n membersList: this.state.membersTempObj[department_id],\n canCheckUserIds: canCheckUserIds,\n });\n }\n };\n\n onUserChecked = (user) => {\n if (this.state.canCheckUserIds.indexOf(user.userid) !== -1) {\n let newUsersTempObj = this.state.newUsersTempObj;\n if (user.userid in newUsersTempObj) {\n delete newUsersTempObj[user.userid];\n if (this.state.isCheckedAll) {\n this.setState({ isCheckedAll: false });\n }\n } else {\n newUsersTempObj[user.userid] = user;\n if (Object.keys(newUsersTempObj).length === this.state.canCheckUserIds.length) {\n this.setState({ isCheckedAll: true });\n }\n }\n this.setState({ newUsersTempObj: newUsersTempObj });\n }\n };\n\n onAllUsersChecked = () => {\n this.setState({\n isCheckedAll: !this.state.isCheckedAll,\n }, () => {\n if (this.state.isCheckedAll) {\n let newUsersTempObj = {};\n let newUsersTempList = this.state.membersList.filter(user => {\n return this.state.canCheckUserIds.indexOf(user.userid) !== -1;\n });\n for (let i = 0; i < newUsersTempList.length; i++) {\n newUsersTempObj[newUsersTempList[i].userid] = newUsersTempList[i];\n }\n this.setState({ newUsersTempObj: newUsersTempObj });\n } else {\n this.setState({ newUsersTempObj: {} });\n }\n });\n };\n\n onSubmit = () => {\n const { newUsersTempObj } = this.state;\n if (JSON.stringify(newUsersTempObj) === '{}') return;\n let userList = [];\n for (let i in newUsersTempObj) {\n userList.push(newUsersTempObj[i]);\n }\n if (userList.length === 0) {\n toaster.danger('未选择成员', {duration: 3});\n return;\n }\n seafileAPI.adminAddWorkWeixinUsersBatch(userList).then((res) => {\n this.setState({\n newUsersTempObj: {},\n isCheckedAll: false,\n });\n if (res.data.success) {\n this.handleSubmitSuccess(res.data.success);\n }\n if (res.data.failed) {\n const fails= res.data.failed;\n for (let i = 0; i < fails.length; i++) {\n toaster.danger(fails[i].name + ' ' + fails[i].error_msg, {duration: 3});\n }\n }\n }).catch((error) => {\n this.handleError(error);\n });\n\n };\n\n handleSubmitSuccess = (success) => {\n let { membersTempObj, membersList, canCheckUserIds } = this.state;\n for (let i = 0; i < success.length; i++) {\n let { userid, name, email } = success[i];\n toaster.success(name + ' 成功导入', {duration: 1});\n // refresh all temp\n if (canCheckUserIds.indexOf(userid) !== -1) {\n canCheckUserIds.splice(canCheckUserIds.indexOf(userid), 1);\n }\n for (let j = 0; j < membersList.length; j++) {\n if (membersList[j].userid === userid) {\n membersList[j].email = email;\n break;\n }\n }\n for (let departmentId in membersTempObj) {\n for (let k = 0; k < membersTempObj[departmentId].length; k++) {\n if (membersTempObj[departmentId][k].userid === userid) {\n membersTempObj[departmentId][k].email = email;\n break;\n }\n }\n }\n }\n this.setState({\n membersTempObj: membersTempObj,\n membersList: membersList,\n canCheckUserIds: canCheckUserIds,\n });\n };\n\n importDepartmentDialogToggle = (importDepartment) => {\n this.setState({\n isImportDepartmentDialogShow: !this.state.isImportDepartmentDialogShow,\n importDepartment: importDepartment,\n }, () => {\n if (importDepartment) {\n this.getWorkWeixinDepartmentsList(importDepartment.id);\n }\n });\n };\n\n onImportDepartmentSubmit = () => {\n let importDepartment = this.state.importDepartment;\n if (!importDepartment) return;\n seafileAPI.adminImportWorkWeixinDepartment(importDepartment.id).then((res) => {\n this.setState({\n isMembersListLoading: true,\n checkedDepartmentId: importDepartment.id,\n membersTempObj: {},\n membersList: [],\n newUsersTempObj: {},\n isCheckedAll: false,\n canCheckUserIds: [],\n });\n this.getWorkWeixinDepartmentMembersList(importDepartment.id);\n this.importDepartmentDialogToggle(null);\n if (res.data.success) {\n this.handleImportDepartmentSubmitSuccess(res.data.success);\n }\n if (res.data.failed) {\n this.handleImportDepartmentSubmitFailed(res.data.failed);\n }\n }).catch((error) => {\n this.handleError(error);\n });\n };\n\n handleImportDepartmentSubmitSuccess = (successes) => {\n for (let i = 0, len = successes.length; i < len; i++) {\n let success = successes[i];\n let successMsg = success.type === 'department' ? '部门 ' + success.department_name + ' 导入成功' : success.api_user_name + ' 导入成功' ;\n toaster.success(successMsg, { duration: 3 });\n }\n };\n\n handleImportDepartmentSubmitFailed = (fails) => {\n for (let i = 0, len = fails.length; i < len; i++) {\n let fail = fails[i];\n let failName = fail.type === 'department' ? fail.department_name : fail.api_user_name;\n toaster.danger(failName + ' ' + fail.msg, { duration: 3} );\n }\n };\n\n handleError = (error) => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n };\n\n componentDidMount() {\n this.getWorkWeixinDepartmentsList(null);\n }\n\n render() {\n const { isImportDepartmentDialogShow, isTreeLoading, importDepartment, importDepartmentChildrenCount, importDepartmentMembersCount } = this.state;\n let canImportDepartment = !!(isPro && isImportDepartmentDialogShow && !isTreeLoading && importDepartment);\n return (\n \n \n \n \n
    \n
    \n
    \n

    {'企业微信集成'}

    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {canImportDepartment &&\n \n }\n
    \n );\n }\n}\n\nexport default WorkWeixinDepartments;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Table } from 'reactstrap';\nimport { siteRoot } from '../../../utils/constants';\nimport Loading from '../../../components/loading';\n\nconst DingtalkDepartmentMembersListPropTypes = {\n isMembersListLoading: PropTypes.bool.isRequired,\n membersList: PropTypes.array.isRequired,\n newUsersTempObj: PropTypes.object.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n onUserChecked: PropTypes.func.isRequired,\n onAllUsersChecked: PropTypes.func.isRequired,\n isCheckedAll: PropTypes.bool.isRequired,\n canCheckUserIds: PropTypes.array.isRequired,\n};\n\nclass DingtalkDepartmentMembersList extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { newUsersTempObj, checkedDepartmentId, isMembersListLoading, canCheckUserIds } = this.props;\n const membersList = this.props.membersList.map((member, index) => {\n let avatar = member.avatar;\n if (member.avatar && member.avatar.length > 0) {\n avatar = member.avatar;\n } else {\n avatar = siteRoot + 'media/avatars/default.png';\n }\n return (\n \n \n {!member.email &&\n this.props.onUserChecked(member)}\n checked={(member.userid in newUsersTempObj) ? 'checked' : ''}>}\n \n \"\"\n {member.name}\n {member.mobile}\n {member.contact_email}\n {member.email && }\n \n );\n });\n\n return (\n
    \n {isMembersListLoading && }\n {!isMembersListLoading && this.props.membersList.length > 0 &&\n \n \n \n \n \n \n \n \n \n \n \n {membersList}\n
    \n {canCheckUserIds.length > 0 &&\n this.props.onAllUsersChecked()}>}\n {'名称'}{'手机号'}{'邮箱'}{'已添加'}
    \n }\n {!isMembersListLoading && this.props.membersList.length === 0 &&\n
    \n \"\"/\n

    {'成员列表为空'}

    \n
    \n }\n
    \n );\n }\n}\n\nDingtalkDepartmentMembersList.propTypes = DingtalkDepartmentMembersListPropTypes;\n\nexport default DingtalkDepartmentMembersList;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Dropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport { gettext, isPro } from '../../../utils/constants';\n\nconst DingtalkDepartmentsTreeNodePropTypes = {\n index: PropTypes.number,\n department: PropTypes.object.isRequired,\n isChildrenShow: PropTypes.bool.isRequired,\n onChangeDepartment: PropTypes.func.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n};\n\nclass DingtalkDepartmentsTreeNode extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isChildrenShow: false,\n dropdownOpen: false,\n active: false,\n };\n }\n\n toggleChildren = (e) => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n isChildrenShow: !this.state.isChildrenShow,\n });\n };\n\n dropdownToggle = (e) => {\n e.stopPropagation();\n this.setState({ dropdownOpen: !this.state.dropdownOpen });\n };\n\n onMouseEnter = () => {\n this.setState({ active: true });\n };\n\n onMouseLeave = () => {\n if (this.state.dropdownOpen) return;\n this.setState({ active: false });\n };\n\n importDepartmentDialogToggle = (depart) => {\n this.setState({ active: false });\n this.props.importDepartmentDialogToggle(depart);\n };\n\n componentDidMount() {\n if (this.props.index === 0) {\n this.setState({ isChildrenShow: true });\n this.props.onChangeDepartment(this.props.department.id);\n }\n }\n\n renderTreeNodes = (departmentsTree) => {\n if (departmentsTree.length > 0) {\n return departmentsTree.map((department) => {\n return (\n \n );\n });\n }\n };\n\n changeDept = (departmentID) => {\n const { department, checkedDepartmentId } = this.props;\n this.props.onChangeDepartment(departmentID);\n if (checkedDepartmentId === department.id && !this.state.isChildrenShow) {\n this.setState({ isChildrenShow: true });\n }\n };\n\n render() {\n const { isChildrenShow, department, checkedDepartmentId } = this.props;\n let toggleClass = classNames({\n 'folder-toggle-icon fa fa-caret-down': department.children && this.state.isChildrenShow,\n 'folder-toggle-icon fa fa-caret-right': department.children && !this.state.isChildrenShow,\n });\n let nodeInnerClass = classNames({\n 'tree-node-inner': true,\n 'tree-node-inner-hover': this.state.active,\n 'tree-node-hight-light': checkedDepartmentId === department.id\n });\n return (\n \n {isChildrenShow &&\n this.changeDept(department.id)}\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n >\n this.toggleChildren(e)}>\n \n \n {department.name}\n {isPro &&\n this.dropdownToggle(e)}\n direction=\"down\"\n style={this.state.active ? {} : { opacity: 0 }}\n >\n \n \n \n {'导入部门'}\n \n \n }\n \n }\n {this.state.isChildrenShow &&\n
    \n {department.children && this.renderTreeNodes(department.children)}\n
    \n }\n
    \n );\n }\n}\n\nDingtalkDepartmentsTreeNode.propTypes = DingtalkDepartmentsTreeNodePropTypes;\n\nexport default DingtalkDepartmentsTreeNode;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Loading from '../../../components/loading';\nimport DingtalkDepartmentsTreeNode from './dingtalk-departments-tree-node';\n\nconst DingtalkDepartmentsTreePanelPropTypes = {\n isTreeLoading: PropTypes.bool.isRequired,\n departmentsTree: PropTypes.array.isRequired,\n onChangeDepartment: PropTypes.func.isRequired,\n checkedDepartmentId: PropTypes.number.isRequired,\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n};\n\nclass DingtalkDepartmentsTreePanel extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n const { departmentsTree } = this.props;\n return (\n
    \n
    \n {this.props.isTreeLoading ?\n :\n
    \n {departmentsTree.length > 0 && departmentsTree.map((department, index) => {\n return (\n \n );\n })}\n
    \n }\n
    \n
    \n );\n }\n}\n\nDingtalkDepartmentsTreePanel.propTypes = DingtalkDepartmentsTreePanelPropTypes;\n\nexport default DingtalkDepartmentsTreePanel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport Loading from '../loading';\n\nconst propTypes = {\n importDepartmentDialogToggle: PropTypes.func.isRequired,\n onImportDepartmentSubmit: PropTypes.func.isRequired,\n departmentsCount: PropTypes.number.isRequired,\n membersCount: PropTypes.number.isRequired,\n departmentName: PropTypes.string.isRequired,\n};\n\nclass ImportDingtalkDepartmentDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isLoading : false,\n };\n }\n\n toggle = () => {\n this.props.importDepartmentDialogToggle(null);\n };\n\n handleSubmit = () => {\n this.props.onImportDepartmentSubmit();\n this.setState({ isLoading : true });\n };\n\n render() {\n const { departmentsCount, membersCount, departmentName } = this.props;\n return (\n \n \n {'导入部门 '}{departmentName}\n \n \n

    {'将要导入 '}{departmentsCount}{' 个部门,其中包括 '}{membersCount}{' 个成员'}

    \n {this.state.isLoading && }\n
    \n \n \n \n \n
    \n );\n }\n}\n\nImportDingtalkDepartmentDialog.propTypes = propTypes;\n\nexport default ImportDingtalkDepartmentDialog;\n","import React, { Component, Fragment } from 'react';\nimport { Button } from 'reactstrap';\nimport deepCopy from 'deep-copy';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport { siteRoot, isPro } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\nimport MainPanelTopbar from './main-panel-topbar';\nimport toaster from '../../components/toast';\nimport { DingtalkDepartmentMembersList, DingtalkDepartmentsTreePanel } from './dingtalk';\nimport ImportDingtalkDepartmentDialog from '../../components/dialog/import-dingtalk-department-dialog';\n\nimport '../../css/work-weixin-departments.css';\nimport '../../css/dingtalk-departments.css';\n\nclass DingtalkDepartments extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isTreeLoading: true,\n isMembersListLoading: true,\n departmentsTree: [],\n checkedDepartmentId: 0,\n membersTempObj: {},\n membersList: [],\n newUsersTempObj: {},\n isCheckedAll: false,\n canCheckUserIds: [],\n isImportDepartmentDialogShow: false,\n importDepartment: null,\n importDepartmentChildrenCount: 0,\n importDepartmentMembersCount: 0,\n };\n }\n\n getDepartmentsTree = (list) => {\n let childIds = [];\n let parentIds = [];\n for (let i = 0; i < list.length; i++) {\n if (childIds.indexOf(list[i].id) === -1) {\n childIds.push(list[i].id);\n }\n if (parentIds.indexOf(list[i].parentid) === -1) {\n parentIds.push(list[i].parentid);\n }\n }\n let intersection = parentIds.filter((v) => {\n return childIds.indexOf(v) !== -1;\n });\n let rootIds = parentIds.concat(intersection).filter((v) => {\n return parentIds.indexOf(v) === -1 || intersection.indexOf(v) === -1;\n });\n let cloneData = deepCopy(list);\n return cloneData.filter(father => {\n let branchArr = cloneData.filter(child => father.id === child.parentid);\n branchArr.length > 0 ? father.children = branchArr : '';\n return rootIds.indexOf(father.parentid) !== -1;\n });\n };\n\n getDingtalkDepartmentsList = (departmentID) => {\n seafileAPI.adminListDingtalkDepartments(departmentID).then((res) => {\n if (!departmentID) {\n let departmentsTree = this.getDepartmentsTree(res.data.department);\n this.setState({\n isTreeLoading: false,\n departmentsTree: departmentsTree,\n });\n } else {\n this.setState({\n importDepartmentChildrenCount: res.data.department.length,\n importDepartmentMembersCount: this.state.membersTempObj[departmentID].length,\n });\n }\n }).catch((error) => {\n this.handleError(error);\n this.setState({\n isTreeLoading: false,\n isMembersListLoading: false,\n });\n if (error.response && error.response.status === 403) {\n window.location = siteRoot + 'sys/useradmin/';\n }\n });\n };\n\n getDingtalkDepartmentMembersList = (department_id) => {\n this.setState({\n isMembersListLoading: true,\n });\n seafileAPI.adminListDingtalkDepartmentMembers(department_id).then((res) => {\n let membersTempObj = this.state.membersTempObj;\n membersTempObj[department_id] = res.data.userlist;\n let canCheckUserIds = this.getCanCheckUserIds(res.data.userlist);\n this.setState({\n membersTempObj: membersTempObj,\n membersList: res.data.userlist,\n isMembersListLoading: false,\n canCheckUserIds: canCheckUserIds,\n });\n }).catch((error) => {\n this.setState({isMembersListLoading: false});\n this.handleError(error);\n });\n };\n getCanCheckUserIds = (membersList) => {\n let userIds = [];\n membersList.forEach((member) => {\n if (!member.email) userIds.push(member.userid);\n });\n return userIds;\n };\n\n onChangeDepartment = (department_id) => {\n this.setState({\n newUsersTempObj: {},\n isCheckedAll: false,\n checkedDepartmentId: department_id,\n });\n if (!(department_id in this.state.membersTempObj)) {\n this.getDingtalkDepartmentMembersList(department_id);\n } else {\n let canCheckUserIds = this.getCanCheckUserIds(this.state.membersTempObj[department_id]);\n this.setState({\n membersList: this.state.membersTempObj[department_id],\n canCheckUserIds: canCheckUserIds,\n });\n }\n };\n\n onUserChecked = (user) => {\n if (this.state.canCheckUserIds.indexOf(user.userid) !== -1) {\n let newUsersTempObj = this.state.newUsersTempObj;\n if (user.userid in newUsersTempObj) {\n delete newUsersTempObj[user.userid];\n if (this.state.isCheckedAll) {\n this.setState({ isCheckedAll: false });\n }\n } else {\n newUsersTempObj[user.userid] = user;\n if (Object.keys(newUsersTempObj).length === this.state.canCheckUserIds.length) {\n this.setState({ isCheckedAll: true });\n }\n }\n this.setState({ newUsersTempObj: newUsersTempObj });\n }\n };\n\n onAllUsersChecked = () => {\n this.setState({\n isCheckedAll: !this.state.isCheckedAll,\n }, () => {\n if (this.state.isCheckedAll) {\n let newUsersTempObj = {};\n let newUsersTempList = this.state.membersList.filter(user => {\n return this.state.canCheckUserIds.indexOf(user.userid) !== -1;\n });\n for (let i = 0; i < newUsersTempList.length; i++) {\n newUsersTempObj[newUsersTempList[i].userid] = newUsersTempList[i];\n }\n this.setState({ newUsersTempObj: newUsersTempObj });\n } else {\n this.setState({ newUsersTempObj: {} });\n }\n });\n };\n\n onSubmit = () => {\n const { newUsersTempObj } = this.state;\n if (JSON.stringify(newUsersTempObj) === '{}') return;\n let userList = [];\n for (let i in newUsersTempObj) {\n userList.push(newUsersTempObj[i]);\n }\n if (userList.length === 0) {\n toaster.danger('未选择成员', {duration: 3});\n return;\n }\n seafileAPI.adminAddDingtalkUsersBatch(userList).then((res) => {\n this.setState({\n newUsersTempObj: {},\n isCheckedAll: false,\n });\n if (res.data.success) {\n this.handleSubmitSuccess(res.data.success);\n }\n if (res.data.failed) {\n const fails= res.data.failed;\n for (let i = 0; i < fails.length; i++) {\n toaster.danger(fails[i].name + ' ' + fails[i].error_msg, {duration: 3});\n }\n }\n }).catch((error) => {\n this.handleError(error);\n });\n\n };\n\n handleSubmitSuccess = (success) => {\n let { membersTempObj, membersList, canCheckUserIds } = this.state;\n for (let i = 0; i < success.length; i++) {\n let { userid, name, email } = success[i];\n toaster.success(name + ' 成功导入', {duration: 1});\n // refresh all temp\n if (canCheckUserIds.indexOf(userid) !== -1) {\n canCheckUserIds.splice(canCheckUserIds.indexOf(userid), 1);\n }\n for (let j = 0; j < membersList.length; j++) {\n if (membersList[j].userid === userid) {\n membersList[j].email = email;\n break;\n }\n }\n for (let departmentId in membersTempObj) {\n for (let k = 0; k < membersTempObj[departmentId].length; k++) {\n if (membersTempObj[departmentId][k].userid === userid) {\n membersTempObj[departmentId][k].email = email;\n break;\n }\n }\n }\n }\n this.setState({\n membersTempObj: membersTempObj,\n membersList: membersList,\n canCheckUserIds: canCheckUserIds,\n });\n };\n\n importDepartmentDialogToggle = (importDepartment) => {\n this.setState({\n isImportDepartmentDialogShow: !this.state.isImportDepartmentDialogShow,\n importDepartment: importDepartment,\n }, () => {\n if (importDepartment) {\n this.getDingtalkDepartmentsList(importDepartment.id);\n }\n });\n };\n\n onImportDepartmentSubmit = () => {\n let importDepartment = this.state.importDepartment;\n if (!importDepartment) return;\n seafileAPI.adminImportDingtalkDepartment(importDepartment.id).then((res) => {\n this.setState({\n isMembersListLoading: true,\n checkedDepartmentId: importDepartment.id,\n membersTempObj: {},\n membersList: [],\n newUsersTempObj: {},\n isCheckedAll: false,\n canCheckUserIds: [],\n });\n this.getDingtalkDepartmentMembersList(importDepartment.id);\n this.importDepartmentDialogToggle(null);\n if (res.data.success) {\n this.handleImportDepartmentSubmitSuccess(res.data.success);\n }\n if (res.data.failed) {\n this.handleImportDepartmentSubmitFailed(res.data.failed);\n }\n }).catch((error) => {\n this.handleError(error);\n });\n };\n\n handleImportDepartmentSubmitSuccess = (successes) => {\n for (let i = 0, len = successes.length; i < len; i++) {\n let success = successes[i];\n let successMsg = success.type === 'department' ? '部门 ' + success.department_name + ' 导入成功' : success.api_user_name + ' 导入成功' ;\n toaster.success(successMsg, { duration: 3 });\n }\n };\n\n handleImportDepartmentSubmitFailed = (fails) => {\n for (let i = 0, len = fails.length; i < len; i++) {\n let fail = fails[i];\n let failName = fail.type === 'department' ? fail.department_name : fail.api_user_name;\n toaster.danger(failName + ' ' + fail.msg, { duration: 3} );\n }\n };\n\n handleError = (error) => {\n const errorMsg = Utils.getErrorMsg(error);\n toaster.danger(errorMsg);\n };\n\n componentDidMount() {\n this.getDingtalkDepartmentsList(null);\n }\n\n render() {\n const { isImportDepartmentDialogShow, isTreeLoading, importDepartment, importDepartmentChildrenCount, importDepartmentMembersCount } = this.state;\n let canImportDepartment = !!(isPro && isImportDepartmentDialogShow && !isTreeLoading && importDepartment);\n return (\n \n \n \n \n
    \n
    \n
    \n

    {'钉钉集成'}

    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {canImportDepartment &&\n \n }\n
    \n );\n }\n}\n\nexport default DingtalkDepartments;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport moment from 'moment';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport toaster from '../../../components/toast';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getItemsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getItemsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, curPerPage, hasNextPage, currentPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No invitations')}

    \n
    \n );\n\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {items.map((item, index) => {\n return ();\n })}\n \n
    {gettext('Inviter')}{gettext('Accepter')}{gettext('Type')}{gettext('Invited at')}{gettext('Accepted at')}{gettext('Expired at')}
    \n \n
    \n );\n\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n getItemsByPage: PropTypes.func,\n curPerPage: PropTypes.number,\n deleteItem: PropTypes.func,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n highlight: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n deleteItem = () => {\n this.props.deleteItem(this.props.item);\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch (item) {\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n }\n return translateResult;\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Delete':\n this.deleteItem();\n break;\n default:\n break;\n }\n };\n\n getInviteTypeText = () => {\n let translateResult = '';\n switch (this.props.item.invite_type) {\n case 'Guest':\n translateResult = gettext('Guest');\n break;\n }\n return translateResult;\n };\n\n render() {\n const { item } = this.props;\n const {\n isOpIconShown\n } = this.state;\n\n return (\n \n \n \n \n \n \n {item.accept_time ?\n :\n item.accepter_email\n }\n \n {this.getInviteTypeText()}\n \n {moment(item.invite_time).fromNow()}\n \n \n {item.accept_time ?\n {moment(item.accept_time).fromNow()} :\n '--'\n }\n \n \n {item.is_expired ?\n {moment(item.expire_time).format('YYYY-MM-DD HH:mm')} :\n moment(item.expire_time).format('YYYY-MM-DD HH:mm')\n }\n \n \n {isOpIconShown &&\n \n }\n \n \n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteItem: PropTypes.func,\n onFreezedItem: PropTypes.func.isRequired,\n};\n\nclass Invitations extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n items: [],\n totalItemCount: 0,\n hasNextPage: false,\n currentPage: 1,\n perPage: 25\n };\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getItemsByPage(this.state.currentPage);\n });\n }\n\n getItemsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListInvitations(page, perPage).then(res => {\n this.setState({\n loading: false,\n items: res.data.invitation_list,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n currentPage: page\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n deleteItem = (targetItem) => {\n const token = targetItem.token;\n seafileAPI.sysAdminDeleteInvitation(token).then(res => {\n let items = this.state.items.filter(item => {\n return item.token != token;\n });\n this.setState({items: items});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteItemInBatch = () => {\n seafileAPI.sysAdminDeleteExpiredInvitations().then(res => {\n const prevItems = this.state.items;\n const items = this.state.items.filter(item => !item.is_expired || item.accept_time);\n if (items.length < prevItems.length) {\n this.setState({\n items: items\n });\n toaster.success(gettext('Operation succeeded.'));\n }\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getItemsByPage(1);\n });\n };\n\n render() {\n return (\n \n \n \n \n
    \n
    \n
    \n

    {gettext('Invitations')}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default Invitations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { SimpleEditor } from '@seafile/seafile-editor';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n title: PropTypes.string,\n content: PropTypes.string,\n onCommit: PropTypes.func.isRequired,\n onCloseEditorDialog: PropTypes.func.isRequired,\n};\n\nclass TermsEditorDialog extends React.Component {\n\n static defaultProps = {\n title: gettext('Terms'),\n };\n\n onKeyDown = (event) => {\n event.stopPropagation();\n };\n\n toggle = () => {\n if (this.isContentChanged()) {\n let currentContent = this.getCurrentContent();\n this.props.onCommit(currentContent);\n }\n this.props.onCloseEditorDialog();\n };\n\n isContentChanged = () => {\n return this.simpleEditor.hasContentChange();\n };\n\n getCurrentContent = () => {\n let markdownContent = this.simpleEditor.getMarkdown();\n return markdownContent;\n };\n\n setSimpleEditorRef = (editor) => {\n this.simpleEditor = editor;\n };\n\n render() {\n let { content, title } = this.props;\n return (\n \n {title}\n \n \n \n \n );\n }\n}\n\nTermsEditorDialog.propTypes = propTypes;\n\nexport default TermsEditorDialog;\n","import React, {Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter, Input, Alert, FormGroup, Label } from 'reactstrap';\nimport { gettext } from '../../../utils/constants';\nimport TermsPreviewWidget from '../../terms-preview-widget';\nimport TermsEditorDialog from '../terms-editor-dialog';\n\nimport '../../../css/terms-conditions-editor.css';\n\nconst propTypes = {\n isUpdate: PropTypes.bool,\n oldTermObj: PropTypes.object,\n addTerm: PropTypes.func,\n updateTerm: PropTypes.func,\n toggle: PropTypes.func.isRequired,\n};\n\nclass AddOrUpdateTermDialog extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n name: '',\n versionNumber: '',\n text: '',\n isActive: true,\n errorMsg: '',\n isConditionsEditorDialogShow: false,\n };\n }\n\n componentDidMount() {\n let oldTermObj = this.props.oldTermObj;\n if (oldTermObj) {\n this.setState({\n name: oldTermObj.name,\n versionNumber: oldTermObj.version_number,\n text: oldTermObj.text,\n isActive: !(oldTermObj.activate_time === ''),\n });\n }\n }\n\n handleNameChange = (e) => {\n this.setState({name: e.target.value.trim()});\n };\n\n handleVersionNumberChange = (e) => {\n this.setState({versionNumber: e.target.value.trim()});\n };\n\n handleTextChange = (e) => {\n this.setState({text: e.target.value.trim()});\n };\n\n setActive = () => {\n this.setState({isActive: true});\n };\n\n setInActive = () => {\n this.setState({isActive: false});\n };\n\n addTerm = () => {\n let { name, versionNumber, text, isActive } = this.state;\n if (name === '') {\n this.setState({errMsg: gettext('Name is required.')});\n return;\n }\n if (versionNumber === '') {\n this.setState({errMsg: gettext('Version Number is required.')});\n return;\n }\n if (isNaN(versionNumber)) {\n this.setState({errMsg: gettext('Version Number must be a number.')});\n return;\n }\n if (text === '') {\n this.setState({errMsg: gettext('Text is required.')});\n return;\n }\n if (this.props.isUpdate) {\n this.props.updateTerm(name, versionNumber, text, isActive);\n } else {\n this.props.addTerm(name, versionNumber, text, isActive);\n }\n };\n\n onContentClick = () => {\n this.setState({isConditionsEditorDialogShow: !this.state.isConditionsEditorDialogShow});\n };\n\n onCloseEditorDialog = () => {\n this.setState({isConditionsEditorDialogShow: false});\n };\n\n onUpdateContent = (content) => {\n this.setState({ text: content });\n };\n\n render() {\n let title = this.props.isUpdate ? gettext('Update Terms and Conditions') : gettext('Add Terms and Conditions');\n return (\n \n \n {title}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.state.errMsg && {this.state.errMsg}}\n \n \n \n \n \n {this.state.isConditionsEditorDialogShow && (\n \n )}\n \n );\n }\n}\n\nAddOrUpdateTermDialog.propTypes = propTypes;\n\nexport default AddOrUpdateTermDialog;\n","const hrefReg = /\\[.+\\]\\(\\S+\\)||!\\[\\]\\(\\S+\\)|<\\S+>/g,\n imageReg1 = /^/,\n imageReg2 = /^!\\[\\]\\((\\S+)\\)/,\n linkReg1 = /^\\[.+\\]\\(\\S+\\)/,\n linkReg2 = /^<\\S+>$/;\n\nconst getLinks = (hrefs) => {\n const hrefObj = {\n links: [],\n images: []\n };\n hrefs.forEach((href) => {\n if (href.search(linkReg1) >= 0 || href.search(linkReg2) >= 0) {\n hrefObj.links.push(href);\n } else {\n let imageSrcs = href.match(imageReg1);\n let imageSrcs1 = href.match(imageReg2);\n if (imageSrcs) {\n hrefObj.images.push(imageSrcs[1]);\n } else if (imageSrcs1) {\n hrefObj.images.push(imageSrcs1[1]);\n }\n }\n });\n return hrefObj;\n};\n\n\nconst getPreviewContent = (markdownContent) => {\n let previewText = '';\n let newMarkdownContent = markdownContent.replace(hrefReg, '');\n for (let index = 0; index < newMarkdownContent.length; index++) {\n if (newMarkdownContent[index] === '#') {\n continue;\n } else if (newMarkdownContent[index] === '\\n') {\n previewText += ' ';\n } else {\n previewText += newMarkdownContent[index];\n }\n if (previewText.length === 30) {\n break;\n }\n }\n\n const hrefs = markdownContent.match(hrefReg);\n if (hrefs) {\n const { images, links } = getLinks(hrefs);\n return { previewText, images, links };\n }\n return { previewText, images: [], links: [] };\n};\n\n\nexport default getPreviewContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport TermsPreviewWidget from '../terms-preview-widget';\nimport { gettext } from '../../utils/constants';\n\nconst propTypes = {\n title: PropTypes.string,\n content: PropTypes.string,\n onClosePreviewDialog: PropTypes.func.isRequired,\n};\n\nclass TermsPreviewDialog extends React.Component {\n\n static defaultProps = {\n title: gettext('Terms'),\n };\n\n\n toggle = () => {\n this.props.onClosePreviewDialog();\n };\n\n render() {\n let { title, content } = this.props;\n return (\n \n {title}\n \n \n \n \n );\n }\n}\n\nTermsPreviewDialog.propTypes = propTypes;\n\nexport default TermsPreviewDialog;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { processor } from '@seafile/seafile-editor';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport getPreviewContent from '../../../utils/markdown-utils';\nimport AddOrUpdateTermDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog';\nimport CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';\nimport TermsPerviewDialog from '../../../components/dialog/terms-preview-dialog';\nimport ModalPortal from '../../../components/modal-portal';\nimport OpMenu from '../../../components/dialog/op-menu';\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n itemContent: '...',\n isOpIconShown: false,\n isUpdateDialogOpen: false,\n isDeleteDialogOpen: false,\n isTermsPerviewDialogOpen: false,\n };\n }\n\n componentDidMount() {\n let mdFile = this.props.item.text;\n processor.process(mdFile).then((result) => {\n let innerHtml = String(result);\n this.setState({itemContent: innerHtml});\n });\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.item.text !== this.props.item.text) {\n let mdFile = nextProps.item.text;\n processor.process(mdFile).then((result) => {\n let innerHtml = String(result);\n this.setState({itemContent: innerHtml});\n });\n }\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n toggleUpdateDialog = (e) => {\n this.setState({isUpdateDialogOpen: !this.state.isUpdateDialogOpen});\n };\n\n toggleDeleteDialog = (e) => {\n this.setState({isDeleteDialogOpen: !this.state.isDeleteDialogOpen});\n };\n\n toggleTermsContentDialog = (e) => {\n this.setState({isTermsPerviewDialogOpen: !this.state.isTermsPerviewDialogOpen});\n };\n\n onMenuItemClick = (operation) => {\n switch(operation) {\n case 'Update':\n this.toggleUpdateDialog();\n break;\n case 'Delete':\n this.toggleDeleteDialog();\n break;\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n deleteTerm = () => {\n this.props.deleteTerm(this.props.item.id);\n this.toggleDeleteDialog();\n };\n\n updateTerm = (name, versionNumber, text, isActive) => {\n this.props.updateTerm(this.props.item.id, name, versionNumber, text, isActive);\n this.toggleUpdateDialog();\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'Update':\n translateResult = gettext('Update');\n break;\n case 'Delete':\n translateResult = gettext('Delete');\n break;\n default:\n break;\n }\n\n return translateResult;\n };\n\n render() {\n let { item } = this.props;\n let { isDeleteDialogOpen, isUpdateDialogOpen, isTermsPerviewDialogOpen } = this.state;\n let previewContent = getPreviewContent(item.text);\n let itemName = '' + Utils.HTMLescape(item.name) + '';\n let deleteDialogMsg = gettext('Are you sure you want to delete {placeholder} ?').replace('{placeholder}', itemName);\n return (\n \n \n {item.name}\n {item.version_number}\n \n {previewContent.previewText}\n \n {moment(item.ctime).fromNow()}\n {item.activate_time ? moment(item.activate_time).fromNow() : '--'}\n \n {this.state.isOpIconShown &&\n \n }\n \n \n {isDeleteDialogOpen &&\n \n \n \n }\n {isUpdateDialogOpen &&\n \n \n \n }\n {isTermsPerviewDialogOpen &&\n \n \n \n }\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n deleteTerm: PropTypes.func.isRequired,\n updateTerm: PropTypes.func.isRequired,\n};\n\nexport default Item;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { gettext } from '../../../utils/constants';\nimport EmptyTip from '../../../components/empty-tip';\nimport Loading from '../../../components/loading';\nimport Item from './item';\n\nconst propTypes = {\n loading: PropTypes.bool.isRequired,\n items: PropTypes.array.isRequired,\n errorMsg: PropTypes.string,\n deleteTerm: PropTypes.func.isRequired,\n updateTerm: PropTypes.func.isRequired,\n};\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n render() {\n const { loading, errorMsg, items } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No terms and conditions')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Version')}{gettext('Text')}{gettext('Created')}{gettext('Activated')}{/* operation */}
    \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = propTypes;\n\nexport default Content;\n\n","import React, { Component, Fragment } from 'react';\nimport { Button } from 'reactstrap';\nimport { Utils } from '../../../utils/utils';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport AddOrUpdateTermDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-or-update-term-dialog';\nimport ModalPortal from '../../../components/modal-portal';\nimport toaster from '../../../components/toast';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Content from './content';\n\nclass TermsAndConditions extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n termList: [],\n isAddTermDialogOpen: false,\n };\n }\n\n toggleAddTermDialog = () => {\n this.setState({isAddTermDialogOpen: !this.state.isAddTermDialogOpen});\n };\n\n componentDidMount () {\n seafileAPI.sysAdminListTermsAndConditions().then((res) => {\n this.setState({\n termList: res.data.term_and_condition_list,\n loading: false,\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n }\n\n addTerm = (name, versionNumber, text, isActive) => {\n seafileAPI.sysAdminAddTermAndCondition(name, versionNumber, text, isActive).then(res => {\n // After adding the terms, you need to refresh the page.\n location.reload();\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n updateTerm = (termID, name, versionNumber, text, isActive) => {\n seafileAPI.sysAdminUpdateTermAndCondition(termID, name, versionNumber, text, isActive).then(res => {\n let termList = this.state.termList.map(item => {\n if (item.id == termID) {\n return res.data;\n } else {\n return item;\n }\n });\n this.setState({termList: termList});\n toaster.success(gettext('Update succeeded.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n deleteTerm = (termID) => {\n seafileAPI.sysAdminDeleteTermAndCondition(termID).then(res => {\n let termList = this.state.termList.filter(item => item.id != termID);\n this.setState({termList: termList});\n toaster.success(gettext('Successfully deleted 1 item.'));\n }).catch((error) => {\n let errMessage = Utils.getErrorMsg(error);\n toaster.danger(errMessage);\n });\n };\n\n render() {\n let { termList, isAddTermDialogOpen } = this.state;\n return (\n \n \n \n \n
    \n
    \n
    \n

    {gettext('Terms and Conditions')}

    \n
    \n
    \n \n
    \n
    \n
    \n {isAddTermDialogOpen &&\n \n \n \n }\n
    \n );\n }\n}\n\nexport default TermsAndConditions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass Nav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'all', urlPart: 'all', text: gettext('All')},\n {name: 'unhandled', urlPart: 'unhandled', text: gettext('Unhandled')}\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nNav.propTypes = propTypes;\n\nexport default Nav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './nav';\n\nconst virusFileItemPropTypes = {\n virusFile: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n handleFile: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired,\n};\n\nclass VirusFileItem extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n isOpIconShown: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onMenuItemClick = (operation) => {\n this.props.handleFile(this.props.virusFile.virus_id, operation);\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'delete':\n translateResult = gettext('Delete');\n break;\n case 'ignore':\n translateResult = gettext('Ignore');\n break;\n case 'do-not-ignore':\n translateResult = gettext('Don\\'t ignore');\n break;\n }\n return translateResult;\n };\n\n render() {\n const virusFile = this.props.virusFile;\n let fileStatus = '',\n fileOpList = [];\n if (virusFile.has_deleted) {\n fileStatus = {gettext('Deleted')};\n } else if (virusFile.has_ignored) {\n fileStatus = {gettext('Ignored')};\n fileOpList = ['do-not-ignore'];\n } else {\n fileStatus = {gettext('Unhandled')};\n fileOpList = ['delete', 'ignore'];\n }\n\n return (\n \n {virusFile.repo_name}\n {virusFile.repo_owner}\n {virusFile.file_path}\n {fileStatus}\n \n {fileOpList.length > 0 && this.state.isOpIconShown &&\n \n }\n \n \n );\n }\n}\n\nVirusFileItem.propTypes = virusFileItemPropTypes;\n\n\nconst virusFileListPropTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n virusFiles: PropTypes.array.isRequired,\n currentPage: PropTypes.number,\n hasNextPage: PropTypes.bool,\n curPerPage: PropTypes.number,\n resetPerPage: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n handleFile: PropTypes.func.isRequired,\n};\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.currentPage + 1);\n };\n\n render() {\n const {\n loading, errorMsg, virusFiles,\n curPerPage, hasNextPage, currentPage\n } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {virusFiles.map((virusFile, index) => {\n return (\n \n );\n })}\n \n
    {gettext('Library')}{gettext('Owner')}{gettext('Virus File')}{gettext('Status')}{/* Operations */}
    \n {virusFiles.length > 0 &&\n \n }\n
    \n );\n }\n }\n}\n\nContent.propTypes = virusFileListPropTypes;\n\n\nclass AllVirusFiles extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n virusFiles: [],\n currentPage: 1,\n perPage: 25,\n hasNextPage: false\n };\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const {\n currentPage, perPage\n } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getListByPage(this.state.currentPage);\n });\n }\n\n getListByPage = (page) => {\n const { perPage } = this.state;\n seafileAPI.listVirusFiles(page, perPage).then((res) => {\n const data = res.data;\n this.setState({\n loading: false,\n virusFiles: data.virus_file_list,\n hasNextPage: data.has_next_page\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getListByPage(1);\n });\n };\n\n handleFile = (virusID, op) => {\n let request;\n switch(op) {\n case 'delete':\n request = seafileAPI.deleteVirusFile(virusID);\n break;\n case 'ignore':\n request = seafileAPI.toggleIgnoreVirusFile(virusID, true);\n break;\n case 'do-not-ignore':\n request = seafileAPI.toggleIgnoreVirusFile(virusID, false);\n break;\n }\n request.then((res) => {\n this.setState({\n virusFiles: this.state.virusFiles.map((item) => {\n if (item.virus_id == virusID) {\n if (op == 'delete') {\n item.has_deleted = true;\n } else {\n item = res.data.virus_file;\n }\n }\n return item;\n })\n });\n }).catch((error) => {\n toaster.danger(Utils.getErrorMsg(error));\n });\n };\n\n render() {\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default AllVirusFiles;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'reactstrap';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport toaster from '../../../components/toast';\nimport OpMenu from '../../../components/dialog/op-menu';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport Nav from './nav';\n\nconst virusFileItemPropTypes = {\n resetPerPage: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n handleFile: PropTypes.func.isRequired,\n virusFile: PropTypes.object.isRequired,\n isItemFreezed: PropTypes.bool.isRequired,\n toggleItemSelected: PropTypes.func.isRequired,\n onFreezedItem: PropTypes.func.isRequired,\n onUnfreezedItem: PropTypes.func.isRequired\n};\n\nclass VirusFileItem extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n highlight: false,\n isOpIconShown: false\n };\n }\n\n handleMouseEnter = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: true,\n highlight: true\n });\n }\n };\n\n handleMouseLeave = () => {\n if (!this.props.isItemFreezed) {\n this.setState({\n isOpIconShown: false,\n highlight: false\n });\n }\n };\n\n onUnfreezedItem = () => {\n this.setState({\n highlight: false,\n isOpIconShow: false\n });\n this.props.onUnfreezedItem();\n };\n\n onMenuItemClick = (operation) => {\n this.props.handleFile(this.props.virusFile.virus_id, operation);\n };\n\n translateOperations = (item) => {\n let translateResult = '';\n switch(item) {\n case 'delete':\n translateResult = gettext('Delete');\n break;\n case 'ignore':\n translateResult = gettext('Ignore');\n break;\n case 'do-not-ignore':\n translateResult = gettext('Don\\'t ignore');\n break;\n }\n return translateResult;\n };\n\n toggleItemSelected = (e) => {\n this.props.toggleItemSelected(this.props.virusFile, e.target.checked);\n };\n\n render() {\n const virusFile = this.props.virusFile;\n let fileStatus = '',\n fileOpList = [];\n if (virusFile.has_deleted) {\n fileStatus = {gettext('Deleted')};\n } else if (virusFile.has_ignored) {\n fileStatus = {gettext('Ignored')};\n fileOpList = ['do-not-ignore'];\n } else {\n fileStatus = {gettext('Unhandled')};\n fileOpList = ['delete', 'ignore'];\n }\n\n return (\n \n \n \n \n {virusFile.repo_name}\n {virusFile.repo_owner}\n {virusFile.file_path}\n {fileStatus}\n \n {fileOpList.length > 0 && this.state.isOpIconShown &&\n \n }\n \n \n );\n }\n}\n\nVirusFileItem.propTypes = virusFileItemPropTypes;\n\n\nconst virusFileListPropTypes = {\n currentPage: PropTypes.number,\n hasNextPage: PropTypes.bool,\n curPerPage: PropTypes.number,\n resetPerPage: PropTypes.func,\n getListByPage: PropTypes.func.isRequired,\n handleFile: PropTypes.func.isRequired,\n isAllItemsSelected: PropTypes.bool.isRequired,\n toggleAllSelected: PropTypes.func.isRequired,\n toggleItemSelected: PropTypes.func.isRequired,\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n virusFiles: PropTypes.array.isRequired\n};\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isItemFreezed: false\n };\n }\n\n onFreezedItem = () => {\n this.setState({isItemFreezed: true});\n };\n\n onUnfreezedItem = () => {\n this.setState({isItemFreezed: false});\n };\n\n getPreviousPage = () => {\n this.props.getListByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getListByPage(this.props.currentPage + 1);\n };\n\n render() {\n const {\n loading, errorMsg, virusFiles,\n curPerPage, hasNextPage, currentPage,\n isAllItemsSelected\n } = this.props;\n\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {virusFiles.map((virusFile, index) => {\n return (\n \n );\n })}\n \n
    \n \n {gettext('Library')}{gettext('Owner')}{gettext('Virus File')}{gettext('Status')}{/* Operations */}
    \n {virusFiles.length > 0 &&\n \n }\n
    \n );\n }\n }\n}\n\nContent.propTypes = virusFileListPropTypes;\n\n\nclass UnhandledVirusFiles extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n virusFiles: [],\n\n isAllItemsSelected: false,\n selectedItems: [],\n\n currentPage: 1,\n perPage: 25,\n hasNextPage: false\n };\n }\n\n componentDidMount() {\n let urlParams = (new URL(window.location)).searchParams;\n const {\n currentPage, perPage\n } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getListByPage(this.state.currentPage);\n });\n }\n\n getListByPage = (page) => {\n const { perPage } = this.state;\n const hasHandled = false;\n seafileAPI.listVirusFiles(page, perPage, hasHandled).then((res) => {\n const data = res.data;\n const items = data.virus_file_list.map(item => {\n item.isSelected = false;\n return item;\n });\n this.setState({\n loading: false,\n virusFiles: items,\n hasNextPage: data.has_next_page\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (perPage) => {\n this.setState({\n perPage: perPage\n }, () => {\n this.getListByPage(1);\n });\n };\n\n handleFile = (virusID, op) => {\n let request;\n switch(op) {\n case 'delete':\n request = seafileAPI.deleteVirusFile(virusID);\n break;\n case 'ignore':\n request = seafileAPI.toggleIgnoreVirusFile(virusID, true);\n break;\n case 'do-not-ignore':\n request = seafileAPI.toggleIgnoreVirusFile(virusID, false);\n break;\n }\n request.then((res) => {\n this.setState({\n virusFiles: this.state.virusFiles.map((item) => {\n if (item.virus_id == virusID) {\n if (op == 'delete') {\n item.has_deleted = true;\n } else {\n item = res.data.virus_file;\n }\n }\n return item;\n })\n });\n }).catch((error) => {\n toaster.danger(Utils.getErrorMsg(error));\n });\n };\n\n toggleAllSelected = () => {\n this.setState((prevState) => ({\n isAllItemsSelected: !prevState.isAllItemsSelected,\n virusFiles: this.state.virusFiles.map((item) => {\n item.isSelected = !prevState.isAllItemsSelected;\n return item;\n })\n }));\n };\n\n toggleItemSelected = (targetItem, isSelected) => {\n this.setState({\n virusFiles: this.state.virusFiles.map((item) => {\n if (item === targetItem) {\n item.isSelected = isSelected;\n }\n return item;\n })\n }, () => {\n this.setState({\n isAllItemsSelected: !this.state.virusFiles.some(item => !item.isSelected)\n });\n });\n };\n\n handleSelectedItems = (op) => {\n // op: 'delete-virus', 'ignore-virus'\n const virusIDs = this.state.virusFiles\n .filter(item => {\n if (op == 'delete-virus') {\n return item.isSelected && !item.has_deleted;\n } else {\n return item.isSelected && !item.has_ignored;\n }\n })\n .map(item => item.virus_id);\n seafileAPI.batchProcessVirusFiles(virusIDs, op).then((res) => {\n let fileList = this.state.virusFiles;\n res.data.success.forEach(item => {\n let file = fileList.find(file => file.virus_id == item.virus_id);\n if (op == 'delete-virus') {\n file.has_deleted = true;\n } else {\n file.has_ignored = true;\n }\n });\n this.setState({\n virusFiles: fileList\n });\n\n res.data.failed.forEach(item => {\n const file = fileList.find(file => file.virus_id == item.virus_id);\n let errMsg = op == 'delete-virus' ?\n gettext('Failed to delete %(virus_file) from library %(library): %(error_msg)') :\n gettext('Failed to ignore %(virus_file) from library %(library): %(error_msg)');\n errMsg = errMsg.replace('%(virus_file)', file.file_path)\n .replace('%(library)', file.repo_name)\n .replace('%(error_msg)', item.error_msg);\n toaster.danger(errMsg);\n });\n }).catch((error) => {\n toaster.danger(Utils.getErrorMsg(error));\n });\n };\n\n deleteSelectedItems = () => {\n const op = 'delete-virus';\n this.handleSelectedItems(op);\n };\n\n ignoreSelectedItems = () => {\n const op = 'ignore-virus';\n this.handleSelectedItems(op);\n };\n\n render() {\n return (\n \n {this.state.virusFiles.some(item => item.isSelected) ? (\n \n \n \n \n \n \n ) : \n }\n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default UnhandledVirusFiles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from '@gatsbyjs/reach-router';\nimport { siteRoot, gettext } from '../../../utils/constants';\n\nconst propTypes = {\n currentItem: PropTypes.string.isRequired\n};\n\nclass LogsNav extends React.Component {\n\n constructor(props) {\n super(props);\n this.navItems = [\n {name: 'adminOperationLogs', urlPart:'admin-logs/operation', text: gettext('Admin Operation Logs')},\n {name: 'adminLoginLogs', urlPart:'admin-logs/login', text: gettext('Admin Login Logs')},\n ];\n }\n\n render() {\n const { currentItem } = this.props;\n return (\n
    \n
      \n {this.navItems.map((item, index) => {\n return (\n
    • \n {item.text}\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nLogsNav.propTypes = propTypes;\n\nexport default LogsNav;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext, siteRoot, enableSysAdminViewRepo, isPro } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LogsNav from './logs-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No Admin operation logs')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('Operation')}{gettext('Detail')}{gettext('Time')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isOpIconShown: false,\n };\n }\n\n getOperationText = (operationType) => {\n switch (operationType) {\n case 'repo_create': return gettext('Create Library');\n case 'repo_delete': return gettext('Delete Library');\n case 'repo_transfer': return gettext('Transfer Library');\n case 'group_create': return gettext('Create Group');\n case 'group_transfer': return gettext('Transfer Group');\n case 'group_delete': return gettext('Delete Group');\n case 'user_add': return gettext('Add User');\n case 'user_delete': return gettext('Delete User');\n default: return '';\n }\n };\n\n getOperationDetail = (item) => {\n let detail = item.detail;\n\n let ownerPageUrl = '';\n if (detail.owner) {\n ownerPageUrl = siteRoot + 'sys/users/' + encodeURIComponent(detail.owner) + '/';\n }\n let userPageUrl = '';\n if (detail.email) {\n userPageUrl = siteRoot + 'sys/users/' + encodeURIComponent(detail.email) + '/';\n }\n let detailText = '';\n let repoPageUrl = '';\n let groupPageUrl = '';\n if (item.operation == 'repo_create' || item.operation == 'repo_delete' || item.operation == 'repo_transfer') {\n repoPageUrl = siteRoot + 'sys/libraries/' + detail.id + '/' + encodeURIComponent(detail.name) + '/';\n }\n if (item.operation == 'group_create' || item.operation == 'group_delete' || item.operation == 'group_transfer') {\n groupPageUrl = siteRoot + 'sys/groups/' + detail.id + '/libraries/';\n }\n\n switch (item.operation) {\n case 'repo_create':\n detailText = gettext('Created library {library_name} with {owner} as its owner')\n .replace('{owner}', '' + detail.owner + '');\n if (isPro && enableSysAdminViewRepo) {\n detailText = detailText.replace('{library_name}', '' + detail.name + '');\n } else {\n detailText = detailText.replace('{library_name}', '' + detail.name + '');\n }\n return detailText;\n\n case 'repo_delete':\n detailText = gettext('Deleted library {library_name}')\n .replace('{library_name}', '' + detail.name + '');\n return detailText;\n\n case 'repo_transfer':\n detailText = gettext('Transferred library {library_name} from {user_from} to {user_to}')\n .replace('{user_from}', '' + detail.from + '')\n .replace('{user_to}', '' + detail.to+ '');\n if (isPro && enableSysAdminViewRepo) {\n detailText = detailText.replace('{library_name}', '' + detail.name + '');\n } else {\n detailText = detailText.replace('{library_name}', '' + detail.name + '');\n }\n return detailText;\n\n case 'group_create':\n detailText = gettext('Created group {group_name}')\n .replace('{group_name}', '' + detail.name+ '');\n return detailText;\n\n case 'group_transfer':\n detailText = gettext('Transferred group {group_name} from {user_from} to {user_to}')\n .replace('{user_from}', '' + detail.from + '')\n .replace('{user_to}', '' + detail.to+ '')\n .replace('{group_name}', '' + detail.name+ '');\n return detailText;\n\n case 'group_delete':\n detailText = gettext('Deleted group {group_name}')\n .replace('{group_name}', '' + detail.name + '');\n return detailText;\n\n case 'user_add':\n detailText = gettext('Added user {user}')\n .replace('{user}', '' + detail.email+ '');\n return detailText;\n\n case 'user_delete':\n detailText = gettext('Deleted user {user}')\n .replace('{user}', '' + detail.email+ '');\n return detailText;\n\n default: return '';\n }\n };\n\n render() {\n let { item } = this.props;\n return (\n \n \n {this.getOperationText(item.operation)}\n \n \n \n {moment(item.datetime).fromNow()}\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass AdminOperationLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n };\n this.initPage = 1;\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListAdminLogs(page, perPage).then((res) => {\n this.setState({\n logList: res.data.data,\n loading: false,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n render() {\n let { logList, currentPage, perPage, hasNextPage } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default AdminOperationLogs;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { seafileAPI } from '../../../utils/seafile-api';\nimport { gettext } from '../../../utils/constants';\nimport { Utils } from '../../../utils/utils';\nimport EmptyTip from '../../../components/empty-tip';\nimport moment from 'moment';\nimport Loading from '../../../components/loading';\nimport Paginator from '../../../components/paginator';\nimport LogsNav from './logs-nav';\nimport MainPanelTopbar from '../main-panel-topbar';\nimport UserLink from '../user-link';\n\n\nclass Content extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getPreviousPage = () => {\n this.props.getLogsByPage(this.props.currentPage - 1);\n };\n\n getNextPage = () => {\n this.props.getLogsByPage(this.props.currentPage + 1);\n };\n\n render() {\n const { loading, errorMsg, items, perPage, currentPage, hasNextPage } = this.props;\n if (loading) {\n return ;\n } else if (errorMsg) {\n return

    {errorMsg}

    ;\n } else {\n const emptyTip = (\n \n

    {gettext('No Admin login logs')}

    \n
    \n );\n const table = (\n \n \n \n \n \n \n \n \n \n \n {items &&\n \n {items.map((item, index) => {\n return ();\n })}\n \n }\n
    {gettext('Name')}{gettext('IP')}{gettext('Status')}{gettext('Time')}
    \n \n
    \n );\n return items.length ? table : emptyTip;\n }\n }\n}\n\nContent.propTypes = {\n loading: PropTypes.bool.isRequired,\n errorMsg: PropTypes.string.isRequired,\n items: PropTypes.array.isRequired,\n getLogsByPage: PropTypes.func,\n resetPerPage: PropTypes.func,\n currentPage: PropTypes.number,\n perPage: PropTypes.number,\n pageInfo: PropTypes.object,\n hasNextPage: PropTypes.bool,\n};\n\nclass Item extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n let { item } = this.props;\n return (\n \n \n {item.login_ip}\n {item.login_success ? gettext('Success') : gettext('Failed')}\n {moment(item.login_time).fromNow()}\n \n );\n }\n}\n\nItem.propTypes = {\n item: PropTypes.object.isRequired,\n};\n\nclass AdminLoginLogs extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n errorMsg: '',\n logList: [],\n perPage: 25,\n currentPage: 1,\n hasNextPage: false,\n };\n this.initPage = 1;\n }\n\n componentDidMount () {\n let urlParams = (new URL(window.location)).searchParams;\n const { currentPage, perPage } = this.state;\n this.setState({\n perPage: parseInt(urlParams.get('per_page') || perPage),\n currentPage: parseInt(urlParams.get('page') || currentPage)\n }, () => {\n this.getLogsByPage(this.state.currentPage);\n });\n }\n\n getLogsByPage = (page) => {\n let { perPage } = this.state;\n seafileAPI.sysAdminListAdminLoginLogs(page, perPage).then((res) => {\n this.setState({\n logList: res.data.data,\n loading: false,\n currentPage: page,\n hasNextPage: Utils.hasNextPage(page, perPage, res.data.total_count),\n });\n }).catch((error) => {\n this.setState({\n loading: false,\n errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403\n });\n });\n };\n\n resetPerPage = (newPerPage) => {\n this.setState({\n perPage: newPerPage,\n }, () => this.getLogsByPage(this.initPage));\n };\n\n render() {\n let { logList, currentPage, perPage, hasNextPage } = this.state;\n return (\n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default AdminLoginLogs;\n","import React, { Component, Fragment } from 'react';\nimport { gettext, siteRoot } from '../../utils/constants';\nimport { seafileAPI } from '../../utils/seafile-api';\nimport toaster from '../../components/toast';\nimport moment from 'moment';\nimport MainPanelTopbar from './main-panel-topbar';\n\nclass AbuseReports extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n abuseReportList: [],\n };\n }\n\n listAbuseReports = () => {\n seafileAPI.sysAdminListAbuseReports().then((res) => {\n this.setState({\n abuseReportList: res.data.abuse_report_list,\n });\n }).catch((error) => {\n this.handleError(error);\n });\n };\n\n updateAbuseReport = (handled, abuseReportId) => {\n seafileAPI.sysAdminUpdateAbuseReport(handled, abuseReportId).then((res) => {\n const abuseReportList = this.state.abuseReportList.map((item, index) => {\n if (item.id === abuseReportId) {\n item.handled = res.data.handled;\n }\n return item;\n });\n this.setState({\n abuseReportList: abuseReportList,\n });\n }).catch((error) => {\n this.handleError(error);\n });\n };\n\n handleError = (e) => {\n if (e.response) {\n toaster.danger(e.response.data.error_msg || e.response.data.detail || gettext('Error'), {duration: 3});\n } else {\n toaster.danger(gettext('Please check the network.'), {duration: 3});\n }\n };\n\n componentDidMount() {\n this.listAbuseReports();\n }\n\n render() {\n const AbuseReportList = this.state.abuseReportList.map((item, index) => {\n const handled = (!item.handled).toString();\n const abuseReportId = item.id;\n const fileUrl = siteRoot + 'lib/' + item.repo_id + '/file' + item.file_path;\n return (\n \n {item.repo_name}\n {item.file_path}\n {item.reporter}\n {item.abuse_type}\n {item.description}\n {moment(item.time).format('YYYY-MM-DD')}\n

    {gettext(item.handled.toString())}

    \n \n );\n });\n\n return (\n \n \n
    \n
    \n
    \n

    {gettext('Abuse Reports')}

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n {AbuseReportList}\n \n
    {gettext('Library')}{gettext('File')}{gettext('Reporter')}{gettext('Abuse Type')}{gettext('Description')}{gettext('Time')}{gettext('Handled')}
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nexport default AbuseReports;\n","import React from 'react';\nimport ReactDom from 'react-dom';\nimport MediaQuery from 'react-responsive';\nimport { Modal } from 'reactstrap';\nimport { Router } from '@gatsbyjs/reach-router';\nimport { siteRoot } from '../../utils/constants';\nimport { Utils } from '../../utils/utils';\n\nimport SidePanel from './side-panel';\nimport MainPanel from './main-panel';\n\nimport Info from './info';\n\nimport StatisticFile from './statistic/statistic-file';\nimport StatisticStorage from './statistic/statistic-storage';\nimport StatisticTraffic from './statistic/statistic-traffic';\nimport StatisticUsers from './statistic/statistic-users';\nimport StatisticReport from './statistic/statistic-reports';\n\nimport DesktopDevices from './devices/desktop-devices';\nimport MobileDevices from './devices/mobile-devices';\nimport DeviceErrors from './devices/devices-errors';\n\nimport Users from './users/users';\nimport AdminUsers from './users/admin-users';\nimport LDAPImportedUsers from './users/ldap-imported-users';\nimport LDAPUsers from './users/ldap-users';\nimport SearchUsers from './users/search-users';\nimport User from './users/user-info';\nimport UserOwnedRepos from './users/user-repos';\nimport UserSharedRepos from './users/user-shared-repos';\nimport UserLinks from './users/user-links';\nimport UserGroups from './users/user-groups';\n\nimport AllRepos from './repos/all-repos';\nimport SystemRepo from './repos/system-repo';\nimport TrashRepos from './repos/trash-repos';\nimport SearchRepos from './repos/search-repos';\nimport DirView from './repos/dir-view';\n\nimport Groups from './groups/groups';\nimport SearchGroups from './groups/search-groups';\nimport GroupRepos from './groups/group-repos';\nimport GroupMembers from './groups/group-members';\n\nimport Departments from './departments/departments';\nimport DepartmentList from './departments/department-list';\nimport SubDepartments from './departments/sub-departments';\nimport DepartmentMembers from './departments/department-members';\nimport DepartmentLibraries from './departments/department-libraries';\n\nimport ShareLinks from './links/share-links';\nimport UploadLinks from './links/upload-links';\n\nimport Orgs from './orgs/orgs';\nimport SearchOrgs from './orgs/search-orgs';\nimport OrgInfo from './orgs/org-info';\nimport OrgUsers from './orgs/org-users';\nimport OrgGroups from './orgs/org-groups';\nimport OrgRepos from './orgs/org-repos';\n\nimport Institutions from './institutions/institutions';\nimport InstitutionInfo from './institutions/institution-info';\nimport InstitutionUsers from './institutions/institution-users';\nimport InstitutionAdmins from './institutions/institution-admins';\n\nimport LoginLogs from './logs-page/login-logs';\nimport FileAccessLogs from './logs-page/file-access-logs';\nimport FileUpdateLogs from './logs-page/file-update-logs';\nimport SharePermissionLogs from './logs-page/share-permission-logs';\n\nimport WebSettings from './web-settings/web-settings';\nimport Notifications from './notifications/notifications';\nimport FileScanRecords from './file-scan-records';\nimport WorkWeixinDepartments from './work-weixin-departments';\nimport DingtalkDepartments from './dingtalk-departments';\nimport Invitations from './invitations/invitations';\nimport TermsAndConditions from './terms-and-conditions/terms-and-conditions';\n\nimport AllVirusFiles from './virus-scan/all-virus-files';\nimport UnhandledVirusFiles from './virus-scan/unhandled-virus-files';\n\nimport AdminOperationLogs from './admin-logs/operation-logs';\nimport AdminLoginLogs from './admin-logs/login-logs';\n\nimport AbuseReports from './abuse-reports';\n\nimport '../../css/layout.css';\nimport '../../css/toolbar.css';\n\nclass SysAdmin extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isSidePanelClosed: false,\n currentTab: 'file-scan'\n };\n }\n\n componentDidMount() {\n let href = window.location.href.split('/');\n let currentTab = href[href.length - 2];\n\n const pageList = [\n {\n tab: 'devices',\n urlPartList: ['desktop-devices', 'mobile-devices', 'device-errors']\n },\n {\n tab: 'libraries',\n urlPartList: ['all-libraries', 'search-libraries', 'system-library', 'trash-libraries', 'libraries/']\n },\n {\n tab: 'statistic',\n urlPartList: ['statistics/file', 'statistics/storage', 'statistics/user', 'statistics/traffic', 'statistics/reports']\n },\n {\n tab: 'users',\n urlPartList: ['users/', 'search-users/']\n },\n {\n tab: 'groups',\n urlPartList: ['groups/', 'search-groups/']\n },\n {\n tab: 'organizations',\n urlPartList: ['organizations/', 'search-organizations/']\n },\n {\n tab: 'links',\n urlPartList: ['share-links/', 'upload-links/']\n },\n {\n tab: 'institutions',\n urlPartList: ['institutions/']\n },\n {\n tab: 'termsandconditions',\n urlPartList: ['terms-and-conditions/']\n },\n {\n tab: 'departments',\n urlPartList: ['departments/']\n },\n {\n tab: 'logs',\n urlPartList: ['logs/']\n },\n {\n tab: 'virus-files',\n urlPartList: ['virus-files/']\n },\n {\n tab: 'adminLogs',\n urlPartList: ['admin-logs/']\n }\n ];\n const tmpTab = this.getCurrentTabForPageList(pageList);\n currentTab = tmpTab ? tmpTab : currentTab;\n\n this.setState({currentTab: currentTab});\n }\n\n componentWillMount() {\n if (!Utils.isDesktop()) {\n this.setState({\n isSidePanelClosed: true\n });\n }\n }\n\n getCurrentTabForPageList = (pageList) => {\n let urlPartList, tab;\n const urlBase = `${siteRoot}sys/`;\n for (let i = 0, len = pageList.length; i < len; i++) {\n urlPartList = pageList[i].urlPartList;\n tab = pageList[i].tab;\n for (let j = 0, jlen = urlPartList.length; j < jlen; j++) {\n if (location.href.indexOf(`${urlBase}${urlPartList[j]}`) != -1) {\n return tab;\n }\n }\n }\n };\n\n onCloseSidePanel = () => {\n this.setState({isSidePanelClosed: !this.state.isSidePanelClosed});\n };\n\n tabItemClick = (param) => {\n this.setState({currentTab: param});\n if (!Utils.isDesktop() && !this.state.isSidePanelClosed) {\n this.setState({ isSidePanelClosed: true });\n }\n };\n\n toggleSidePanel = () => {\n this.setState({\n isSidePanelClosed: !this.state.isSidePanelClosed\n });\n };\n\n render() {\n const { currentTab, isSidePanelClosed } = this.state;\n const commonProps = {\n toggleSidePanel: this.toggleSidePanel\n };\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n
    \n );\n }\n}\n\nReactDom.render(, document.getElementById('wrapper'));\n","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the
    \n \n
    {node.object.name}
    \n
    \n {type === 'dir' && (!node.isLoaded || (node.isLoaded && node.hasChildren())) && (\n e.stopPropagation()}\n onClick={this.onLoadToggle}\n >\n )}\n {icon}\n
    \n {isNodeMenuShow && (\n
    \n {((userPerm === 'rw' || permission || isCustomPermission) && this.state.isShowOperationMenu) && (\n \n )}\n
    \n )}\n

    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 Id^5%TFEfe}VgLXD literal 0 HcmV?d00001 diff --git a/locale/cs_CZ/LC_MESSAGES/djangojs.mo b/locale/cs_CZ/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..74b1c6e3b4b455557195715534dd91a1bee130cf GIT binary patch literal 7970 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 literal 0 HcmV?d00001 diff --git a/locale/da_DK/LC_MESSAGES/djangojs.mo b/locale/da_DK/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..46e8589a54f7b008cf9ca7c50d3fe0344c3bfc05 GIT binary patch literal 2202 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 Gz4pK7l+Ks{ literal 0 HcmV?d00001 diff --git a/locale/de/LC_MESSAGES/djangojs.mo b/locale/de/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..4da067d5055a31418a2aaed30db726305a36d0c5 GIT binary patch literal 92189 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 Fe*-?Pl?4C* literal 0 HcmV?d00001 diff --git a/locale/el/LC_MESSAGES/django.mo b/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..9ccecf00645c97c8c7b204dcc8e4198db36c0742 GIT binary patch literal 39011 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 W#C+4`O#L6EBk|W|Q>4`rKKcK;P`NY! literal 0 HcmV?d00001 diff --git a/locale/el/LC_MESSAGES/djangojs.mo b/locale/el/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..14d32f2fd05112d7aaa77cdd1e0ec00b8ce23629 GIT binary patch literal 18054 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 C4_2W7 literal 0 HcmV?d00001 diff --git a/locale/el_GR/LC_MESSAGES/djangojs.mo b/locale/el_GR/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..4cc9b355bace107363b9be85737e7b54a24bfb67 GIT binary patch literal 4505 zcma)-ZEPGz8ONujKrj?aOL-~KPD=xJ%lVwNNz+Tx*0G%u5huY(8i5ei=5AvjIqx~U z>!b#O^4b@0(n1~ClGnP;B28UOy48;=`W5B*d0?spjzz{-t0Xn%jVF&~9jU<+LQ9%DWNZ-q>m zR?l|G&pg26!*CV62lo2;7`~VBh#&9wd#IHuxZ1413|t@Np=8{qTJ-f!g<5ke~Uk z=P{^tC!qA7hLV59k0+qwFbQS<>;C(%q4fU|YTe&F{{iLKJ5cex3FV6S-BA1Fcu4;W z_zC!^pZ^MEi77(GZ5Nc>H=))ahVu7$C_7$+{LD{yNNya;jwvX)*ZlaGke_*-hxES* z_5HU{dj0^l?h4#}gE4Qz&oCZf(>6E?JK#^D{P_#~IQ+NgZ3N-7jN9Q?;WjA!=b-kR zg4*Y2@B{D-sQmm6O5a;B4;S%K^Y_Eg!EX3zSn=cUK*^tjx4>UP)$?zl>fs7}0{#>7 zGuuhFSn}KrmoWaeAD@QOUxV_q4yErM_#nI)qX~ui0+gOF!Q0{2pyWoN;_y5q6y_DE zIGu-g!#_jS&0>=INq9SC%B+Br?}2%^87_nSp!}bJlKTaeo;Tqa;oDIAu0=@pd>Kmb zPN+IM;KwJS8d;spaSeI;Cg0wp}CLW({36K*-I#^d5Q#-L=-@a2$tG zYNKje-dQdNX}KD;na)zlc9sUqQQ}^saPL(DnhZ-kk!U=Tt5od9c}kdxLpxF(w#l%6 z*&DD?TD7IH5~iVDlGsN~=bj)9VvmC93Zi0IFe)E}CzO31gaI1Ew-4kcSD?}&qV z#B@6?9=5YstPV$MbJ!aW?g-=NXue&3t^|`}Tpp6crl(X+P0wIZu9$T^!cx24%-%_8 zivwYCmrVyk8-?lKYP_r6tV6&(67yJG9Ue-|`X~+KD5%&iVZ0}dZBHCmW3vGth6CJa zzVJCs%TYfQNouzZmE_h2=T13HOm7hHvH@Yl(UNI+z-*W#Qqo&3kszYpTa6iwSikqi zU@$a#*mA0RI3Gw0RP_KudWD%Bcc*2oZcr<6c`s1lT; zRn&SACtAhUiG7vOkT#giR`sT8c6`TtREp&=h^C@iufRFs5m8hM(G}8CYY<$%bnV9>g z;GA}bU%;jLEI~DAp=}E<95@U9&M#kx(Eyded%RT8TGy z`LS{}?#yCkO%*RqI6%(m%Eqj0E5}dgu;wlloxUkjKE~bi1MDaM&7IlB&n$QZj-zK3 z%XEj4;FnOy1t9xR;K)90%fuP>;znSG1OH;oUv&-h1qHQFh`R!yQm6oe(Ivbmte3`=3;hA?=zl0M1U+HPY&MHQ(j_RY0s-7S{llVqt zmBSeVIYZ7km(R%@3CR@MHN(W1$)0LDAqzSFSfF!rrg=x7z)h#olCt@!YeWM3YUaQ8 CwZbp} literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..6c5906d1cd061dff54de8b533942893de34efc9e GIT binary patch literal 337 zcmYL@Jx{|h5Qd9j%E-dP;DHUUz!pqFHI3Uw*h!U-O0b#M1fyU_j*H-j@b~yFTo(FD zk8Zg4bkFbc(a#8TfSe*{$RTop42h8wT;AXuI{#UD_pUbq(k-mD?~SvRtk~?4EjU^8 zqD=EFDs<<30NFQY3lF=dhsseBt#T;zrx|V_Q9)Dk#909{hlG)3PGx%joM$`|st-_k zW&2hI=P8-jLXeC}P9|KkR7_ct6ud0&v1*&0YBW?@eNZA;wx|b_i4fD)jGb@x9W;=s z)e&`(o~PoXL1HJnrasJ?BXZgTj{lD(w~q zH^was#>D`VoGFbaTErs~9(7IJ3KbcOM5bJ16v8DphvpP^S3kGT7MHcg8Bde literal 0 HcmV?d00001 diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..75387d3c672f95d6fd2cba74b321a1d4a9939225 GIT binary patch literal 127268 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 z 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 literal 0 HcmV?d00001 diff --git a/locale/es/LC_MESSAGES/djangojs.mo b/locale/es/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..bc17f41e88e719822f26973c88a1c1ac17c1b8fa GIT binary patch literal 80587 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 ?p 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 aGIu8bv$v2~2LaNh%sj>J+qp0D#s3#>(+}zZ literal 0 HcmV?d00001 diff --git a/locale/es_MX/LC_MESSAGES/djangojs.mo b/locale/es_MX/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..6f78b760ef9d28137cbcf512c34ac3da01ec7cb4 GIT binary patch literal 80602 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 O%nghfU2nnO+48@LA6Xm# literal 0 HcmV?d00001 diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..9bd1ef0d533ea30e6a768cf99e50e603a829a410 GIT binary patch literal 67979 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 z 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 literal 0 HcmV?d00001 diff --git a/locale/fi/LC_MESSAGES/djangojs.mo b/locale/fi/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..3e2d6f335fcecf1f95337ccb0429a0485cb43122 GIT binary patch literal 36299 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∋{Jl0 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%0A=3-PX=0?BgNjoab7)XrX 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 literal 0 HcmV?d00001 diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..c829437fcdad68066d2556078f1134ea8fffdaa1 GIT binary patch literal 181988 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 gFEgn{%T=BJaszA)NWliY?^j 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%0ADwksWK#rqLF{e%jzSWq< z?ckVNrQjXVcQBXt#u&NN{=)V%`g$$Esr+RuZyTLkRW-$?>sFNi8~BdMnfQLk%-zPcyEEk${k|M*kf5=MU_OQlcP3-+gvh~4|KcwQ`&Pd0xj|51jDEsC#o1HsGqtV#+4C2 zA8~V-8qE{bQ!&D_yR06^bwa*=PtS1n=r>JbMQWGV31{NA?XV&tnI-BOMJ`dfzkv=L zwS!0)zN^AG7n>1JQt|BxQSnYd}E9~W@Q^+Lq~Fw0Trtb;JkfH7o?Pk)MM>@)BTL#pbSZUqhHF;^Hw^gf(iZ6(tI89lNtn-pn4B+4 zElqg^=Ys_o;nAO*CDNhPRT5j@xq4iXm0Ey4kYPwQN~v zBBUFbYWPf1UO(!*Jmp-S)a^)ZlZHV=V~M+{8Kj&Grj+tSQ*_t2P)Gb`Cl#8#Y}zkZ zUfEJr+(VC4k+k5UhOjABY(oonb0m&jnextL%HaOkr3M==W@h|^z^2!A>O~?m?X&vf zJ2bZeKq9s=Pwn?}FXzs7vWuoONEQmu%c!CSO-Z7oJ;-p0Ee$0TPT0Z_otfWrRveuV zzTDU^)6_X3Z(M)o?3QT4tlijXPJneYZCx}NVHauqG}ujnZS3*&h|CYCm0UiyK+PHD z!ic3Av5SfqbaMh4FJ+j|rrZ%{VYG^Bhr5w$vr{I*x(Dd4zq-Y`zne>Q*Upz z@KGzI$ORaB#Sq%NxKCtbU_U#$a5rP3^NTdKJd6|RZI;PJ@h37&KC72%h*f^{Rx6n9 zbF+6))tJw7EI_cbG3jY z?Qj&eEb2Z<2wQ+HHzZ0WiH2L(0t$6464&)xwwxvIHukCu)nk2TMJ>UX1``=yM@n2b zsqgVsLKE?@QmBG*1vo6!s63mwU8mGod2dpw+14c46V-7gg4U*U_DGdu22aPQ1(Y}R zm$Y3<5W~?)a|BmtveSm#7zM$fmTJ$(|XJaczO^A9sgZzI&Ih2X-~LP^T2lsDjyiuEb0U zEJ(Nmkiu!DF8i!w?fUd+C~E(=VKO#Ac=Whg~w5Z7ssIbD8*-qizcABLkZxtZQyvQ;CJU^|!9c`uy-0 z1eGQ0qp6ln z9V%k8=%=&(uk{C-$IW8vgF13pVwZeKpCIiZ4Al{9yav?a5z(6lnL*Bs2PPhDSBQDUy^ z2Yzm*3r?}ww8{}~vn}V;RDDNnzd40onvx=XX{DfKoJe!oqR7%rqFHL58E(J! zZM7d$T#716Y~3}u)y4j~IdUOHQdk$yt16=Kw^Y|XK8bAH1<2w}F)|`_`5f70(&g#o5~i`tz}2<#dPj5jq1$F5 z)0{Fn-i+9w!@}DiRjDQR+DMuRbFag{gQptnx}xSj7hI-k>cy_zfrNMMuGDSZBlVA^ zsR`3kYO1M^=2M|7wPCUh(m(m?+79d0jNY4JWVb zNa+4dbR6%F->oohI9310fl0LYR9t7Ntv)fEB0Hm*a602_Sac*bSs~fYMfM4ayrM&d zxew&;29gLLl8*0eG;tGw@FrAbm~kUcv6hCd;fMEeP*5lJSMT@1Obw}H&}4H+w^lTK z%8=-U3?~fIH`qOx+3ww~m;-M-8Hu&cf+G{Zr(^c&G5odslD>3~y4aZetFef+Q=AuX zDq_))SWtxnTVxeZ*u97!4xObR?rfwfG6@GjjC2)$xxLD12lj?Rd%h9H3&=83hCg?5@wUMg(_c?7oG<#qm6jqW{!w-0rPS{WfHOv;>%-$U>< zhsy(Q#^T;@bHN2D%r>A=VG}KLT$3|x5ms(s?_IlfMiZsOz z!&z)oBufuk*r>{RW386_(Y;-c!`R<-Gy3JYJ2F?~Rx9@;Acx$@ai=+&OD=b>I_T;z zlSsY$svL3$Chm<`)3{{GRKXwS7U|(_GiTuLw?>^vzLwKKU4CN(U_LrmN0t6>VKV0o zgXR}Vy{T2JLSN>LXD?59Puv-#CX@a3s<3}KE83CK?miV;x8ds9`uFK^R~_WoU3mzb zmFc6xaJJ~e(lC9YlAD2DnTVWQIp`u+vkNE+Qp=jTNrrI$*S(!E*DvTi$Rn)uGLRuW zHSmTu3!9svqPe|bKiQAX)4_oL(52Y5`Dv=s-i$#^U7NGlEqW9-DROu6HCoJ>OOfli zF2mx5(M4vqdtg-|y3ro9V?2>dUWRaw)EgGf_ROGk;%J5ow7v{I@IwOAJJ(f&8Eulj z&4g>^V#CP26X6;rCmq@!G#T#?6U)#-bC78h*K6%gCqkRz8DIJI{+>52jAJOFmSV!oHlFCaEI1SqOi!+?`Z= zKv_6<4p&2mvSaKei)Qq00i9!~O8vUCwfY$bs7g%8vMrtq`Sdw+uXOL1&GUz!3yBDW zFs~o*CYd!PsV30Xkznq$uwm=$!u!C%Tt;%LG6zx4e7f7Xag`?@%=DEkU+Bf;nICbb zVtnE_m!-U~Z93<3cdeWG*}T(}Q!cU;%{mK}K40`2gNqQEY~O2eT30@5u1b#Ee=ZnX zo5=f3N4NHJmL(G}^`V7T2~lyqt2M=N$3ruT@TQU)mAjd#g0a`Q=V|{m=KhAcER$d| zH)70qI$JeG%II{*JCZG}#5tOui4+vMGjg}5RPs?3HVaM9S)|!rZZGW2h;ZS|P_;5T z;3nG6PbcOlfo4M1THA91Xp6T53qs0suS*2un?lv}Xj|I(uk~$|CT+P|TAY&ls2~_? z^eTOED3%HSoki`^hLUa<);H-ABXxV)N6;VYHK+Do8E(+b(~XRo@nyjb_D*B-nDzK? zXpjiEG3Dxvu7tRk7o9zybzqB%BMHuewDb$D1*UayUeY@=^pW0h;Z+U?-7-#kz4>xcKJ+@*89V5W&eSl3IM#rj;W=T>8>n9uWQ0vAnA zsB*<|sAguX4G`_Y`_0G=2-xJkc(e0oByIVmy3NFEolsTfY+_q#=U?~u`3tP;c)A{k zEcrD8xCwUiIFyR7-_}nGXnk>3*Yd~;sF`$lST)oIRGQXOyA3+bMIFJ0oU5sC!1+3N zYfEx8jDgJ+H)7|;$!7D$4Fu^u+n}Y}KP|n*R!Cv9b`Zr+DO~KgDN3EnqIq#AS=3U6 z{5u=X;^AfkSaQuex)|ODH&gf-ne`W)|1?BVlWOKmWUtcqN1W?OxNfH~ z4sIm(?9RVd&f29Y%_l53DIeIqWfH+=+dO7Typuy^XRAYt46aSM*XFe5itISmN2b_{ zYpk((y2~0a1H3N0f#j_GTpkO(*kuSOyZ(J8cg>UKUeMborZ*#emZPcgLuC~)ESHe8 z+BC{Z!=Gfl-Y;I~b2FM<`6NcX>gE5sK9t2ucs4m-*Ff~gAN6@9Q{C_`5+P71ydABo zuJWOAvv}n5aVf4s*5>mKxyr$VbN)_lh28Y8;7uj1kY$bS(A|br3>`JPVra#%%F#oH z3~^po+ef!FjWe$m3UfremOo0FK5R%~m){nEx_ZDCs=EQ>KE4sJYv7_guX<7nMba*% zwM`9NQKvIfD%727-BEZSKwBr=I7(=-l&Wv6=Po-}&Jh_pW4w3c4qvtVs>rF63zr70 z9qhikRuQhJ<}+6s;rvdR+sEfHNoTVpBy<+uara$2*L>VQ1tCgat(Y$x=o1&b^B-Ot zVlBo^pMb3hmw>7yXV{5gCPz{$29IN=T+4M|cBl$DH*eD1g?t8KF;R9Uqhk2^0*gcg zpK`x@UpQ`vPFwUgs%ws6THLxP8W$`cb}jAa{c=~b-R=JWg%`~~-_;b&l*4>!79T#9 zIACb`2qqFW8%++2SuX9k?<+QYnWg{m{`T%l6mNHe=&zuMrys+^%FP~N(f1htyN@xt z+FPg3I~L-+ZnpjZD5_dRQ>Qn$URG<=%SA5t_5R5q`hC5g&&W*Oj;3h7m2CVi1Njv; z-$HGzVZw-ScA^=+BvQp|G`d5!?PHLO)CF!>(4BzSGgkX|?}+ z3$IhBYTVuoAHT$<_rvY|`4Y#2Xh3Ep&oIpi&R)7OZjxAR`i9D!F7_Ze;(=%ujP=`xvncZ+qZYdi|vrX zA3sZFjMiHK-l0EFiJaO*fG*X2C2?`wy_LG!O+K~$c6;V-t`b=}9d_&b$T^>Ox-=yt zA6-}M&-Gl;M9JQo_fc{BTtm|BR5(u=CL1&@<_iT>CxoMGsTNjo74SC+>EemI2Jv#2 zOYD8QZB`d?ZC2|1SFhA*Z-Y}d7n60p@tZyWi(Cl3BvDZ<U`GHH-PFhDyGSxXw#{&U}a&hi~?{H{WoF z6GoVHyn%LV=St*=y)C9L!tEpbPQqVX9i$f)nSwEL>cc>;I)(|PGOk%5*p z-f{8gR{Ykf?^U#mx>^m@Yx9{xuyP#Mt&+tQ*8{Zox-kzpY2NV1O=Pp)PcUdGRkvVU zn68H{KIi65+UO$=8}LCh*JPS$a<$rzy-k@*vhU9gKq`YiM7$uK$nXat_io{W^wKor z877+F8OUDuJs1r2Cdz_zy?a%JhU4BASP*{K4;$NhutU5iOkCF;ve;Z3x(m|Fbv@Iq zWO(sa?}6oF_EwWe;FdA2pDbFym|d=L5zU+E!y@{$N~qHSgl0)L?hh!rEfL+Qu!We1 zt))VZKe{!Y-khB5mRe?@9eI2$`u_8)qxEhW}udKPPtYqnE7ALw~sc z$6`jwa1PzPo4T>VX_l9xJEx^`#={OweW34QNo%>o9($$q6aath_{u3~N4p%}YMzE1 zk|eRPS8y6F$o%R>uQU)JpNtAG8ZFn{iLg(rzX9XU=j^WR^9OB8`WegrB&Ny>|IV(9xbF{CR;%6H zXS~co8&nUiB6r=;VrT2psjl1?NG@h)jUj`XZacP_R-Hp(v2IRGwD?M+b6XKx$l*W#_7j^n#m@5`Vay{*EQEiebgug9KF-O;+*S+Mdo3VUe(Z7?T$zeET&=Kpj zT1I{dDy-YXtwGnfYscHYMZKuxmHXI!R2&_Is+KYI7e2jHVV5U#2*kl%J-0+sY>u*f{S#M}c_)P%<;^S$lh5@g+Ga&jvia!OGAj(lo+w+Vn@ZM^ z2KF6vgzBTv?49`V-72>O&nxg;p;BC$Nx4y)%Aup?^;rAvw8-9Gx##~FaJ$`pV5y+J zx<1Zr6OvtuXNpfT%g5;R0@3S3O}e$`bIHFO#2fsSzt&{~!mkFFZD1Up~LzNdmr39^`lGFGiD}j2{u2`Rx^yki?^l$hJAAFDB;{eMECw2Bblr%XA-pl+e75UN z_BOaLK(zxu10X4dx5%QVMl-TCyen#VAdAPi(pc^rmrEES*#|+bK-cpQQ5d!6N#C?r zzBZTzMQtF=go07{ik~Yqve(>DKaH2QvYq* zO)JylR%GKTKLn1tipde`&Oo&oiqoeE zr>@HTgGQIcaNVel1}?N_8khM0hGsdln4*`wY@gV7RY|?D?m9v~0O?i<#iO{pWgL3t zy6i$t^Rc7cd}Nx}r{2@_O00bvBN|;S3kz>WmNb#VX>w`C7rzXctECBt`Kuhzu<0@Z zb0Xnu*dRB5aT{PXBi-%Oi$?04IJ79FAzVWiUL9R08MEy}^3mP)O-zfGh!SGGRq05u zuDx&2{sM`Mv~NgZ8}PL_Y9@uw%}p!Z&C!x6jhA0h6PzoP z=5Y(lWgY3}*}BolnJ*SQ%|e^Kz+1>kSHk*eP|?SASgtU+)eN|(J^3#y6iI1SQ!K`N zTz&!TxAdtd3MH$0R5T3_8+168cI#1hd!!<^Kc7D0;UKN#aGlR74@)B zssDW_C$;@2H^pMPn0xKUI+s|&K5^k!*e>wmMOsWn9&_*K*_(^8uvo&yO2GG{+;Jpd zzv2G?!``j?-Mq87V`JUuEEcmr#m6JvN1@#`XuU#(cWG8{qK}QXT|x`hu8)P_wj6&x z1out0n6`<0!?)vjRp^+e(;RljT=mdtOlf}|+fYVC=HZzf^BPXYVk|-VpLw{M#~EAGBIa%wXhbgh-cyYI&*)Y|tjPvsx2Vz4L@s#!_|t>+o1YnT zFLUr(8M#!rFXo1Ptk}$4tf2k2g=NE9tJG#Nt8(sW7FV*>Zd1VT2b7vm_7jYv{i;&?8O7h9naYY*-$^SKiMBRM zjoD^k$99z~y2XA=Sm#hylwmLJ`e-tcv!IO62+h#^I<|O!hwS+u`9!8~%xTzpsA2st zW3f@MEE?JAp}K&b_%8CR`0h z+1PyE>=vb7NMpG+-?$^{HV)nYHqq>KQx(n33y$0!8fL1+Z=Cq^D%TfiOVyvSo5%b| zj&29TzpKRFGu_Hes*v>t(pngP#v=oruQJ+)$q7$CoU@mE1`jI!9=Pp{HH&jLVc7c*le^j^@m8wau(B;a(wei&QWLj7Di27juZ(;Yz z$iX$)!2{dQm^NclA$3D5hP0jF@3@rfn3vB&bK7&UyUn`0yDrH@e9VIRlgmdJxZguFjUz$WQdm?%l&Y2c=xukV8A?m7n=W!Ko_0J zmU-M|?9cxa%i#p&!4i-Oek0%X&@Q2NjCJP0tMJ*>+BNJ{a&n>n%eay4lob9&x1?qi z{SV9TGZJgBWx5=2Jtq=rc9AN%!riCEN8Jw+Dn~-ieT+Yd>Orbnf_PN=>Nq_2I%WDsjT+F_3}1WfTb26_ZZ8ef5FRT z$!g9Jlz{B->Gq`u~*14C|XyQ6U8 zCKOa}W?ZNvYzry`h_3aa}nrDREUrn+|Rn&z#6X25@nvi3T)8!AI;8Tmm+ zq`Y+(&B#!0b*bI3nA5IXvRr44{HL&9IJThBv}k`A*7z9LY|w^{#IBE2q4Jl72| zlyJ?bG%}HECYVM43v}cYJ4k#}EX7=O?X^^l$R|>z%^6OeEp$TVvz~4_LieC6{Go+w zv(e3W3Nq|NiiPkmG$xB8x9enHkqvc%{KUV)21{hCF!>K|w6W<|16(Cfv8Ij$qWII( z`88u{N;Z@m#oa)$XH?~7NxaHZl_pn|~4 zy{7AHkaCUJHPsjDP>BC|3llXDZC-_S%uBeUHsSsmx;%faklI!F-^N``tE*Mzo12yh z>6#j~jPIzDwQiA(+8fdHv&~vuO-gKvv&>nzPsgyD;ZBWx2CvANPxPwn^wxmu^Av`6 zU7x4EC#2Pp5?lVGaxFFKcU;R3i=DXvy%KG?5RIsstI5-e`U7zvKl+7u z{n~5kDu`Zx|KgDAcWE5jv@Oodjrp0TQ_nOh(K;Z^Rwe&Wb7!+8$8p^8d6Y3C=mo;W zLX>QU3?CHB1t`-2!Z1KnVP6n~#RA;men2~zH6#YEj_}RlC-BXpebr4j;Z6J`{{8=% zRbAEHv%4T@%LfuW-PQGxmEW0_MP+v=0#3?N-|Kc#S2G%zWpXn&E0wqi`3k(b@9CT* z3n9}{u8jM*H*CmDk{DU1?&IczY0I_|mvGZYC=d}C7A@uqRr;BPs(uu?$EW;C@dIzv zAu^W7M|^-@NjcWSYa1@Y7z0bi*`~X3a}Ls+1yL+;(mzu z6x?^RT%0-J<&rto1P1x};_{ZD+r=5!$aHpCyl53bA5+w}T|@6fyQDLUHXT+vBoBwE12=?ubHn!pW|c)wf&dypA+e){e^z3V!h(e1{4HrSxgKcGL9JriOx zyX#Np`y!&4=rLT;_r3n%-^V-*1EJB+ubPhaVJmBq&2SAW^6k-w1|=D;NCQNH`C9ys)YooMJf;GL!Nz2h>L-Vfxp zw}GHLP&1t;I>RaLHttOC^ebs_Jbo>4uQrcb6#?ELn^IB_T@Uf)ThpzN^LO)(Q@6G~ zSyj`@c8%D4RiUKJobE`GLMJUorQ;S zk;a4irtB!x?m2TSw7Ns7=5Sh?gelzZE{6R4HSK5^Wjt+3gkocXaeF%62TB6=Z_qe( zX?uMo+nS4`&>eZ?#(E;=)IHP<4d@&7Vf33%+t%^I*3W1XVG%XM>&l$em4w%-+5y4? z&@kmG8xVK0TjL^X!VMam_3hy;OW}gTz89uqPW(MO+6$6fcV8gxbME(uqBZbZthc6_r?7eDmZ;kn)X-;s?)TAQwcddF0J;Dr|Y;iDY$oCqMUkv zpK-E)zV|6yhD=<%`--5xFhy+lgT*86-G; z0-w-%`n+8O>Me2syR66jM|Mpp7sG=Q4;)@B&%-m;JmDONSfD%rR#b9b)NI>G zD5hIY{w*=bs5@;C>T3J36-ylhKgHpompHIEyYpGt;Wz;OXubHf4jE5Mi)_F>%wRWz z<=bB@uh`nen+?99~nzdppb zY7$GbZB2cHK>PIMl<4&ln7L5(gYK>CMm8=jbs_(#DWW2E*T7}0fk3*z=#R!#lLG=W zJ{FIZn2pjD%%XKT$;yAO0}4p`#-QdZX>m{eukt!>&VKjZ3pmO6dq$DG^Q)?&bnH`H z2p3BKOp=EAd0VnLCUN%08g0lH7 zWYUo-i9#g+14bA>N6<AQP=o59fU&!bHZnLbG z4vVXJ7yufqR09Ce2G5V;lGFz}DqnwkD^kQRK1EMoZA8Cf1B3-~AGtMR@NAh|)>pcn zjhzIz6R%MS8U*Q8ElNa7n&~A0q=d1iw^nEbF&*}XZ%l{ph459Z>Ttt_kKux6@pAB{ z0{{)m)=mOSJwOtbXTr6LRV7)E7(1Z04S&4*7u^k|Wzv=OgCgd$0ZcFd;s%Zw0^BAp ze_np_9iC~;xpnrIx8&P~I$a*vsqMxQBEmav6(qcJ9H(x7NrA{U(0jy65eZEbE7WL( z_QVa+TWV<~>Ka+BSmYqz@ZRne#L5XB84|~oj?)@L=@KLXp#0fu#07IYdH0{b9nMbt z-Q`#E;=hs?9%HR49z*}^oNyK;PA>4WqK~l>Lvv|4kb=3y4hU>YsX8GqglX{6igbb9 zCCe)CAR@q-EZov?AU1$gNJHGz+5#1P*Yfgry}PA!VmANXce?|`xCIu+4zF)Nhr-VI zgW($t5@=GtOq&A~u$E2By43oFL35(DwK1})FfzrpA2?(+7is4NP^GogpCAscDr$hQ zVt8Icum{Iy8&1?x^`b$AoQ@G#FkU|6SbKxi^^+Q1Y^7-2(5Pb+Ig!T*}G!eT?6c!c~i ztW!iIQ7=lELEHfrvRW`fCBG@_!4XvcTimBO7V2O8v*uEQNGg~B7}jvS(?x-QfTjyq z?=Xi?ao&V{kuiV6W@_7-I52!)9;@z|dqG+7zlXvP{fXKOgvuXb|M}uY8xN%Hz-hn( z>DLXZE0>4gII=FF%#8YzI6&lZy^;G@v|F^Cj}`k9n^|u-RrDr8T^*835x6)ye~CMi zWC_cg{D)zMO~TaWOx0SFcD{At*{3J#mt8J*`@P%)*sbcTRLLB$0J&BAS0SRxt@*^6_A0E|d%?0_C?y@( zmvks6w+fq}3$KsNQIz)YRf~%!gCG0Z#v^<%NZ`3wgQZ`kB%Puz-xoJn@cdT zG#hDUm!n8g&8DNoo{Vs`^YU-mi-tKF0DuWBau#rPOD=hXZ!~ z1@Sd8aQP(4hbB)k^F|}aZAkRFT?jl`UYxj7<3SyvPk8GH4Sgk&;ZRxpqE)B@sq3cM zq5_k{MnQw2#ue5P1#u{m$=+7g&Ver;j4a;rJwqWM7|mID&m@sKOD+l238b?0xF#EQ zzBFXYjohluQohgGYZVf4|Dm$q0HvJKOC6I%k38NX*^lC54t2<6A*^%bv0ttsXC@>IBx=Kkr9av!Dc@y?aT5OEK-u0*POFI78VYqvAV+ssPvqB~touH|`Cbg5Of`)66Gn17n zzbfX4p!(wMG;#~PGu9#ZIShTmHhxBDFV5a9|Kdk~rk(!ch!E8JjLU)VKUY1#oD+ns z<9bY}D#&sTvb^wS2K9H2q{hAq_g=L#GqFvXL#(Jq&2tw!y^=xTC0mA$Z4RREh9;_@ znjEt4j_XLJYQj6Seteo*?`Aq&sN8aJ^bfJ z2d2;U2VM8_u-Fz4TbuY)u%EWLPNXVg6vCN3elZFSst= z1}H8bpe%86`)1t*;M z6@r4zQwc^aghh~zxwh|ohk?kOWAHVXZa~j2D;JGzTF5;iLsDGwm=F;h(9vTJP7fm3 zBaDZm*BsZEC5l~!>4}XiyPQJF&Hu8k&J&3LhaPQJKwma=eC;>k#@DDy z`D`?bg6rbO(~+rg{f1KW82Q zRpV_D?$oOod?z&1-t2t5!{<$6_mFeK5cCF$bwP-xak_V{2oNp~+n-PmdI4w$GJq&f zXF)2NA(mIy^y%(rgv^Q!g1PFb@nWQVG?XFI3 zvPPzGv9XUFX^k@92)zS}t%Zm;igMXp;2z$gNCsZ5RwpOg1D!%5+0=jOnj2HRt9S$t z&1l=V3!-XpF&-oE2p^j_9m1-;oHG*cxhPd49=5_Poi9WB&nccX z;UYp9Z3PyG8YXh8YPg-O%n){?V;cL_@61O78#9Gb^?C8&-rghsZ+Y{GJdtxal+5Dd zRBZl~s}aryjuIwqo`WL@Qn+URa}V5*86c|utzr-S)B&GCZgskQ(;#$+@Z+aH6xiU| zjSj46gVDwHRQ{EA6wJSm4OFo^G?W(l^6=-&&m#s^^J3(gp_k$}6He7+gFvk_?l5n2 zNKBaX5^eQndfq-HTIYl#-qgmvZQuyWJFXzDw0n@saVBlqy8%d$g2;K3yY!jP#*q89 zOUkNnNs=1%FUJYQ6sL?*f=XZ4Eo$KR11S)N+^<9C{sJp#h#A2uBnQ=#{?92RuwNl5 ziHuGFR8RI6g@YUiyHmtXQ|Xt=Wr1cnMH+o?L4!SfgV9bDxM8Ck=clKVf9bk$|BX1`5UE3#ZPN2i3R5Q4XKriGO^uV-1Dq zgoplJ-VB?Bd%JIG3%_s`IFXqngo!{cVN|-UW=_(Lc0ASvfx{!~BI_Sw&Bx50MYlZ~ zcHurCiO`_7JId@pw!6)4T)2>pi01eTxQE8igAEpogkFz=l^JJG7ah@uZ*Fv#1JmIEV0GUOg< zs<5UADfywqxIMH-931K1uaK?fy8$`Nld`Mflpj5<-<1t7?~@+uxf)6yj(1c~e8NV1%O2)KPo3RYRe zFOR-Csz1sgzohnfdHAN_xpq9@t}Pe8NtatbCL$gWCJhVRj26*FyY_0Y%XsCWm7}|| z&T)GJj11}F4mmo0JL?Y&j{Xc!N@?x0lwl{}&5$JnN@hpb zIR&YK&yXpVW!il<-=k>);qZ#an{(742q;H>qoHkV#BM_g))?2XVBm6K^B4=#hmMnX zW$HnmMCN#(%^t~oMV?!pKRIAGYRSpA)+IU$USgPfV&S^594a{)Jg*{1tkzQ);k+Zs zK9wvJ*FAMKidHnZ>No|jdYw#upvPEORN5RbvgW}l_o86h1Q0~u2d}L}-l%CImZH<- zC`rn>s6nrWSNjJHa`LV$u_ya%);)BvDD<5&E(=HXCcV{CrrNDsGXy&H9}l0HVTQAC zc<66sq<2b~3|yacvG)ti<+K6{`#>0c_8aQ=t#!L@NO`Gz zJb=AxERB!Z$P;BrI4G`j+^MCrzcJU)Hbx!G{uZ6;R3n!BcwhzD5>Lk9^Rnxynakmp zASwau28;@;XX-i&t0DMmnir*~PcEqon$CDMl=aISQ|T#3whbwI8ZyNDIXS^Q()FNd-+~ww{kP#wnC!)F>A{pVU%f`M7V_B~OD%LB zNKpoCU1HOZmBoZDfEiy0J3N2)ADczT0>%4U6HTF0>~aLpHt?1A<|rLy2yZaaW(grX zwM^QA@!i&SxY;0NH`zMZ%dl<_fJV4%wA8JLH_HdSY*v@Rls-r)z?BX%$^Tb>H-Z!r zz=WO?ICu`p;mS|#RAL_{F6jAr6ic|^#8k=3@37wNmzB+5e4e(jVq9Bknef!*0(H}h zm~4#IxQIoi=@yRWHz^YG81}2fOIT6TH6W1cVYc75u`{7rISR$RR3|%R@Cvy}zZ487 z+CT?4(YUEUbNl(TJ6MQ>s7cs)8n)ssYQDiq;*h+0p%MvcaDY$>K>92skKT0CXr-}+ z>I_fm{zGzCF#y#JYptWTww+YX;j8F0k_H3Tr2T}UPD`gZ zqglq;bm9PPWqo`v?YZ(mZ@Q+vcc^|iZI@r&CVU@9?P}X1ASy(41A}J2PhoeguzWnVI@YCW)}tsV{z1b3 zS(!qj#vp5Z5t+lzt~Sf?QeLZFp3G@$m;5<5Z4hQ_s*spTv`vNvC4iIVo8S|QOlm7t zfFu|I;q(m&9NysR)5cJir%m-c+9ZeDx-)=l%4FfnRcKy^UZbWI_P#zWP&Sw8OC7 z#d3I&vVf5lsvr(Pa`OuvF)Uy94F~hE!(SmJ2=u_nYB6FS+ z&Zi2fowI{jvdn4vrmG5V2?p)61@h?NX3%c`jPs7uJdPIo^RcrR&R_*U2!-_ zm9nonlYYd1hE0nUpVl+m0tr7DSTk0bV!_aCOUZA)7(QgGveoQI6V}<;OmmPyl_a^B zuuhJp0}gEt>=o%GeNlob@VvTkmCR$zF=_Mh(Kh(-6nonvy?4E{!T56hF()7mrsj7?k5V z=h!E*AzlyX?RXNkP{c;ZCmO3KW=LE%W;Tb=`*VG5inHid9uO$SB%nO#)W{z@mIJDk zKg41>A7y<3Z%b+!8uKjG!tPmm58F@Uk+!+UTFyN-C|A&=KIpfyJZ_Ffmq(afH4Rx# z*gpL>TCoM0Z;MH22BX#HU((Ks6m>~i<>J3(OH0Lq8@1^Tqmj(Q<{M`M+O&Rh^b+5* ziH(cU32mXA*y1H%hG&I9Kf50_7Ky;yHE1a&p=LZhx%!_0iv*`q`2 zfL#xrI=MCoa zrY3Jw22Gxq1iHzK1}_%(NUwzPnmC*15?_|2I8A!un*sp!vLL|tfzwT)pwb5?iD zzj)d*-Wqul7r}N{oO~OX%oR3temN0v=+3|^T)Pp!%RcZ(I=VnY8|TkWxN*8t`Oxq? zU685#w?1J}U|5UnrBp!8ki1BL7z}0lu1EGUkU5LUtVPE}44cepB*jO1Zj3G;hC88@EYfPhQpZq8!H|DkH}# ze0S)iVqFF41igmV0TXP(hFXTV1rXB?_Rx5ao~g>FIDpSSqq$}fBlo;x_i=^_IwTuZ{)3s`2O;|)CNkTo zK5kTj@}ym$QAtfmAqCm*$#6JI8*J8PiqjC84lXqiUY!Q5+D zN8629N&O8c&B6)6dYVsH3c*W1(+-{}17-Nk?}VsDveyp%27kn&_}l9rbd%}y{i80f z0?MHcv3aMM1M;cC1v6fK@a}iui|lS_+N@D&Jpn9MYE=dH7iaF0W*tYV0*q4-uyD)_ z2MY3ov(uND8|p8Il!*P3l%h}}vn~?sNr`5hlsKTk=HfoLJYde2!N8NBhj&RhVXUKm!n9YDb3j17GfgPOpJ=-bKf(>2$(IIxaMnz%CWSaTU#+4Xx>0 zdE81q^4|KI8>-M>poO9pUn)`@=N2M(+7#hla#g0X6nSsV(?x1%1O6yJG0&Q%bnIzpjR_A!xf%ndBA%9_5Ucr@^T>CAICOAsXX^doRKOMeIN; z5U9PF3tonpnbH#6((cb*39J}=E;p$dSRAKfG} zu>Pm#sxdJk*XrnDHrrIo+6KGlad8+CA*ege$U_v{o;R0-&)1zF^+$q%?|4OklyP)oLo_ z>(L&F$q*eSrLuF^)aMW1;L6wK9Q4x_sqD^#*MU<4N9s*v(F*9rGgI49EZ}r4JIo2p z+jhKZ#qgE*%H9AVMM}o(MVAw-TpIg|hJ!#5r)}+@I?u`uy@*p?J&a`kV+wQ;;dw>bH*V=6%#YtSi&-^)HU_c4_@z#f4vL4N7Z35Z&>I#_P4h=H zPgfPkCLOod1!?QMcXSb&e5JdbStW{bxXWAl2=o55PyX`9yPy2@XS<*5{`l_CxNA&Q zDNND%5AjGw7Zl3E3n5<*t$r#F@Z%pfNd&fo6;4$ZaeN|pZ}E;P zy-q08T-&u=9lzq7|AyCJ~Pk51p**~8-c+Qr;U zP~Uf6)gl>B?mzzO^Zolz*;XTlu;3a9Q`;`R6UAK=!6w0|-O|`*g-ZibT)r#J;|MDH zkdAYeN4o8u7HR^+wMJ7h!p^~^`M6RoGmB~DDXH(>UGGFG)!F8|$1jEneDjmre_pIa zmiva9+i*|F8Fy2``PqX}X0z z8W|_f88-})I1>BZMT!;hkO!=jZ^}tl1Adx2j#+> zf%>Z_O2Oz_31mE%YQfHHBdWoq&PoDq!P?OOipCi?RyW44oLatC`|0ZBY;#I>Ba{%W z!hPum{cSBtl^2&W{&{)P$vBC5i~ZKfQ` z<05Z*UJI!sY9!OJI_V&>o+S$w!eaD@*L-K?cx>fJ3B{Fi+~y5wkvy}WA|W29!wOBJ zx9=ObheNUR(Ch&>f+|B~W&Hx#3eeL3%wo>Z5QepCz(~a9wB+-|^{d4nsdSZ3HJCbT zg59qjGxB|5XkegA6kk^U$e&Q>;q(YED*P+TVl4L7uQ!OQyW9{raABOhsx2U6r@sHu z@Y)+K4ypPB+63Ev@X(<(v(NmD6-l6Cblg=RHI9Uj5t_^boUKWy%C0gY%e@kO)?oYb z7zs*@v$rdOv1st&SsBTw2X_)7Y3?Y52-hAvVr~y!<@x+KS02sx$Y@a zaOSC&(rsG*%^2xAi}`IoY#ji?>v};}wfwCA$~?W{AxjC%m}p@nz5U*J8YBgR8NHxx z+*=WR{Cs^z^7({qjwWB2ThpO!qwPKJmm4jWzjj46WkwH#xVrLkV-;mw2SW??-4-9& zUG6yu?evIicZ@BJH=UbUMQ1LKE~1f}C{ADjzitqheJOV#Vaa<|NYGBiB^D_UhjIcN?9~nf{zN13ALn>jDE(K)wv-9KIv5+ zjV}gOX5{$#G@!y_8g-}mKDuX*q)}RwSs3Igz;WKQQae>%%sHO5&RAVTdF}kwIH@$> za(kJ$2ae0+8N>F6j>GT{pykWQT{=l*XVeL>RXM9+0)l>-s!8~TtB<(2Yv;ObK9SME zjb>b447V`$6$)PoO@_dCID+a1(S#mdWLz{9DrDoyu-}~Ya3@UZxcV`r3qI}~PH+ICgVmeK zR9f3{cK*?cQ`Oa*t;WOi5AN2WV>02kbw*n*R7~mz1V~_wQ3d4?({FR3!?dHV3dwVP zbovdYcLc&!F{DiwmWogPIy|l2K6m)2Q#8&OTRgP4@l2x93Nw5Ok_jJV`_y`MDZn$| zVtnpSr+_#LqcHYa&EMc?0O$yv4!D!6Sj z8H~l{7~+E{uI!+!Z>B;`_R2;%KZEK=w>1;fKyaI{Nchkz|9i**%j<}OUs89NlEX_0 z|7GZQUm{q+%Heim+DP{Si1>|^eZ||$QXLo0IHd^1EHeX#Vk&h4q2{NHF ze9N*9XE-MWS&w$01Rq`qfTFtgw6q1^!C7-AdPyKq4!PYTUh;0c?Y;7X^N>*XeFY9sP8e3Qul zVFH5;Hku`0Rwb^Xt!k}l$Q98k(9^{pkj-=caoHPJkFyOWkeM%i1D3{ktO6(gzEOIu-kaKVIsrX&qxCHT_LKhZJCxxB0NYXx5x~<#1zUu2!R1Fw)QHhnHc-c_e{-}>!c@W zKX8Z7vn)6Gl}o%_=}I}8Tp?Xuv)enjX~i|x@&{y)JmiQ&k%!JoV?VoYBw7|C-9l1; zZmEWYr}zOxo#amR>-QL5{}|sc0mGwhhwZNgjk4zfhr(^PqF8OtPFERYmNzRUM$0P< zwBZQbzwO9*vi|oX?N0cX{r6lJOE6)%L-C>XBNPXloir8RMDT7=#&e+D28@B`gUyNH0y4!0H zC!0BuxbR75jxvNYSPr4#UQj9*U9)Y)yOEoK(>xRrBL=yGNY7r_h%)p-$(mFue0;gt!#kNya?0LG|DN{I6+4UET8E7A~pb z#FOUk#iEt+mXPLCrRj4oV_`|Q1+#W;fd5-x1{qFa(!PnMPp^Bp?V>)@=fOl~kDc5h z6OVJ~EsatDY_sIt4w#P? z)Cs&Xe|fw3c8&k_@M*+=BcWF}P{=TW?BUUwuS24+Y`|~HwmA!kg$Sk3a2%C@vt8_% z!ynqQWEGpTb$Vk-31|7iW_azs%OqzV$CM0wxzY_x7IOtT!(l#*ph_i#7gZ|sO1eE*KE=v3YqaqVVRj&qOKmCb*Mb!{L1Ll#yy zR0`Gq{f1pN{13LYKhC~&%bT6TwHDY39dk&ul#(!J**M~jGT+9+XDiX5`o>AiKMo39 zHT<<8w1pRSeb2(*4C#N9bg!Pmhb*v^hwHYE<$OkPAbHbi%YT2Uu_`PzmciGI*8Kjk k@z5YuoUB`%4ur*6KUm*&F)dI3klvLCwsMNuhfMu{0PpS8TL1t6 literal 0 HcmV?d00001 diff --git a/locale/he/LC_MESSAGES/django.mo b/locale/he/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..254bc0b9f99c3098af3a76523c6991d7d7fa164a GIT binary patch literal 10931 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 literal 0 HcmV?d00001 diff --git a/locale/he/LC_MESSAGES/djangojs.mo b/locale/he/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..c2aae881bd82775bce2a090c964273b55ebd9ad2 GIT binary patch literal 6897 zcma);du%0D9mfyyw1~WXAR-)j?gF>%E(A@-zS7b*ws0H0C&P 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 literal 0 HcmV?d00001 diff --git a/locale/hr/LC_MESSAGES/djangojs.mo b/locale/hr/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..a0425d0ff43d1995e04dc2e72e23a70da7e8d26b GIT binary patch literal 492 zcmYLE!A=4(5Y^~ukDfh@i4u*LZ5I=uuxLa`NF)-1-V4;-nx);eMUe0t{)ivsw>S$5 zFL|Ar%zN$Y&&l!E0pbvOiabXiA#accYRGR~*0C0v9R}9C%ZVqwDS4IFDWf?!Dbo2k z7|PsOPx>xVQ}QrR92pr7!Qhz;<%cSy5GXhc{QXv8b*nj(TH;XD~xpP;>SOPC6^kUHGP4YNOgnA-3v==b`a{f}6g25qCg)EMbA$IM|+vVV(5x z%cx6gdtLF?o3x~(CuXX2!l5=+ewUL&YJ)*Gw<055V`q+o&NrirD-GDTvA$q5jv16n rP_**7z3X4X?Xd;mi^wkuoyERL@X}f}k-|&b05WmG) zP?_YkXENu^<$G`Ua|>e|v5z=J>>y4MWi%0ASZv{6YW`zj&8wVvayKPU(mG`{2PZ{Z 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⁡|Hz$9wqRs-imJEV$jvg5KK;jS&yQ7b- z#?E(1VSStqp?k2?NGTv}%I(Ix2Izm*iD5ETAqZta$p53WZzLcwScE8B^a$dSyXVCx zgRI$uZyz7I51LicBj06BZYAuj-qE5a8zx|g^}6Z#V@|*B5pV|dG8R8ro?-BzXA{j9 zkN_H^+ZM9#Zf^|xxY5A_d>WPKF`+K|Z%2si<&#_V~EJt}! z5ugAJXeu^qptj<_{FZw1!OjAv{z1UO@6&oynVv zrRkKnQDyL$1+xDV#(<>2guzMTv~A(nshFv0;p{MaxG%sbgS zN}Qo;0AZY}6EgzYKKe-@>$xH|G;0Tim$MAblLFn$(tO$uE(DlB^W?}2RJqDDZ4-b) z`oREwB-yD9O~LQmJtYm+V_yB!jy~Rkil>};L zoW`86+fsQ2KrXYbJ203qM~pn$oIq0^PPe&h)Vza;*eWqZrU)T@e=k1a^@4J_{WZ8B zWgW7%0;RbksS)U`a@g%s>B}t$_>SXsl^O1kp@*a(kpUwk^o0#CT$nQF|qQL|Bb@nyKo!!OyC@`KXEtgC0Ox zWd6s0$piTBf83}%nR#%>Y2j0DY7RysY;cD8<+9~JZ!lPeU_>Qt^!VjmhtN~!5hjah zsc-PP?uFXuMQiBXK&-5_%HuK4Q|ch}LtMH@`|ci@b|n%T zG@Zx|=(e+ODN+4d6n)8=QefM~=GQK1Zzj%9R d1%z*9SL%Oke={9K0A+tpRKXHeA1(R#e*kcnu>}AC literal 0 HcmV?d00001 diff --git a/locale/hu/LC_MESSAGES/djangojs.mo b/locale/hu/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..65c10757cf560808c840fde94d2cc201efd6a8a7 GIT binary patch literal 45349 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