Remove Phoenix and notebooks (Phase 6)
Complete the final removal phase by deleting Juno and analytical schema integration, residual Phoenix and notebook contracts, configuration, localization, and assets. Preserve CloudShell behavior and numeric compatibility contracts while cleaning stale UI terminology. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8730a951-831c-4cc2-9c91-83e237683d46
@@ -1,4 +1 @@
|
||||
{
|
||||
"JUNO_ENDPOINT": "https://tools.cosmos.azure.com",
|
||||
"isPhoenixEnabled": true
|
||||
}
|
||||
{}
|
||||
@@ -1,4 +1 @@
|
||||
{
|
||||
"JUNO_ENDPOINT": "https://tools.cosmos.azure.com",
|
||||
"isPhoenixEnabled": false
|
||||
}
|
||||
{}
|
||||
@@ -276,15 +276,39 @@ engine deleted there. No separate work remains for this phase.
|
||||
- Remove notebook initialization from `useKnockoutExplorer.ts` and notebook tab handling
|
||||
in `useTabs.ts`.
|
||||
|
||||
### Phase 6 — Remove residual clients, config, contracts, telemetry & strings
|
||||
### Phase 6 — Remove residual clients, config, contracts, telemetry & strings ✅ COMPLETED
|
||||
> **Status:** Implemented on branch `users/jawelton/remove-phoenix-phase6-082726`.
|
||||
> The final verification sweep is green: `npm run build` completed the format check,
|
||||
> lint, normal and strict TypeScript compilation, production webpack build, and consumer
|
||||
> copy; `npm test` passed 1946 tests with 5 skipped across 192 passing suites.
|
||||
>
|
||||
> **Implementation notes / deviations:**
|
||||
> - Deleting `JunoClient` also removed the remaining Juno-backed analytical-storage
|
||||
> schema request/polling and resource-tree nodes, plus the now-unused `enableSchema`
|
||||
> hosted feature. This was the only surviving Juno consumer.
|
||||
> - Notebook/Phoenix telemetry `Action` members remain as explicitly documented
|
||||
> compatibility tombstones, following the safety precedent in `a36467f4`; removing
|
||||
> them would renumber later implicit enum values. The unused `Areas.Notebook` value
|
||||
> was removed.
|
||||
> - `ActionContracts.TabKind.SchemaAnalyzer` was removed while explicit numeric values
|
||||
> were assigned to all surviving tab kinds, preserving the host-facing wire contract.
|
||||
> - Removed stale notebook terminology and dead UI artifacts from the feature panel,
|
||||
> SQL/Mongo quickstart tours, recent-item handling, upload control, and CloudShell
|
||||
> terminal entry-point/adapter names.
|
||||
> - Removed notebook resource keys from all 19 locales and deleted 52 notebook-only
|
||||
> image assets.
|
||||
> - `@nteract/markdown` remains intentionally: the container-copy migration-type
|
||||
> selector and change-partition-key pane use it to render localized Markdown help and
|
||||
> documentation links.
|
||||
|
||||
- Delete `src/Juno/` and `src/Utils/arm/generatedClients/cosmosNotebooks/`.
|
||||
- Remove notebook fields from `ConfigContext.ts`, `Constants.ts` (Notebook namespace),
|
||||
`DataModels.ts` (notebook/Phoenix/container interfaces), `ViewModels.ts`,
|
||||
`ActionContracts.ts`, and notebook feature flags from
|
||||
`extractFeatures.ts` (+ update test).
|
||||
- Remove notebook/Phoenix telemetry actions/areas from `TelemetryConstants.ts` (preserve
|
||||
enum numbering if other systems depend on it — mirror the cautious approach in
|
||||
`a36467f4`).
|
||||
- Remove notebook/Phoenix telemetry areas from `TelemetryConstants.ts`; retain obsolete
|
||||
`Action` members as documented compatibility tombstones to preserve enum numbering,
|
||||
mirroring the cautious approach in `a36467f4`.
|
||||
- Remove remaining notebook strings from **all** locale `Resources.json` files (`en` +
|
||||
every non-English locale) and any notebook images (e.g. `images/notebook/`).
|
||||
- Final full build + test sweep; update `EndpointUtils.ts` (`allowedNotebookServerUrls`)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M55.375 51.5625H63V55.375H55.375V63H51.5625V55.375H43.9375V51.5625H51.5625V43.9375H55.375V51.5625Z" fill="#333333"/>
|
||||
<path d="M40.125 63V59.1875H9.625V51.5625H13.4375V47.75H9.625V40.2127H13.4375V36.4002H9.625V28.8362H13.4375V25.0237H9.625V17.25H13.4375V13.4375H9.625V5.8125H51.5625V40.125H55.375V2H5.8125V13.4375H2V17.25H5.8125V25.0237H2V28.8362H5.8125V36.4002H2V40.2127H5.8125V47.75H2V51.5625H5.8125V63H40.125Z" fill="#333333"/>
|
||||
<path d="M21.0625 24.875H43.9375V13.4375H21.0625V24.875ZM24.875 17.25H40.125V21.0625H24.875V17.25Z" fill="#333333"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 659 B |
@@ -1,23 +0,0 @@
|
||||
<svg width="32" height="36" viewBox="0 0 32 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M30.1809 0H5.6045C5.45725 -2.06304e-07 5.31144 0.0290347 5.17541 0.0854435C5.03939 0.141852 4.91583 0.224528 4.81179 0.32874C4.70775 0.432952 4.62528 0.556655 4.5691 0.692771C4.51292 0.828887 4.48413 0.974745 4.48438 1.122V31.7149C4.48438 32.0121 4.60234 32.2972 4.81236 32.5075C5.02238 32.7178 5.30729 32.8361 5.6045 32.8365H30.1809C30.4781 32.8362 30.7631 32.7179 30.9731 32.5076C31.1832 32.2972 31.3011 32.0121 31.301 31.7149V1.122C31.301 0.824752 31.1831 0.53965 30.973 0.329288C30.763 0.118926 30.4781 0.000496739 30.1809 0V0Z" fill="url(#paint0_linear_1311_8669)"/>
|
||||
<path d="M16.1495 3.22485H2.17401C1.8837 3.22485 1.60528 3.34018 1.39999 3.54546C1.19471 3.75074 1.07939 4.02917 1.07939 4.31948V34.465C1.07815 34.6087 1.10524 34.7513 1.15912 34.8845C1.21299 35.0178 1.2926 35.1391 1.39338 35.2416C1.49416 35.3441 1.61414 35.4257 1.74648 35.4818C1.87881 35.5379 2.0209 35.5674 2.16464 35.5686H26.3926C26.6829 35.5686 26.9614 35.4533 27.1667 35.248C27.3719 35.0427 27.4873 34.7643 27.4873 34.474V14.5202C27.4874 14.3764 27.4591 14.234 27.4042 14.1011C27.3492 13.9682 27.2686 13.8475 27.1669 13.7457C27.0653 13.644 26.9446 13.5633 26.8117 13.5082C26.6788 13.4532 26.5364 13.4249 26.3926 13.4249H18.3549C18.0642 13.422 17.7865 13.3045 17.5819 13.098C17.3774 12.8915 17.2626 12.6126 17.2625 12.322V4.33185C17.2628 4.03998 17.1477 3.75982 16.9423 3.55245C16.7369 3.34508 16.4579 3.22733 16.166 3.22485H16.1495Z" fill="white"/>
|
||||
<path d="M16.175 3.16357H1.99513C1.69791 3.16397 1.41301 3.28232 1.20299 3.49262C0.992965 3.70292 0.875 3.98799 0.875 4.2852V34.8781C0.875 35.1753 0.992953 35.4604 1.20296 35.6708C1.41297 35.8812 1.69788 35.9996 1.99513 36.0001H26.5715C26.8687 35.9996 27.1537 35.8812 27.3637 35.6708C27.5737 35.4604 27.6916 35.1753 27.6916 34.8781V14.6307C27.6916 14.3336 27.5736 14.0487 27.3635 13.8387C27.1535 13.6286 26.8686 13.5106 26.5715 13.5106H18.4134C18.1163 13.5106 17.8314 13.3926 17.6213 13.1825C17.4113 12.9724 17.2933 12.6875 17.2933 12.3905V4.2852C17.2924 3.98858 17.1744 3.70432 16.9649 3.49426C16.7555 3.2842 16.4716 3.16535 16.175 3.16357Z" fill="url(#paint1_linear_1311_8669)"/>
|
||||
<path d="M27.2629 13.7335L16.9065 3.4082V11.8213C16.9035 12.3253 17.1007 12.8097 17.4548 13.1684C17.8088 13.527 18.2907 13.7304 18.7947 13.7338L27.2629 13.7335Z" fill="#83B9F9"/>
|
||||
<path d="M17.744 16.4092H4.76108C4.47196 16.4092 4.23608 16.5543 4.23608 16.7332V17.5323C4.23608 17.7112 4.47046 17.8559 4.76108 17.8559H17.744C18.0331 17.8559 18.269 17.7112 18.269 17.5323V16.7332C18.2675 16.5543 18.0331 16.4092 17.744 16.4092Z" fill="#83B9F9"/>
|
||||
<path d="M17.744 20.7498H4.76108C4.47196 20.7498 4.23608 20.8945 4.23608 21.0734V21.8725C4.23608 22.0514 4.47046 22.1965 4.76108 22.1965H17.744C18.0331 22.1965 18.269 22.0514 18.269 21.8725V21.0749C18.2675 20.8945 18.0331 20.7498 17.744 20.7498Z" fill="#83B9F9"/>
|
||||
<path d="M17.744 25.0906H4.76108C4.47196 25.0906 4.23608 25.2353 4.23608 25.4142V26.2126C4.23608 26.3915 4.47046 26.5366 4.76108 26.5366H17.744C18.0331 26.5366 18.269 26.3915 18.269 26.2126V25.4142C18.2675 25.2353 18.0331 25.0906 17.744 25.0906Z" fill="#83B9F9"/>
|
||||
<path d="M12.4729 29.4312H4.90167C4.53492 29.4312 4.23755 29.5759 4.23755 29.7548V30.5539C4.23755 30.7328 4.53492 30.8779 4.90167 30.8779H12.4729C12.8397 30.8779 13.137 30.7328 13.137 30.5539V29.7548C13.1374 29.5759 12.8397 29.4312 12.4729 29.4312Z" fill="#83B9F9"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1311_8669" x1="17.8925" y1="2.19225" x2="17.8925" y2="35.1225" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#DCDCDC"/>
|
||||
<stop offset="1" stop-color="#AAAAAA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1311_8669" x1="14.2831" y1="5.35582" x2="14.2831" y2="38.2857" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0078D7"/>
|
||||
<stop offset="0.327" stop-color="#0076D4"/>
|
||||
<stop offset="0.576" stop-color="#0071CA"/>
|
||||
<stop offset="0.799" stop-color="#0068BA"/>
|
||||
<stop offset="1" stop-color="#005BA4"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.9 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.3 11.5C10.3 11.8 11.1 12 12.2 12.3C12 11.9 11.9 11.7 11.8 11.5C11.4 10.8 11.1 10.1 10.7 9.4C10.5 9 10.5 8.8 10.8 8.4C11.6 7.5 12.3 6.6 13 5.6C12.8 5.6 12.6 5.7 12.4 5.7C11.4 5.9 10.5 6.2 9.5 6.5C9.1 6.6 9 6.5 8.8 6.2C8.4 5.3 7.8 4.4 7.2 3.4C7.1 3.7 7.1 3.8 7 4C6.9 4.9 6.7 5.8 6.6 6.8C6.5 7.2 6.3 7.5 5.8 7.6C4.8 7.9 3.9 8.2 2.9 8.5C2.8 8.5 2.7 8.6 2.4 8.7C3.4 9.1 4.3 9.5 5.3 9.9C4.7 10.3 4.1 10.7 3.5 11C3.4 11.1 3.2 11 3.1 11C2.5 10.7 1.7 10.4 0.999997 10.1C0.699997 9.9 0.499997 9.8 0.399997 9.6C-0.200003 9 -0.100004 8.2 0.699996 7.8C1.1 7.5 1.5 7.4 2 7.2C2.9 6.9 3.7 6.6 4.6 6.4C5 6.3 5.1 6.1 5.2 5.7C5.4 4.7 5.5 3.7 5.7 2.7C5.8 2.4 5.9 2 6.2 1.6C6.7 0.800003 7.4 0.800003 8 1.5C8.5 2.1 8.9 2.8 9.3 3.5C10 4.8 10 4.8 11.5 4.4C12.4 4.2 13.3 3.9 14.3 3.7C14.6 3.6 14.8 3.6 15.1 3.7C15.7 3.8 15.9 4.2 15.7 4.8C15.6 5.1 15.4 5.3 15.2 5.6C14.4 6.6 13.6 7.5 12.7 8.5C12.4 8.9 12.4 9.1 12.6 9.6C13.1 10.5 13.5 11.4 14 12.3C14.3 12.8 14.4 13.4 14 13.9C13.6 14.4 13 14.5 12.4 14.3C11.6 14.1 10.8 13.8 10 13.6C9.7 13.5 9.5 13.3 9.5 13C9.5 12.5 9.4 12.1 9.3 11.5Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.3 11.5C10.3 11.8 11.1 12 12.2 12.3C12 11.9 11.9 11.7 11.8 11.5C11.4 10.8 11.1 10.1 10.7 9.4C10.5 9 10.5 8.8 10.8 8.4C11.6 7.5 12.3 6.6 13 5.6C12.8 5.6 12.6 5.7 12.4 5.7C11.4 5.9 10.5 6.2 9.5 6.5C9.1 6.6 9 6.5 8.8 6.2C8.4 5.3 7.8 4.4 7.2 3.4C7.1 3.7 7.1 3.8 7 4C6.9 4.9 6.7 5.8 6.6 6.8C6.5 7.2 6.3 7.5 5.8 7.6C4.8 7.9 3.9 8.2 2.9 8.5C2.8 8.5 2.7 8.6 2.4 8.7C3.4 9.1 4.3 9.5 5.3 9.9C4.7 10.3 4.1 10.7 3.5 11C3.4 11.1 3.2 11 3.1 11C2.5 10.7 1.7 10.4 0.999997 10.1C0.699997 9.9 0.499997 9.8 0.399997 9.6C-0.200003 9 -0.100004 8.2 0.699996 7.8C1.1 7.5 1.5 7.4 2 7.2C2.9 6.9 3.7 6.6 4.6 6.4C5 6.3 5.1 6.1 5.2 5.7C5.4 4.7 5.5 3.7 5.7 2.7C5.8 2.4 5.9 2 6.2 1.6C6.7 0.800003 7.4 0.800003 8 1.5C8.5 2.1 8.9 2.8 9.3 3.5C10 4.8 10 4.8 11.5 4.4C12.4 4.2 13.3 3.9 14.3 3.7C14.6 3.6 14.8 3.6 15.1 3.7C15.7 3.8 15.9 4.2 15.7 4.8C15.6 5.1 15.4 5.3 15.2 5.6C14.4 6.6 13.6 7.5 12.7 8.5C12.4 8.9 12.4 9.1 12.6 9.6C13.1 10.5 13.5 11.4 14 12.3C14.3 12.8 14.4 13.4 14 13.9C13.6 14.4 13 14.5 12.4 14.3C11.6 14.1 10.8 13.8 10 13.6C9.7 13.5 9.5 13.3 9.5 13C9.5 12.5 9.4 12.1 9.3 11.5Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M19.0104 20.0405H4.32392C4.01036 20.0405 4.01036 20.0405 4.01036 19.7275C4.01036 19.4146 4.01036 19.243 4.01036 19.0007C4.01036 18.7584 4.01036 18.8089 4.20254 18.8089H5.214V17.537H4.03059V16.3155H5.24435V15.0739H4.23289C4.04071 15.0739 3.99013 15.0133 4.00025 14.8316C4.01036 14.6499 4.00025 14.3067 4.00025 14.0341C4.00025 13.7616 4.00025 13.8323 4.20254 13.8323H5.214V12.6108H4.02048V11.3994H5.24435V10.1477C4.92068 10.1477 4.5869 10.1477 4.23289 10.1477C3.87887 10.1477 3.99013 10.0972 4.01036 9.94585C4.03059 9.79443 4.01036 9.41083 4.01036 9.14837C4.01036 8.88591 4.05082 8.93639 4.19243 8.93639H5.20389V7.68465H4.02048V6.47329H5.25446V5.23165C4.90045 5.23165 4.55655 5.23165 4.243 5.23165C4.07105 5.23165 4.02048 5.18118 4.03059 5.01967C4.04071 4.85815 4.03059 4.45437 4.03059 4.18181C4.03059 3.90926 4.05082 3.99001 4.18231 4.00011H19.0104V20.0405ZM17.7865 18.8089V5.24175H6.51879V18.7584L17.7865 18.8089Z" fill="#CCCCCC"/>
|
||||
<path d="M15.2475 7.70483V10.1275H9.03711V7.70483H15.2475Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M19.0104 20.0405H4.32392C4.01036 20.0405 4.01036 20.0405 4.01036 19.7275C4.01036 19.4146 4.01036 19.243 4.01036 19.0007C4.01036 18.7584 4.01036 18.8089 4.20254 18.8089H5.214V17.537H4.03059V16.3155H5.24435V15.0739H4.23289C4.04071 15.0739 3.99013 15.0133 4.00025 14.8316C4.01036 14.6499 4.00025 14.3067 4.00025 14.0341C4.00025 13.7616 4.00025 13.8323 4.20254 13.8323H5.214V12.6108H4.02048V11.3994H5.24435V10.1477C4.92068 10.1477 4.5869 10.1477 4.23289 10.1477C3.87887 10.1477 3.99013 10.0972 4.01036 9.94585C4.03059 9.79443 4.01036 9.41083 4.01036 9.14837C4.01036 8.88591 4.05082 8.93639 4.19243 8.93639H5.20389V7.68465H4.02048V6.47329H5.25446V5.23165C4.90045 5.23165 4.55655 5.23165 4.243 5.23165C4.07105 5.23165 4.02048 5.18118 4.03059 5.01967C4.04071 4.85815 4.03059 4.45437 4.03059 4.18181C4.03059 3.90926 4.05082 3.99001 4.18231 4.00011H19.0104V20.0405ZM17.7865 18.8089V5.24175H6.51879V18.7584L17.7865 18.8089Z" fill="#0078D4"/>
|
||||
<path d="M15.2475 7.70483V10.1275H9.03711V7.70483H15.2475Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 6.79707L8.84933 14.1611H13.1316V15.5H3.09218L0.569612 12.9059C0.386523 12.7176 0.245815 12.4997 0.147489 12.2521C0.049163 12.0045 0 11.7483 0 11.4833C0 11.2183 0.049163 10.962 0.147489 10.7144C0.245815 10.4669 0.386523 10.249 0.569612 10.0607L6.0623 4.41213L9.87667 0.5L16 6.79707ZM14.1691 6.79707L9.87667 2.38285L4.28226 8.13598L8.5747 12.5502L14.1691 6.79707ZM3.64145 14.1611H6.99809L7.65925 13.4916L3.36681 9.07741L1.49523 11.0126C1.36639 11.145 1.30197 11.302 1.30197 11.4833C1.30197 11.6646 1.36639 11.8215 1.49523 11.954L3.64145 14.1611Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 678 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 6.79707L8.84933 14.1611H13.1316V15.5H3.09218L0.569612 12.9059C0.386523 12.7176 0.245815 12.4997 0.147489 12.2521C0.049163 12.0045 0 11.7483 0 11.4833C0 11.2183 0.049163 10.962 0.147489 10.7144C0.245815 10.4669 0.386523 10.249 0.569612 10.0607L6.0623 4.41213L9.87667 0.5L16 6.79707ZM14.1691 6.79707L9.87667 2.38285L4.28226 8.13598L8.5747 12.5502L14.1691 6.79707ZM3.64145 14.1611H6.99809L7.65925 13.4916L3.36681 9.07741L1.49523 11.0126C1.36639 11.145 1.30197 11.302 1.30197 11.4833C1.30197 11.6646 1.36639 11.8215 1.49523 11.954L3.64145 14.1611Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 678 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 6.28906V16H5V13H1V0H7.71094L10.7109 3H11.7109L15 6.28906ZM12 6H13.2891L12 4.71094V6ZM5 3H9.28906L7.28906 1H2V12H5V3ZM14 7H11V4H6V15H14V7Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 312 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 6.28906V16H5V13H1V0H7.71094L10.7109 3H11.7109L15 6.28906ZM12 6H13.2891L12 4.71094V6ZM5 3H9.28906L7.28906 1H2V12H5V3ZM14 7H11V4H6V15H14V7Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 312 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6 12.9264C11.8833 12.937 12.1514 12.9967 12.4042 13.1054C12.6569 13.2142 12.8764 13.3613 13.0625 13.547C13.2486 13.7326 13.3958 13.9475 13.5042 14.1914C13.6125 14.4354 13.6667 14.6927 13.6667 14.9632C13.6667 15.2443 13.6097 15.5082 13.4958 15.7548C13.3819 16.0015 13.2292 16.2163 13.0375 16.3993C12.8458 16.5823 12.6194 16.7282 12.3583 16.8369C12.0972 16.9456 11.8222 17 11.5333 17C11.2389 17 10.9625 16.9456 10.7042 16.8369C10.4458 16.7282 10.2208 16.5823 10.0292 16.3993C9.8375 16.2163 9.68472 16.0015 9.57083 15.7548C9.45694 15.5082 9.4 15.2443 9.4 14.9632C9.4 14.5866 9.50139 14.2365 9.70417 13.913C9.90695 13.5894 10.1833 13.3401 10.5333 13.1651L8.31667 8.94033L6.10833 13.1492C6.28611 13.2394 6.44583 13.3481 6.5875 13.4754C6.72917 13.6027 6.85 13.7459 6.95 13.905C7.05 14.0641 7.12778 14.2326 7.18333 14.4102C7.23889 14.5879 7.26667 14.7723 7.26667 14.9632C7.26667 15.2443 7.20972 15.5082 7.09583 15.7548C6.98194 16.0015 6.82917 16.2163 6.6375 16.3993C6.44583 16.5823 6.21945 16.7282 5.95833 16.8369C5.69722 16.9456 5.42222 17 5.13333 17C4.83889 17 4.5625 16.9456 4.30417 16.8369C4.04583 16.7282 3.82083 16.5823 3.62917 16.3993C3.4375 16.2163 3.28472 16.0015 3.17083 15.7548C3.05694 15.5082 3 15.2443 3 14.9632C3 14.6927 3.05278 14.4368 3.15833 14.1954C3.26389 13.9541 3.40833 13.7419 3.59167 13.5589C3.775 13.3759 3.99028 13.2287 4.2375 13.1174C4.48472 13.006 4.75 12.9423 5.03333 12.9264L7.71667 7.78667L4.89167 2.39234L5.375 1L8.31667 6.63302L11.2583 1L11.7417 2.39234L8.91667 7.78667L11.6 12.9264ZM5.13333 15.9333C5.28333 15.9333 5.42222 15.9056 5.55 15.85C5.67778 15.7944 5.79028 15.7181 5.8875 15.6208C5.98472 15.5236 6.06111 15.4111 6.11667 15.2833C6.17222 15.1556 6.2 15.0167 6.2 14.8667C6.2 14.7167 6.17222 14.5778 6.11667 14.45C6.06111 14.3222 5.98472 14.2097 5.8875 14.1125C5.79028 14.0153 5.67778 13.9389 5.55 13.8833C5.42222 13.8278 5.28333 13.8 5.13333 13.8C4.98333 13.8 4.84445 13.8278 4.71667 13.8833C4.58889 13.9389 4.47639 14.0153 4.37917 14.1125C4.28194 14.2097 4.20556 14.3222 4.15 14.45C4.09444 14.5778 4.06667 14.7167 4.06667 14.8667C4.06667 15.0167 4.09444 15.1556 4.15 15.2833C4.20556 15.4111 4.28194 15.5236 4.37917 15.6208C4.47639 15.7181 4.58889 15.7944 4.71667 15.85C4.84445 15.9056 4.98333 15.9333 5.13333 15.9333ZM11.5333 15.9333C11.6833 15.9333 11.8222 15.9056 11.95 15.85C12.0778 15.7944 12.1903 15.7181 12.2875 15.6208C12.3847 15.5236 12.4611 15.4111 12.5167 15.2833C12.5722 15.1556 12.6 15.0167 12.6 14.8667C12.6 14.7167 12.5722 14.5778 12.5167 14.45C12.4611 14.3222 12.3847 14.2097 12.2875 14.1125C12.1903 14.0153 12.0778 13.9389 11.95 13.8833C11.8222 13.8278 11.6833 13.8 11.5333 13.8C11.3833 13.8 11.2444 13.8278 11.1167 13.8833C10.9889 13.9389 10.8764 14.0153 10.7792 14.1125C10.6819 14.2097 10.6056 14.3222 10.55 14.45C10.4944 14.5778 10.4667 14.7167 10.4667 14.8667C10.4667 15.0167 10.4944 15.1556 10.55 15.2833C10.6056 15.4111 10.6819 15.5236 10.7792 15.6208C10.8764 15.7181 10.9889 15.7944 11.1167 15.85C11.2444 15.9056 11.3833 15.9333 11.5333 15.9333Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6 12.9264C11.8833 12.937 12.1514 12.9967 12.4042 13.1054C12.6569 13.2142 12.8764 13.3613 13.0625 13.547C13.2486 13.7326 13.3958 13.9475 13.5042 14.1914C13.6125 14.4354 13.6667 14.6927 13.6667 14.9632C13.6667 15.2443 13.6097 15.5082 13.4958 15.7548C13.3819 16.0015 13.2292 16.2163 13.0375 16.3993C12.8458 16.5823 12.6194 16.7282 12.3583 16.8369C12.0972 16.9456 11.8222 17 11.5333 17C11.2389 17 10.9625 16.9456 10.7042 16.8369C10.4458 16.7282 10.2208 16.5823 10.0292 16.3993C9.8375 16.2163 9.68472 16.0015 9.57083 15.7548C9.45694 15.5082 9.4 15.2443 9.4 14.9632C9.4 14.5866 9.50139 14.2365 9.70417 13.913C9.90695 13.5894 10.1833 13.3401 10.5333 13.1651L8.31667 8.94033L6.10833 13.1492C6.28611 13.2394 6.44583 13.3481 6.5875 13.4754C6.72917 13.6027 6.85 13.7459 6.95 13.905C7.05 14.0641 7.12778 14.2326 7.18333 14.4102C7.23889 14.5879 7.26667 14.7723 7.26667 14.9632C7.26667 15.2443 7.20972 15.5082 7.09583 15.7548C6.98194 16.0015 6.82917 16.2163 6.6375 16.3993C6.44583 16.5823 6.21945 16.7282 5.95833 16.8369C5.69722 16.9456 5.42222 17 5.13333 17C4.83889 17 4.5625 16.9456 4.30417 16.8369C4.04583 16.7282 3.82083 16.5823 3.62917 16.3993C3.4375 16.2163 3.28472 16.0015 3.17083 15.7548C3.05694 15.5082 3 15.2443 3 14.9632C3 14.6927 3.05278 14.4368 3.15833 14.1954C3.26389 13.9541 3.40833 13.7419 3.59167 13.5589C3.775 13.3759 3.99028 13.2287 4.2375 13.1174C4.48472 13.006 4.75 12.9423 5.03333 12.9264L7.71667 7.78667L4.89167 2.39234L5.375 1L8.31667 6.63302L11.2583 1L11.7417 2.39234L8.91667 7.78667L11.6 12.9264ZM5.13333 15.9333C5.28333 15.9333 5.42222 15.9056 5.55 15.85C5.67778 15.7944 5.79028 15.7181 5.8875 15.6208C5.98472 15.5236 6.06111 15.4111 6.11667 15.2833C6.17222 15.1556 6.2 15.0167 6.2 14.8667C6.2 14.7167 6.17222 14.5778 6.11667 14.45C6.06111 14.3222 5.98472 14.2097 5.8875 14.1125C5.79028 14.0153 5.67778 13.9389 5.55 13.8833C5.42222 13.8278 5.28333 13.8 5.13333 13.8C4.98333 13.8 4.84445 13.8278 4.71667 13.8833C4.58889 13.9389 4.47639 14.0153 4.37917 14.1125C4.28194 14.2097 4.20556 14.3222 4.15 14.45C4.09444 14.5778 4.06667 14.7167 4.06667 14.8667C4.06667 15.0167 4.09444 15.1556 4.15 15.2833C4.20556 15.4111 4.28194 15.5236 4.37917 15.6208C4.47639 15.7181 4.58889 15.7944 4.71667 15.85C4.84445 15.9056 4.98333 15.9333 5.13333 15.9333ZM11.5333 15.9333C11.6833 15.9333 11.8222 15.9056 11.95 15.85C12.0778 15.7944 12.1903 15.7181 12.2875 15.6208C12.3847 15.5236 12.4611 15.4111 12.5167 15.2833C12.5722 15.1556 12.6 15.0167 12.6 14.8667C12.6 14.7167 12.5722 14.5778 12.5167 14.45C12.4611 14.3222 12.3847 14.2097 12.2875 14.1125C12.1903 14.0153 12.0778 13.9389 11.95 13.8833C11.8222 13.8278 11.6833 13.8 11.5333 13.8C11.3833 13.8 11.2444 13.8278 11.1167 13.8833C10.9889 13.9389 10.8764 14.0153 10.7792 14.1125C10.6819 14.2097 10.6056 14.3222 10.55 14.45C10.4944 14.5778 10.4667 14.7167 10.4667 14.8667C10.4667 15.0167 10.4944 15.1556 10.55 15.2833C10.6056 15.4111 10.6819 15.5236 10.7792 15.6208C10.8764 15.7181 10.9889 15.7944 11.1167 15.85C11.2444 15.9056 11.3833 15.9333 11.5333 15.9333Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 6H12V3H6V6ZM7 4H11V5H7V4Z" fill="#CCCCCC"/>
|
||||
<path d="M2 0H15V16H2V13H1V12H2V10.023H1V9.023H2V7.039H1V6.039H2V4H1V3H2V0ZM14 15V1H3V3H4V4H3V6.039H4V7.039H3V9.023H4V10.023H3V12H4V13H3V15H14Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 321 B |
@@ -1,4 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 6H12V3H6V6ZM7 4H11V5H7V4Z" fill="#0078D4"/>
|
||||
<path d="M2 0H15V16H2V13H1V12H2V10.023H1V9.023H2V7.039H1V6.039H2V4H1V3H2V0ZM14 15V1H3V3H4V4H3V6.039H4V7.039H3V9.023H4V10.023H3V12H4V13H3V15H14Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 321 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 7.5V8.5H8.5V16H7.5V8.5H0V7.5H7.5V0H8.5V7.5H16Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 181 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 7.5V8.5H8.5V16H7.5V8.5H0V7.5H7.5V0H8.5V7.5H16Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 181 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6484 7.94531L8.5 14.0938V0.046875H7.5V14.0938L1.35156 7.94531L0.648438 8.64844L8 16L15.3516 8.64844L14.6484 7.94531Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 291 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6484 7.94531L8.5 14.0938V0.046875H7.5V14.0938L1.35156 7.94531L0.648438 8.64844L8 16L15.3516 8.64844L14.6484 7.94531Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 291 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6484 8.10156L8.5 1.95312V16H7.5V1.95312L1.35156 8.10156L0.648438 7.39844L8 0.046875L15.3516 7.39844L14.6484 8.10156Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 291 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6484 8.10156L8.5 1.95312V16H7.5V1.95312L1.35156 8.10156L0.648438 7.39844L8 0.046875L15.3516 7.39844L14.6484 8.10156Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 291 B |
@@ -1,5 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 13H16V14H14V16H13V14H11V13H13V11H14V13Z" fill="#CCCCCC"/>
|
||||
<path d="M10 16V15H2V13H3V12H2V10.023H3V9.023H2V7.039H3V6.039H2V4H3V3H2V1H13V10H14V0H1V3H0V4H1V6.039H0V7.039H1V9.023H0V10.023H1V12H0V13H1V16H10Z" fill="#CCCCCC"/>
|
||||
<path d="M5 6H11V3H5V6ZM6 4H10V5H6V4Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 393 B |
@@ -1,5 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 13H16V14H14V16H13V14H11V13H13V11H14V13Z" fill="#0078D4"/>
|
||||
<path d="M10 16V15H2V13H3V12H2V10.023H3V9.023H2V7.039H3V6.039H2V4H3V3H2V1H13V10H14V0H1V3H0V4H1V6.039H0V7.039H1V9.023H0V10.023H1V12H0V13H1V16H10Z" fill="#0078D4"/>
|
||||
<path d="M5 6H11V3H5V6ZM6 4H10V5H6V4Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 393 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 6V16H7V15H1V2H5C5 1.72917 5.05338 1.47136 5.16016 1.22656C5.26693 0.98177 5.41016 0.769532 5.58984 0.589844C5.76953 0.410155 5.98047 0.266928 6.22266 0.160156C6.46484 0.0533849 6.72396 0 7 0C7.27083 0 7.52864 0.0533849 7.77344 0.160156C8.01823 0.266928 8.23047 0.410155 8.41016 0.589844C8.58984 0.769532 8.73307 0.98177 8.83984 1.22656C8.94662 1.47136 9 1.72917 9 2H13V6H15ZM4 3V4H10V3H8C8 2.91667 8.0013 2.82943 8.00391 2.73828C8.00651 2.64713 8.00781 2.55469 8.00781 2.46094C8.00781 2.28385 7.9987 2.10807 7.98047 1.93359C7.96224 1.75911 7.91797 1.60287 7.84766 1.46484C7.77734 1.32682 7.67578 1.21484 7.54297 1.12891C7.41016 1.04297 7.22917 1 7 1C6.77083 1 6.58984 1.04297 6.45703 1.12891C6.32422 1.21484 6.22266 1.32682 6.15234 1.46484C6.08203 1.60287 6.03776 1.75911 6.01953 1.93359C6.0013 2.10807 5.99219 2.28385 5.99219 2.46094C5.99219 2.55469 5.99349 2.64713 5.99609 2.73828C5.9987 2.82943 6 2.91667 6 3H4ZM7 14V6H12V3H11V5H3V3H2V14H7ZM14 7H8V15H14V7Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 6V16H7V15H1V2H5C5 1.72917 5.05338 1.47136 5.16016 1.22656C5.26693 0.98177 5.41016 0.769532 5.58984 0.589844C5.76953 0.410155 5.98047 0.266928 6.22266 0.160156C6.46484 0.0533849 6.72396 0 7 0C7.27083 0 7.52864 0.0533849 7.77344 0.160156C8.01823 0.266928 8.23047 0.410155 8.41016 0.589844C8.58984 0.769532 8.73307 0.98177 8.83984 1.22656C8.94662 1.47136 9 1.72917 9 2H13V6H15ZM4 3V4H10V3H8C8 2.91667 8.0013 2.82943 8.00391 2.73828C8.00651 2.64713 8.00781 2.55469 8.00781 2.46094C8.00781 2.28385 7.9987 2.10807 7.98047 1.93359C7.96224 1.75911 7.91797 1.60287 7.84766 1.46484C7.77734 1.32682 7.67578 1.21484 7.54297 1.12891C7.41016 1.04297 7.22917 1 7 1C6.77083 1 6.58984 1.04297 6.45703 1.12891C6.32422 1.21484 6.22266 1.32682 6.15234 1.46484C6.08203 1.60287 6.03776 1.75911 6.01953 1.93359C6.0013 2.10807 5.99219 2.28385 5.99219 2.46094C5.99219 2.55469 5.99349 2.64713 5.99609 2.73828C5.9987 2.82943 6 2.91667 6 3H4ZM7 14V6H12V3H11V5H3V3H2V14H7ZM14 7H8V15H14V7Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M7.52137 0.0315427C7.01656 0.0315427 6.53015 0.0972564 6.06215 0.228684C5.59415 0.360111 5.15507 0.546739 4.74491 0.788565C4.33475 1.03039 3.9614 1.31953 3.62486 1.65599C3.28832 1.99244 2.9991 2.3657 2.75721 2.77575C2.51532 3.18581 2.32865 3.62477 2.19719 4.09266C2.06573 4.56054 2 5.04682 2 5.5515C2 6.27173 2.13803 6.96698 2.4141 7.63726C2.69017 8.30754 3.08324 8.89765 3.59331 9.40759L10.1953 16L10.9052 15.2903L4.31108 8.68999C3.89567 8.27468 3.5749 7.79497 3.34879 7.25086C3.12268 6.70675 3.00962 6.1403 3.00962 5.5515C3.00962 4.93642 3.12925 4.35551 3.36851 3.80877C3.60777 3.26203 3.93248 2.78364 4.34264 2.37358C4.75279 1.96353 5.23131 1.6389 5.77819 1.3997C6.32507 1.16051 6.90613 1.04091 7.52137 1.04091C8.08928 1.04091 8.59015 1.12633 9.02397 1.29719C9.45779 1.46805 9.85875 1.6941 10.2269 1.97536C10.5949 2.25661 10.9486 2.57598 11.2877 2.93346C11.6269 3.29095 11.9832 3.65894 12.3565 4.03746H9.0358V5.04682H14.0839V0H13.0743V3.31986C12.7851 3.02546 12.5077 2.74027 12.2422 2.46427C11.9766 2.18827 11.711 1.92804 11.4455 1.68359C11.1799 1.43913 10.9091 1.21571 10.6331 1.01331C10.357 0.810908 10.0625 0.637424 9.74964 0.492853C9.43676 0.348283 9.09759 0.235255 8.73213 0.15377C8.36666 0.0722852 7.96308 0.0315427 7.52137 0.0315427Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M7.52137 0.0315427C7.01656 0.0315427 6.53015 0.0972564 6.06215 0.228684C5.59415 0.360111 5.15507 0.546739 4.74491 0.788565C4.33475 1.03039 3.9614 1.31953 3.62486 1.65599C3.28832 1.99244 2.9991 2.3657 2.75721 2.77575C2.51532 3.18581 2.32865 3.62477 2.19719 4.09266C2.06573 4.56054 2 5.04682 2 5.5515C2 6.27173 2.13803 6.96698 2.4141 7.63726C2.69017 8.30754 3.08324 8.89765 3.59331 9.40759L10.1953 16L10.9052 15.2903L4.31108 8.68999C3.89567 8.27468 3.5749 7.79497 3.34879 7.25086C3.12268 6.70675 3.00962 6.1403 3.00962 5.5515C3.00962 4.93642 3.12925 4.35551 3.36851 3.80877C3.60777 3.26203 3.93248 2.78364 4.34264 2.37358C4.75279 1.96353 5.23131 1.6389 5.77819 1.3997C6.32507 1.16051 6.90613 1.04091 7.52137 1.04091C8.08928 1.04091 8.59015 1.12633 9.02397 1.29719C9.45779 1.46805 9.85875 1.6941 10.2269 1.97536C10.5949 2.25661 10.9486 2.57598 11.2877 2.93346C11.6269 3.29095 11.9832 3.65894 12.3565 4.03746H9.0358V5.04682H14.0839V0H13.0743V3.31986C12.7851 3.02546 12.5077 2.74027 12.2422 2.46427C11.9766 2.18827 11.711 1.92804 11.4455 1.68359C11.1799 1.43913 10.9091 1.21571 10.6331 1.01331C10.357 0.810908 10.0625 0.637424 9.74964 0.492853C9.43676 0.348283 9.09759 0.235255 8.73213 0.15377C8.36666 0.0722852 7.96308 0.0315427 7.52137 0.0315427Z" fill="#0078D4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M15.499 0C15.6347 0 15.7521 0.049576 15.8513 0.148728C15.9504 0.24788 16 0.365297 16 0.500978C16 0.63666 15.9504 0.754077 15.8513 0.853229L10.137 6.56751C10.4188 6.92759 10.6314 7.31898 10.775 7.74168C10.9185 8.16438 10.9902 8.60274 10.9902 9.05675C10.9902 9.59426 10.8885 10.1096 10.6849 10.6027C10.4814 11.0959 10.1892 11.5329 9.80822 11.9139L9.27593 12.4462L7.49902 16L0 8.50098L3.55382 6.72407L4.08611 6.19178C4.46706 5.81083 4.90411 5.51859 5.39726 5.31507C5.89041 5.11155 6.40574 5.00978 6.94325 5.00978C7.39726 5.00978 7.83562 5.08154 8.25832 5.22505C8.68102 5.36856 9.07241 5.58121 9.43249 5.86301L15.1468 0.148728C15.2459 0.049576 15.3633 0 15.499 0ZM7.22505 14.3092L8.3366 12.0783L3.92172 7.6634L1.6908 8.77495L7.22505 14.3092ZM4.68885 7.0137L8.9863 11.3112C9.30463 10.998 9.55121 10.6575 9.72603 10.2896C9.90085 9.92172 9.98826 9.51076 9.98826 9.05675C9.98826 8.63405 9.90868 8.23875 9.74951 7.87084C9.59035 7.50294 9.37247 7.18069 9.09589 6.90411C8.81931 6.62753 8.49706 6.40965 8.12916 6.25049C7.76125 6.09132 7.36595 6.01174 6.94325 6.01174C6.48924 6.01174 6.07828 6.09785 5.71037 6.27006C5.34247 6.44227 5.00196 6.69015 4.68885 7.0137Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M15.499 0C15.6347 0 15.7521 0.049576 15.8513 0.148728C15.9504 0.24788 16 0.365297 16 0.500978C16 0.63666 15.9504 0.754077 15.8513 0.853229L10.137 6.56751C10.4188 6.92759 10.6314 7.31898 10.775 7.74168C10.9185 8.16438 10.9902 8.60274 10.9902 9.05675C10.9902 9.59426 10.8885 10.1096 10.6849 10.6027C10.4814 11.0959 10.1892 11.5329 9.80822 11.9139L9.27593 12.4462L7.49902 16L0 8.50098L3.55382 6.72407L4.08611 6.19178C4.46706 5.81083 4.90411 5.51859 5.39726 5.31507C5.89041 5.11155 6.40574 5.00978 6.94325 5.00978C7.39726 5.00978 7.83562 5.08154 8.25832 5.22505C8.68102 5.36856 9.07241 5.58121 9.43249 5.86301L15.1468 0.148728C15.2459 0.049576 15.3633 0 15.499 0ZM7.22505 14.3092L8.3366 12.0783L3.92172 7.6634L1.6908 8.77495L7.22505 14.3092ZM4.68885 7.0137L8.9863 11.3112C9.30463 10.998 9.55121 10.6575 9.72603 10.2896C9.90085 9.92172 9.98826 9.51076 9.98826 9.05675C9.98826 8.63405 9.90868 8.23875 9.74951 7.87084C9.59035 7.50294 9.37247 7.18069 9.09589 6.90411C8.81931 6.62753 8.49706 6.40965 8.12916 6.25049C7.76125 6.09132 7.36595 6.01174 6.94325 6.01174C6.48924 6.01174 6.07828 6.09785 5.71037 6.27006C5.34247 6.44227 5.00196 6.69015 4.68885 7.0137Z" fill="#0078D4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 6H12V3H6V6ZM7 4H11V5H7V4Z" fill="#CCCCCC"/>
|
||||
<path d="M2 0H15V16H2V13H1V12H2V10.023H1V9.023H2V7.039H1V6.039H2V4H1V3H2V0ZM14 15V1H3V3H4V4H3V6.039H4V7.039H3V9.023H4V10.023H3V12H4V13H3V15H14Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 321 B |
@@ -1,4 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 6H12V3H6V6ZM7 4H11V5H7V4Z" fill="#0078D4"/>
|
||||
<path d="M2 0H15V16H2V13H1V12H2V10.023H1V9.023H2V7.039H1V6.039H2V4H1V3H2V0ZM14 15V1H3V3H4V4H3V6.039H4V7.039H3V9.023H4V10.023H3V12H4V13H3V15H14Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 321 B |
@@ -1,9 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H15.9998V15.9995H0V0Z" fill="#CCCCCC"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5078 1.39452C13.2268 1.89152 13.8448 2.48052 14.3628 3.16052C14.8808 3.83952 15.2828 4.59252 15.5708 5.41752C15.8568 6.24352 15.9998 7.10451 15.9998 7.99951C15.9998 8.73451 15.9038 9.44252 15.7148 10.1245C15.5248 10.8075 15.2558 11.4455 14.9098 12.0395C14.5638 12.6325 14.1468 13.1725 13.6598 13.6605C13.1728 14.1475 12.6328 14.5635 12.0388 14.9105C11.4458 15.2565 10.8068 15.5245 10.1248 15.7145C9.44282 15.9055 8.73482 15.9995 7.99982 15.9995C7.26582 15.9995 6.55682 15.9055 5.87482 15.7145C5.19282 15.5245 4.55482 15.2565 3.96082 14.9105C3.36682 14.5635 2.82582 14.1475 2.33982 13.6605C1.85282 13.1725 1.43582 12.6325 1.08982 12.0395C0.742817 11.4455 0.474817 10.8085 0.284817 10.1285C0.0948169 9.44952 -0.000183105 8.73951 -0.000183105 7.99951C-0.000183105 7.27051 0.0958169 6.56252 0.288817 5.87452C0.481817 5.18752 0.755817 4.54052 1.11282 3.93352C1.46982 3.32752 1.90382 2.77452 2.41382 2.27752C2.92382 1.78052 3.49982 1.35452 4.14082 0.999511H1.99982V-0.000488281H5.99982V3.99952H4.99982V1.67952C4.39082 1.97152 3.83982 2.33652 3.34782 2.77752C2.85582 3.21752 2.43482 3.71152 2.08582 4.26152C1.73682 4.81152 1.46882 5.40352 1.28082 6.03952C1.09382 6.67452 0.999817 7.32851 0.999817 7.99951C0.999817 8.64051 1.08282 9.25852 1.24982 9.85552C1.41582 10.4525 1.65282 11.0085 1.95682 11.5275C2.26182 12.0455 2.62682 12.5185 3.05482 12.9455C3.48182 13.3725 3.95382 13.7385 4.47282 14.0425C4.98982 14.3475 5.54682 14.5825 6.14082 14.7495C6.73482 14.9165 7.35382 14.9995 7.99982 14.9995C8.64082 14.9995 9.25882 14.9165 9.85582 14.7495C10.4508 14.5825 11.0088 14.3475 11.5278 14.0425C12.0448 13.7385 12.5178 13.3725 12.9448 12.9455C13.3718 12.5185 13.7378 12.0455 14.0428 11.5275C14.3478 11.0085 14.5828 10.4535 14.7498 9.85952C14.9158 9.26552 14.9998 8.64551 14.9998 7.99951C14.9998 7.21851 14.8728 6.46552 14.6208 5.74252C14.3678 5.01852 14.0158 4.35952 13.5628 3.76552C13.1098 3.17152 12.5688 2.65752 11.9418 2.22252C11.3138 1.78852 10.6218 1.46552 9.86682 1.25752L10.1328 0.296511C10.9968 0.531511 11.7888 0.897511 12.5078 1.39452Z" fill="#CCCCCC"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 8.06965L6 4.5V11.6474L12 8.06965ZM10 8.06965L7 9.8585V6.28885L10 8.06965Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -1,9 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H15.9998V15.9995H0V0Z" fill="#0078D4"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5078 1.39452C13.2268 1.89152 13.8448 2.48052 14.3628 3.16052C14.8808 3.83952 15.2828 4.59252 15.5708 5.41752C15.8568 6.24352 15.9998 7.10451 15.9998 7.99951C15.9998 8.73451 15.9038 9.44252 15.7148 10.1245C15.5248 10.8075 15.2558 11.4455 14.9098 12.0395C14.5638 12.6325 14.1468 13.1725 13.6598 13.6605C13.1728 14.1475 12.6328 14.5635 12.0388 14.9105C11.4458 15.2565 10.8068 15.5245 10.1248 15.7145C9.44282 15.9055 8.73482 15.9995 7.99982 15.9995C7.26582 15.9995 6.55682 15.9055 5.87482 15.7145C5.19282 15.5245 4.55482 15.2565 3.96082 14.9105C3.36682 14.5635 2.82582 14.1475 2.33982 13.6605C1.85282 13.1725 1.43582 12.6325 1.08982 12.0395C0.742817 11.4455 0.474817 10.8085 0.284817 10.1285C0.0948169 9.44952 -0.000183105 8.73951 -0.000183105 7.99951C-0.000183105 7.27051 0.0958169 6.56252 0.288817 5.87452C0.481817 5.18752 0.755817 4.54052 1.11282 3.93352C1.46982 3.32752 1.90382 2.77452 2.41382 2.27752C2.92382 1.78052 3.49982 1.35452 4.14082 0.999511H1.99982V-0.000488281H5.99982V3.99952H4.99982V1.67952C4.39082 1.97152 3.83982 2.33652 3.34782 2.77752C2.85582 3.21752 2.43482 3.71152 2.08582 4.26152C1.73682 4.81152 1.46882 5.40352 1.28082 6.03952C1.09382 6.67452 0.999817 7.32851 0.999817 7.99951C0.999817 8.64051 1.08282 9.25852 1.24982 9.85552C1.41582 10.4525 1.65282 11.0085 1.95682 11.5275C2.26182 12.0455 2.62682 12.5185 3.05482 12.9455C3.48182 13.3725 3.95382 13.7385 4.47282 14.0425C4.98982 14.3475 5.54682 14.5825 6.14082 14.7495C6.73482 14.9165 7.35382 14.9995 7.99982 14.9995C8.64082 14.9995 9.25882 14.9165 9.85582 14.7495C10.4508 14.5825 11.0088 14.3475 11.5278 14.0425C12.0448 13.7385 12.5178 13.3725 12.9448 12.9455C13.3718 12.5185 13.7378 12.0455 14.0428 11.5275C14.3478 11.0085 14.5828 10.4535 14.7498 9.85952C14.9158 9.26552 14.9998 8.64551 14.9998 7.99951C14.9998 7.21851 14.8728 6.46552 14.6208 5.74252C14.3678 5.01852 14.0158 4.35952 13.5628 3.76552C13.1098 3.17152 12.5688 2.65752 11.9418 2.22252C11.3138 1.78852 10.6218 1.46552 9.86682 1.25752L10.1328 0.296511C10.9968 0.531511 11.7888 0.897511 12.5078 1.39452Z" fill="#0078D4"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 8.06965L6 4.5V11.6474L12 8.06965ZM10 8.06965L7 9.8585V6.28885L10 8.06965Z" fill="#0078D4"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -1,8 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H15.9998V15.9995H0V0Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5078 1.39452C13.2268 1.89152 13.8448 2.48052 14.3628 3.16052C14.8808 3.83952 15.2828 4.59252 15.5708 5.41752C15.8568 6.24352 15.9998 7.10451 15.9998 7.99951C15.9998 8.73451 15.9038 9.44252 15.7148 10.1245C15.5248 10.8075 15.2558 11.4455 14.9098 12.0395C14.5638 12.6325 14.1468 13.1725 13.6598 13.6605C13.1728 14.1475 12.6328 14.5635 12.0388 14.9105C11.4458 15.2565 10.8068 15.5245 10.1248 15.7145C9.44282 15.9055 8.73482 15.9995 7.99982 15.9995C7.26582 15.9995 6.55682 15.9055 5.87482 15.7145C5.19282 15.5245 4.55482 15.2565 3.96082 14.9105C3.36682 14.5635 2.82582 14.1475 2.33982 13.6605C1.85282 13.1725 1.43582 12.6325 1.08982 12.0395C0.742817 11.4455 0.474817 10.8085 0.284817 10.1285C0.0948169 9.44952 -0.000183105 8.73951 -0.000183105 7.99951C-0.000183105 7.27051 0.0958169 6.56252 0.288817 5.87452C0.481817 5.18752 0.755817 4.54052 1.11282 3.93352C1.46982 3.32752 1.90382 2.77452 2.41382 2.27752C2.92382 1.78052 3.49982 1.35452 4.14082 0.999511H1.99982V-0.000488281H5.99982V3.99952H4.99982V1.67952C4.39082 1.97152 3.83982 2.33652 3.34782 2.77752C2.85582 3.21752 2.43482 3.71152 2.08582 4.26152C1.73682 4.81152 1.46882 5.40352 1.28082 6.03952C1.09382 6.67452 0.999817 7.32851 0.999817 7.99951C0.999817 8.64051 1.08282 9.25852 1.24982 9.85552C1.41582 10.4525 1.65282 11.0085 1.95682 11.5275C2.26182 12.0455 2.62682 12.5185 3.05482 12.9455C3.48182 13.3725 3.95382 13.7385 4.47282 14.0425C4.98982 14.3475 5.54682 14.5825 6.14082 14.7495C6.73482 14.9165 7.35382 14.9995 7.99982 14.9995C8.64082 14.9995 9.25882 14.9165 9.85582 14.7495C10.4508 14.5825 11.0088 14.3475 11.5278 14.0425C12.0448 13.7385 12.5178 13.3725 12.9448 12.9455C13.3718 12.5185 13.7378 12.0455 14.0428 11.5275C14.3478 11.0085 14.5828 10.4535 14.7498 9.85952C14.9158 9.26552 14.9998 8.64551 14.9998 7.99951C14.9998 7.21851 14.8728 6.46552 14.6208 5.74252C14.3678 5.01852 14.0158 4.35952 13.5628 3.76552C13.1098 3.17152 12.5688 2.65752 11.9418 2.22252C11.3138 1.78852 10.6218 1.46552 9.86682 1.25752L10.1328 0.296511C10.9968 0.531511 11.7888 0.897511 12.5078 1.39452Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
@@ -1,8 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H15.9998V15.9995H0V0Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5078 1.39452C13.2268 1.89152 13.8448 2.48052 14.3628 3.16052C14.8808 3.83952 15.2828 4.59252 15.5708 5.41752C15.8568 6.24352 15.9998 7.10451 15.9998 7.99951C15.9998 8.73451 15.9038 9.44252 15.7148 10.1245C15.5248 10.8075 15.2558 11.4455 14.9098 12.0395C14.5638 12.6325 14.1468 13.1725 13.6598 13.6605C13.1728 14.1475 12.6328 14.5635 12.0388 14.9105C11.4458 15.2565 10.8068 15.5245 10.1248 15.7145C9.44282 15.9055 8.73482 15.9995 7.99982 15.9995C7.26582 15.9995 6.55682 15.9055 5.87482 15.7145C5.19282 15.5245 4.55482 15.2565 3.96082 14.9105C3.36682 14.5635 2.82582 14.1475 2.33982 13.6605C1.85282 13.1725 1.43582 12.6325 1.08982 12.0395C0.742817 11.4455 0.474817 10.8085 0.284817 10.1285C0.0948169 9.44952 -0.000183105 8.73951 -0.000183105 7.99951C-0.000183105 7.27051 0.0958169 6.56252 0.288817 5.87452C0.481817 5.18752 0.755817 4.54052 1.11282 3.93352C1.46982 3.32752 1.90382 2.77452 2.41382 2.27752C2.92382 1.78052 3.49982 1.35452 4.14082 0.999511H1.99982V-0.000488281H5.99982V3.99952H4.99982V1.67952C4.39082 1.97152 3.83982 2.33652 3.34782 2.77752C2.85582 3.21752 2.43482 3.71152 2.08582 4.26152C1.73682 4.81152 1.46882 5.40352 1.28082 6.03952C1.09382 6.67452 0.999817 7.32851 0.999817 7.99951C0.999817 8.64051 1.08282 9.25852 1.24982 9.85552C1.41582 10.4525 1.65282 11.0085 1.95682 11.5275C2.26182 12.0455 2.62682 12.5185 3.05482 12.9455C3.48182 13.3725 3.95382 13.7385 4.47282 14.0425C4.98982 14.3475 5.54682 14.5825 6.14082 14.7495C6.73482 14.9165 7.35382 14.9995 7.99982 14.9995C8.64082 14.9995 9.25882 14.9165 9.85582 14.7495C10.4508 14.5825 11.0088 14.3475 11.5278 14.0425C12.0448 13.7385 12.5178 13.3725 12.9448 12.9455C13.3718 12.5185 13.7378 12.0455 14.0428 11.5275C14.3478 11.0085 14.5828 10.4535 14.7498 9.85952C14.9158 9.26552 14.9998 8.64551 14.9998 7.99951C14.9998 7.21851 14.8728 6.46552 14.6208 5.74252C14.3678 5.01852 14.0158 4.35952 13.5628 3.76552C13.1098 3.17152 12.5688 2.65752 11.9418 2.22252C11.3138 1.78852 10.6218 1.46552 9.86682 1.25752L10.1328 0.296511C10.9968 0.531511 11.7888 0.897511 12.5078 1.39452Z" fill="#0078D4"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
@@ -1,14 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M8.65887 13.2453H1V3.24365H12.4433V7.65877" stroke="#CCCCCC"/>
|
||||
<path d="M12.5333 3.24365H1.09003V5.04574H12.5333V3.24365Z" fill="#CCCCCC"/>
|
||||
<path d="M8.56874 10.0917H2.80206V0.0900879H14.1552V7.65886" stroke="#CCCCCC"/>
|
||||
<path d="M14.2454 0H2.80206V1.80209H14.2454V0Z" fill="#CCCCCC"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7771 11.7762L10.3708 8.55981V14.9999L15.7771 11.7762ZM13.9749 11.7762L11.2717 13.3881V10.1717L13.9749 11.7762Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 705 B |
@@ -1,14 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M8.65887 13.2453H1V3.24365H12.4433V7.65877" stroke="#0078D4"/>
|
||||
<path d="M12.5333 3.24365H1.09003V5.04574H12.5333V3.24365Z" fill="#0078D4"/>
|
||||
<path d="M8.56874 10.0917H2.80206V0.0900879H14.1552V7.65886" stroke="#0078D4"/>
|
||||
<path d="M14.2454 0H2.80206V1.80209H14.2454V0Z" fill="#0078D4"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7771 11.7762L10.3708 8.55981V14.9999L15.7771 11.7762ZM13.9749 11.7762L11.2717 13.3881V10.1717L13.9749 11.7762Z" fill="#0078D4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 705 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 15L14.256 8L2 1V15ZM3 2.722L12.239 8L3 13.277V2.722Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 226 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 15L14.256 8L2 1V15ZM3 2.722L12.239 8L3 13.277V2.722Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 226 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 1V15H1V1H15ZM14 2H2V14H14V2Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 203 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 1V15H1V1H15ZM14 2H2V14H14V2Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 203 B |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M8.56255 0.0315427C9.06736 0.0315427 9.55376 0.0972564 10.0218 0.228684C10.4898 0.360111 10.9288 0.546739 11.339 0.788565C11.7492 1.03039 12.1225 1.31953 12.4591 1.65599C12.7956 1.99244 13.0848 2.3657 13.3267 2.77575C13.5686 3.18581 13.7553 3.62477 13.8867 4.09266C14.0182 4.56054 14.0839 5.04682 14.0839 5.5515C14.0839 6.27173 13.9459 6.96698 13.6698 7.63726C13.3937 8.30754 13.0007 8.89765 12.4906 9.40759L5.88862 16L5.17873 15.2903L11.7728 8.68999C12.1882 8.27468 12.509 7.79497 12.7351 7.25086C12.9612 6.70675 13.0743 6.1403 13.0743 5.5515C13.0743 4.93642 12.9547 4.35551 12.7154 3.80877C12.4761 3.26203 12.1514 2.78364 11.7413 2.37358C11.3311 1.96353 10.8526 1.6389 10.3057 1.3997C9.75884 1.16051 9.17778 1.04091 8.56255 1.04091C7.99463 1.04091 7.49377 1.12633 7.05994 1.29719C6.62612 1.46805 6.22516 1.6941 5.85707 1.97536C5.48898 2.25661 5.13535 2.57598 4.79618 2.93346C4.45701 3.29095 4.10075 3.65894 3.7274 4.03746H7.04811V5.04682H2V0H3.00962V3.31986C3.29884 3.02546 3.57622 2.74027 3.84177 2.46427C4.10732 2.18827 4.37288 1.92804 4.63843 1.68359C4.90398 1.43913 5.17479 1.21571 5.45086 1.01331C5.72693 0.810908 6.0214 0.637424 6.33428 0.492853C6.64715 0.348283 6.98632 0.235255 7.35179 0.15377C7.71725 0.0722852 8.12084 0.0315427 8.56255 0.0315427Z" fill="#CCCCCC"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M8.56255 0.0315427C9.06736 0.0315427 9.55376 0.0972564 10.0218 0.228684C10.4898 0.360111 10.9288 0.546739 11.339 0.788565C11.7492 1.03039 12.1225 1.31953 12.4591 1.65599C12.7956 1.99244 13.0848 2.3657 13.3267 2.77575C13.5686 3.18581 13.7553 3.62477 13.8867 4.09266C14.0182 4.56054 14.0839 5.04682 14.0839 5.5515C14.0839 6.27173 13.9459 6.96698 13.6698 7.63726C13.3937 8.30754 13.0007 8.89765 12.4906 9.40759L5.88862 16L5.17873 15.2903L11.7728 8.68999C12.1882 8.27468 12.509 7.79497 12.7351 7.25086C12.9612 6.70675 13.0743 6.1403 13.0743 5.5515C13.0743 4.93642 12.9547 4.35551 12.7154 3.80877C12.4761 3.26203 12.1514 2.78364 11.7413 2.37358C11.3311 1.96353 10.8526 1.6389 10.3057 1.3997C9.75884 1.16051 9.17778 1.04091 8.56255 1.04091C7.99463 1.04091 7.49377 1.12633 7.05994 1.29719C6.62612 1.46805 6.22516 1.6941 5.85707 1.97536C5.48898 2.25661 5.13535 2.57598 4.79618 2.93346C4.45701 3.29095 4.10075 3.65894 3.7274 4.03746H7.04811V5.04682H2V0H3.00962V3.31986C3.29884 3.02546 3.57622 2.74027 3.84177 2.46427C4.10732 2.18827 4.37288 1.92804 4.63843 1.68359C4.90398 1.43913 5.17479 1.21571 5.45086 1.01331C5.72693 0.810908 6.0214 0.637424 6.33428 0.492853C6.64715 0.348283 6.98632 0.235255 7.35179 0.15377C7.71725 0.0722852 8.12084 0.0315427 8.56255 0.0315427Z" fill="#0078D4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 8H15V16H5V8H4V5H10V3H2V10H5V11H1V3H0V0H12V3H11V5H16V8ZM1 2H11V1H1V2ZM14 8H6V15H14V8ZM15 6H5V7H15V6ZM11 12H7V11H11V12ZM7 14V13H10V14H7Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 269 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 8H15V16H5V8H4V5H10V3H2V10H5V11H1V3H0V0H12V3H11V5H16V8ZM1 2H11V1H1V2ZM14 8H6V15H14V8ZM15 6H5V7H15V6ZM11 12H7V11H11V12ZM7 14V13H10V14H7Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 269 B |
@@ -1,15 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M9.1 15.2001H0.599976V4.1001H13.3V9.0001" stroke="#CCCCCC"/>
|
||||
<path d="M13.4 4.1001H0.699951V6.1001H13.4V4.1001Z" fill="#CCCCCC"/>
|
||||
<path d="M9 11.7001H2.59998V0.600098H15.2V9.0001" stroke="#CCCCCC"/>
|
||||
<path d="M15.3 0.5H2.59998V2.5H15.3V0.5Z" fill="#CCCCCC"/>
|
||||
<path d="M4.59998 8.2002H10.9" stroke="#CCCCCC"/>
|
||||
<path d="M14.1386 14.6563L14.0617 14.6331L14.0748 14.7123C14.0856 14.7771 14.0962 14.8362 14.1061 14.8916C14.138 15.0694 14.163 15.2089 14.163 15.3753C14.163 15.5381 14.2731 15.6421 14.4192 15.6912L14.4191 15.6913L14.4229 15.6923C14.5989 15.7366 14.7751 15.7921 14.953 15.8481L14.9538 15.8483C15.1303 15.9039 15.3085 15.96 15.487 16.005C15.7678 16.0987 16.0574 16.0526 16.2508 15.8091C16.4464 15.5629 16.3936 15.2703 16.255 15.0372C16.1448 14.8372 16.0454 14.6371 15.9455 14.4358L15.9453 14.4354C15.846 14.2353 15.7461 14.034 15.6352 13.8327C15.5917 13.7229 15.5741 13.6547 15.5786 13.595C15.5831 13.5368 15.6093 13.4794 15.6731 13.3935C16.0722 12.9467 16.4279 12.5435 16.7838 12.0954L16.7839 12.0955L16.7863 12.0919C16.8127 12.052 16.8373 12.0185 16.8617 11.9854C16.8789 11.9621 16.8959 11.939 16.9134 11.9138C16.9535 11.8561 16.9898 11.7957 17.0142 11.722C17.0608 11.5812 17.0642 11.4537 17.0109 11.353C16.9573 11.2517 16.8531 11.1899 16.7124 11.1655C16.6441 11.1429 16.5841 11.1306 16.5225 11.1306C16.4608 11.1306 16.4006 11.1429 16.332 11.1658C16.1092 11.2107 15.8979 11.2668 15.6933 11.3225C15.6687 11.3292 15.6443 11.3359 15.6199 11.3425C15.44 11.3917 15.2652 11.4394 15.0904 11.4786V11.4785L15.0883 11.4791C14.9207 11.5241 14.7987 11.5568 14.7032 11.5724C14.608 11.5879 14.5469 11.5849 14.4985 11.565C14.4506 11.5453 14.4075 11.5056 14.3556 11.4299C14.3034 11.3537 14.2465 11.2475 14.1683 11.1011L14.1677 11.1L14.1665 11.098C13.9897 10.7862 13.8102 10.4698 13.5853 10.1979L13.5849 10.1974C13.4463 10.0346 13.2885 9.94411 13.1284 9.95051C12.9676 9.95701 12.8219 10.0604 12.706 10.2464C12.5865 10.4075 12.5354 10.5695 12.4958 10.6947C12.4896 10.7144 12.4837 10.7333 12.4778 10.751L12.4774 10.7509L12.4762 10.757C12.4316 10.9819 12.3981 11.2066 12.3649 11.4299L12.3648 11.4305C12.3315 11.654 12.2984 11.8762 12.2544 12.0981C12.2323 12.1868 12.2121 12.2443 12.1803 12.2854C12.1504 12.3242 12.1064 12.353 12.0251 12.3736C11.7037 12.4456 11.4102 12.5464 11.1029 12.652C11.025 12.6788 10.9463 12.7058 10.866 12.7328V12.7327L10.8633 12.7338C10.8129 12.7541 10.764 12.7723 10.7162 12.7901C10.5612 12.8478 10.4183 12.901 10.278 13.006C10.0914 13.1013 9.9803 13.2469 9.9553 13.4102C9.9306 13.5722 9.9922 13.7417 10.1303 13.8837C10.1572 13.9343 10.1957 13.9715 10.2411 14.0058C10.2711 14.0285 10.307 14.0518 10.3461 14.0772C10.3666 14.0906 10.388 14.1045 10.4099 14.1193L10.4094 14.12L10.418 14.1237C10.5235 14.1692 10.633 14.2143 10.7421 14.2593C10.9581 14.3483 11.172 14.4364 11.348 14.5251L11.3586 14.5304H11.3705C11.3751 14.5304 11.3836 14.5318 11.3996 14.5355C11.4023 14.5361 11.4053 14.5368 11.4084 14.5375C11.4209 14.5405 11.4362 14.544 11.451 14.5465C11.4835 14.552 11.5363 14.5567 11.5769 14.5219C11.8441 14.3867 12.1106 14.2077 12.374 14.0308L12.3755 14.0298L12.4538 13.9772L12.3663 13.9419C12.1447 13.8526 11.9342 13.7633 11.7231 13.6738L11.7229 13.6737C11.5484 13.5997 11.3736 13.5255 11.1924 13.4513C11.205 13.4453 11.2162 13.4396 11.2263 13.4345H11.2264C11.2638 13.4156 11.274 13.4119 11.2817 13.4119H11.2891L11.2961 13.4097C11.5186 13.3425 11.7298 13.2753 11.9407 13.2082H11.9408C12.1511 13.1412 12.3611 13.0745 12.5819 13.0077C12.7006 12.9834 12.7877 12.9342 12.8511 12.864C12.9142 12.7941 12.9502 12.7071 12.9735 12.6133L12.974 12.6134L12.9748 12.6061C12.9968 12.3841 13.0299 12.1729 13.0632 11.966C13.0657 11.9504 13.0682 11.9348 13.0707 11.9192C13.101 11.7317 13.1307 11.5472 13.1514 11.3625C13.1728 11.3181 13.1842 11.2832 13.1952 11.2446C13.1979 11.2348 13.2006 11.2249 13.2035 11.2146C13.2045 11.2107 13.2056 11.2067 13.2068 11.2027C13.2505 11.2752 13.294 11.3465 13.3368 11.4167C13.5364 11.7441 13.7219 12.0482 13.8564 12.3529L13.8557 12.3532L13.8604 12.3603C13.9035 12.4255 13.9436 12.4823 14.0018 12.5116C14.0628 12.5424 14.1334 12.5386 14.2252 12.5155L14.2275 12.5148C14.3123 12.4892 14.3954 12.4636 14.4773 12.4384C14.8244 12.3315 15.1509 12.2309 15.5062 12.159C15.5551 12.1582 15.6027 12.1462 15.6439 12.1358L15.6465 12.1351C15.6507 12.1341 15.6549 12.133 15.6591 12.132C15.3714 12.5399 15.0811 12.912 14.7529 13.284L14.7528 13.2839L14.7503 13.2873C14.6821 13.3789 14.6418 13.4553 14.6351 13.5367C14.6283 13.6181 14.6559 13.6956 14.7012 13.7868H14.7011L14.7025 13.7892C14.7905 13.9444 14.8677 14.0998 14.9455 14.2566L14.9457 14.2571C15.0231 14.413 15.1011 14.5702 15.1904 14.7276L15.3178 14.9845C15.2123 14.9557 15.1128 14.9289 15.0167 14.903C14.7163 14.8221 14.4495 14.7502 14.1386 14.6563Z" fill="#CCCCCC" stroke="#CCCCCC" stroke-width="0.1"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.9 KiB |
@@ -1,15 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M9.1 15.2001H0.599976V4.1001H13.3V9.0001" stroke="#0078D4"/>
|
||||
<path d="M13.4 4.1001H0.699951V6.1001H13.4V4.1001Z" fill="#0078D4"/>
|
||||
<path d="M9 11.7001H2.59998V0.600098H15.2V9.0001" stroke="#0078D4"/>
|
||||
<path d="M15.3 0.5H2.59998V2.5H15.3V0.5Z" fill="#0078D4"/>
|
||||
<path d="M4.59998 8.2002H10.9" stroke="#0078D4"/>
|
||||
<path d="M14.1386 14.6563L14.0617 14.6331L14.0748 14.7123C14.0856 14.7771 14.0962 14.8362 14.1061 14.8916C14.138 15.0694 14.163 15.2089 14.163 15.3753C14.163 15.5381 14.2731 15.6421 14.4192 15.6912L14.4191 15.6913L14.4229 15.6923C14.5989 15.7366 14.7751 15.7921 14.953 15.8481L14.9538 15.8483C15.1303 15.9039 15.3085 15.96 15.487 16.005C15.7678 16.0987 16.0574 16.0526 16.2508 15.8091C16.4464 15.5629 16.3936 15.2703 16.255 15.0372C16.1448 14.8372 16.0454 14.6371 15.9455 14.4358L15.9453 14.4354C15.846 14.2353 15.7461 14.034 15.6352 13.8327C15.5917 13.7229 15.5741 13.6547 15.5786 13.595C15.5831 13.5368 15.6093 13.4794 15.6731 13.3935C16.0722 12.9467 16.4279 12.5435 16.7838 12.0954L16.7839 12.0955L16.7863 12.0919C16.8127 12.052 16.8373 12.0185 16.8617 11.9854C16.8789 11.9621 16.8959 11.939 16.9134 11.9138C16.9535 11.8561 16.9898 11.7957 17.0142 11.722C17.0608 11.5812 17.0642 11.4537 17.0109 11.353C16.9573 11.2517 16.8531 11.1899 16.7124 11.1655C16.6441 11.1429 16.5841 11.1306 16.5225 11.1306C16.4608 11.1306 16.4006 11.1429 16.332 11.1658C16.1092 11.2107 15.8979 11.2668 15.6933 11.3225C15.6687 11.3292 15.6443 11.3359 15.6199 11.3425C15.44 11.3917 15.2652 11.4394 15.0904 11.4786V11.4785L15.0883 11.4791C14.9207 11.5241 14.7987 11.5568 14.7032 11.5724C14.608 11.5879 14.5469 11.5849 14.4985 11.565C14.4506 11.5453 14.4075 11.5056 14.3556 11.4299C14.3034 11.3537 14.2465 11.2475 14.1683 11.1011L14.1677 11.1L14.1665 11.098C13.9897 10.7862 13.8102 10.4698 13.5853 10.1979L13.5849 10.1974C13.4463 10.0346 13.2885 9.94411 13.1284 9.95051C12.9676 9.95701 12.8219 10.0604 12.706 10.2464C12.5865 10.4075 12.5354 10.5695 12.4958 10.6947C12.4896 10.7144 12.4837 10.7333 12.4778 10.751L12.4774 10.7509L12.4762 10.757C12.4316 10.9819 12.3981 11.2066 12.3649 11.4299L12.3648 11.4305C12.3315 11.654 12.2984 11.8762 12.2544 12.0981C12.2323 12.1868 12.2121 12.2443 12.1803 12.2854C12.1504 12.3242 12.1064 12.353 12.0251 12.3736C11.7037 12.4456 11.4102 12.5464 11.1029 12.652C11.025 12.6788 10.9463 12.7058 10.866 12.7328V12.7327L10.8633 12.7338C10.8129 12.7541 10.764 12.7723 10.7162 12.7901C10.5612 12.8478 10.4183 12.901 10.278 13.006C10.0914 13.1013 9.9803 13.2469 9.9553 13.4102C9.9306 13.5722 9.9922 13.7417 10.1303 13.8837C10.1572 13.9343 10.1957 13.9715 10.2411 14.0058C10.2711 14.0285 10.307 14.0518 10.3461 14.0772C10.3666 14.0906 10.388 14.1045 10.4099 14.1193L10.4094 14.12L10.418 14.1237C10.5235 14.1692 10.633 14.2143 10.7421 14.2593C10.9581 14.3483 11.172 14.4364 11.348 14.5251L11.3586 14.5304H11.3705C11.3751 14.5304 11.3836 14.5318 11.3996 14.5355C11.4023 14.5361 11.4053 14.5368 11.4084 14.5375C11.4209 14.5405 11.4362 14.544 11.451 14.5465C11.4835 14.552 11.5363 14.5567 11.5769 14.5219C11.8441 14.3867 12.1106 14.2077 12.374 14.0308L12.3755 14.0298L12.4538 13.9772L12.3663 13.9419C12.1447 13.8526 11.9342 13.7633 11.7231 13.6738L11.7229 13.6737C11.5484 13.5997 11.3736 13.5255 11.1924 13.4513C11.205 13.4453 11.2162 13.4396 11.2263 13.4345H11.2264C11.2638 13.4156 11.274 13.4119 11.2817 13.4119H11.2891L11.2961 13.4097C11.5186 13.3425 11.7298 13.2753 11.9407 13.2082H11.9408C12.1511 13.1412 12.3611 13.0745 12.5819 13.0077C12.7006 12.9834 12.7877 12.9342 12.8511 12.864C12.9142 12.7941 12.9502 12.7071 12.9735 12.6133L12.974 12.6134L12.9748 12.6061C12.9968 12.3841 13.0299 12.1729 13.0632 11.966C13.0657 11.9504 13.0682 11.9348 13.0707 11.9192C13.101 11.7317 13.1307 11.5472 13.1514 11.3625C13.1728 11.3181 13.1842 11.2832 13.1952 11.2446C13.1979 11.2348 13.2006 11.2249 13.2035 11.2146C13.2045 11.2107 13.2056 11.2067 13.2068 11.2027C13.2505 11.2752 13.294 11.3465 13.3368 11.4167C13.5364 11.7441 13.7219 12.0482 13.8564 12.3529L13.8557 12.3532L13.8604 12.3603C13.9035 12.4255 13.9436 12.4823 14.0018 12.5116C14.0628 12.5424 14.1334 12.5386 14.2252 12.5155L14.2275 12.5148C14.3123 12.4892 14.3954 12.4636 14.4773 12.4384C14.8244 12.3315 15.1509 12.2309 15.5062 12.159C15.5551 12.1582 15.6027 12.1462 15.6439 12.1358L15.6465 12.1351C15.6507 12.1341 15.6549 12.133 15.6591 12.132C15.3714 12.5399 15.0811 12.912 14.7529 13.284L14.7528 13.2839L14.7503 13.2873C14.6821 13.3789 14.6418 13.4553 14.6351 13.5367C14.6283 13.6181 14.6559 13.6956 14.7012 13.7868H14.7011L14.7025 13.7892C14.7905 13.9444 14.8677 14.0998 14.9455 14.2566L14.9457 14.2571C15.0231 14.413 15.1011 14.5702 15.1904 14.7276L15.3178 14.9845C15.2123 14.9557 15.1128 14.9289 15.0167 14.903C14.7163 14.8221 14.4495 14.7502 14.1386 14.6563Z" fill="#0078D4" stroke="#0078D4" stroke-width="0.1"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.9 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 7C0.270833 7 0.528646 6.94792 0.773438 6.84375C1.01823 6.73438 1.22917 6.59115 1.40625 6.41406C1.58854 6.23177 1.73177 6.02083 1.83594 5.78125C1.94531 5.53646 2 5.27604 2 5C2 4.63021 1.99219 4.26042 1.97656 3.89062C1.96094 3.52083 1.97135 3.16146 2.00781 2.8125C2.04948 2.45833 2.13281 2.11719 2.25781 1.78906C2.38802 1.46094 2.59375 1.15625 2.875 0.875C3.15625 0.59375 3.48177 0.377604 3.85156 0.226562C4.22135 0.0755208 4.60417 0 5 0V1C4.72396 1 4.46354 1.05469 4.21875 1.16406C3.97917 1.26823 3.76823 1.41146 3.58594 1.59375C3.40885 1.77083 3.26562 1.98177 3.15625 2.22656C3.05208 2.47135 3 2.72917 3 3C3 3.29167 3.00521 3.58073 3.01562 3.86719C3.02604 4.14844 3.02604 4.42708 3.01562 4.70312C3.01042 4.97396 2.98698 5.23958 2.94531 5.5C2.90365 5.75521 2.83333 6 2.73438 6.23438C2.63542 6.46875 2.5 6.69271 2.32812 6.90625C2.15625 7.11979 1.9349 7.31771 1.66406 7.5C1.9349 7.68229 2.15625 7.88021 2.32812 8.09375C2.5 8.30729 2.63542 8.53125 2.73438 8.76562C2.83333 9 2.90365 9.2474 2.94531 9.50781C2.98698 9.76302 3.01042 10.0286 3.01562 10.3047C3.02604 10.5755 3.02604 10.8542 3.01562 11.1406C3.00521 11.4219 3 11.7083 3 12C3 12.276 3.05208 12.5365 3.15625 12.7812C3.26562 13.0208 3.40885 13.2318 3.58594 13.4141C3.76823 13.5911 3.97917 13.7344 4.21875 13.8438C4.46354 13.9479 4.72396 14 5 14V15C4.60417 15 4.22135 14.9245 3.85156 14.7734C3.48177 14.6224 3.15625 14.4062 2.875 14.125C2.59375 13.8438 2.38802 13.5391 2.25781 13.2109C2.13281 12.8828 2.04948 12.5443 2.00781 12.1953C1.97135 11.8411 1.96094 11.4792 1.97656 11.1094C1.99219 10.7396 2 10.3698 2 10C2 9.72917 1.94531 9.47135 1.83594 9.22656C1.73177 8.98177 1.58854 8.77083 1.40625 8.59375C1.22917 8.41146 1.01823 8.26823 0.773438 8.16406C0.528646 8.05469 0.270833 8 0 8V7ZM9 0C9.39583 0 9.77865 0.0755208 10.1484 0.226562C10.5182 0.377604 10.8438 0.59375 11.125 0.875C11.4062 1.15625 11.6094 1.46094 11.7344 1.78906C11.8646 2.11719 11.9479 2.45833 11.9844 2.8125C12.026 3.16146 12.0391 3.52083 12.0234 3.89062C12.0078 4.26042 12 4.63021 12 5C12 5.27604 12.0521 5.53646 12.1562 5.78125C12.2656 6.02083 12.4089 6.23177 12.5859 6.41406C12.7682 6.59115 12.9792 6.73438 13.2188 6.84375C13.4635 6.94792 13.724 7 14 7V8C13.724 8 13.4635 8.05469 13.2188 8.16406C12.9792 8.26823 12.7682 8.41146 12.5859 8.59375C12.4089 8.77083 12.2656 8.98177 12.1562 9.22656C12.0521 9.47135 12 9.72917 12 10C12 10.3698 12.0078 10.7396 12.0234 11.1094C12.0391 11.4792 12.026 11.8411 11.9844 12.1953C11.9479 12.5443 11.8646 12.8828 11.7344 13.2109C11.6094 13.5391 11.4062 13.8438 11.125 14.125C10.8438 14.4062 10.5182 14.6224 10.1484 14.7734C9.77865 14.9245 9.39583 15 9 15V14C9.27083 14 9.52865 13.9479 9.77344 13.8438C10.0182 13.7344 10.2292 13.5911 10.4062 13.4141C10.5885 13.2318 10.7318 13.0208 10.8359 12.7812C10.9453 12.5365 11 12.276 11 12C11 11.7083 10.9948 11.4219 10.9844 11.1406C10.974 10.8542 10.9714 10.5755 10.9766 10.3047C10.987 10.0286 11.013 9.76302 11.0547 9.50781C11.0964 9.2474 11.1667 9 11.2656 8.76562C11.3646 8.53125 11.5 8.30729 11.6719 8.09375C11.8438 7.88021 12.0651 7.68229 12.3359 7.5C12.0651 7.31771 11.8438 7.11979 11.6719 6.90625C11.5 6.69271 11.3646 6.46875 11.2656 6.23438C11.1667 6 11.0964 5.75521 11.0547 5.5C11.013 5.23958 10.987 4.97396 10.9766 4.70312C10.9714 4.42708 10.974 4.14844 10.9844 3.86719C10.9948 3.58073 11 3.29167 11 3C11 2.72917 10.9453 2.47135 10.8359 2.22656C10.7318 1.98177 10.5885 1.77083 10.4062 1.59375C10.2292 1.41146 10.0182 1.26823 9.77344 1.16406C9.52865 1.05469 9.27083 1 9 1V0Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.5 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 2.03125V13.9375H2.09375V10.9375H3V13.0312H15.0938V2.9375H9V2.03125H16ZM2.92188 8.9375H0V8.59375C0.0989583 8.57812 0.197917 8.5651 0.296875 8.55469C0.395833 8.53906 0.492188 8.51823 0.585938 8.49219C0.658854 8.47135 0.736979 8.40365 0.820312 8.28906C0.908854 8.17448 0.992188 8.04688 1.07031 7.90625C1.14844 7.76562 1.21875 7.6276 1.28125 7.49219C1.34896 7.35156 1.39844 7.24479 1.42969 7.17188L4.46094 0H5.10156L8.08594 7.25C8.13281 7.36458 8.1875 7.49479 8.25 7.64062C8.31771 7.78646 8.39323 7.92708 8.47656 8.0625C8.5651 8.19271 8.66406 8.30729 8.77344 8.40625C8.88802 8.5 9.01562 8.55469 9.15625 8.57031C9.30208 8.58594 9.44792 8.59375 9.59375 8.59375V8.9375H6.10938V8.59375C6.19792 8.59375 6.29427 8.59635 6.39844 8.60156C6.5026 8.60156 6.59896 8.59115 6.6875 8.57031C6.78125 8.54427 6.85938 8.5026 6.92188 8.44531C6.98438 8.38281 7.01562 8.28646 7.01562 8.15625C7.01562 8.04167 6.98698 7.88542 6.92969 7.6875C6.8724 7.48438 6.80469 7.27604 6.72656 7.0625C6.64844 6.84896 6.56771 6.64323 6.48438 6.44531C6.40625 6.24219 6.34115 6.08073 6.28906 5.96094H2.80469C2.75781 6.08073 2.6875 6.24219 2.59375 6.44531C2.50521 6.64323 2.41667 6.84896 2.32812 7.0625C2.24479 7.27604 2.16927 7.48177 2.10156 7.67969C2.03906 7.8776 2.00781 8.03385 2.00781 8.14844C2.00781 8.27344 2.03906 8.36719 2.10156 8.42969C2.16406 8.48698 2.24219 8.52604 2.33594 8.54688C2.42969 8.56771 2.52865 8.58073 2.63281 8.58594C2.74219 8.58594 2.83854 8.58854 2.92188 8.59375V8.9375ZM3.14062 4.96094H5.82812L4.45312 2.00781L3.14062 4.96094Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 4.28906V16H1V0H9.71094L14 4.28906ZM10 4H12.2891L10 1.71094V4ZM13 15V5H9V1H2V15H13Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 217 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 4.28906V16H1V0H9.71094L14 4.28906ZM10 4H12.2891L10 1.71094V4ZM13 15V5H9V1H2V15H13Z" fill="#CCCCCC"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 217 B |
@@ -1,3 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.31449 2.01439L4.00103 5.31963L3.26105 4.57965L7.8407 0L12.4203 4.57965L11.6804 5.31963L8.36691 2.01439V12.8428H7.31449V2.01439ZM13.629 12.8428H14.6814V16H1V12.8428H2.05242V14.9476H13.629V12.8428Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 329 B |
@@ -1,4 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6 6H12V3H6V6ZM7 4H11V5H7V4Z" fill="#333333"/>
|
||||
<path d="M2 0H15V16H2V13H1V12H2V10.023H1V9.023H2V7.039H1V6.039H2V4H1V3H2V0ZM14 15V1H3V3H4V4H3V6.039H4V7.039H3V9.023H4V10.023H3V12H4V13H3V15H14Z" fill="#333333"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 321 B |
@@ -33,7 +33,6 @@ export class ArmApiVersions {
|
||||
}
|
||||
|
||||
export class ArmResourceTypes {
|
||||
public static readonly notebookWorkspaces = "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces";
|
||||
public static readonly synapseWorkspaces = "Microsoft.Synapse/workspaces";
|
||||
}
|
||||
|
||||
@@ -78,7 +77,6 @@ export class CapabilityNames {
|
||||
public static EnableGremlin: string = "EnableGremlin";
|
||||
public static EnableCassandra: string = "EnableCassandra";
|
||||
public static EnableAutoScale: string = "EnableAutoScale";
|
||||
public static readonly EnableNotebooks: string = "EnableNotebooks";
|
||||
public static readonly EnableStorageAnalytics: string = "EnableStorageAnalytics";
|
||||
public static readonly EnableMongo: string = "EnableMongo";
|
||||
public static readonly EnableServerless: string = "EnableServerless";
|
||||
@@ -109,14 +107,10 @@ export class Flights {
|
||||
public static readonly AutoscaleTest = "autoscaletest";
|
||||
public static readonly PartitionKeyTest = "partitionkeytest";
|
||||
public static readonly PKPartitionKeyTest = "pkpartitionkeytest";
|
||||
public static readonly PhoenixNotebooks = "phoenixnotebooks";
|
||||
public static readonly PhoenixFeatures = "phoenixfeatures";
|
||||
public static readonly NotebooksDownBanner = "notebooksdownbanner";
|
||||
}
|
||||
|
||||
export class AfecFeatures {
|
||||
public static readonly Spark = "spark-public-preview";
|
||||
public static readonly Notebooks = "sparknotebooks-public-preview";
|
||||
public static readonly StorageAnalytics = "storageanalytics-public-preview";
|
||||
}
|
||||
|
||||
@@ -251,7 +245,6 @@ export class Areas {
|
||||
public static ContextualPane: string = "Contextual Pane";
|
||||
public static Tab: string = "Tab";
|
||||
public static ShareDialog: string = "Share Access Dialog";
|
||||
public static Notebook: string = "Notebook";
|
||||
public static CloudShell: string = "Cloud Shell";
|
||||
}
|
||||
|
||||
@@ -433,62 +426,10 @@ export enum ConflictOperationType {
|
||||
Delete = "delete",
|
||||
}
|
||||
|
||||
export enum ConnectionStatusType {
|
||||
Connect = "Connect",
|
||||
Connecting = "Connecting",
|
||||
Connected = "Connected",
|
||||
Failed = "Connection Failed",
|
||||
Reconnect = "Reconnect",
|
||||
}
|
||||
|
||||
export enum ContainerStatusType {
|
||||
Active = "Active",
|
||||
Disconnected = "Disconnected",
|
||||
}
|
||||
|
||||
export enum PoolIdType {
|
||||
DefaultPoolId = "default",
|
||||
}
|
||||
|
||||
export const EmulatorMasterKey =
|
||||
//[SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Well known public masterKey for emulator")]
|
||||
"C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
|
||||
|
||||
export class Notebook {
|
||||
public static readonly defaultBasePath = "./notebooks";
|
||||
public static readonly heartbeatDelayMs = 60000;
|
||||
public static readonly containerStatusHeartbeatDelayMs = 30000;
|
||||
public static readonly kernelRestartInitialDelayMs = 1000;
|
||||
public static readonly kernelRestartMaxDelayMs = 20000;
|
||||
public static readonly autoSaveIntervalMs = 300000;
|
||||
public static readonly memoryGuageToGB = 1048576;
|
||||
public static readonly lowMemoryThreshold = 0.8;
|
||||
public static readonly remainingTimeForAlert = 10;
|
||||
public static readonly retryAttempts = 3;
|
||||
public static readonly retryAttemptDelayMs = 5000;
|
||||
public static readonly temporarilyDownMsg = "Notebooks is currently not available. We are working on it.";
|
||||
public static readonly mongoShellTemporarilyDownMsg =
|
||||
"We have identified an issue with the Mongo Shell and it is unavailable right now. We are actively working on the mitigation.";
|
||||
public static readonly cassandraShellTemporarilyDownMsg =
|
||||
"We have identified an issue with the Cassandra Shell and it is unavailable right now. We are actively working on the mitigation.";
|
||||
public static saveNotebookModalTitle = "Save notebook in temporary workspace";
|
||||
public static saveNotebookModalContent =
|
||||
"This notebook will be saved in the temporary workspace and will be removed when the session expires.";
|
||||
public static newNotebookModalTitle = "Create notebook in temporary workspace";
|
||||
public static newNotebookUploadModalTitle = "Upload notebook to temporary workspace";
|
||||
public static newNotebookModalContent1 =
|
||||
"A temporary workspace will be created to enable you to work with notebooks. When the session expires, any notebooks in the workspace will be removed.";
|
||||
public static newNotebookModalContent2 =
|
||||
"To save your work permanently, save your notebooks to a GitHub repository or download the notebooks to your local machine before the session ends. ";
|
||||
public static galleryNotebookDownloadContent1 =
|
||||
"To download, run, and make changes to this sample notebook, a temporary workspace will be created. When the session expires, any notebooks in the workspace will be removed.";
|
||||
public static galleryNotebookDownloadContent2 =
|
||||
"To save your work permanently, save your notebooks to a GitHub repository or download the Notebooks to your local machine before the session ends. ";
|
||||
public static cosmosNotebookHomePageUrl = "https://aka.ms/cosmos-notebooks-limits";
|
||||
public static cosmosNotebookGitDocumentationUrl = "https://aka.ms/cosmos-notebooks-github";
|
||||
public static learnMore = "Learn more.";
|
||||
}
|
||||
|
||||
export class SparkLibrary {
|
||||
public static readonly nameMinLength = 3;
|
||||
public static readonly nameMaxLength = 63;
|
||||
@@ -508,14 +449,6 @@ export class TerminalQueryParams {
|
||||
public static readonly TerminalEndpoint = "terminalEndpoint";
|
||||
}
|
||||
|
||||
export class JunoEndpoints {
|
||||
public static readonly Test = "https://juno-test.documents-dev.windows-int.net";
|
||||
public static readonly Test2 = "https://juno-test2.documents-dev.windows-int.net";
|
||||
public static readonly Test3 = "https://juno-test3.documents-dev.windows-int.net";
|
||||
public static readonly Prod = "https://tools.cosmos.azure.com";
|
||||
public static readonly Stage = "https://tools-staging.cosmos.azure.com";
|
||||
}
|
||||
|
||||
export class PriorityLevel {
|
||||
public static readonly High = "high";
|
||||
public static readonly Low = "low";
|
||||
|
||||
@@ -89,7 +89,7 @@ export const Upload: FunctionComponent<UploadProps> = ({
|
||||
onChange={onUpload}
|
||||
role="button"
|
||||
/>
|
||||
<a href="#" id="fileImportLinkNotebook" onClick={onImportLinkClick} onKeyPress={onImportLinkKeyPress}>
|
||||
<a href="#" id="fileImportLink" onClick={onImportLinkClick} onKeyPress={onImportLinkKeyPress}>
|
||||
<Image className="fileImportImg" src={FolderIcon} alt={title} title={title} />
|
||||
</a>
|
||||
</Stack>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { CassandraProxyEndpoints, JunoEndpoints, MongoProxyEndpoints, PortalBackendEndpoints } from "Common/Constants";
|
||||
import { CassandraProxyEndpoints, MongoProxyEndpoints, PortalBackendEndpoints } from "Common/Constants";
|
||||
import {
|
||||
allowedArcadiaEndpoints,
|
||||
allowedEmulatorEndpoints,
|
||||
allowedHostedExplorerEndpoints,
|
||||
allowedJunoOrigins,
|
||||
allowedMsalRedirectEndpoints,
|
||||
defaultAllowedAadEndpoints,
|
||||
defaultAllowedArmEndpoints,
|
||||
@@ -47,8 +46,6 @@ export interface ConfigContext {
|
||||
MONGO_PROXY_ENDPOINT: string;
|
||||
CASSANDRA_PROXY_ENDPOINT: string;
|
||||
PROXY_PATH?: string;
|
||||
JUNO_ENDPOINT: string;
|
||||
isPhoenixEnabled: boolean;
|
||||
hostedExplorerURL: string;
|
||||
armAPIVersion?: string;
|
||||
msalRedirectURI?: string;
|
||||
@@ -92,11 +89,9 @@ let configContext: Readonly<ConfigContext> = {
|
||||
CATALOG_API_KEY: "",
|
||||
ARCADIA_ENDPOINT: "https://workspaceartifacts.projectarcadia.net",
|
||||
ARCADIA_LIVY_ENDPOINT_DNS_ZONE: "dev.azuresynapse.net",
|
||||
JUNO_ENDPOINT: JunoEndpoints.Prod,
|
||||
PORTAL_BACKEND_ENDPOINT: PortalBackendEndpoints.Prod,
|
||||
MONGO_PROXY_ENDPOINT: MongoProxyEndpoints.Prod,
|
||||
CASSANDRA_PROXY_ENDPOINT: CassandraProxyEndpoints.Prod,
|
||||
isPhoenixEnabled: false,
|
||||
};
|
||||
|
||||
export function resetConfigContext(): void {
|
||||
@@ -162,10 +157,6 @@ export function updateConfigContext(newContext: Partial<ConfigContext>): void {
|
||||
delete newContext.CASSANDRA_PROXY_ENDPOINT;
|
||||
}
|
||||
|
||||
if (!validateEndpoint(newContext.JUNO_ENDPOINT, allowedJunoOrigins)) {
|
||||
delete newContext.JUNO_ENDPOINT;
|
||||
}
|
||||
|
||||
if (!validateEndpoint(newContext.hostedExplorerURL, allowedHostedExplorerEndpoints)) {
|
||||
delete newContext.hostedExplorerURL;
|
||||
}
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
* Data Explorer tab kinds
|
||||
*/
|
||||
export enum TabKind {
|
||||
SQLDocuments,
|
||||
MongoDocuments,
|
||||
SchemaAnalyzer,
|
||||
TableEntities,
|
||||
Graph,
|
||||
SQLQuery,
|
||||
ScaleSettings,
|
||||
MongoQuery,
|
||||
SQLDocuments = 0,
|
||||
MongoDocuments = 1,
|
||||
TableEntities = 3,
|
||||
Graph = 4,
|
||||
SQLQuery = 5,
|
||||
ScaleSettings = 6,
|
||||
MongoQuery = 7,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -72,10 +71,6 @@ export interface OpenPane extends DataExplorerAction {
|
||||
paneKind: PaneKind | string;
|
||||
}
|
||||
|
||||
export interface OpenSampleNotebook extends DataExplorerAction {
|
||||
path: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The types of actions that the DataExplorer supports performing upon opening.
|
||||
*/
|
||||
@@ -84,5 +79,4 @@ export enum ActionType {
|
||||
OpenCollectionTab,
|
||||
OpenPane,
|
||||
TransmitCachedData,
|
||||
OpenSampleNotebook,
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CapacityMode, ConnectionStatusType, ContainerStatusType } from "../Common/Constants";
|
||||
import { CapacityMode } from "../Common/Constants";
|
||||
|
||||
export interface ArmEntity {
|
||||
id: string;
|
||||
@@ -155,38 +155,6 @@ export interface Resource {
|
||||
id: string;
|
||||
}
|
||||
|
||||
export interface IType {
|
||||
name: string;
|
||||
code: number;
|
||||
}
|
||||
|
||||
export interface IDataField {
|
||||
dataType: IType;
|
||||
hasNulls: boolean;
|
||||
isArray: boolean;
|
||||
schemaType: IType;
|
||||
name: string;
|
||||
path: string;
|
||||
maxRepetitionLevel: number;
|
||||
maxDefinitionLevel: number;
|
||||
}
|
||||
|
||||
export interface ISchema {
|
||||
id: string;
|
||||
accountName: string;
|
||||
resource: string;
|
||||
fields: IDataField[];
|
||||
}
|
||||
|
||||
export interface ISchemaRequest {
|
||||
id: string;
|
||||
subscriptionId: string;
|
||||
resourceGroup: string;
|
||||
accountName: string;
|
||||
resource: string;
|
||||
status: string;
|
||||
}
|
||||
|
||||
export interface Collection extends Resource {
|
||||
// Only in Mongo collections loaded via ARM
|
||||
shardKey?: {
|
||||
@@ -204,8 +172,6 @@ export interface Collection extends Resource {
|
||||
vectorEmbeddingPolicy?: VectorEmbeddingPolicy;
|
||||
fullTextPolicy?: FullTextPolicy;
|
||||
dataMaskingPolicy?: DataMaskingPolicy;
|
||||
schema?: ISchema;
|
||||
requestSchema?: () => void;
|
||||
computedProperties?: ComputedProperties;
|
||||
materializedViews?: MaterializedView[];
|
||||
materializedViewDefinition?: MaterializedViewDefinition;
|
||||
@@ -588,89 +554,6 @@ export interface OperationStatus {
|
||||
error?: { code: string; message: string };
|
||||
}
|
||||
|
||||
export interface NotebookWorkspaceConnectionInfo {
|
||||
authToken: string;
|
||||
notebookServerEndpoint: string;
|
||||
forwardingId: string;
|
||||
}
|
||||
|
||||
export interface ContainerInfo {
|
||||
durationLeftInMinutes: number;
|
||||
phoenixServerInfo: NotebookWorkspaceConnectionInfo;
|
||||
status: ContainerStatusType;
|
||||
}
|
||||
|
||||
export interface IProvisionData {
|
||||
cosmosEndpoint?: string;
|
||||
poolId: string;
|
||||
databaseId?: string;
|
||||
containerId?: string;
|
||||
mode?: string;
|
||||
}
|
||||
|
||||
export interface IContainerData {
|
||||
forwardingId: string;
|
||||
}
|
||||
|
||||
export interface IResponse<T> {
|
||||
status: number;
|
||||
data: T;
|
||||
}
|
||||
|
||||
export interface IPhoenixError {
|
||||
message: string;
|
||||
type: string;
|
||||
}
|
||||
|
||||
export interface IMaxAllocationTimeExceeded extends IPhoenixError {
|
||||
earliestAllocationTimestamp: string;
|
||||
maxAllocationTimePerDayPerUserInMinutes: string;
|
||||
}
|
||||
|
||||
export interface IMaxDbAccountsPerUserExceeded extends IPhoenixError {
|
||||
maxSimultaneousConnectionsPerUser: string;
|
||||
}
|
||||
|
||||
export interface IMaxUsersPerDbAccountExceeded extends IPhoenixError {
|
||||
maxSimultaneousUsersPerDbAccount: string;
|
||||
}
|
||||
|
||||
export interface IPhoenixConnectionInfoResult {
|
||||
readonly phoenixServiceInfo?: IPhoenixServiceInfo;
|
||||
}
|
||||
|
||||
export interface IPhoenixServiceInfo {
|
||||
readonly authToken?: string;
|
||||
readonly phoenixServiceUrl?: string;
|
||||
readonly forwardingId?: string;
|
||||
}
|
||||
|
||||
export interface NotebookWorkspaceFeedResponse {
|
||||
value: NotebookWorkspace[];
|
||||
}
|
||||
|
||||
export interface NotebookWorkspace {
|
||||
id: string;
|
||||
name: string;
|
||||
properties: {
|
||||
status: string;
|
||||
notebookServerEndpoint: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface NotebookConfigurationEndpoints {
|
||||
path: string;
|
||||
endpoints: NotebookConfigurationEndpointInfo[];
|
||||
}
|
||||
|
||||
export interface NotebookConfigurationEndpointInfo {
|
||||
type: string;
|
||||
endpoint: string;
|
||||
username: string;
|
||||
password: string;
|
||||
token: string;
|
||||
}
|
||||
|
||||
export interface SparkClusterConnectionInfo {
|
||||
userName: string;
|
||||
password: string;
|
||||
@@ -711,16 +594,6 @@ export interface MongoParameters extends RpParameters {
|
||||
analyticalStorageTtl?: number;
|
||||
}
|
||||
|
||||
export interface MemoryUsageInfo {
|
||||
freeKB: number;
|
||||
totalKB: number;
|
||||
}
|
||||
|
||||
export interface ContainerConnectionInfo {
|
||||
status: ConnectionStatusType;
|
||||
//need to add ram and rom info
|
||||
}
|
||||
|
||||
export interface FirewallRule {
|
||||
id: string;
|
||||
name: string;
|
||||
@@ -731,18 +604,6 @@ export interface FirewallRule {
|
||||
};
|
||||
}
|
||||
|
||||
export enum PhoenixErrorType {
|
||||
MaxAllocationTimeExceeded = "MaxAllocationTimeExceeded",
|
||||
MaxDbAccountsPerUserExceeded = "MaxDbAccountsPerUserExceeded",
|
||||
MaxUsersPerDbAccountExceeded = "MaxUsersPerDbAccountExceeded",
|
||||
AllocationValidationResult = "AllocationValidationResult",
|
||||
RegionNotServicable = "RegionNotServicable",
|
||||
SubscriptionNotAllowed = "SubscriptionNotAllowed",
|
||||
UnknownError = "UnknownError",
|
||||
PhoenixFlightFallback = "PhoenixFlightFallback",
|
||||
UserMissingPermissionsError = "UserMissingPermissionsError",
|
||||
}
|
||||
|
||||
export interface FeatureRegistration {
|
||||
name: string;
|
||||
properties: {
|
||||
|
||||
@@ -136,8 +136,6 @@ export interface CollectionBase extends TreeNode {
|
||||
export interface Collection extends CollectionBase {
|
||||
defaultTtl: ko.Observable<number>;
|
||||
analyticalStorageTtl: ko.Observable<number>;
|
||||
schema?: DataModels.ISchema;
|
||||
requestSchema?: () => void;
|
||||
vectorEmbeddingPolicy: ko.Observable<DataModels.VectorEmbeddingPolicy>;
|
||||
fullTextPolicy: ko.Observable<DataModels.FullTextPolicy>;
|
||||
dataMaskingPolicy: ko.Observable<DataModels.DataMaskingPolicy>;
|
||||
@@ -388,16 +386,10 @@ export enum CollectionTabKind {
|
||||
MongoShell = 10,
|
||||
DatabaseSettings = 11,
|
||||
Conflicts = 12,
|
||||
Notebook = 13 /* Deprecated */,
|
||||
Terminal = 14,
|
||||
NotebookV2 = 15,
|
||||
SparkMasterTab = 16 /* Deprecated */,
|
||||
Gallery = 17 /* Deprecated */,
|
||||
NotebookViewer = 18,
|
||||
Schema = 19,
|
||||
CollectionSettingsV2 = 20,
|
||||
DatabaseSettingsV2 = 21,
|
||||
SchemaAnalyzer = 22,
|
||||
}
|
||||
|
||||
export enum TerminalKind {
|
||||
|
||||
@@ -120,7 +120,7 @@ export const createCollectionContextMenuButton = (
|
||||
onClick: () => {
|
||||
const selectedCollection: ViewModels.Collection = useSelectedNode.getState().findSelectedCollection();
|
||||
if (userContext.features.enableCloudShell) {
|
||||
container.openNotebookTerminal(ViewModels.TerminalKind.Mongo);
|
||||
container.openTerminal(ViewModels.TerminalKind.Mongo);
|
||||
} else {
|
||||
selectedCollection && selectedCollection.onNewMongoShellClick();
|
||||
}
|
||||
@@ -133,7 +133,7 @@ export const createCollectionContextMenuButton = (
|
||||
items.push({
|
||||
iconSrc: HostedTerminalIcon,
|
||||
onClick: () => {
|
||||
container.openNotebookTerminal(ViewModels.TerminalKind.Cassandra);
|
||||
container.openTerminal(ViewModels.TerminalKind.Cassandra);
|
||||
},
|
||||
label: t(Keys.contextMenu.openCassandraShell),
|
||||
});
|
||||
|
||||
@@ -60,7 +60,6 @@ export const FeaturePanelComponent: React.FunctionComponent = () => {
|
||||
value: "true",
|
||||
},
|
||||
{ key: "feature.ttl90days", label: "TTL 90 days", value: "true" },
|
||||
{ key: "feature.enablenotebooks", label: "Enable notebooks", value: "true" },
|
||||
{
|
||||
key: "feature.customportal",
|
||||
label: "Force Production portal (portal only)",
|
||||
@@ -79,9 +78,6 @@ export const FeaturePanelComponent: React.FunctionComponent = () => {
|
||||
reactState?: [string, React.Dispatch<React.SetStateAction<string>>];
|
||||
onChange?: (_: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string) => void;
|
||||
}[] = [
|
||||
{ key: "feature.notebookserverurl", label: "Notebook server URL", placeholder: "https://notebookserver" },
|
||||
{ key: "feature.notebookservertoken", label: "Notebook server token", placeholder: "" },
|
||||
{ key: "feature.notebookbasepath", label: "Notebook base path", placeholder: "" },
|
||||
{ key: "key", label: "Auth key", placeholder: "" },
|
||||
{
|
||||
key: "dataExplorerSource",
|
||||
@@ -131,16 +127,6 @@ export const FeaturePanelComponent: React.FunctionComponent = () => {
|
||||
}),
|
||||
);
|
||||
|
||||
const onNotebookShortcut = (): void => {
|
||||
booleanFeatures.find((f) => f.key === "feature.enablenotebooks").reactState[1](true);
|
||||
stringFeatures
|
||||
.find((f) => f.key === "feature.notebookserverurl")
|
||||
.reactState[1]("https://localhost:10001/12345/notebook/");
|
||||
stringFeatures.find((f) => f.key === "feature.notebookservertoken").reactState[1]("token");
|
||||
stringFeatures.find((f) => f.key === "feature.notebookbasepath").reactState[1]("./notebooks");
|
||||
setPlatform(platformOptions.find((o) => o.key === "Hosted"));
|
||||
};
|
||||
|
||||
const onPortalLocalDEShortcut = (): void => {
|
||||
setBaseUrl(baseUrlOptions.find((o) => o.key === "https://portal.azure.com"));
|
||||
setPlatform(platformOptions.find((o) => o.key === "Portal"));
|
||||
@@ -178,7 +164,6 @@ export const FeaturePanelComponent: React.FunctionComponent = () => {
|
||||
</div>
|
||||
<Stack className="options" tokens={stackTokens}>
|
||||
<Stack horizontal horizontalAlign="space-between" tokens={stackTokens}>
|
||||
<DefaultButton onClick={onNotebookShortcut}>Notebooks on localhost</DefaultButton>
|
||||
<DefaultButton onClick={onPortalLocalDEShortcut}>Portal points to local DE</DefaultButton>
|
||||
<DefaultButton onClick={onReset}>Reset</DefaultButton>
|
||||
</Stack>
|
||||
|
||||
@@ -32,11 +32,6 @@ exports[`Feature panel renders all flags 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<CustomizedDefaultButton
|
||||
onClick={[Function]}
|
||||
>
|
||||
Notebooks on localhost
|
||||
</CustomizedDefaultButton>
|
||||
<CustomizedDefaultButton
|
||||
onClick={[Function]}
|
||||
>
|
||||
@@ -178,12 +173,6 @@ exports[`Feature panel renders all flags 1`] = `
|
||||
label="TTL 90 days"
|
||||
onChange={[Function]}
|
||||
/>
|
||||
<StyledCheckboxBase
|
||||
checked={false}
|
||||
key="feature.enablenotebooks"
|
||||
label="Enable notebooks"
|
||||
onChange={[Function]}
|
||||
/>
|
||||
<StyledCheckboxBase
|
||||
checked={false}
|
||||
disabled={true}
|
||||
@@ -213,49 +202,6 @@ exports[`Feature panel renders all flags 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<Stack
|
||||
horizontalAlign="space-between"
|
||||
>
|
||||
<StyledTextFieldBase
|
||||
key="feature.notebookserverurl"
|
||||
label="Notebook server URL"
|
||||
onChange={[Function]}
|
||||
placeholder="https://notebookserver"
|
||||
styles={
|
||||
{
|
||||
"fieldGroup": {
|
||||
"width": 300,
|
||||
},
|
||||
}
|
||||
}
|
||||
/>
|
||||
<StyledTextFieldBase
|
||||
key="feature.notebookservertoken"
|
||||
label="Notebook server token"
|
||||
onChange={[Function]}
|
||||
placeholder=""
|
||||
styles={
|
||||
{
|
||||
"fieldGroup": {
|
||||
"width": 300,
|
||||
},
|
||||
}
|
||||
}
|
||||
/>
|
||||
<StyledTextFieldBase
|
||||
key="feature.notebookbasepath"
|
||||
label="Notebook base path"
|
||||
onChange={[Function]}
|
||||
placeholder=""
|
||||
styles={
|
||||
{
|
||||
"fieldGroup": {
|
||||
"width": 300,
|
||||
},
|
||||
}
|
||||
}
|
||||
/>
|
||||
</Stack>
|
||||
<Stack
|
||||
horizontalAlign="space-between"
|
||||
>
|
||||
@@ -286,6 +232,10 @@ exports[`Feature panel renders all flags 1`] = `
|
||||
}
|
||||
}
|
||||
/>
|
||||
</Stack>
|
||||
<Stack
|
||||
horizontalAlign="space-between"
|
||||
>
|
||||
<StyledTextFieldBase
|
||||
key="feature.livyendpoint"
|
||||
label="Livy endpoint"
|
||||
|
||||
@@ -471,11 +471,11 @@ export default class Explorer {
|
||||
}
|
||||
}
|
||||
|
||||
public openNotebookTerminal(kind: ViewModels.TerminalKind): void {
|
||||
this.connectToNotebookTerminal(kind);
|
||||
public openTerminal(kind: ViewModels.TerminalKind): void {
|
||||
this.connectToTerminal(kind);
|
||||
}
|
||||
|
||||
private connectToNotebookTerminal(kind: ViewModels.TerminalKind): void {
|
||||
private connectToTerminal(kind: ViewModels.TerminalKind): void {
|
||||
let title: string;
|
||||
|
||||
switch (kind) {
|
||||
|
||||
@@ -143,7 +143,7 @@ export function createContextCommandBarButtons(
|
||||
onCommandClick: () => {
|
||||
const selectedCollection: ViewModels.Collection = selectedNodeState.findSelectedCollection();
|
||||
if (userContext.features.enableCloudShell) {
|
||||
container.openNotebookTerminal(ViewModels.TerminalKind.Mongo);
|
||||
container.openTerminal(ViewModels.TerminalKind.Mongo);
|
||||
} else {
|
||||
selectedCollection && selectedCollection.onNewMongoShellClick();
|
||||
}
|
||||
@@ -165,7 +165,7 @@ export function createContextCommandBarButtons(
|
||||
iconSrc: HostedTerminalIcon,
|
||||
iconAlt: label,
|
||||
onCommandClick: () => {
|
||||
container.openNotebookTerminal(ViewModels.TerminalKind.Cassandra);
|
||||
container.openTerminal(ViewModels.TerminalKind.Cassandra);
|
||||
},
|
||||
commandButtonLabel: label,
|
||||
ariaLabel: label,
|
||||
@@ -531,7 +531,7 @@ function createOpenTerminalButtonByKind(
|
||||
return;
|
||||
}
|
||||
if (userContext.features.enableCloudShell) {
|
||||
container.openNotebookTerminal(terminalKind);
|
||||
container.openTerminal(terminalKind);
|
||||
}
|
||||
},
|
||||
commandButtonLabel: label,
|
||||
|
||||
@@ -35,14 +35,12 @@ const migrateOldData = () => {
|
||||
componentName: AppStateComponentNames.MostRecentActivity,
|
||||
globalAccountName: accountName,
|
||||
},
|
||||
itemsMap[accountId]
|
||||
.filter((item) => (item.type as unknown as number) !== 1 && (item.type as string) !== "OpenNotebook")
|
||||
.map((item) => {
|
||||
if ((item.type as unknown as number) === 0) {
|
||||
item.type = Type.OpenCollection;
|
||||
}
|
||||
return item;
|
||||
}),
|
||||
itemsMap[accountId].map((item) => {
|
||||
if ((item.type as unknown as number) === 0) {
|
||||
item.type = Type.OpenCollection;
|
||||
}
|
||||
return item;
|
||||
}),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -18,9 +18,9 @@ export const MongoQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
return <></>;
|
||||
}
|
||||
|
||||
let totalSteps = 9;
|
||||
let totalSteps = 8;
|
||||
if (userContext.isTryCosmosDBSubscription) {
|
||||
totalSteps = 10;
|
||||
totalSteps = 9;
|
||||
}
|
||||
|
||||
switch (step) {
|
||||
@@ -153,12 +153,12 @@ export const MongoQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
case 7:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Create notebook"
|
||||
target={"#newNotebookBtn"}
|
||||
headline="Launch full screen"
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => setStep(8),
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(8) : setStep(9)),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
@@ -166,32 +166,12 @@ export const MongoQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 7 of " + totalSteps}
|
||||
>
|
||||
Visualize your data, store queries in an interactive document
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 8:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Launch full screen"
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(9) : setStep(10)),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => setStep(7),
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 8 of " + totalSteps}
|
||||
>
|
||||
This will open a new tab in your browser to use Cosmos DB Explorer. Using the provided URLs you can share
|
||||
read-write or read-only access with other people.
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 9:
|
||||
case 8:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Boost your experience"
|
||||
@@ -199,24 +179,24 @@ export const MongoQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => setStep(10),
|
||||
onClick: () => setStep(9),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => setStep(8),
|
||||
onClick: () => setStep(7),
|
||||
}}
|
||||
calloutProps={{ directionalHint: DirectionalHint.leftCenter }}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 9 of " + totalSteps}
|
||||
footerContent={"Step 8 of " + totalSteps}
|
||||
>
|
||||
Unlock everything Azure Cosmos DB has to offer When you're ready, upgrade to production.
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 10:
|
||||
case 9:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Congratulations!"
|
||||
target={"#newNotebookBtn"}
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Launch connect",
|
||||
@@ -227,7 +207,7 @@ export const MongoQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(9) : setStep(8)),
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(8) : setStep(7)),
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step " + totalSteps + " of " + totalSteps}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
import { fireEvent, render, screen } from "@testing-library/react";
|
||||
import "@testing-library/jest-dom";
|
||||
import { useTeachingBubble } from "hooks/useTeachingBubble";
|
||||
import React from "react";
|
||||
import { updateUserContext } from "UserContext";
|
||||
import { MongoQuickstartTutorial } from "./MongoQuickstartTutorial";
|
||||
import { SQLQuickstartTutorial } from "./SQLQuickstartTutorial";
|
||||
|
||||
describe("quickstart tutorials", () => {
|
||||
beforeEach(() => {
|
||||
const target = document.createElement("div");
|
||||
target.id = "openFullScreenBtn";
|
||||
document.body.appendChild(target);
|
||||
useTeachingBubble.setState({ step: 1 });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
document.body.innerHTML = "";
|
||||
});
|
||||
|
||||
it("continues the SQL tour from full screen to the final step", () => {
|
||||
updateUserContext({ apiType: "SQL", isTryCosmosDBSubscription: false });
|
||||
useTeachingBubble.setState({ step: 6 });
|
||||
|
||||
const { rerender } = render(<SQLQuickstartTutorial />);
|
||||
|
||||
expect(screen.getByText("Launch full screen")).toBeInTheDocument();
|
||||
expect(screen.getByText("Step 6 of 7")).toBeInTheDocument();
|
||||
|
||||
fireEvent.click(screen.getByRole("button", { name: "Next" }));
|
||||
rerender(<SQLQuickstartTutorial />);
|
||||
|
||||
expect(screen.getByText("Congratulations!")).toBeInTheDocument();
|
||||
expect(screen.getByText("Step 7 of 7")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("continues the Mongo tour from full screen to the final step", () => {
|
||||
updateUserContext({ apiType: "Mongo", isTryCosmosDBSubscription: false });
|
||||
useTeachingBubble.setState({ step: 7 });
|
||||
|
||||
const { rerender } = render(<MongoQuickstartTutorial />);
|
||||
|
||||
expect(screen.getByText("Launch full screen")).toBeInTheDocument();
|
||||
expect(screen.getByText("Step 7 of 8")).toBeInTheDocument();
|
||||
|
||||
fireEvent.click(screen.getByRole("button", { name: "Next" }));
|
||||
rerender(<MongoQuickstartTutorial />);
|
||||
|
||||
expect(screen.getByText("Congratulations!")).toBeInTheDocument();
|
||||
expect(screen.getByText("Step 8 of 8")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
@@ -17,9 +17,9 @@ export const SQLQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
if (userContext.apiType !== "SQL") {
|
||||
return <></>;
|
||||
}
|
||||
let totalSteps = 8;
|
||||
let totalSteps = 7;
|
||||
if (userContext.isTryCosmosDBSubscription) {
|
||||
totalSteps = 9;
|
||||
totalSteps = 8;
|
||||
}
|
||||
|
||||
switch (step) {
|
||||
@@ -130,12 +130,12 @@ export const SQLQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
case 6:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Create notebook"
|
||||
target={"#newNotebookBtn"}
|
||||
headline="Launch full screen"
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => setStep(7),
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(7) : setStep(8)),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
@@ -143,32 +143,12 @@ export const SQLQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 6 of " + totalSteps}
|
||||
>
|
||||
Visualize your data, store queries in an interactive document
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 7:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Launch full screen"
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(8) : setStep(9)),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => setStep(6),
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 7 of " + totalSteps}
|
||||
>
|
||||
This will open a new tab in your browser to use Cosmos DB Explorer. Using the provided URLs you can share
|
||||
read-write or read-only access with other people.
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 8:
|
||||
case 7:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Boost your experience"
|
||||
@@ -176,24 +156,24 @@ export const SQLQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Next",
|
||||
onClick: () => setStep(9),
|
||||
onClick: () => setStep(8),
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => setStep(7),
|
||||
onClick: () => setStep(6),
|
||||
}}
|
||||
calloutProps={{ directionalHint: DirectionalHint.leftCenter }}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step 8 of " + totalSteps}
|
||||
footerContent={"Step 7 of " + totalSteps}
|
||||
>
|
||||
Unlock everything Azure Cosmos DB has to offer When you're ready, upgrade to production.
|
||||
</TeachingBubble>
|
||||
);
|
||||
case 9:
|
||||
case 8:
|
||||
return (
|
||||
<TeachingBubble
|
||||
headline="Congratulations!"
|
||||
target={"#newNotebookBtn"}
|
||||
target={"#openFullScreenBtn"}
|
||||
hasCloseButton
|
||||
primaryButtonProps={{
|
||||
text: "Launch connect",
|
||||
@@ -204,7 +184,7 @@ export const SQLQuickstartTutorial: React.FC = (): JSX.Element => {
|
||||
}}
|
||||
secondaryButtonProps={{
|
||||
text: "Previous",
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(8) : setStep(7)),
|
||||
onClick: () => (userContext.isTryCosmosDBSubscription ? setStep(7) : setStep(6)),
|
||||
}}
|
||||
onDismiss={() => onDimissTeachingBubble()}
|
||||
footerContent={"Step " + totalSteps + " of " + totalSteps}
|
||||
|
||||
@@ -407,7 +407,7 @@ export const SplashScreen: React.FC<SplashScreenProps> = ({ explorer }) => {
|
||||
iconSrc: PowerShellIcon,
|
||||
title: t(Keys.splashScreen.shell.postgres.title),
|
||||
description: t(Keys.splashScreen.shell.postgres.description),
|
||||
onClick: () => container.openNotebookTerminal(TerminalKind.Postgres),
|
||||
onClick: () => container.openTerminal(TerminalKind.Postgres),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -426,7 +426,7 @@ export const SplashScreen: React.FC<SplashScreenProps> = ({ explorer }) => {
|
||||
linkUrl: VCoreMongoNativeAuthLearnMoreUrl,
|
||||
});
|
||||
} else {
|
||||
container.openNotebookTerminal(TerminalKind.VCoreMongo);
|
||||
container.openTerminal(TerminalKind.VCoreMongo);
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -620,7 +620,7 @@ export const SplashScreen: React.FC<SplashScreenProps> = ({ explorer }) => {
|
||||
};
|
||||
|
||||
const getRecentItems = (): JSX.Element => {
|
||||
const recentItems = createRecentItems()?.filter((item) => item.description !== "Notebook");
|
||||
const recentItems = createRecentItems() ?? [];
|
||||
|
||||
return (
|
||||
<Stack>
|
||||
|
||||
@@ -17,9 +17,9 @@ export interface TerminalTabOptions extends ViewModels.TabOptions {
|
||||
}
|
||||
|
||||
export default class TerminalTab extends TabsBase {
|
||||
public readonly html = '<div style="height: 100%" data-bind="react:notebookTerminalComponentAdapter"></div> ';
|
||||
public readonly html = '<div style="height: 100%" data-bind="react:cloudShellTerminalComponentAdapter"></div> ';
|
||||
private container: Explorer;
|
||||
private notebookTerminalComponentAdapter: ReactAdapter;
|
||||
private cloudShellTerminalComponentAdapter: ReactAdapter;
|
||||
private isAllPublicIPAddressesEnabled: ko.Observable<boolean>;
|
||||
|
||||
constructor(options: TerminalTabOptions) {
|
||||
@@ -27,7 +27,7 @@ export default class TerminalTab extends TabsBase {
|
||||
this.container = options.container;
|
||||
this.isAllPublicIPAddressesEnabled = ko.observable(true);
|
||||
|
||||
this.notebookTerminalComponentAdapter = new CloudShellTerminalComponentAdapter(
|
||||
this.cloudShellTerminalComponentAdapter = new CloudShellTerminalComponentAdapter(
|
||||
() => userContext?.databaseAccount,
|
||||
() => this.tabId,
|
||||
() => this.getUsername(),
|
||||
@@ -35,7 +35,7 @@ export default class TerminalTab extends TabsBase {
|
||||
options.kind,
|
||||
);
|
||||
|
||||
this.notebookTerminalComponentAdapter.parameters = ko.computed<boolean>(() => {
|
||||
this.cloudShellTerminalComponentAdapter.parameters = ko.computed<boolean>(() => {
|
||||
return this.isTemplateReady() && this.isAllPublicIPAddressesEnabled();
|
||||
});
|
||||
|
||||
|
||||
@@ -75,8 +75,6 @@ export default class Collection implements ViewModels.Collection {
|
||||
public throughput: ko.Computed<number>;
|
||||
public rawDataModel: DataModels.Collection;
|
||||
public analyticalStorageTtl: ko.Observable<number>;
|
||||
public schema: DataModels.ISchema;
|
||||
public requestSchema: () => void;
|
||||
public geospatialConfig: ko.Observable<DataModels.GeospatialConfig>;
|
||||
|
||||
// TODO move this to API customization class
|
||||
@@ -129,8 +127,6 @@ export default class Collection implements ViewModels.Collection {
|
||||
this.conflictResolutionPolicy = ko.observable(data.conflictResolutionPolicy);
|
||||
this.changeFeedPolicy = ko.observable<DataModels.ChangeFeedPolicy>(data.changeFeedPolicy);
|
||||
this.analyticalStorageTtl = ko.observable(data.analyticalStorageTtl);
|
||||
this.schema = data.schema;
|
||||
this.requestSchema = data.requestSchema;
|
||||
this.geospatialConfig = ko.observable(data.geospatialConfig);
|
||||
this.computedProperties = ko.observable(data.computedProperties);
|
||||
this.materializedViews = ko.observable(data.materializedViews);
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
import { HttpStatusCodes } from "../../Common/Constants";
|
||||
import * as DataModels from "../../Contracts/DataModels";
|
||||
import { JunoClient } from "../../Juno/JunoClient";
|
||||
import { Features } from "../../Platform/Hosted/extractFeatures";
|
||||
import { updateUserContext, userContext } from "../../UserContext";
|
||||
import Explorer from "../Explorer";
|
||||
import Database from "./Database";
|
||||
|
||||
const createMockContainer = (): Explorer => {
|
||||
const mockContainer = new Explorer();
|
||||
return mockContainer;
|
||||
};
|
||||
|
||||
updateUserContext({
|
||||
subscriptionId: "fakeSubscriptionId",
|
||||
resourceGroup: "fakeResourceGroup",
|
||||
databaseAccount: {
|
||||
id: "id",
|
||||
name: "fakeName",
|
||||
location: "fakeLocation",
|
||||
type: "fakeType",
|
||||
kind: "fakeKind",
|
||||
properties: {
|
||||
documentEndpoint: "fakeEndpoint",
|
||||
tableEndpoint: "fakeEndpoint",
|
||||
gremlinEndpoint: "fakeEndpoint",
|
||||
cassandraEndpoint: "fakeEndpoint",
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
describe("Add Schema", () => {
|
||||
it("should not call requestSchema or getSchema if analyticalStorageTtl is undefined", () => {
|
||||
const collection: DataModels.Collection = { id: "fakeId" } as DataModels.Collection;
|
||||
collection.analyticalStorageTtl = undefined;
|
||||
const database = new Database(createMockContainer(), collection);
|
||||
database.container = createMockContainer();
|
||||
|
||||
database.junoClient = new JunoClient();
|
||||
database.junoClient.requestSchema = jest.fn();
|
||||
database.junoClient.getSchema = jest.fn();
|
||||
|
||||
database.addSchema(collection);
|
||||
|
||||
expect(database.junoClient.requestSchema).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
|
||||
it("should call requestSchema or getSchema if analyticalStorageTtl is not undefined", () => {
|
||||
const collection: DataModels.Collection = {} as DataModels.Collection;
|
||||
collection.analyticalStorageTtl = 0;
|
||||
|
||||
const database = new Database(createMockContainer(), collection);
|
||||
database.container = createMockContainer();
|
||||
updateUserContext({
|
||||
features: {
|
||||
enableSchema: true,
|
||||
} as Features,
|
||||
});
|
||||
|
||||
database.junoClient = new JunoClient();
|
||||
database.junoClient.requestSchema = jest.fn();
|
||||
database.junoClient.getSchema = jest.fn().mockResolvedValue({ status: HttpStatusCodes.OK, data: {} });
|
||||
|
||||
jest.useFakeTimers();
|
||||
const interval = 5000;
|
||||
const checkForSchema: NodeJS.Timeout = database.addSchema(collection, interval);
|
||||
jest.advanceTimersByTime(interval + 1000);
|
||||
|
||||
expect(database.junoClient.requestSchema).toHaveBeenCalledWith({
|
||||
id: undefined,
|
||||
subscriptionId: userContext.subscriptionId,
|
||||
resourceGroup: userContext.resourceGroup,
|
||||
accountName: userContext.databaseAccount.name,
|
||||
resource: `dbs/${database.id()}/colls/${collection.id}`,
|
||||
status: "new",
|
||||
});
|
||||
expect(checkForSchema).not.toBeNull();
|
||||
expect(database.junoClient.getSchema).toHaveBeenCalledWith(
|
||||
userContext.subscriptionId,
|
||||
userContext.resourceGroup,
|
||||
userContext.databaseAccount.name,
|
||||
database.id(),
|
||||
collection.id,
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -8,7 +8,6 @@ import { readCollections, readCollectionsWithPagination } from "../../Common/dat
|
||||
import { readDatabaseOffer } from "../../Common/dataAccess/readDatabaseOffer";
|
||||
import * as DataModels from "../../Contracts/DataModels";
|
||||
import * as ViewModels from "../../Contracts/ViewModels";
|
||||
import { IJunoResponse, JunoClient } from "../../Juno/JunoClient";
|
||||
import * as StorageUtility from "../../Shared/StorageUtility";
|
||||
import { Action, ActionModifiers } from "../../Shared/Telemetry/TelemetryConstants";
|
||||
import * as TelemetryProcessor from "../../Shared/Telemetry/TelemetryProcessor";
|
||||
@@ -35,7 +34,6 @@ export default class Database implements ViewModels.Database {
|
||||
public isDatabaseExpanded: ko.Observable<boolean>;
|
||||
public isDatabaseShared: ko.Computed<boolean>;
|
||||
public selectedSubnodeKind: ko.Observable<ViewModels.CollectionTabKind>;
|
||||
public junoClient: JunoClient;
|
||||
public isSampleDB: boolean;
|
||||
public collectionsContinuationToken?: string;
|
||||
private isOfferRead: boolean;
|
||||
@@ -55,7 +53,6 @@ export default class Database implements ViewModels.Database {
|
||||
this.isDatabaseShared = ko.pureComputed(() => {
|
||||
return this.offer && !!this.offer();
|
||||
});
|
||||
this.junoClient = new JunoClient();
|
||||
this.isSampleDB = false;
|
||||
this.isOfferRead = false;
|
||||
}
|
||||
@@ -205,10 +202,6 @@ export default class Database implements ViewModels.Database {
|
||||
}
|
||||
const deltaCollections = this.getDeltaCollections(collections);
|
||||
|
||||
collections.forEach((collection: DataModels.Collection) => {
|
||||
this.addSchema(collection);
|
||||
});
|
||||
|
||||
deltaCollections.toAdd.forEach((collection: DataModels.Collection) => {
|
||||
const collectionVM: Collection = new Collection(this.container, this.id(), collection);
|
||||
collectionVMs.push(collectionVM);
|
||||
@@ -314,44 +307,4 @@ export default class Database implements ViewModels.Database {
|
||||
|
||||
this.collections(collectionsToKeep);
|
||||
}
|
||||
|
||||
public addSchema(collection: DataModels.Collection, interval?: number): NodeJS.Timeout {
|
||||
let checkForSchema: NodeJS.Timeout;
|
||||
interval = interval || 5000;
|
||||
|
||||
if (collection.analyticalStorageTtl !== undefined && userContext.features.enableSchema) {
|
||||
collection.requestSchema = () => {
|
||||
this.junoClient.requestSchema({
|
||||
id: undefined,
|
||||
subscriptionId: userContext.subscriptionId,
|
||||
resourceGroup: userContext.resourceGroup,
|
||||
accountName: userContext.databaseAccount.name,
|
||||
resource: `dbs/${this.id()}/colls/${collection.id}`,
|
||||
status: "new",
|
||||
});
|
||||
checkForSchema = setInterval(async () => {
|
||||
const response: IJunoResponse<DataModels.ISchema> = await this.junoClient.getSchema(
|
||||
userContext.subscriptionId,
|
||||
userContext.resourceGroup,
|
||||
userContext.databaseAccount.name,
|
||||
this.id(),
|
||||
collection.id,
|
||||
);
|
||||
|
||||
if (response.status >= 404) {
|
||||
clearInterval(checkForSchema);
|
||||
}
|
||||
|
||||
if (response.data !== undefined) {
|
||||
clearInterval(checkForSchema);
|
||||
collection.schema = response.data;
|
||||
}
|
||||
}, interval);
|
||||
};
|
||||
|
||||
collection.requestSchema();
|
||||
}
|
||||
|
||||
return checkForSchema;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,240 +0,0 @@
|
||||
import { shallow } from "enzyme";
|
||||
import React from "react";
|
||||
import * as DataModels from "../../Contracts/DataModels";
|
||||
import * as ViewModels from "../../Contracts/ViewModels";
|
||||
import {
|
||||
LegacyTreeComponent,
|
||||
LegacyTreeComponentProps,
|
||||
LegacyTreeNode,
|
||||
} from "../Controls/TreeComponent/LegacyTreeComponent";
|
||||
import Explorer from "../Explorer";
|
||||
import Collection from "./Collection";
|
||||
import { ResourceTreeAdapter } from "./ResourceTreeAdapter";
|
||||
|
||||
const schema: DataModels.ISchema = {
|
||||
id: "fakeSchemaId",
|
||||
accountName: "fakeAccountName",
|
||||
resource: "dbs/FakeDbName/colls/FakeCollectionName",
|
||||
fields: [
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "_rid",
|
||||
path: "_rid",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 11,
|
||||
name: "Int64",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "_ts",
|
||||
path: "_ts",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "id",
|
||||
path: "id",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "pk",
|
||||
path: "pk",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "other",
|
||||
path: "other",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "name",
|
||||
path: "nested.name",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 11,
|
||||
name: "Int64",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "someNumber",
|
||||
path: "nested.someNumber",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 17,
|
||||
name: "Double",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "anotherNumber",
|
||||
path: "nested.anotherNumber",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "name",
|
||||
path: "items.list.items.name",
|
||||
maxRepetitionLevel: 1,
|
||||
maxDefinitionLevel: 3,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 11,
|
||||
name: "Int64",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "someNumber",
|
||||
path: "items.list.items.someNumber",
|
||||
maxRepetitionLevel: 1,
|
||||
maxDefinitionLevel: 3,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 17,
|
||||
name: "Double",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "anotherNumber",
|
||||
path: "items.list.items.anotherNumber",
|
||||
maxRepetitionLevel: 1,
|
||||
maxDefinitionLevel: 3,
|
||||
},
|
||||
{
|
||||
dataType: {
|
||||
code: 15,
|
||||
name: "String",
|
||||
},
|
||||
hasNulls: true,
|
||||
isArray: false,
|
||||
schemaType: {
|
||||
code: 0,
|
||||
name: "Data",
|
||||
},
|
||||
name: "_etag",
|
||||
path: "_etag",
|
||||
maxRepetitionLevel: 0,
|
||||
maxDefinitionLevel: 1,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const createMockCollection = (): ViewModels.Collection => {
|
||||
const mockCollection = {} as DataModels.Collection;
|
||||
mockCollection._rid = "fakeRid";
|
||||
mockCollection._self = "fakeSelf";
|
||||
mockCollection.id = "fakeId";
|
||||
mockCollection.analyticalStorageTtl = 0;
|
||||
mockCollection.schema = schema;
|
||||
|
||||
const mockCollectionVM: ViewModels.Collection = new Collection(new Explorer(), "fakeDatabaseId", mockCollection);
|
||||
|
||||
return mockCollectionVM;
|
||||
};
|
||||
|
||||
describe("Resource tree for schema", () => {
|
||||
const mockContainer = new Explorer();
|
||||
const resourceTree = new ResourceTreeAdapter(mockContainer);
|
||||
|
||||
it("should render", () => {
|
||||
const rootNode: LegacyTreeNode = resourceTree.buildSchemaNode(createMockCollection());
|
||||
const props: LegacyTreeComponentProps = {
|
||||
rootNode,
|
||||
className: "dataResourceTree",
|
||||
};
|
||||
const wrapper = shallow(<LegacyTreeComponent {...props} />);
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
@@ -6,7 +6,6 @@ import * as React from "react";
|
||||
import CosmosDBIcon from "../../../images/Azure-Cosmos-DB.svg";
|
||||
import CollectionIcon from "../../../images/tree-collection.svg";
|
||||
import { ReactAdapter } from "../../Bindings/ReactBindingHandler";
|
||||
import * as DataModels from "../../Contracts/DataModels";
|
||||
import * as ViewModels from "../../Contracts/ViewModels";
|
||||
import { userContext } from "../../UserContext";
|
||||
import { isServerlessAccount } from "../../Utils/CapabilityUtils";
|
||||
@@ -138,11 +137,6 @@ export class ResourceTreeAdapter implements ReactAdapter {
|
||||
});
|
||||
}
|
||||
|
||||
const schemaNode: LegacyTreeNode = this.buildSchemaNode(collection);
|
||||
if (schemaNode) {
|
||||
children.push(schemaNode);
|
||||
}
|
||||
|
||||
if (shouldShowScriptNodes()) {
|
||||
children.push(this.buildStoredProcedureNode(collection));
|
||||
children.push(this.buildUserDefinedFunctionsNode(collection));
|
||||
@@ -275,73 +269,6 @@ export class ResourceTreeAdapter implements ReactAdapter {
|
||||
};
|
||||
}
|
||||
|
||||
public buildSchemaNode(collection: ViewModels.Collection): LegacyTreeNode {
|
||||
if (collection.analyticalStorageTtl() == undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (!collection.schema || !collection.schema.fields) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return {
|
||||
label: "Schema",
|
||||
children: this.getSchemaNodes(collection.schema.fields),
|
||||
onClick: () => {
|
||||
collection.selectedSubnodeKind(ViewModels.CollectionTabKind.Schema);
|
||||
useTabs.getState().refreshActiveTab((tab: TabsBase) => tab.collection && tab.collection.rid === collection.rid);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
private getSchemaNodes(fields: DataModels.IDataField[]): LegacyTreeNode[] {
|
||||
const schema: any = {};
|
||||
|
||||
//unflatten
|
||||
fields.forEach((field: DataModels.IDataField, fieldIndex: number) => {
|
||||
const path: string[] = field.path.split(".");
|
||||
const fieldProperties = [field.dataType.name, `HasNulls: ${field.hasNulls}`];
|
||||
let current: any = {};
|
||||
path.forEach((name: string, pathIndex: number) => {
|
||||
if (pathIndex === 0) {
|
||||
if (schema[name] === undefined) {
|
||||
if (pathIndex === path.length - 1) {
|
||||
schema[name] = fieldProperties;
|
||||
} else {
|
||||
schema[name] = {};
|
||||
}
|
||||
}
|
||||
current = schema[name];
|
||||
} else {
|
||||
if (current[name] === undefined) {
|
||||
if (pathIndex === path.length - 1) {
|
||||
current[name] = fieldProperties;
|
||||
} else {
|
||||
current[name] = {};
|
||||
}
|
||||
}
|
||||
current = current[name];
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const traverse = (obj: any): LegacyTreeNode[] => {
|
||||
const children: LegacyTreeNode[] = [];
|
||||
|
||||
if (obj !== null && !Array.isArray(obj) && typeof obj === "object") {
|
||||
Object.entries(obj).forEach(([key, value]) => {
|
||||
children.push({ label: key, children: traverse(value) });
|
||||
});
|
||||
} else if (Array.isArray(obj)) {
|
||||
return [{ label: obj[0] }, { label: obj[1] }];
|
||||
}
|
||||
|
||||
return children;
|
||||
};
|
||||
|
||||
return traverse(schema);
|
||||
}
|
||||
|
||||
public triggerRender() {
|
||||
window.requestAnimationFrame(() => this.parameters(Date.now()));
|
||||
}
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Resource tree for schema should render 1`] = `
|
||||
<div
|
||||
className="treeComponent dataResourceTree"
|
||||
role="tree"
|
||||
>
|
||||
<LegacyTreeNodeComponent
|
||||
generation={0}
|
||||
node={
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "_rid",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "Int64",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "_ts",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "id",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "pk",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "other",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "name",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "Int64",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "someNumber",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "Double",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "anotherNumber",
|
||||
},
|
||||
],
|
||||
"label": "nested",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "name",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "Int64",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "someNumber",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "Double",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "anotherNumber",
|
||||
},
|
||||
],
|
||||
"label": "items",
|
||||
},
|
||||
],
|
||||
"label": "list",
|
||||
},
|
||||
],
|
||||
"label": "items",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "String",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "_etag",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
}
|
||||
}
|
||||
paddingLeft={0}
|
||||
/>
|
||||
</div>
|
||||
`;
|
||||
@@ -25,61 +25,6 @@ exports[`createDatabaseTreeNodes generates the correct tree structure for the Ca
|
||||
"label": "Rows",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "street",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "line2",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "number",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "zip",
|
||||
},
|
||||
],
|
||||
"label": "address",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "orderId",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
},
|
||||
],
|
||||
"className": "collectionNode",
|
||||
"contextMenu": [
|
||||
@@ -399,61 +344,6 @@ exports[`createDatabaseTreeNodes generates the correct tree structure for the Mo
|
||||
"label": "Scale & Settings",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "street",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "line2",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "number",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "zip",
|
||||
},
|
||||
],
|
||||
"label": "address",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "orderId",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
},
|
||||
],
|
||||
"className": "collectionNode",
|
||||
"contextMenu": [
|
||||
@@ -821,61 +711,6 @@ exports[`createDatabaseTreeNodes generates the correct tree structure for the SQ
|
||||
"label": "Settings",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "street",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "line2",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "number",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "zip",
|
||||
},
|
||||
],
|
||||
"label": "address",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "orderId",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
},
|
||||
],
|
||||
"className": "collectionNode",
|
||||
"contextMenu": [
|
||||
@@ -1335,61 +1170,6 @@ exports[`createDatabaseTreeNodes generates the correct tree structure for the SQ
|
||||
"label": "Scale & Settings",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "street",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "line2",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "number",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "zip",
|
||||
},
|
||||
],
|
||||
"label": "address",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "orderId",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [],
|
||||
"label": "Stored Procedures",
|
||||
@@ -1941,61 +1721,6 @@ exports[`createDatabaseTreeNodes using NoSQL API on Hosted Platform creates expe
|
||||
"label": "Scale & Settings",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "street",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: true",
|
||||
},
|
||||
],
|
||||
"label": "line2",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "number",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "zip",
|
||||
},
|
||||
],
|
||||
"label": "address",
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"label": "string",
|
||||
},
|
||||
{
|
||||
"label": "HasNulls: false",
|
||||
},
|
||||
],
|
||||
"label": "orderId",
|
||||
},
|
||||
],
|
||||
"label": "Schema",
|
||||
"onClick": [Function],
|
||||
},
|
||||
{
|
||||
"children": [],
|
||||
"label": "Stored Procedures",
|
||||
|
||||
@@ -153,7 +153,6 @@ const baseCollection = {
|
||||
onDocumentDBDocumentsClick: jest.fn(),
|
||||
onNewQueryClick: jest.fn(),
|
||||
onConflictsClick: jest.fn(),
|
||||
onSchemaAnalyzerClick: jest.fn(),
|
||||
} as unknown as ViewModels.Collection;
|
||||
|
||||
/** A basic test database that can be expanded on in tests */
|
||||
@@ -297,31 +296,6 @@ describe("createDatabaseTreeNodes", () => {
|
||||
id: ko.observable("schemaCollection"),
|
||||
container: explorer,
|
||||
databaseId: sharedDb.id(),
|
||||
analyticalStorageTtl: ko.observable<number>(5),
|
||||
schema: {
|
||||
fields: [
|
||||
{
|
||||
path: "address.street",
|
||||
dataType: { name: "string" },
|
||||
hasNulls: false,
|
||||
},
|
||||
{
|
||||
path: "address.line2",
|
||||
dataType: { name: "string" },
|
||||
hasNulls: true,
|
||||
},
|
||||
{
|
||||
path: "address.zip",
|
||||
dataType: { name: "number" },
|
||||
hasNulls: false,
|
||||
},
|
||||
{
|
||||
path: "orderId",
|
||||
dataType: { name: "string" },
|
||||
hasNulls: false,
|
||||
},
|
||||
],
|
||||
} as unknown,
|
||||
} as ViewModels.Collection;
|
||||
|
||||
conflictsCollection = {
|
||||
|
||||
@@ -18,7 +18,6 @@ import { isServerlessAccount } from "Utils/CapabilityUtils";
|
||||
import { useTabs } from "hooks/useTabs";
|
||||
import React from "react";
|
||||
import { Platform, configContext } from "../../ConfigContext";
|
||||
import * as DataModels from "../../Contracts/DataModels";
|
||||
import * as ViewModels from "../../Contracts/ViewModels";
|
||||
import { userContext } from "../../UserContext";
|
||||
import * as ResourceTreeContextMenuButtonFactory from "../ContextMenuButtonFactory";
|
||||
@@ -347,11 +346,6 @@ const buildCollectionNodeChildren = (
|
||||
});
|
||||
}
|
||||
|
||||
const schemaNode: TreeNode = buildSchemaNode(collection, container, refreshActiveTab);
|
||||
if (schemaNode) {
|
||||
children.push(schemaNode);
|
||||
}
|
||||
|
||||
const onUpdateDatabase = () => useDatabases.getState().updateDatabase(database);
|
||||
|
||||
if (shouldShowScriptNodes()) {
|
||||
@@ -468,77 +462,3 @@ const buildTriggerNode = (
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const buildSchemaNode = (
|
||||
collection: ViewModels.Collection,
|
||||
container: Explorer,
|
||||
refreshActiveTab: (comparator: (tab: TabsBase) => boolean) => void,
|
||||
): TreeNode => {
|
||||
if (collection.analyticalStorageTtl() === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (!collection.schema || !collection.schema.fields) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return {
|
||||
label: "Schema",
|
||||
children: getSchemaNodes(collection.schema.fields),
|
||||
onClick: () => {
|
||||
collection.selectedSubnodeKind(ViewModels.CollectionTabKind.Schema);
|
||||
refreshActiveTab((tab: TabsBase) => tab.collection && tab.collection.rid === collection.rid);
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const getSchemaNodes = (fields: DataModels.IDataField[]): TreeNode[] => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const schema: any = {};
|
||||
|
||||
//unflatten
|
||||
fields.forEach((field: DataModels.IDataField) => {
|
||||
const path: string[] = field.path.split(".");
|
||||
const fieldProperties = [field.dataType.name, `HasNulls: ${field.hasNulls}`];
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
let current: any = {};
|
||||
path.forEach((name: string, pathIndex: number) => {
|
||||
if (pathIndex === 0) {
|
||||
if (schema[name] === undefined) {
|
||||
if (pathIndex === path.length - 1) {
|
||||
schema[name] = fieldProperties;
|
||||
} else {
|
||||
schema[name] = {};
|
||||
}
|
||||
}
|
||||
current = schema[name];
|
||||
} else {
|
||||
if (current[name] === undefined) {
|
||||
if (pathIndex === path.length - 1) {
|
||||
current[name] = fieldProperties;
|
||||
} else {
|
||||
current[name] = {};
|
||||
}
|
||||
}
|
||||
current = current[name];
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const traverse = (obj: any): TreeNode[] => {
|
||||
const children: TreeNode[] = [];
|
||||
|
||||
if (obj !== undefined && !Array.isArray(obj) && typeof obj === "object") {
|
||||
Object.entries(obj).forEach(([key, value]) => {
|
||||
children.push({ label: key, children: traverse(value) });
|
||||
});
|
||||
} else if (Array.isArray(obj)) {
|
||||
return [{ label: obj[0] }, { label: obj[1] }];
|
||||
}
|
||||
|
||||
return children;
|
||||
};
|
||||
|
||||
return traverse(schema);
|
||||
};
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
import { allowedJunoOrigins, validateEndpoint } from "Utils/EndpointUtils";
|
||||
import { HttpHeaders, HttpStatusCodes } from "../Common/Constants";
|
||||
import { configContext } from "../ConfigContext";
|
||||
import * as DataModels from "../Contracts/DataModels";
|
||||
import { userContext } from "../UserContext";
|
||||
import { getAuthorizationHeader } from "../Utils/AuthorizationUtils";
|
||||
|
||||
export interface IJunoResponse<T> {
|
||||
status: number;
|
||||
data: T;
|
||||
}
|
||||
|
||||
export interface IGalleryItem {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
gitSha: string;
|
||||
tags: string[];
|
||||
author: string;
|
||||
thumbnailUrl: string;
|
||||
created: string;
|
||||
isSample: boolean;
|
||||
downloads: number;
|
||||
favorites: number;
|
||||
views: number;
|
||||
newCellId: string;
|
||||
policyViolations: string[];
|
||||
pendingScanJobIds: string[];
|
||||
}
|
||||
|
||||
export class JunoClient {
|
||||
public async increaseNotebookViews(id: string): Promise<IJunoResponse<IGalleryItem>> {
|
||||
const response = await window.fetch(`${this.getNotebooksUrl()}/gallery/${id}/views`, {
|
||||
method: "PATCH",
|
||||
});
|
||||
|
||||
let data: IGalleryItem;
|
||||
if (response.status === HttpStatusCodes.OK) {
|
||||
data = await response.json();
|
||||
}
|
||||
|
||||
return {
|
||||
status: response.status,
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
public async requestSchema(
|
||||
schemaRequest: DataModels.ISchemaRequest,
|
||||
): Promise<IJunoResponse<DataModels.ISchemaRequest>> {
|
||||
const response = await window.fetch(`${this.getAnalyticsUrl()}/schema/request`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(schemaRequest),
|
||||
headers: JunoClient.getHeaders(),
|
||||
});
|
||||
|
||||
let data: DataModels.ISchemaRequest;
|
||||
if (response.status === HttpStatusCodes.OK) {
|
||||
data = await response.json();
|
||||
}
|
||||
|
||||
return {
|
||||
status: response.status,
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
public async getSchema(
|
||||
subscriptionId: string,
|
||||
resourceGroup: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
): Promise<IJunoResponse<DataModels.ISchema>> {
|
||||
const response = await window.fetch(
|
||||
`${this.getAnalyticsUrl()}/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/databaseAccounts/${accountName}/schema/${databaseName}/${containerName}`,
|
||||
{
|
||||
method: "GET",
|
||||
headers: JunoClient.getHeaders(),
|
||||
},
|
||||
);
|
||||
|
||||
let data: DataModels.ISchema;
|
||||
|
||||
if (response.status === HttpStatusCodes.OK) {
|
||||
data = await response.json();
|
||||
}
|
||||
|
||||
return {
|
||||
status: response.status,
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
private async getNotebooks(input: RequestInfo, init?: RequestInit): Promise<IJunoResponse<IGalleryItem[]>> {
|
||||
const response = await window.fetch(input, init);
|
||||
|
||||
let data: IGalleryItem[];
|
||||
if (response.status === HttpStatusCodes.OK) {
|
||||
data = await response.json();
|
||||
}
|
||||
|
||||
return {
|
||||
status: response.status,
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
// public for tests
|
||||
public static getJunoEndpoint(): string {
|
||||
const junoEndpoint = userContext.features.junoEndpoint ?? configContext.JUNO_ENDPOINT;
|
||||
if (!validateEndpoint(junoEndpoint, allowedJunoOrigins)) {
|
||||
const error = `${junoEndpoint} not allowed as juno endpoint`;
|
||||
console.error(error);
|
||||
throw new Error(error);
|
||||
}
|
||||
|
||||
return junoEndpoint;
|
||||
}
|
||||
|
||||
private getNotebooksUrl(): string {
|
||||
return `${JunoClient.getJunoEndpoint()}/api/notebooks`;
|
||||
}
|
||||
|
||||
private getAnalyticsUrl(): string {
|
||||
return `${JunoClient.getJunoEndpoint()}/api/analytics`;
|
||||
}
|
||||
|
||||
private static getHeaders(): HeadersInit {
|
||||
const authorizationHeader = getAuthorizationHeader();
|
||||
return {
|
||||
[authorizationHeader.header]: authorizationHeader.token,
|
||||
[HttpHeaders.contentType]: "application/json",
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Studijní materiály",
|
||||
"nextSteps": "Další kroky",
|
||||
"tipsAndLearnMore": "Tipy a další informace",
|
||||
"notebook": "Poznámkový blok",
|
||||
"needHelp": "Potřebujete pomoc?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "Vytvořeno: {{numSucceeded}}, omezeno: {{numThrottled}}, počet chyb: {{numFailed}}",
|
||||
"uploadedFiles": "Nahrané soubory"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Nepovedlo se zkopírovat {{name}} do {{destination}}",
|
||||
"uploadFailedError": "Nepodařilo se nahrát {{name}}",
|
||||
"location": "Umístění",
|
||||
"locationAriaLabel": "Umístění",
|
||||
"selectLocation": "Vyberte umístění poznámkového bloku ke kopírování.",
|
||||
"name": "Název"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Publikování do galerie se {{notebookName}} nezdařilo.",
|
||||
"publishDescription": "Po publikování se tento poznámkový blok zobrazí ve veřejné galerii poznámkových bloků Azure Cosmos DB. Před publikováním se ujistěte, že jste odebrali všechna citlivá data nebo výstup.",
|
||||
"publishPrompt": "Chcete {{name}} publikovat a nasdílet do galerie?",
|
||||
"coverImage": "Titulní obrázek",
|
||||
"coverImageUrl": "Adresa URL titulního obrázku",
|
||||
"name": "Název",
|
||||
"description": "Popis",
|
||||
"tags": "Značky",
|
||||
"tagsPlaceholder": "Volitelná značka 1, volitelná značka 2",
|
||||
"preview": "Náhled",
|
||||
"urlType": "Adresa URL",
|
||||
"customImage": "Vlastní image",
|
||||
"takeScreenshot": "Pořídit snímek obrazovky",
|
||||
"useFirstDisplayOutput": "Použít první zobrazený výstup",
|
||||
"failedToCaptureOutput": "Nepovedlo se zachytit první výstup.",
|
||||
"outputDoesNotExist": "Pro žádnou z buněk neexistuje výstup.",
|
||||
"failedToConvertError": "Nepovedlo se převést {{fileName}} do formátu base64",
|
||||
"failedToUploadError": "Nepodařilo se nahrát {{fileName}}."
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Nepovedlo se spustit úlohu přenosu dat.",
|
||||
"suboptimalPartitionKeyError": "Upozornění: Systém zjistil, že vaše kolekce pravděpodobně používá neoptimální klíč oddílu.",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Lernressourcen",
|
||||
"nextSteps": "Nächste Schritte",
|
||||
"tipsAndLearnMore": "Tipps und weitere Informationen",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "Benötigen Sie Hilfe?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} erstellt, {{numThrottled}} gedrosselt, {{numFailed}} Fehler",
|
||||
"uploadedFiles": "Hochgeladene Dateien"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Fehler beim Kopieren von {{name}} nach {{destination}}",
|
||||
"uploadFailedError": "Fehler beim Hochladen von „{{name}}“",
|
||||
"location": "Speicherort",
|
||||
"locationAriaLabel": "Speicherort",
|
||||
"selectLocation": "Notizbuchspeicherort zum Kopieren auswählen",
|
||||
"name": "Name"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Fehler beim Veröffentlichen von {{notebookName}} im Katalog",
|
||||
"publishDescription": "Nach der Veröffentlichung wird dieses Notebook im öffentlichen Katalog Azure Cosmos DB Notebooks angezeigt. Stellen Sie sicher, dass Sie alle vertraulichen Daten oder Ausgaben vor der Veröffentlichung entfernt haben.",
|
||||
"publishPrompt": "Möchten Sie „{{name}}“ im Katalog veröffentlichen und freigeben?",
|
||||
"coverImage": "Titelbild",
|
||||
"coverImageUrl": "Titelbild-URL",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"tags": "Kategorien",
|
||||
"tagsPlaceholder": "Optionales Tag 1, optionales Tag 2",
|
||||
"preview": "Vorschau",
|
||||
"urlType": "URL",
|
||||
"customImage": "Benutzerdefiniertes Image",
|
||||
"takeScreenshot": "Screenshot erstellen",
|
||||
"useFirstDisplayOutput": "Erste Anzeigeausgabe verwenden",
|
||||
"failedToCaptureOutput": "Fehler beim Erfassen der ersten Ausgabe",
|
||||
"outputDoesNotExist": "Für keine der Zellen ist eine Ausgabe vorhanden.",
|
||||
"failedToConvertError": "Fehler beim Konvertieren von {{fileName}} in das Base64-Format",
|
||||
"failedToUploadError": "Fehler beim Hochladen von „{{fileName}}“"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Fehler beim Starten des Datenübertragungsauftrags",
|
||||
"suboptimalPartitionKeyError": "Warnung: Das System hat festgestellt, dass Ihre Sammlung möglicherweise keinen optimalen Partitionsschlüssel verwendet.",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Learning Resources",
|
||||
"nextSteps": "Next steps",
|
||||
"tipsAndLearnMore": "Tips & learn more",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "Need help?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -668,34 +667,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} created, {{numThrottled}} throttled, {{numFailed}} errors",
|
||||
"uploadedFiles": "Uploaded files"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Failed to copy {{name}} to {{destination}}",
|
||||
"uploadFailedError": "Failed to upload {{name}}",
|
||||
"location": "Location",
|
||||
"locationAriaLabel": "Location",
|
||||
"selectLocation": "Select a notebook location to copy",
|
||||
"name": "Name"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Failed to publish {{notebookName}} to gallery",
|
||||
"publishDescription": "When published, this notebook will appear in the Azure Cosmos DB notebooks public gallery. Make sure you have removed any sensitive data or output before publishing.",
|
||||
"publishPrompt": "Would you like to publish and share \"{{name}}\" to the gallery?",
|
||||
"coverImage": "Cover image",
|
||||
"coverImageUrl": "Cover image url",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"tags": "Tags",
|
||||
"tagsPlaceholder": "Optional tag 1, Optional tag 2",
|
||||
"preview": "Preview",
|
||||
"urlType": "URL",
|
||||
"customImage": "Custom Image",
|
||||
"takeScreenshot": "Take Screenshot",
|
||||
"useFirstDisplayOutput": "Use First Display Output",
|
||||
"failedToCaptureOutput": "Failed to capture first output",
|
||||
"outputDoesNotExist": "Output does not exist for any of the cells.",
|
||||
"failedToConvertError": "Failed to convert {{fileName}} to base64 format",
|
||||
"failedToUploadError": "Failed to upload {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Failed to start data transfer job",
|
||||
"suboptimalPartitionKeyError": "Warning: The system has detected that your collection may be using a suboptimal partition key",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Recursos de aprendizaje",
|
||||
"nextSteps": "Siguientes pasos",
|
||||
"tipsAndLearnMore": "Sugerencias y más información",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "¿Necesita ayuda?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} creado, {{numThrottled}} limitado, {{numFailed}} errores",
|
||||
"uploadedFiles": "Archivos cargados"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "No se pudo copiar {{name}} en {{destination}}",
|
||||
"uploadFailedError": "Error al cargar {{name}}.",
|
||||
"location": "Ubicación",
|
||||
"locationAriaLabel": "Ubicación",
|
||||
"selectLocation": "Seleccionar una ubicación de bloc de notas para copiar",
|
||||
"name": "Nombre"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "No se pudo publicar {{notebookName}} en la galería",
|
||||
"publishDescription": "Cuando se publique, este bloc de notas aparecerá en la galería pública de blocs de notas de Azure Cosmos DB. Asegúrese de que ha quitado los datos confidenciales o la salida antes de la publicación.",
|
||||
"publishPrompt": "¿Desea publicar y compartir \"{{name}}\" en la galería?",
|
||||
"coverImage": "Imagen de portada",
|
||||
"coverImageUrl": "Dirección URL de la imagen de portada",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"tags": "Etiquetas",
|
||||
"tagsPlaceholder": "Etiqueta opcional 1, etiqueta opcional 2",
|
||||
"preview": "Versión preliminar",
|
||||
"urlType": "URL",
|
||||
"customImage": "Imagen personalizada",
|
||||
"takeScreenshot": "Obtener recorte de pantalla",
|
||||
"useFirstDisplayOutput": "Usar la primera salida de pantalla",
|
||||
"failedToCaptureOutput": "No se pudo capturar la primera salida",
|
||||
"outputDoesNotExist": "La salida no existe para ninguna de las celdas.",
|
||||
"failedToConvertError": "No se pudo convertir {{fileName}} al formato base64",
|
||||
"failedToUploadError": "No se pudo cargar {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "No se pudo iniciar el trabajo de transferencia de datos",
|
||||
"suboptimalPartitionKeyError": "Advertencia: el sistema ha detectado que la colección puede estar usando una clave de partición poco óptima",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Ressources pédagogiques",
|
||||
"nextSteps": "Étapes suivantes",
|
||||
"tipsAndLearnMore": "Conseils et plus d’informations",
|
||||
"notebook": "Bloc-notes",
|
||||
"needHelp": "Avez-vous besoin d’aide ?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} créé(s), {{numThrottled}} limité(s), {{numFailed}} erreur(s)",
|
||||
"uploadedFiles": "Fichiers chargés"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Nous n’avons pas pu copier {{name}} vers {{destination}}",
|
||||
"uploadFailedError": "Nous n’avons pas pu charger {{name}}",
|
||||
"location": "Emplacement",
|
||||
"locationAriaLabel": "Emplacement",
|
||||
"selectLocation": "Sélectionner un emplacement de bloc-notes vers lequel effectuer une copie",
|
||||
"name": "Nom"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Nous n’avons pas pu publier {{notebookName}} dans la galerie",
|
||||
"publishDescription": "Une fois publié, ce bloc-notes apparaîtra dans la galerie publique de bloc-notes d’Azure Cosmos DB. Veillez à bien supprimer toutes les données sensibles et tout résultat avant la publication.",
|
||||
"publishPrompt": "Voulez-vous publier et partager « {{name}} » dans la galerie ?",
|
||||
"coverImage": "Image de couverture",
|
||||
"coverImageUrl": "URL d’image de couverture",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"tags": "Balises",
|
||||
"tagsPlaceholder": "Balise facultative 1, Balise facultative 2",
|
||||
"preview": "Aperçu",
|
||||
"urlType": "URL",
|
||||
"customImage": "Image personnalisée",
|
||||
"takeScreenshot": "Prendre une capture d’écran",
|
||||
"useFirstDisplayOutput": "Utiliser le résultat du premier affichage",
|
||||
"failedToCaptureOutput": "Nous n’avons pas pu capturer le premier résultat",
|
||||
"outputDoesNotExist": "Aucune des cellules ne présente de résultats.",
|
||||
"failedToConvertError": "Nous n’avons pas pu convertir {{fileName}} au format base64",
|
||||
"failedToUploadError": "Nous n’avons pas pu charger {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Nous n’avons pas pu démarrer la tâche de transfert de données",
|
||||
"suboptimalPartitionKeyError": "Avertissement : Le système a détecté que votre collection utilise peut-être une clé de partition sous-optimale",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Tanulási források",
|
||||
"nextSteps": "Következő lépések",
|
||||
"tipsAndLearnMore": "Tippek és további információ",
|
||||
"notebook": "Jegyzetfüzet",
|
||||
"needHelp": "Segítségre van szüksége?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} létrehozva, {{numThrottled}} szabályozva, {{numFailed}} hiba",
|
||||
"uploadedFiles": "Feltöltött fájlok"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Nem sikerült a(z) {{name}} másolása ide: {{destination}}",
|
||||
"uploadFailedError": "Nem sikerült a(z) {{name}} feltöltése",
|
||||
"location": "Hely",
|
||||
"locationAriaLabel": "Hely",
|
||||
"selectLocation": "Jegyzetfüzet másolási helyének kiválasztása",
|
||||
"name": "Név"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Nem sikerült a(z) {{notebookName}} közzététele a katalógusban",
|
||||
"publishDescription": "Közzétételkor ez a jegyzetfüzet megjelenik a Azure Cosmos DB jegyzetfüzetek nyilvános katalógusában. A közzététel előtt győződjön meg arról, hogy eltávolította a bizalmas adatokat vagy kimeneteket.",
|
||||
"publishPrompt": "Közzéteszi és megosztja a(z) {{name}} dokumentumot a katalógusban?",
|
||||
"coverImage": "Borítókép",
|
||||
"coverImageUrl": "Borítókép URL-címe",
|
||||
"name": "Név",
|
||||
"description": "Leírás",
|
||||
"tags": "Címkék",
|
||||
"tagsPlaceholder": "Nem kötelező címke 1, nem kötelező címke 2",
|
||||
"preview": "Előzetes verzió",
|
||||
"urlType": "URL-cím",
|
||||
"customImage": "Egyéni rendszerkép",
|
||||
"takeScreenshot": "Képernyőkép készítése",
|
||||
"useFirstDisplayOutput": "Első megjelenítési kimenet használata",
|
||||
"failedToCaptureOutput": "Nem sikerült rögzíteni az első kimenetet",
|
||||
"outputDoesNotExist": "A kimenet nem létezik egyik cellához sem.",
|
||||
"failedToConvertError": "Nem sikerült a(z) {{fileName}} base64 formátumra való konvertálása",
|
||||
"failedToUploadError": "Nem sikerült a(z) {{fileName}} feltöltése"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Nem sikerült elindítani az adatátviteli feladatot",
|
||||
"suboptimalPartitionKeyError": "Figyelmeztetés: A rendszer úgy észlelte, hogy a gyűjtemény valószínűleg nem optimális partíciókulcsot használ",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Sumber Daya Pembelajaran",
|
||||
"nextSteps": "Langkah berikutnya",
|
||||
"tipsAndLearnMore": "Tips & pelajari selengkapnya",
|
||||
"notebook": "Buku catatan",
|
||||
"needHelp": "Perlu bantuan?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} dibuat, {{numThrottled}} dibatasi, {{numFailed}} kesalahan",
|
||||
"uploadedFiles": "File yang diunggah"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Gagal menyalin {{name}} ke {{destination}}",
|
||||
"uploadFailedError": "Gagal mengunggah {{name}}",
|
||||
"location": "Lokasi",
|
||||
"locationAriaLabel": "Lokasi",
|
||||
"selectLocation": "Pilih lokasi buku catatan untuk disalin",
|
||||
"name": "Nama"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Gagal menerbitkan {{notebookName}} ke galeri",
|
||||
"publishDescription": "Saat diterbitkan, buku catatan ini akan muncul di galeri publik buku catatan Azure Cosmos DB. Pastikan Anda telah menghapus data atau output sensitif sebelum menerbitkan.",
|
||||
"publishPrompt": "Apakah Anda ingin menerbitkan dan membagikan \"{{name}}\" ke galeri?",
|
||||
"coverImage": "Gambar sampul",
|
||||
"coverImageUrl": "Url gambar sampul",
|
||||
"name": "Nama",
|
||||
"description": "Deskripsi",
|
||||
"tags": "Tag",
|
||||
"tagsPlaceholder": "Tag opsional 1, Tag opsional 2",
|
||||
"preview": "Pratinjau",
|
||||
"urlType": "URL",
|
||||
"customImage": "Gambar Kustom",
|
||||
"takeScreenshot": "Ambil Cuplikan Layar",
|
||||
"useFirstDisplayOutput": "Gunakan Output Tampilan Pertama",
|
||||
"failedToCaptureOutput": "Gagal mengambil output pertama",
|
||||
"outputDoesNotExist": "Output tidak ada untuk sel mana pun.",
|
||||
"failedToConvertError": "Gagal mengonversi {{fileName}} ke format base64",
|
||||
"failedToUploadError": "Gagal mengunggah {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Gagal memulai tugas transfer data",
|
||||
"suboptimalPartitionKeyError": "Peringatan: Sistem mendeteksi bahwa koleksi Anda mungkin menggunakan kunci partisi yang kurang optimal",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Risorse di formazione",
|
||||
"nextSteps": "Passaggi successivi",
|
||||
"tipsAndLearnMore": "Suggerimenti e altre informazioni",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "Serve aiuto?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} creati, {{numThrottled}} con limitazione, {{numFailed}} errori",
|
||||
"uploadedFiles": "File caricati"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Non è stato possibile copiare {{name}} in {{destination}}",
|
||||
"uploadFailedError": "Non è possibile caricare {{name}}",
|
||||
"location": "Posizione",
|
||||
"locationAriaLabel": "Posizione",
|
||||
"selectLocation": "Selezionare una posizione del notebook in cui copiare",
|
||||
"name": "Nome"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Non è stato possibile pubblicare {{notebookName}} nella raccolta",
|
||||
"publishDescription": "Quando viene pubblicato, questo notebook sarà visualizzato nella raccolta pubblica di Azure Cosmos DB. Assicurarsi di aver rimosso dati o output sensibili prima della pubblicazione.",
|
||||
"publishPrompt": "Pubblicare e condividere \"{{name}}\" nella raccolta?",
|
||||
"coverImage": "Immagine di copertina",
|
||||
"coverImageUrl": "URL immagine di copertina",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"tags": "Tag",
|
||||
"tagsPlaceholder": "Tag facoltativo 1, tag facoltativo 2",
|
||||
"preview": "Anteprima",
|
||||
"urlType": "URL",
|
||||
"customImage": "Immagine personalizzata",
|
||||
"takeScreenshot": "Crea screenshot",
|
||||
"useFirstDisplayOutput": "Usa output prima visualizzazione",
|
||||
"failedToCaptureOutput": "Non è stato possibile acquisire il primo output",
|
||||
"outputDoesNotExist": "L'output non esiste per nessuna delle celle.",
|
||||
"failedToConvertError": "Non è stato possibile convertire {{fileName}} nel formato base64",
|
||||
"failedToUploadError": "Non è possibile caricare {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Non è stato possibile avviare il processo di trasferimento dati",
|
||||
"suboptimalPartitionKeyError": "Avviso: il sistema ha rilevato che la raccolta potrebbe usare una chiave di partizione non ottimale",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "学習リソース",
|
||||
"nextSteps": "次の手順",
|
||||
"tipsAndLearnMore": "ヒントと詳細の確認",
|
||||
"notebook": "ノートブック",
|
||||
"needHelp": "ヘルプが必要ですか?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} 件作成済み、{{numThrottled}} 件調整済み、{{numFailed}} 件のエラー",
|
||||
"uploadedFiles": "ファイルをアップロードしました"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "{{name}} を {{destination}} にコピーできませんでした",
|
||||
"uploadFailedError": "{{name}} をアップロードできませんでした",
|
||||
"location": "場所",
|
||||
"locationAriaLabel": "場所",
|
||||
"selectLocation": "コピーするノートブックの場所を選択する",
|
||||
"name": "名前"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "{{notebookName}} をギャラリーに発行できませんでした",
|
||||
"publishDescription": "公開すると、このノートブックは Azure Cosmos DB ノートブックのパブリック ギャラリーに表示されます。公開前に機密データや出力が削除されていることを確認してください。",
|
||||
"publishPrompt": "\"{{name}}\" をギャラリーに公開して共有しますか?",
|
||||
"coverImage": "カバー画像",
|
||||
"coverImageUrl": "カバー画像の URL",
|
||||
"name": "名前",
|
||||
"description": "説明",
|
||||
"tags": "タグ",
|
||||
"tagsPlaceholder": "オプションのタグ 1、オプションのタグ 2",
|
||||
"preview": "プレビュー",
|
||||
"urlType": "URL",
|
||||
"customImage": "カスタム イメージ",
|
||||
"takeScreenshot": "スクリーンショットを撮る",
|
||||
"useFirstDisplayOutput": "最初のディスプレイ出力を使用する",
|
||||
"failedToCaptureOutput": "最初の出力をキャプチャできませんでした",
|
||||
"outputDoesNotExist": "どのセルにも出力が存在しません。",
|
||||
"failedToConvertError": "{{fileName}} を base64 形式に変換できませんでした",
|
||||
"failedToUploadError": "{{fileName}} をアップロードできませんでした"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "データ転送ジョブの開始に失敗しました",
|
||||
"suboptimalPartitionKeyError": "警告: システムはコレクションが最適でないパーティション キーを使用している可能性を検出しました",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "학습 리소스",
|
||||
"nextSteps": "다음 단계",
|
||||
"tipsAndLearnMore": "팁 및 자세한 정보",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "도움이 필요하세요?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} 생성됨, {{numThrottled}} 제한됨, {{numFailed}} 오류 발생",
|
||||
"uploadedFiles": "업로드된 파일"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "{{name}}을(를) {{destination}}(으)로 복사 실패",
|
||||
"uploadFailedError": "'{{name}}' 업로드 실패",
|
||||
"location": "위치",
|
||||
"locationAriaLabel": "위치",
|
||||
"selectLocation": "복사할 노트북 위치 선택",
|
||||
"name": "이름"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "{{notebookName}}을(를) 갤러리에 게시하지 못했습니다.",
|
||||
"publishDescription": "게시하면 이 노트북이 Azure Cosmos DB 노트북 공개 갤러리에 표시됩니다. 게시 전에 민감한 데이터나 출력이 제거되었는지 확인하세요.",
|
||||
"publishPrompt": "\"{{name}}\"을(를) 게시하고 갤러리에 공유하시겠습니까?",
|
||||
"coverImage": "커버 이미지",
|
||||
"coverImageUrl": "표지 이미지 URL",
|
||||
"name": "이름",
|
||||
"description": "설명",
|
||||
"tags": "태그",
|
||||
"tagsPlaceholder": "선택 태그 1, 선택 태그 2",
|
||||
"preview": "미리 보기",
|
||||
"urlType": "URL",
|
||||
"customImage": "사용자 지정 이미지",
|
||||
"takeScreenshot": "화면 캡처",
|
||||
"useFirstDisplayOutput": "첫 번째 디스플레이 출력 사용",
|
||||
"failedToCaptureOutput": "첫 번째 출력을 캡처하지 못했습니다.",
|
||||
"outputDoesNotExist": "셀에 대한 출력이 없습니다.",
|
||||
"failedToConvertError": "{{fileName}}을(를) base64 형식으로 변환하지 못했습니다.",
|
||||
"failedToUploadError": "{{fileName}} 업로드 실패"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "데이터 전송 작업을 시작하지 못했습니다.",
|
||||
"suboptimalPartitionKeyError": "경고: 컬렉션이 최적이 아닌 파티션 키를 사용하고 있을 수 있습니다.",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Trainingsresources",
|
||||
"nextSteps": "Volgende stappen",
|
||||
"tipsAndLearnMore": "Tips & meer informatie",
|
||||
"notebook": "Notitieboek",
|
||||
"needHelp": "Hulp nodig?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} gemaakt, {{numThrottled}} beperkt, {{numFailed}} fouten",
|
||||
"uploadedFiles": "Geüploade bestanden"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "{{name}} kopiëren naar {{destination}} is mislukt",
|
||||
"uploadFailedError": "Kan {{name}} niet uploaden",
|
||||
"location": "Locatie",
|
||||
"locationAriaLabel": "Locatie",
|
||||
"selectLocation": "Notebooklocatie selecteren om te kopiëren",
|
||||
"name": "Naam"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "{{notebookName}} publiceren naar galerie is mislukt",
|
||||
"publishDescription": "Wanneer deze notebook wordt gepubliceerd, wordt het weergegeven in de Azure Cosmos DB notebooks openbaar galerie. Zorg ervoor dat u gevoelige gegevens of uitvoer hebt verwijderd voordat u publiceert.",
|
||||
"publishPrompt": "Wilt u {{name}} publiceren en delen in de galerie?",
|
||||
"coverImage": "Omslagafbeelding",
|
||||
"coverImageUrl": "URL van omslagafbeelding",
|
||||
"name": "Naam",
|
||||
"description": "Beschrijving",
|
||||
"tags": "Tags",
|
||||
"tagsPlaceholder": "Optionele tag 1, optionele tag 2",
|
||||
"preview": "Preview",
|
||||
"urlType": "URL",
|
||||
"customImage": "Aangepaste installatiekopie",
|
||||
"takeScreenshot": "Schermopname maken",
|
||||
"useFirstDisplayOutput": "Gebruik uitvoer van eerste weergave",
|
||||
"failedToCaptureOutput": "Kan de eerste uitvoer niet vastleggen",
|
||||
"outputDoesNotExist": "Uitvoer bestaat niet voor alle cellen.",
|
||||
"failedToConvertError": "{{fileName}} converteren naar base64-indeling is mislukt",
|
||||
"failedToUploadError": "Kan {{fileName}} niet uploaden"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Kan de taak voor gegevensoverdracht niet starten",
|
||||
"suboptimalPartitionKeyError": "Waarschuwing: het systeem heeft gedetecteerd dat uw verzameling mogelijk een suboptimale partitiesleutel gebruikt",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Zasoby szkoleniowe",
|
||||
"nextSteps": "Następne kroki",
|
||||
"tipsAndLearnMore": "Porady i dowiedz się więcej",
|
||||
"notebook": "Notes",
|
||||
"needHelp": "Potrzebujesz pomocy?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "Utworzono: {{numSucceeded}}, ograniczono: {{numThrottled}}, błędy: {{numFailed}}",
|
||||
"uploadedFiles": "Przekazywane pliki"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Nie można skopiować {{name}} do {{destination}}",
|
||||
"uploadFailedError": "Nie można przekazać {{name}}",
|
||||
"location": "Lokalizacja",
|
||||
"locationAriaLabel": "Lokalizacja",
|
||||
"selectLocation": "Wybierz lokalizację notesu do skopiowania",
|
||||
"name": "Nazwa"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Nie można opublikować {{notebookName}} w galerii",
|
||||
"publishDescription": "Po opublikowaniu ten notes pojawi się w publicznej galerii notesów Azure Cosmos DB. Przed opublikowaniem upewnij się, że usunięto poufne dane lub dane wyjściowe.",
|
||||
"publishPrompt": "Czy chcesz opublikować i udostępnić „{{name}}” w galerii?",
|
||||
"coverImage": "Obraz okładki",
|
||||
"coverImageUrl": "Adres URL obrazu tytułowego",
|
||||
"name": "Nazwa",
|
||||
"description": "Opis",
|
||||
"tags": "Tagi",
|
||||
"tagsPlaceholder": "Opcjonalny tag 1, opcjonalny tag 2",
|
||||
"preview": "Podgląd",
|
||||
"urlType": "Adres URL",
|
||||
"customImage": "Obraz niestandardowy",
|
||||
"takeScreenshot": "Zrób zrzut ekranu",
|
||||
"useFirstDisplayOutput": "Użyj pierwszego wyświetlania danych wyjściowych",
|
||||
"failedToCaptureOutput": "Nie można przechwycić pierwszych danych wyjściowych",
|
||||
"outputDoesNotExist": "Dane wyjściowe nie istnieją dla żadnej komórki.",
|
||||
"failedToConvertError": "Nie można przekonwertować {{fileName}} na format base64",
|
||||
"failedToUploadError": "Nie można przekazać {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Nie udało się uruchomić zadania transferu danych",
|
||||
"suboptimalPartitionKeyError": "Ostrzeżenie: system wykrył, że kolekcja może używać nieoptymalnego klucza partycji",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Recursos de aprendizado",
|
||||
"nextSteps": "Próximas etapas",
|
||||
"tipsAndLearnMore": "Dicas e saiba mais",
|
||||
"notebook": "Notebook",
|
||||
"needHelp": "Precisa de ajuda?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} criado(s), {{numThrottled}} limitado(s), {{numFailed}} erro(s)",
|
||||
"uploadedFiles": "Arquivos carregados"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Falha ao copiar {{name}} para {{destination}}",
|
||||
"uploadFailedError": "Falha ao carregar {{name}}",
|
||||
"location": "Localização",
|
||||
"locationAriaLabel": "Localização",
|
||||
"selectLocation": "Selecione um local do notebook para copiar",
|
||||
"name": "Nome"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Falha ao publicar {{notebookName}} na galeria",
|
||||
"publishDescription": "Quando publicado, esse notebook aparecerá na galeria pública de notebooks do Azure Cosmos DB. Verifique se você removeu os dados confidenciais ou a saída antes de publicar.",
|
||||
"publishPrompt": "Deseja publicar e compartilhar \"{{name}}\" na galeria?",
|
||||
"coverImage": "Imagem de capa",
|
||||
"coverImageUrl": "URL da imagem de capa",
|
||||
"name": "Nome",
|
||||
"description": "Descrição",
|
||||
"tags": "Rótulos",
|
||||
"tagsPlaceholder": "Marca opcional 1, marca opcional 2",
|
||||
"preview": "Visualizar",
|
||||
"urlType": "URL",
|
||||
"customImage": "Imagem Personalizada",
|
||||
"takeScreenshot": "Capturar Tela",
|
||||
"useFirstDisplayOutput": "Usar a Primeira Saída de Exibição",
|
||||
"failedToCaptureOutput": "Falha ao capturar a primeira saída",
|
||||
"outputDoesNotExist": "A saída não existe para nenhuma das células.",
|
||||
"failedToConvertError": "Falha ao converter {{fileName}} no formato base64",
|
||||
"failedToUploadError": "Falha ao carregar {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Falha ao iniciar o trabalho de transferência de dados",
|
||||
"suboptimalPartitionKeyError": "Aviso: o sistema detectou que sua coleção pode estar usando uma chave de partição abaixo do ideal",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Recursos de Aprendizagem",
|
||||
"nextSteps": "Passos seguintes",
|
||||
"tipsAndLearnMore": "Sugestões e saiba mais",
|
||||
"notebook": "Bloco de notas",
|
||||
"needHelp": "Precisa de ajuda?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} criados, {{numThrottled}} limitados, {{numFailed}} erros",
|
||||
"uploadedFiles": "Ficheiros carregados"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Falha ao copiar {{name}} para {{destination}}",
|
||||
"uploadFailedError": "Não foi possível carregar {{name}}",
|
||||
"location": "Localização",
|
||||
"locationAriaLabel": "Localização",
|
||||
"selectLocation": "Selecione uma localização de bloco de notas para copiar",
|
||||
"name": "Nome"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Falha ao publicar {{notebookName}} na galeria",
|
||||
"publishDescription": "Quando publicado, este bloco de notas será apresentado na galeria pública de blocos de notas do Azure Cosmos DB. Certifique-se de que removeu quaisquer dados confidenciais ou resultados antes de publicar.",
|
||||
"publishPrompt": "Pretende publicar e partilhar \"{{name}}\" na galeria?",
|
||||
"coverImage": "Imagem de capa",
|
||||
"coverImageUrl": "URL da imagem de capa",
|
||||
"name": "Nome",
|
||||
"description": "Descrição",
|
||||
"tags": "Sinalizadores",
|
||||
"tagsPlaceholder": "Etiqueta opcional 1, Etiqueta opcional 2",
|
||||
"preview": "Pré-visualização",
|
||||
"urlType": "URL",
|
||||
"customImage": "Imagem Personalizada",
|
||||
"takeScreenshot": "Tirar Captura de Ecrã",
|
||||
"useFirstDisplayOutput": "Utilizar Saída do Primeiro Ecrã",
|
||||
"failedToCaptureOutput": "Falha ao capturar a primeira saída",
|
||||
"outputDoesNotExist": "A saída não existe para nenhuma das células.",
|
||||
"failedToConvertError": "Falha ao converter {{fileName}} para o formato base64",
|
||||
"failedToUploadError": "Não foi possível carregar {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Falha ao iniciar a tarefa de transferência de dados",
|
||||
"suboptimalPartitionKeyError": "Aviso: O sistema detetou que a sua coleção pode estar a utilizar uma chave de partição não ideal.",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Учебные материалы",
|
||||
"nextSteps": "Дальнейшие действия",
|
||||
"tipsAndLearnMore": "Советы и дополнительная информация",
|
||||
"notebook": "Записная книжка",
|
||||
"needHelp": "Нужна помощь?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "Создано: {{numSucceeded}}, отклонено в результате регулирования: {{numThrottled}}, ошибок: {{numFailed}}",
|
||||
"uploadedFiles": "Отправленные файлы"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Не удалось скопировать {{name}} в {{destination}}",
|
||||
"uploadFailedError": "Не удалось отправить {{name}}",
|
||||
"location": "Расположение",
|
||||
"locationAriaLabel": "Расположение",
|
||||
"selectLocation": "Выберите место для копирования записной книжки",
|
||||
"name": "Имя"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Не удалось опубликовать {{notebookName}} в галерее",
|
||||
"publishDescription": "После публикации эта записная книжка появится в общедоступной галерее записных книжек Azure Cosmos DB. Перед публикацией убедитесь, что удалили все конфиденциальные данные и результаты.",
|
||||
"publishPrompt": "Хотите опубликовать \"{{name}}\" и поделиться ею в галерее?",
|
||||
"coverImage": "Изображение обложки",
|
||||
"coverImageUrl": "URL-адрес изображения обложки",
|
||||
"name": "Имя",
|
||||
"description": "Описание",
|
||||
"tags": "Теги",
|
||||
"tagsPlaceholder": "Необязательный тег 1, необязательный тег 2",
|
||||
"preview": "Предварительный просмотр",
|
||||
"urlType": "URL-адрес",
|
||||
"customImage": "Пользовательское изображение",
|
||||
"takeScreenshot": "Сделать снимок экрана",
|
||||
"useFirstDisplayOutput": "Использовать вывод первого дисплея",
|
||||
"failedToCaptureOutput": "Не удалось зафиксировать первый выданный результат",
|
||||
"outputDoesNotExist": "Выданный результат отсутствует для всех ячеек.",
|
||||
"failedToConvertError": "Не удалось преобразовать {{fileName}} в формат base64",
|
||||
"failedToUploadError": "Не удалось отправить {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Не удалось запустить задание передачи данных",
|
||||
"suboptimalPartitionKeyError": "Внимание! Система обнаружила, что в вашей коллекции используется неоптимальный ключ секционирования",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Utbildningsresurser",
|
||||
"nextSteps": "Nästa steg",
|
||||
"tipsAndLearnMore": "Tips och läs mer",
|
||||
"notebook": "Anteckningsbok",
|
||||
"needHelp": "Behöver du hjälp?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} skapades, {{numThrottled}} begränsades, {{numFailed}} fel",
|
||||
"uploadedFiles": "Uppladdade filer"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "Det gick inte att kopiera {{name}} till {{destination}}",
|
||||
"uploadFailedError": "Det gick inte att ladda upp {{name}}",
|
||||
"location": "Plats",
|
||||
"locationAriaLabel": "Plats",
|
||||
"selectLocation": "Välj en plats för anteckningsbok att kopiera",
|
||||
"name": "Namn"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "Det gick inte att publicera {{notebookName}} till galleriet",
|
||||
"publishDescription": "När den här anteckningsboken publiceras visas den i det offentliga galleriet för Azure Cosmos DB notebook-filer. Kontrollera att du har tagit bort känsliga data eller utdata innan du publicerar.",
|
||||
"publishPrompt": "Vill du publicera och dela {{name}} till galleriet?",
|
||||
"coverImage": "Omslagsbild",
|
||||
"coverImageUrl": "URL för omslagsbild",
|
||||
"name": "Namn",
|
||||
"description": "Beskrivning",
|
||||
"tags": "Taggar",
|
||||
"tagsPlaceholder": "Valfri tagg 1, valfri tagg 2",
|
||||
"preview": "Förhandsversion",
|
||||
"urlType": "Webbadress",
|
||||
"customImage": "Anpassad avbildning",
|
||||
"takeScreenshot": "Ta skärmbild",
|
||||
"useFirstDisplayOutput": "Använd första visningsutdata",
|
||||
"failedToCaptureOutput": "Det gick inte att samla in första utdata",
|
||||
"outputDoesNotExist": "Utdata finns inte för någon av cellerna.",
|
||||
"failedToConvertError": "Det gick inte att konvertera {{fileName}} till base64-format",
|
||||
"failedToUploadError": "Det gick inte att ladda upp {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Det gick inte att starta dataöverföringsjobbet",
|
||||
"suboptimalPartitionKeyError": "Varning! Systemet har upptäckt att din samling kanske använder en suboptimal partitionsnyckel",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "Öğrenme Kaynakları",
|
||||
"nextSteps": "Sonraki adımlar",
|
||||
"tipsAndLearnMore": "İpuçları & daha fazla bilgi edinin",
|
||||
"notebook": "Not Defteri",
|
||||
"needHelp": "Yardıma mı ihtiyacınız var?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} oluşturuldu, {{numThrottled}} kısıtlandı, {{numFailed}} hata",
|
||||
"uploadedFiles": "Karşıya yüklenen dosyalar"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "{{name}} öğesi {{destination}} hedefine kopyalanamadı",
|
||||
"uploadFailedError": "{{name}} karşıya yüklenemedi",
|
||||
"location": "Konum",
|
||||
"locationAriaLabel": "Konum",
|
||||
"selectLocation": "Kopyalamak için bir defter konumu seçin",
|
||||
"name": "Ad"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "{{notebookName}} galeride yayımlanamadı",
|
||||
"publishDescription": "Yayımlandığında, bu not defteri Azure Cosmos DB not defterleri genel galerisinde görünür. Yayımlamadan önce hassas verileri veya çıktıları kaldırdığınızdan emin olun.",
|
||||
"publishPrompt": "“{{name}}” öğesini galeride yayımlamak ve paylaşmak istiyor musunuz?",
|
||||
"coverImage": "Kapak resmi",
|
||||
"coverImageUrl": "Kapak resmi URL’si",
|
||||
"name": "Ad",
|
||||
"description": "Açıklama",
|
||||
"tags": "Etiketler",
|
||||
"tagsPlaceholder": "İsteğe bağlı etiket 1, İsteğe bağlı etiket 2",
|
||||
"preview": "Önizleme",
|
||||
"urlType": "URL",
|
||||
"customImage": "Özel Görüntü",
|
||||
"takeScreenshot": "Ekran Görüntüsü Al",
|
||||
"useFirstDisplayOutput": "İlk Görüntü Çıkışını Kullan",
|
||||
"failedToCaptureOutput": "İlk çıkış yakalanamadı",
|
||||
"outputDoesNotExist": "Hiçbir hücre için çıkış yok.",
|
||||
"failedToConvertError": "{{fileName}} base64 biçimine dönüştürülemedi",
|
||||
"failedToUploadError": "{{fileName}} karşıya yüklenemedi"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "Veri aktarım işi başlatılamadı",
|
||||
"suboptimalPartitionKeyError": "Uyarı: Sistem, koleksiyonunuzun optimal olmayan bir bölüm anahtarı kullanıyor olabileceğini algıladı",
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
"learningResources": "学习资源",
|
||||
"nextSteps": "后续步骤",
|
||||
"tipsAndLearnMore": "提示和详细信息",
|
||||
"notebook": "笔记本",
|
||||
"needHelp": "需要帮助?"
|
||||
},
|
||||
"top3Items": {
|
||||
@@ -664,34 +663,6 @@
|
||||
"uploadStatus": "{{numSucceeded}} 已创建,{{numThrottled}} 受限,{{numFailed}} 个错误",
|
||||
"uploadedFiles": "已上传的文件"
|
||||
},
|
||||
"copyNotebook": {
|
||||
"copyFailedError": "未能将 {{name}} 复制到 {{destination}}",
|
||||
"uploadFailedError": "未能上传 {{name}}",
|
||||
"location": "位置",
|
||||
"locationAriaLabel": "位置",
|
||||
"selectLocation": "选择要复制的笔记本位置",
|
||||
"name": "名称"
|
||||
},
|
||||
"publishNotebook": {
|
||||
"publishFailedError": "未能将 {{notebookName}} 发布到库",
|
||||
"publishDescription": "发布后,此笔记本将显示在 Azure Cosmos DB 笔记本公共库中。在发布之前,请确保已移除任何敏感数据或输出。",
|
||||
"publishPrompt": "是否要发布“{{name}}”并共享到库?",
|
||||
"coverImage": "封面图像",
|
||||
"coverImageUrl": "封面图像 URL",
|
||||
"name": "名称",
|
||||
"description": "说明",
|
||||
"tags": "标记",
|
||||
"tagsPlaceholder": "可选标记 1,可选标记 2",
|
||||
"preview": "预览",
|
||||
"urlType": "URL",
|
||||
"customImage": "自定义映像",
|
||||
"takeScreenshot": "生成屏幕快照",
|
||||
"useFirstDisplayOutput": "使用第一个显示输出",
|
||||
"failedToCaptureOutput": "未能捕获第一个输出",
|
||||
"outputDoesNotExist": "任何单元格都不存在输出。",
|
||||
"failedToConvertError": "未能将 {{fileName}} 转换为 base64 格式",
|
||||
"failedToUploadError": "未能上传 {{fileName}}"
|
||||
},
|
||||
"changePartitionKey": {
|
||||
"failedToStartError": "未能启动数据传输作业",
|
||||
"suboptimalPartitionKeyError": "警告: 系统检测到集合使用的分区键可能不理想",
|
||||
|
||||